Professional Documents
Culture Documents
Unidad 1. ............................................................................................................................................. 3 El entorno grfico SSMS ...................................................................................................................... 3 1.1. Introduccin ............................................................................................................................. 3 Unidad 1. Bsico: Introduccin a las bases de datos (I) ...................................................................... 3 Objetivos de un SGBD ..................................................................................................................... 3 Independencia de los datos. ....................................................................................................... 3 Seguridad e integridad. ............................................................................................................... 4 Redundancia mnima................................................................................................................... 5 Facilidad de recuperacin de la informacin .............................................................................. 5 Tipos de bases de datos .................................................................................................................. 6 Tipos de bases de datos segn su ubicacin ............................................................................... 6 Tipos de bases de datos segn la organizacin lgica de los datos ............................................ 9 La base de datos relacional ........................................................................................................... 11 Elementos de una base de datos relacional.............................................................................. 11 1.2. Instalar SQL Server 2005 ........................................................................................................ 14 Objetivo ......................................................................................................................................... 16 Ejercicio paso a paso ..................................................................................................................... 16 1.3. Entrada al SQL Server Management Studio ........................................................................... 16 1.4. Estructura interna de una base de datos ............................................................................... 18 1.5. Crear una base de datos en SSMS .......................................................................................... 19 1.6. Adjuntar una base de datos ................................................................................................... 24 Unidad 1. Ejercicio paso a paso: Adjuntar base de datos ................................................................. 26 Objetivo ......................................................................................................................................... 26 Ejercicio paso a paso ..................................................................................................................... 26 1.7. Conectar y Desconectar la base de datos .............................................................................. 27 Unidad 1. Ejercicio paso a paso: Trasladar una base de datos a otro equipo................................... 28 Objetivo ......................................................................................................................................... 28 Ejercicio paso a paso ..................................................................................................................... 28 1.8. Crear una nueva tabla ............................................................................................................ 29 1.9. Tipos de datos ........................................................................................................................ 30 1
1.10. Valores nulos ........................................................................................................................ 31 1.11. Columna con contador ......................................................................................................... 32 1.12. Clave primaria ...................................................................................................................... 33 1.13. Aadir o eliminar columnas ................................................................................................. 33 1.14. Modificar la definicin de una tabla .................................................................................... 34 1.15. Insertar datos en la tabla ..................................................................................................... 35 1.16. Modificar datos .................................................................................................................... 35 1.17. Eliminar filas ......................................................................................................................... 35 1.18. Relacionar tablas .................................................................................................................. 36 1.19. Abrir una nueva consulta ..................................................................................................... 39 1.20. Escribir y ejecutar cdigo TRANSACT-SQL ........................................................................... 41 1.21. La base de datos predeterminada........................................................................................ 42 1.22. El editor de texto .................................................................................................................. 44 1.23. Configurar un esquema de colores personalizado ............................................................... 44 1.24. Las Vistas .............................................................................................................................. 45 1.25. El panel de diagrama ............................................................................................................ 48 1.26. El panel de criterios .............................................................................................................. 49 1.27. El panel SQL .......................................................................................................................... 50 Ejercicio 1: Crear una base de datos ............................................................................................. 51 Ejercicio 2: Crear y definir tablas................................................................................................... 52 Tabla Libros ............................................................................................................................... 52 Tabla Prstamos ........................................................................................................................ 52 Tabla Usuarios ........................................................................................................................... 53 Ayuda ejercicios unidad 1 ................................................................................................................. 55 Ejercicio 1: Crear una base de datos ............................................................................................. 55 Ejercicio 2: Crear y definir tablas................................................................................................... 55 Ejercicio 3: Insertar datos en las tablas ......................................................................................... 55 Ejercicio 4: Modificar la definicin de las tablas ........................................................................... 56 Prueba evaluativa unidad 1: El entorno grfico SSMS ...................................................................... 57
Si no sabes lo que es una base de datos relacional o no tienes conocimientos previos acerca de las bases de datos, puedes leer una introduccin a las bases de datos en el siguiente bsico Unidad 1. Bsico: Introduccin a las bases de datos (I) Objetivos de un SGBD Un sistema gestor de bases de datos por definicin debe cumplir los siguientes objetivos: Independencia de los datos. Recordando uno de los problemas que plantean los ficheros convencionales. La independencia de los datos consiste en hacer que los programas no sean tan dependientes de la estructura de los datos. Se han definido dos tipos de independencia: La independencia fsica: consiste en poder modificar la definicin interna de los datos (el esquema interno) sin que ello suponga una modificacin de los programas existentes. Por ejemplo, se puede cambiar la ubicacin de la base de datos, o se puede aadir un ndice sobre una tabla para que las consultas se ejecuten ms rpidamente, sin que eso suponga una variacin en los esquemas externos y conceptual, por lo que los programas (que utilizan el esquema externo) no se vern afectados.
La independencia lgica: consiste en poder cambiar el esquema conceptual sin que ello suponga una modificacin de los programas existentes. Por ejemplo podemos aadir un nuevo dato en la tabla de clientes como la direccin de email sin que los esquemas externos se vean afectados. Seguridad e integridad. La seguridad consiste en que los usuarios no puedan acceder a datos sin autorizacin. Si juntamos toda la informacin de la empresa en un mismo sitio, el SGBD debe tener mecanismos para que cualquier usuario pueda tener acceso a nicamente la informacin que necesita para las tareas que tiene encomendadas.
Esta seguridad se consigue por medio de los esquemas externos, ya que el usuario slo tiene acceso a su esquema externo que le proporciona los datos que el administrador ha considerado incluir en ese esquema. Para el usuario no habr ms datos que estos. Adems los SGBD tienen mecanismos para definir autorizaciones que pueden ser de distinto tipo: autorizacin de lectura, de insercin, de actualizacin, autorizaciones especiales para poder variar el esquema conceptual etc. La integridad se refiere a que la informacin almacenada en la base de datos est libre de errores. Esto no siempre es posible ya que existen distintos tipos de errores que tienen diferentes soluciones: * Fallos de hardware. Estos errores no los puede evitar el SGBD pero se pueden subsanar facilitando copias de seguridad y procesos de recuperacin. * Fallos del programador. Puede que aparezcan datos errneos en la base de datos como consecuencia de errores en el programa que genera estos datos. Para evitar al mximo este tipo de errores el sistema debe ser fcil de programar, cuantos ms controles realice el sistema de forma automtica, menos controles habr que incluir a nivel de programacin por lo que limitaremos la probabilidad de fallo y los programas deben ser probados con juegos de ensayos bien definidos. * Fallos del usuario final. El usuario que introduce datos en la base de datos tambin puede cometer errores, el sistema debe permitir controlar al mximo la informacin que se introduce para limitar el nmero de estos errores, para ello los SGBD incluyen clusulas de validacin de los datos, validaciones de diferentes tipos que veremos con ms detalle ms adelante. * Fallos derivados de la concurrencia. Ya que toda la informacin est centralizada y los distintos usuarios acceden a ella de forma simultnea, pueden ocurrir problemas cuando dos usuarios quieren acceder al mismo dato a la vez. Por ello el SGBD debe tener establecidos mecanismos para evitar este tipo de problema, bloquear registros, abortar automticamente transacciones etc.
Redundancia mnima La redundancia consiste en que exista algn dato repetido en varios lugares. Por ejemplo si tenemos la direccin del cliente en la factura, en la cuenta contable, en los datos generales del cliente; esto como ya vimos anteriormente nos producir varios problemas: la informacin repetida ocupa espacio innecesario. la variacin de un domicilio supone el variar ese domicilio en todos los lugares donde est almacenado. mayor tiempo de proceso posibilidad de inconsistencia
Por todo ello hay que evitar al mximo esa redundancia, esto se consigue utilizando herramientas de diseo y obteniendo un diseo ptimo de la base de datos. Facilidad de recuperacin de la informacin Otro objetivo muy importante de un SGBD es el proporcionar al usuario (o programador) unas herramientas potentes de manejo de datos para que pueda de manera sencilla y rpida, obtener toda la informacin que desea sin que, por ello se tenga que hacer un programa complejo. Veremos que el SQL, lenguaje empleado para recuperar informacin de la base de datos, es un lenguaje muy potente y cercano al lenguaje hablado, y adems los SGBD incluyen entornos grficos sencillos de utilizar. El administrador de la base de datos El administrador es el encargado de gestionar y controlar todo el sistema con la ayuda que le proporciona el SGBD. Tiene una gran responsabilidad ya que de l depende que el sistema funcione correctamente y como tiene el mximo nivel de privilegios, sus errores pueden ser desastrosos. Entre sus responsabilidades se incluye: Instalar el SGBD en el sistema informtico (a veces). Realizar el diseo de la base de datos. Crear las bases de datos que se vayan a gestionar. Crear y mantener los esquemas de las bases de datos. Crear y mantener las cuentas de los usuarios de las bases de datos. Colaborar con el administrador del sistema en las tareas de ubicacin, dimensionado y control de los archivos y espacios de disco ocupados por el SGBD. Establecer estndares de uso, polticas de acceso y protocolos de trabajo diario para los usuarios de las bases de datos. Efectuar tareas de explotacin como: Vigilar el trabajo diario colaborando en la resolucin de las dudas de los usuarios. Controlar los tiempos de acceso, tasas de uso, cargas en los servidores, anomalas, etc. Llegado el caso, reorganizar las bases de datos. Disear y efectuar el planning de copias de seguridad peridicas. Restaurar la base de datos despus de un incidente.
Estudiar las auditoras mediante el ajuste de parmetros y con ayuda de las herramientas de monitorizacin del sistema y de las estadsticas. El diccionario de datos Dentro del SGBD, hay una parte que son datos sobre los datos, es una base de datos en la que se almacena toda la informacin necesaria para que el sistema funcione. Esta base de datos es el diccionario de datos y contiene: La estructura lgica y fsica de la base de datos. Las definiciones de todos los objetos de la base de datos: tablas, vistas, ndices, disparadores (triggers) funciones, procedimientos almacenados, etc. El espacio asignado y utilizado por los objetos. Los valores por defecto de las columnas de las tablas. Los privilegios otorgados a los usuarios. Informacin que permita obtener estadsticas y evaluaciones del rendimiento del sistema. Tipos de bases de datos Podemos realizar distintas clasificaciones de las bases de datos: Segn su ubicacin Segn la organizacin lgica de la informacin. Tipos de bases de datos segn su ubicacin 1. Bases de datos locales. En modo local tenemos la base de datos y el usuario ubicados en el mismo ordenador. Un ejemplo de base de datos que funciona en modo local es Microsoft Access, MS Access es una base de datos fcil de manejar por usuarios poco expertos que funciona bien en modo local y mientras no tenga que albergar grandes cantidades de informacin. Ventajas Economa Es la ms barata. Simplicidad No se necesita llevar controles de accesos concurrentes, de transmisin de datos, etc. Desventajas Monousuario En un instante determinado slo la puede utilizar una persona. Capacidad Suele tener una capacidad de almacenamiento limitado.
2. Bases de datos centralizadas En los sistemas centralizados tenemos la base de datos completa en un mismo servidor, y todos los usuarios acceden a ese servidor. Que la base de datos est en un mismo servidor no implica que est en un solo archivo o en el mismo disco, puede estar repartida.
En modo Cliente/Servidor, la base de datos se encuentra en un ordenador (el Servidor) y los usuarios acceden simultneamente a esa base de datos a travs de la red (sea una red local o Internet) desde sus ordenadores a travs de un programa Cliente. A nivel de empresas es el sistema que ms se utiliza en la actualidad. Ventajas Multiusuario Permite que varios usuarios accedan a la vez a la misma informacin. Desventajas Complejidad Tiene que incluir y gestionar un sistema de usuario y subesquemas.
No redundancia Seguridad Al estar todos los datos en el mismo servidor, la Se tienen que realizar controles para garantizar la informacin no se duplica y es ms fcil evitar seguridad de los datos, tanto a nivel interno como fallos debidos a redundancias. a nivel de comunicaciones.
3. Bases de datos distribuidas Tenemos la informacin repartida en distintas localizaciones unidas todas ellas mediante red y un sistema gestor de bases de datos distribuidas. Las distintas localizaciones suelen ser distintas geogrficamente.
Ventajas
Desventajas
Rendimiento Complejidad en el diseo de datos Una clara ventaja es que es posible ubicar los Adems de las dificultades que generalmente se datos en lugares donde se necesitan con ms encuentran al disear una base de datos, el frecuencia, aunque tambin se permita a diseo de una base de datos distribuida debe usuarios no locales acceder a los datos segn considerar la fragmentacin, replicacin y sus necesidades. Esto hace que la informacin ubicacin de los fragmentos en sitios especficos, se recupere de forma ms rpida y gil en las se tiene que trabajar tomando en cuenta su ubicaciones locales. Adems los sistemas naturaleza distribuida, por lo cual no podemos trabajan en paralelo, lo cual permite balancear pensar en hacer joins que afecten a tablas de la carga en los servidores. varios sistemas, etc. Disponibilidad Complejidad tcnica En caso de que falle la base de datos de alguna Se debe asegurar que la base de datos sea localidad, el sistema no se colapsa, puede seguir transparente, se debe lidiar con varios sistemas funcionando excluyendo los datos de la diferentes que pueden presentar dificultades localidad que haya fallado. nicas. Autonoma local Economa en el mantenimiento Un departamento puede controlar los datos que La complejidad y la infraestructura necesaria le pertenecen. implica que se necesitar mayor mano de obra. Economa en la implantacin Es ms barato crear una red de muchas mquinas pequeas, que tener una sola mquina muy poderosa. Seguridad Se debe trabajar en la seguridad de la infraestructura as como cada uno de los sistemas.
Modularidad Integridad Se pueden modificar, agregar o quitar sistemas Se vuelve difcil mantener la integridad, aplicar de la base de datos distribuida sin afectar a los las reglas de integridad a travs de la red puede ser muy caro en trminos de transmisin de dems sistemas (mdulos). datos. Falta de experiencia Las bases de datos distribuidas son un campo relativamente nuevo y poco comn por lo cual no existe mucho personal con experiencia o conocimientos adecuados. Carencia de estndares An no existen herramientas o metodologas que ayuden a los usuarios a convertir un DBMS centralizado en un DBMS distribuido. Tipos de bases de datos segn la organizacin lgica de los datos En un principio existan tres tipos de bases de datos segn su estructura interna (la manera de organizar la informacin): Bases de datos jerrquicos Bases de datos en red Bases de datos relacionales. Ms recientes son las bases de datos orientadas a objetos y las bases de datos multidimensionales. 1. Las bases de datos jerrquicas En una base de datos jerrquica se organizan los datos utilizando estructuras arborescentes (en rbol). Un RBOL es una estructura jerrquica en la que los elementos se suelen denominar NODOS y existen dependencias entre los nodos. La dependencia es de 1:M del tipo padre/hijo. Un hijo no puede tener ms de un padre, pero un padre varios hijos.
Tambin en desuso, en una base de datos en red se utiliza la estructura de grafo/red, como en el caso anterior los distintos objetos estn relacionados entre s mediante relaciones del tipo 1:M pero en este caso un objeto puede estar relacionado como hijo con varios elementos que sern sus padres. En este caso las relaciones que se crean se denominan SET y el equivalente al padre se denomina PROPIETARIO (OWNER) y el equivalente al hijo se denomina MIEMBRO (MEMBER). Un ejemplo de sistema en red es el CODASYL. Tambin existen modelos para realizar el diseo de datos orientado a bases de datos en red.
Los sistemas jerrquico y en red constituyen la primera generacin de los SGBD. Pero estos sistemas presentan algunos inconvenientes: Es necesario escribir complejos programas de aplicacin para responder a cualquier tipo de consulta de datos, por simple que sta sea. La independencia de datos es mnima. No incluyen controles de integridad. Por lo que pronto fueron sustituidos por los sistemas relacionales. 3. Las bases de datos relacionales Esta es la estructura que se ha impuesto para aplicaciones de gestin, consiste en organizar los datos en forma de tablas, las relaciones entre los objetos se consiguen incluyendo en la tabla del hijo, la clave del objeto padre. Como son las que utilizaremos durante todo el mdulo hemos reservado un apartado especial para ellas. 4. Las bases de datos orientadas a objetos Es un modelo ms reciente, trata de almacenar en la base de datos los objetos completos (estado y comportamiento). La informacin que contienen se organiza en atributos y el comportamiento en operaciones. 5. Las bases de datos mutidimensionales En una base de datos multidimensional los datos se almacenan en tablas de mltiples dimensiones en vez de tablas bidimensionales como las del modelo relacional. Se utilizan para grandes volmenes de informacin.
10
La base de datos relacional Elementos de una base de datos relacional Los datos se organizan en relaciones compuestas por tuplas de atributos. Si convertimos esta definicin a tablas tenemos que los datos se organizan en tablas compuestas por filas (registros) y columnas (campos). A cada tabla se le asigna un nombre nico. Una tabla tiene 0 o ms filas, y cada fila contiene la informacin de un determinado sujeto de la relacin. Las filas en un principio estn desordenadas. La lista de los atributos dispuestos en un orden especfico de izquierda a derecha y que forman la definicin de una tabla se denomina esquema de la tabla, mientras que los valores concretos de los datos que estn almacenados en la tabla se llaman ocurrencias. Por ejemplo, tenemos estas dos tablas:
El esquema de la tabla Piezas est compuesto por las columnas (Codigo, Denominacin, Precio, Fabricante, Codigo_segn_fab). Codigo es el cdigo de la pieza, Denominacion el nombre de la pieza, Fabricante el cdigo del fabricante que nos suministra la pieza y Cdigo_segn_fab el cdigo que utiliza ese fabricante para identificar la pieza en su sistema de gestin. Una ocurrencia de fila de la tabla Piezas sera:1, Taburete 3 patas, 25, Fab1, T123-34. Todos los valores de una columna determinada tienen el mismo tipo de datos, y stos estn extrados de un conjunto de valores legales llamado dominio de la columna. Muchas veces el dominio se corresponder con un tipo de datos estndar del sistema. Por ejemplo en la tabla Piezas la columna Codigo est definida sobre el dominio de los enteros. A parte de los valores del dominio, la columna puede contener un valor especial, el valor nulo. El valor nulo (NULL) es importante porque representa la ausencia de valor en el campo y no es lo mismo que el valor cero 0 o la cadena vaca o espacios en blanco. De hecho es un valor tan
11
especial que no funciona como los dems valores, por ejemplo no podemos comparar (con el operador de comparacin =) un campo con el valor nulo, tenemos que utilizar un operador especial (IS NULL). Incluso se han tenido que redefinir los operadores lgicos para tener en cuenta el valor nulo. Ej. En la tabla Fabricantes el campo direccin de la primera fila contiene el valor nulo (null) esto significa que este fabricante no tiene direccin (al menos conocida). En una tabla cada columna tiene un nico nombre y ste no se puede utilizar para nombrar otra columna de la misma tabla pero s de otra tabla. Por ejemplo en la tabla Piezas no se pueden definir dos columnas llamadas Codigo, por eso el segundo cdigo lo hemos llamado Codigo_segun_fab. Pero en la tabla Fabricantes la columna IdFab se poda haber llamado Codigo sin problema. En una tabla no se admiten dos filas con los valores coincidentes en todos sus campos. Esta restriccin no se suele cumplir. Esta regla nos dice que por ejemplo en la tabla Fabricantes no pueden haber dos filas con los valores Fab1, Muebles la Madera, null. Realmente sera informacin redundante, por eso la existencia de esta regla, no obstante en algunos casos muy concretos s es necesario poder almacenar dos ocurrencias de fila idnticas, por esta razn muchos SGBD no cumplen esta regla. Toda tabla debe tener una clave principal (clave primaria). Una clave primaria es cualquier una columna (o combinacin de columnas) que permite identificar de forma unvoca cada una de las filas de la tabla. Para que pueda cumplir su cometido, la clave primaria no puede contener valores nulos ni valores duplicados (no podr haber dos filas con el mismo valor en este campo). Hay SGBD que incluyen el concepto de clave primaria pero no la hacen obligatoria, por lo que en estos sistemas se pueden definir tablas sin clave primaria. En una tabla pueden existir ms de una columna que permita identificar las filas de la tabla, si queremos utilizar tales columnas como identificadores las definiremos como claves secundarias (alternativas). Una clave secundaria tiene las mismas restricciones que una clave primaria, pero como no podemos definir dos claves primarias, definimos la que se vaya a utilizar ms frecuentemente como clave primaria y la otra (u otras) como secundarias. Por ejemplo en la tabla Piezas la clave primaria es el campo Codigo ya que no hay ni puede haber dos piezas con el mismo cdigo. Este campo realmente sirve para identificar las filas de la tabla, sabiendo un valor de cdigo (por ejemplo el 2) sabremos que nos referimos a la fila de la mesa ovalada. En esta misma tabla tenemos una posible clave alternativa, la formada por los campos Fabricante y Codigo_segun_fab ya que en la tabla Piezas es imposible tener dos filas con la misma combinacin de valores en estos campos (el cdigo_segun_fab es el cdigo que utiliza el fabricante para identificar sus piezas).
12
Otro concepto muy importante, fundamental en las bases de datos relacionales, es la clave ajena (externa o fornea). Una clave ajena es un campo (o combinacin de campos) que contiene la referencia a una fila de otra tabla, tambin puede referirse a la misma tabla. En otras palabras, es un campo que seala a un registro de otra tabla, contiene un valor que identifica un registro de la otra tabla. Son los campos que se utilizan para relacionar las tablas entre s. Una tabla puede tener 0, una o varias claves ajenas (externas, forneas). Una clave ajena puede contener valores duplicados y valores nulos. Siguiendo el ejemplo anterior, en la tabla Piezas tenemos la clave ajena Fabricante ya que en este campo nos guardamos un valor que seala a una fila de la tabla Fabricantes, en este campo tenemos el cdigo del fabricante que nos suministra la pieza y este cdigo nos lleva al fabricante correspondiente en la tabla Fabricantes. Por ejemplo la pieza 3 es servida por el fabricante Fab2, valor que seala al fabricante Maderas Asociados. El SGBD deber velar por la integridad de los datos, para ello incluye varias reglas de integridad que se comprobarn de forma automtica sin necesidad de la intervencin externa de los usuarios o de los programas de aplicacin. Existen distintos tipos de reglas de integridad: La integridad de entidades (integridad de claves): Toda tabla debe tener una clave primaria que permite identificar unvocamente los registros que contiene, por lo tanto no puede contener el valor nulo ni valores duplicados. En el ejemplo anterior si intentamos insertar una nueva pieza con el cdigo 2, el sistema no nos dejar porque ya hay una pieza con este mismo cdigo en la tabla. La integridad referencial: En una clave ajena no puede haber un valor no nulo que no exista en la tabla de referencia. Para que no existan errores de integridad referencial en la base de datos, el sistema comprueba automticamente que los valores introducidos en las claves ajenas existan en el campo de referencia en la otra tabla, si no existe, no nos dejar insertar el registro. Volviendo al ejemplo anterior, si intentamos insertar una pieza con un cdigo de fabricante que no existe en la tabla de fabricantes, el sistema no nos dejar. A nivel de control sobre los datos, el SGBD debe de proporcionar herramientas para poder definir restricciones de dominio que se comprobarn de forma automtica (se comprueba que el valor introducido en una columna pertenece al dominio de la columna, al tipo de datos), y reglas de negocio, que son reglas especficas sobre los datos, en este tipo de reglas entran las reglas de validacin y reglas definidas a nivel superior que veremos ms adelante.
13
Una regla de validacin sera por ejemplo que el precio no pueda ser inferior a 10 euros, y una regla de negocio, que no pueda haber ms de 20 fabricantes. Un SGBD relacional sigue la arquitectura de tres niveles en la que tenemos en el nivel externo las vistas, en nivel conceptual el esquema conceptual con la definicin de todas las tablas, columnas que las componen y relaciones entre ellas, en el nivel interno tenemos la definicin fsica de la base de datos. Finalmente tenemos para poder manejar la informacin almacenada en la base de datos un lenguaje que cumple las reglas de Codd, el lenguaje SQL que veremos en prximos temas.
SQL Server 2005 Workgroup Edition. Para pequeas empresas. Sin lmite de usuarios y tamao de las BD. No incluye caractersticas avanzadas.
SQL Server 2005 Standard Edition. Para empresas medianas. Sin lmite de usuarios y tamao de las BD. Incluye herramientas avanzadas de administracin y anlisis de datos.
14
SQL Server 2005 Enterprise Edition. Es el nivel ms alto, para grandes empresas. Aade al nivel anterior: Mayor potencia. Servicios especficos para grandes empresas. Puede aprovechar configuraciones multiprocesador, grandes cantidades de RAM, almacenes de datos del orden de TeraBytes (1000 GB).
SQL Server 2005 Developer Edition. Para entornos de desarrollo. Mismas posibilidades que la Enterprise. Licencia que limita su uso en entornos de explotacin.
SQL Server 2005 Mobile Edition. Para dispositivos pequeos. Base de datos compacta Diseada para admitir una lista amplia de dispositivos inteligentes y Tablet PC.
SQL Server 2005 Compact Edition. Gratuita. Formato compacto. Para aplicaciones de mviles y escritorio. Si la instalacin se realiza a partir del archivo descargado de Internet, la descarga se empaqueta como un nico ejecutable mediante una tecnologa de instalacin de Microsoft llamada SFXCab. Al hacer doble clic en el .exe se inicia automticamente el proceso de instalacin. Tan slo deberemos seguir el asistente. Los puntos ms importantes a tener en cuenta son: Habilitar el SQL Server Management Studio en la instalacin (si no lo est por defecto) cuando nos pregunte qu componentes deseamos instalar. Indicar que se trata de una Instancia predeterminada.
15
Lo ideal es que en este punto instales el programa, para ir probando lo que vayas aprendiendo de aqu en adelante. Puedes realizar el siguiente Ejercicio Instalacin de SQL Server 2005. El videotutorial prctico de instalacin tambin te ayudar.
Objetivo Descargar e instalar la versin gratuita de SQL Server 2005: La edicin Express. Ejercicio paso a paso 1. Accede a la pgina web de Microsoft, en su apartado de descarga de SQL Server Express 2. Haz clic en Ejecutar. 3. Acepta los trminos y condiciones de uso del programa, despus de leerlos. 4. Pulsa Instalar. 5. Asegrate de que incluyes en la instalacin el Management Studio Express, en la ventana Seleccin de caractersticas. 6. Establece el Nombre de instancia como Instancia predeterminada. 7. Instala el programa y cuando termine pulsa Finalizar.
16
Seleccionamos el nombre del servidor y pulsamos el botn Conectar. Se abrir la ventana inicial del SQL Server Management Studio (en adelante SSMS):
En la parte izquierda se tiene abierto el panel Explorador de Objetos en el que aparece debajo del nombre del servidor con el que estamos conectados una serie de carpetas y objetos que forman parte del servidor.
En el panel de la derecha se muestra la zona de trabajo, que vara segn lo que tengamos seleccionado en el Explorador de objetos, en este caso se observa el contenido de la carpeta que representa el servidor ord01.
17
Con las siguientes opciones: 1. Nueva consulta 2. Consulta de motor de Base de datos 6. Consulta de SQL Server Mobile 7. Abrir archivo 11. Resumen
3. Consulta MDX de Analysis Services 8. Guardar 4. Consulta DMX de Analysis Services 9. Guardar todo 5. Consulta MXLA de Analysis Services
En caso de que utilice la versin Express, es posible que no disponga de algunos de stos botones.
que otras pueden tener varios archivos de datos secundarios. La extensin de nombre de archivo recomendada para los archivos de datos secundarios es .ndf. Adems los archivos de datos se pueden agrupar en grupos de archivos. Para cada base de datos pueden especificarse hasta 32.767 archivos y 32.767 grupos de archivos. Archivos de registro Los archivos de registro (archivos de log) almacenan toda la informacin de registro que se utiliza para recuperar la base de datos, el tambin denominado registro de transacciones. Como mnimo, tiene que haber un archivo de registro por cada base de datos, aunque puede haber varios. La extensin recomendada para los nombres de archivos de registro es .ldf. SQL Server 2005 no exige las extensiones de nombre de archivo .mdf, .ndf y .ldf, pero estas extensiones ayudan a identificar las distintas clases de archivos y su uso. Cada base de datos tiene al menos 2 archivos (un archivo de datos principal y un archivo de registro) y opcionalmente un grupo de archivos. Los archivos de datos y de registro de SQL Server se pueden colocar en sistemas de archivos FAT o NTFS. Se recomienda utilizar NTFS por los aspectos de seguridad que ofrece. No se pueden colocar grupos de archivos de datos de lectura y escritura, y archivos de registro, en un sistema de archivos NTFS comprimido. Slo las bases de datos de slo lectura y los grupos de archivos secundarios de slo lectura se pueden colocar en un sistema de archivos NTFS comprimido.
19
Despus de la instalacin, en la carpeta Bases de datos del sistema se habr creado una especial denominada master se utiliza como base de datos de usuario por defecto. Las dems bases de datos forman tambin parte del diccionario de datos y las utiliza el sistema para llevar a cabo su gestin.
Las bases de datos de los usuarios se deben crear preferentemente fuera de la carpeta Bases de datos del sistema. Para crear una nueva base de datos de usuario nos posicionamos sobre la carpeta Bases de datos y con el botn derecho del ratn desplegamos el men contextual del que elegimos la opcin Nueva base de datos
Se abre a continuacin el cuadro de dilogo donde definiremos la base de datos que queremos crear:
20
Lo mnimo a introducir ser el campo Nombre de la base de datos, ste es el nombre de la base de datos lgica, la base de datos a la que nos referiremos dentro del SSMS, a nivel conceptual (en la imagen Mibase). Esta base de datos est asociada a dos archivos fsicos, en la parte inferior aparecen esos archivos. Para facilitarnos la tarea, al teclear el nombre de la bd lgica, se rellenan automticamente los nombres de los archivos fsicos, el de datos con el mismo nombre y el del archivo de registro con el mismo nombre seguido de _log. Estos nombres son los nombres que se asumen por defecto pero los podemos cambiar, posicionando el cursor en el nombre y cambindolo. Para cada archivo fsico podemos definir una serie de parmetros como el tipo de archivo (si es de datos o de transacciones Registro) y su ocupacin inicial (Tamao inicial). Si no indicamos ninguna ubicacin podemos ver que los guarda en la carpeta del SQL Server/MSSQL.n/MSSQL/DATA. n representa un nmero que puede variar de una instalacin a otra.
21
Estos son los archivos mnimos en los que se almacenar la base de datos, pero como ya vimos anteriormente se puede almacenar en ms archivos, los tenemos que definir todos en esta ventana a continuacin de los dos obligatorios. Para aadir ms archivos fsicos disponemos del botn Agregar. Al pulsar el botn Agregar se crea una nueva fila en la tabla de archivos fsicos donde deberemos escribir el nombre del archivo, su tipo (desplegando la lista podemos elegir entre de datos o de registro) y dems parmetros.
22
Al agregar un nuevo archivo se activa el botn Quitar, siempre que estemos posicionados encima de un archivo secundario para poder as eliminarlo si lo queremos. No podemos eliminar ni el de datos primario, ni el de registro inicial. Si nos fijamos en la zona de la izquierda, vemos que nos encontramos en la pestaa General, podemos cambiar otros parmetros de la base de datos pulsando en Grupos de archivos o en Opciones:
23
Desde el Explorador de Windows podemos ver que en la carpeta indicada se han creado los archivos fsicos con los nombres que le hemos indicado.
24
Pulsando en Agregar se indica el archivo de datos primario en su ubicacin y automticamente se adjuntar la base de datos lgica asociada a este archivo.
25
La opcin Adjuntar slo se utiliza la primera vez, cuando todava no tenemos la base de datos en el disco. Realiza el siguiente Ejercicio Adjuntar base de datos. En l adjuntars las bases de datos que vas a utilizar en los ejercicios que se plantearn ms adelante. Unidad 1. Ejercicio paso a paso: Adjuntar base de datos Objetivo Importar bases de datos al servidor de SQL Server que has instalado. Ejercicio paso a paso 1. En la carpeta Ejercicios del curso, busca U3_Consultas_simples.zip y GestionA.zip y extrae su contenido en una carpeta que llamars Bases de datos. 2. Abre el SQL Server Management Studio Express. 3. Haz clic con el botn secundario del ratn sobre la carpeta Bases de datos que se encuentra en el Explorador de objetos del SSMS. 4. En el men contextual, elige Adjuntar... 5. Pulsa el botn Agregar y busca el directorio Bases de datos que contiene las dos bases que has descargado. 6. Selecciona la primera base (Gestion.mdf) y pulsa Aceptar. 7. Pulsa el botn Agregar de nuevo y esta vez selecciona GestionA.mdf. Cambia su nombre lgico (el campo Adjuntar como) a Gestion. As es como nos referiremos a ella.
26
8. Si todo va bien, te indicar que se han adjuntado correctamente y las vers en el Explorador de objetos (GestionA y GestionSimples). Si no las ves, pulsa el botn Actualizar .
Aparecer un smbolo a la izquierda de la base de datos indicndonos que la base de datos est desconectada, a partir de este momento Windows nos dejar manipular los archivos. Para volver a conectar la base de datos y seguir trabajando con ella, accederemos al mismo men contextual pero elegiremos la opcin Poner en conexin:
El caso ms inmediato en el que puedes necesitar conectar y desconectar la base de datos es copiar a un pendrive los archivos de las bases que utilizars en los ejercicios para poder trabajar en diferentes ordenadores con ellos. Para aprender cmo hacerlo, visita el siguiente Ejercicio Trasladar una base de datos a otro equipo. 27
Unidad 1. Ejercicio paso a paso: Trasladar una base de datos a otro equipo Objetivo Copiar una base de datos que est en uso en un servidor, y adjuntarla o actualizarla en otro. Ejercicio paso a paso Vamos a suponer que tenemos una base de datos en el servidor de clase y queremos llevarnos la base de datos a nuestra casa para seguir trabajando con ella. 1. Sabemos que la base de datos est en los archivos fsicos que definimos cuando definimos la base de datos, estos archivos se localizan en una determina ruta. Esta informacin se encuentra en las propiedades de la base de datos, para acceder a la ventana de propiedades de la base de datos (parecida la que se abri cuando creamos la base de datos) utilizamos como siempre el men contextual que nos llevar a la ventana Propiedades de la base de datos:
2. Una vez sabemos la ruta, utilizamos el Explorador de Windows para abrir a la carpeta donde se encuentran los archivos.
28
3. Volvemos al SSMS y desconectamos la base de datos, como ya hemos visto: Desde el men contextual y eligiendo Tareas>Poner fuera de conexin. 4. Ahora que ya est desconectada, copiamos los archivos desde el Explorador de Windows, por ejemplo, a nuestro pendrive. Ya tenemos una copia de la base de datos de clase. Ahora vamos a ver cmo incluirla en el otro ordenador, es decir, en casa. En caso de que la base de datos no exista, debers adjuntarla como ya hemos visto: Desde el men contextual de bases de datos y eligiendo la Adjuntar... En caso de que la base de datos ya exista y lo que quieras sea actualizarla, debers: 1. Desconectar la base existente desde SSMS. 2. Sobreescribir los archivos fsicos por los nuevos que llevas en el pendrive, desde el Explorador de Windows. 3. Volver a conectar la base de datos desde SSMS.
En caso de que tu versin de SQL Server no tenga las opciones Poner en conexin y Poner fuera de conexin, debers utilizar la opcin Separar... y luego volver a adjuntarla.
Para crear una nueva tabla primero nos tenemos que posicionar en la base de datos donde queremos que se almacene la tabla, desplegar el men contextual y seleccionar la opcin Nueva tabla.
29
A cada columna se le asigna un nombre, un tipo de datos, y opcionalmente una serie de propiedades, en este tema veremos las bsicas y las dems las veremos con ms detalle cuando veamos la instruccin SQL CREATE TABLE. De momento no tenemos definida ninguna columna, al teclear un nombre se crea una primera entrada en esta tabla con la definicin de la primera columna. En la columna Tipo de datos elegimos qu tipo de valores se podrn almacenar en la columna.
Podemos elegir entre todos los tipos que aparecen arriba. Algunos tipos no necesitan ms, como por ejemplo el tipo entero (int), y otros se pueden completar con una longitud, como los tipos alfanumricos:
30
En este ejemplo hemos definido una columna (Codigo) de tipo Entero corto (Smallint), y una columna (Nombre) que almacenar hasta 20 caracteres alfanumricos (nchar(20)), en este caso la longitud la indicamos en la pestaa Propiedades de columna en la propiedad Longitud. Las propiedades de la columna pueden variar dependiendo del tipo de datos de la columna seleccionada, por ejemplo los campos enteros no tienen la propiedad longitud, ya que el propio tipo define la longitud del campo, en cambio los campos de tipo numeric o decimal no tiene la propiedad longitud pero s las propiedades escala y precisin, los valores que permiten definir el tamao del campo.
31
En la mayora de los sistemas gestores de bases de datos tenemos un tipo de datos de tipo contador, autonumrico, autoincremental, etc. Este tipo hace que el propio sistema es el encargado de rellenar el campo con un valor que va incrementando conforme se crean ms filas de datos en la tabla. Las columnas de este tipo se utilizan normalmente para numerar las filas de la tabla, como no habrn dos filas con el mismo valor (el sistema se encarga de incrementar el valor cada vez que se crea una nueva fila), estos campos se suelen utilizar como claves primarias. En SQL Server 2005 no existe el tipo de datos Contador pero se consigue el mismo funcionamiento asignando a la columna un tipo de datos numrico y definiendo la columna como columna de identidad. En las propiedades de la columna marcamos S en la propiedad (Identidad) y a continuacin podemos indicar en qu valor queremos que empiece el contador (Inicializacin de identidad) y en cunto incrementar cada vez que se cree un nuevo registro (Incremento de identidad). Aunque este tipo de columnas se utiliza frecuentemente como clave primaria, SQL Server no le asigna automticamente esta funcin, la tenemos que definir nosotros mismos, pero s fuerza a que sea una columna sin valores nulos. No se puede definir ms de una columna de identidad por tabla.
32
Aparecer una llave a la izquierda del nombre, smbolo de las claves principales:
Para definir una clave primaria compuesta por varias columnas, seleccionamos las columnas manteniendo pulsada la tecla Ctrl y luego seleccionamos la opcin. Para quitar una clave principal, hacemos lo mismo pero en esta ocasin seleccionamos la opcin Quitar clave principal.
33
Del mismo modo si queremos eliminar la definicin de una columna, nos posicionamos en la columna a eliminar y seleccionamos la opcin Eliminar columna:
O simplemente hacemos clic en la zona a la izquierda del nombre y pulsamos la tecla Supr. Finalmente guardamos la tabla, nos pedir el nombre de la tabla:
34
La primera columna sirve para indicarnos el estado de una fila, por ejemplo el * nos indica que es una nueva fila, esta fila realmente no est en la tabla, nos sirve de contenedor para los nuevos datos que queremos insertar. Para insertar una nueva fila de datos slo tenemos que rellenar los campos que aparecen en esa fila (la del *), al cambiar de fila los datos se guardarn automticamente en la tabla a no ser que alguno infrinja alguna regla de integridad, en ese caso SQL Server nos devuelve un mensaje de error para que corrijamos el dato errneo, si no lo podemos corregir entonces slo podemos deshacer los cambios.
35
36
Al pulsar el botn que se encuentra en la fila Especificacin de tablas y columnas se abre el dilogo donde definiremos la relacin:
En la parte derecha se tiene la tabla en la que esta y el campo que va a actuar como clave ajena, slo queda elegir en el desplegable de la izquierda la tabla a la que hace referencia la clave y al seleccionar una tabla, a la izquierda del campo clave ajena se puede elegir el campo de la otra tabla por el que se relacionarn las tablas. En nuestro caso ser:
De esta forma se ha definido una relacin entre las tablas Facturas y Clientes. Para ver las relaciones existentes entre las diferentes tablas tenemos los diagramas. 37
Elegimos S y se crea digamos el soporte donde se pintar el diagrama. A continuacin nos aparece el nuevo diagrama ahora si elegimos crear un nuevo diagrama nos preguntar las tablas a incluir en el diagrama:
Seleccionamos cada una y pulsamos Agregar, cuando hayamos agregado al diagrama todas las que queremos pulsamos en Cerrar y aparecern en el diagrama las tablas con las relaciones que tengan definidas en ese momento:
38
La llave indica la tabla principal (padre) y el smbolo infinito seala la tabla que contiene la clave ajena. En el examinador de objetos en la carpeta Diagramas de base de datos aparecen todos los diagramas definidos hasta el momento:
Hemos aprendido hasta ahora lo bsico para poder crear una base de datos y rellenarla con tablas relacionadas entre s y con datos, ahora veamos cmo recuperar esos datos.
39
. En este ltimo caso nos aparecer el cuadro de dilogo para establecer la conexin (el mismo que vimos al principio del tema). A continuacin se abrir una nueva pestaa donde podremos teclear las sentencias SQL:
Adems aparece una nueva barra de botones que nos permitir ejecutar los comandos ms tiles del modo query.
40
Si ahora desplegamos la carpeta Bases de Datos del Explorador de Objetos, observaremos la base de datos que hemos creado:
41
Si la ejecucin de la sentencia produce un error, el sistema nos devolver el mensaje de error escrito en rojo en la pestaa Mensajes. Podemos incluir en una misma consulta varias sentencias SQL, cuando pulsamos Ejecutar se ejecutarn todas una detrs de otra. Si tenemos varias consultas y slo queremos ejecutar una, la seleccionaremos antes de ejecutarla.
En la imagen anterior tenemos ord01.master SQLQuery1.sql, lo que nos indica que la consulta se llama SQLQuery1.sql, y que se va a ejecutar sobre la base de datos master que se encuentra en el servidor ord01. Cuando creamos una nueva consulta, sta actuar sobre la base de datos activa en ese momento. Por defecto la base de datos activa es la predeterminada (master). Si queremos que la base de datos activa sea por ejemplo la base de datos ventas, hacemos clic sobre su nombre en el Explorador de objetos, y sta pasar a ser la base de datos activa. Si ahora creamos una nueva consulta, sta actuar sobre la base de datos ventas. Si queremos crear una consulta que siempre acte sobre una determinada base de datos y no nos queremos preocupar de qu base de datos tenemos activa podemos aadir al principio de la consulta la instruccin USE nombreBaseDatos; esto har que todas las instrucciones que aparezcan despus, se ejecuten sobre la base de datos indicada. Por ejemplo: USE ventas; SELECT * FROM pedidos; Obtiene todos los datos de la tabla pedidos que se encuentra en la base de datos ventas. Si no utilizamos USE y almacenamos la consulta, al abrirla otra vez, coger como base de datos la predeterminada (no la activa) y se volver a ejecutar sobre la base de datos master. Normalmente utilizaremos como base de datos la nuestra y no la base de datos master, por lo que nos ser til cambiar el nombre de la base de datos por defecto, esto lo podemos hacer cambiando la base de datos por defecto en el id de sesin. Para ello, cuando vamos a conectar con el servidor:
42
En la pestaa Propiedades de conexin, en el cuadro Conectar con base de datos: Seleccionamos <Examinar servidor > para elegir la base de datos.
43
La elegimos y aceptamos. A partir de ese momento la base de datos elegida ser la que SQL Server coja por defecto en todas las sesiones de ese usuario.
44
En la lista Mostrar valores para, seleccionamos el entorno que se ver afectado. El botn Usar predeterminados nos permite volver a la configuracin predeterminada. Ahora slo nos queda aprender a redactar sentencias SQL, cosa que se ver en otro momento, mientras tanto podemos utilizar el Generador de Consulta que incluye SSMS y que veremos a continuacin en el apartado sobre vistas.
45
Para definir una vista en el Explorador de Objetos desplegamos la base de datos donde la guardaremos y elegimos la opcin Nueva vista del men contextual de la carpeta Vistas, se pondr en funcionamiento el generador de consultas pidindonos las tablas en las que se basar la vista. Pulsamos sobre la tabla a aadir al diseo de la vista y pulsamos el botn Agregar, podemos aadir as cuntas tablas queramos. Despus de Cerrar, vemos a la derecha del Explorador de Objetos la pestaa con la definicin de la vista que puede incluir varios paneles:
46
La aparicin de estos paneles es configurable, en la barra de herramientas Diseador de vistas los iconos remarcados en azul son los correspondientes a cada panel:
47
Nosotros, a lo largo del curso, crearemos las vistas desde el panel SQL que veremos ms adelante.
Desde el panel diagrama podemos aadir cmodamente campos de las tablas a la consulta marcando la casilla correspondiente. En la imagen anterior la nica casilla seleccionada es la del * en la tabla Libros por lo que se visualizarn todas las columnas de la tabla Libros y ninguna de la tabla Prstamos. Conforme vamos marcando casillas de las tablas del panel diagrama, los cambios se ven reflejados en los dems paneles excepto en el panel de resultados que se actualiza ejecutando la consulta.
48
En cada fila de la rejilla se define una columna del resultado o una columna que se utiliza para obtener el resultado. En Columna tenemos el nombre de la columna de la se obtienen los datos o la expresin cuando se trata de una columna calculada. En Alias escribimos el nombre que tendr la columna en la vista, tambin corresponde con el encabezado de la columna en la rejilla de resultado. Si se deja el campo en blanco, por defecto se asume el mismo nombre que hay en Columna. En Tabla tenemos el nombre de la tabla del origen de la consulta a la que pertenece la Columna, por ejemplo la primera columna del resultado se saca de la columna Codigo de la tabla LIBROS y se llamar CodLibro. La cuarta columna de la vista coger sus datos de la columna Usuario de la tabla Prestamos y se llamar Usuario (Alias se ha dejado en blanco por lo que asume el nombre que hay en Columna. En la columna Resultados indicamos si queremos que la columna se visualice o no, las columnas con la casilla marcada se visualizan. Las columnas Criterio de ordenacin y Tipo de orden permiten ordenar las filas del resultado segn una o ms columnas. Se ordena por las columnas que tienen algo en Tipo de orden y cuando se ordena por varias columnas Criterio de ordenacin indica que primero se ordena por la columna que lleva el n 1 y despus por la columna que lleva el n 2 y as sucesivamente. En el ejemplo las filas del resultado se ordenarn primero por cdigo de libro y despus por cdigo de prstamo, todas las filas dentro del mismo libro se ordenarn por cdigo de prstamo.
49
En cada celda indicamos una condicin que debe cumplir la columna correspondiente y se puede combinar varias condiciones mediante O (OR) e Y (AND) segn coloquemos las condiciones en la misma columna o en columnas diferentes. En el ejemplo anterior tenemos la condicin compuesta: ((usuario=1) AND (Dias>5)) OR (Usuario=2). Podemos variar el orden de aparicin de las columnas arrastrando la fila correspondiente de la rejilla hasta el lugar deseado. Tambin podemos Elimnar filas de la rejilla para eliminar columnas del resultado, lo conseguimos seleccionando la fila haciendo clic sobre su extremo izquierda y cuando aparece toda la fila remarcada pulsamos Supr o desde el men contextual de la fila. Podemos definir consultas ms complejas como por ejemplo consultas de resumen, pulsando sobre el botn Agrupar por de la barra de herramientas, se aade a la rejilla una nueva columna Agrupar por con las siguientes opciones:
50
Por defecto el generador aade a la consulta una clusula TOP (100) PERCENT que indica que se visualizarn el 100% de las filas. Esta clusula no la hemos definido nosotros sino que la aade automticamente el generador. Una vez tenemos la vista definida la guardamos y podremos hacer con ella casi todo lo que podemos hacer con una tabla. De hecho si nos fijamos en el Explorador de objetos, en la carpeta Vistas:
Vemos que la estructura es muy similar a la estructura de una tabla. Y que podemos modificar su definicin y ejecutarla, igual que con las tablas: Modificar para modificar la definicin de la vista Abrir vista para ejecutarla y ver los datos como si fuese una tabla real.
Ejercicio 1: Crear una base de datos Se desea implementar una base de datos para el control de una biblioteca. Crea la base de datos con el nombre Biblioteca y las opciones por defecto.
51
Ejercicio 2: Crear y definir tablas Crea las tablas Libros, Prstamos y Usuarios de forma que sigan el siguiente esquema: Tabla Libros NOMBRE CAMPO TIPO DE DATOS TAMAO Codigo Nombre Editorial Autor Genero PaisAutor Paginas AnyEdicion Precio Dias Numrico Texto Texto Texto Texto Texto Numrico Fecha/Hora Moneda Numrico Entero Byte 60 25 25 20 20 Entero Fecha mediana
Tabla Prstamos NOMBRE CAMPO TIPO DE DATOS TAMAO Codigo Libro Usuario FSalida FMaxima FDevol Autonumrico Numrico Numrico Fecha/Hora Fecha/Hora Fecha/Hora Byte Byte Fecha mediana Fecha mediana Fecha mediana
52
Tabla Usuarios NOMBRE CAMPO TIPO DE DATOS TAMAO Codigo Nombre Apellidos DNI Domicilio Poblacion Provincia FNacim Autonumrico Texto Texto Texto Texto Texto Texto Fecha/Hora 15 25 12 50 30 20 Fecha mediana Entero
Maximo_permitido Numrico
Ejercicio 3: Insertar datos en las tablas Inserta los datos en las tablas de forma que el resultado sea el siguiente:
53
Ejercicio 4: Modificar la definicin de las tablas Observando los datos, averigua: Claves primarias Claves ajenas Valores no nulos (supondremos que una columna no admite nulos si en los datos sumnistrados no hay ningn nulo en esa columna). Modifica la definicin de las tablas para incorporar esta informacin.
54
55
Ejercicio 4: Modificar la definicin de las tablas Para modificar la definicin de las tablas: Ten en cuenta que las claves primarias sern los campos codigo de cada tabla. Adems, el campo Libro de la tabla Prestamos es clave ajena, hace referencia al Codigo de Libros. Y el campo Usuario tambin es clave ajena, hace referencia al Codigo de Usuarios 1. Despliega el contenido de la carpeta Tablas de Biblioteca, en el Explorador de objetos. 2. Despliega el men contextual de la tabla que quieras modificar y escoge la opcin Diseo (o Modificar). 3. Incluye la clave primaria seleccionando la columna Codigo y pulsando el botn en forma de llave de la barra de herramientas. 4. Si la tabla contiene una clave ajena, indcalo desplegando el men contextual del campo que quieres relacionar y seleccionando Relaciones... 5. No olvides marcar o desmarcar la casilla Permite valores nulos convenientemente. 6. Repite la operacin para las otras dos tablas.
56
c) Como mnimo, una base de datos en SQL Server debe conener los archivos fsicos: a) b) c) d) mdf y ldf, es decir, el principal y el de registro. mdf, ndf y ldf: Principal, secundario y de registro. mdf y ndf: Principal y secundario. mdf: Principal.
d) Para copiar los archivos fsicos de una base de datos... a) Deberemos acceder a la carpeta donde est guardada, mediante el explorador de windows, y copiarlos. b) Deberemos desconectarla antes de intentar copiarla, si no el sistema no nos dejar hacerlo porque est en uso. c) Deberemos utilizar la herramienta de copias de seguridad, porque no se puede acceder a ella desde fuera del gestor SSMS. d) Todas son falsas. e) Para incluir una base de datos en nuestro servidor... a) Es necesario crearlo desde el mismo servidor. b) Es necesario, por seguridad, crear la base de datos en un servidor diferente al que lo ejecutar. c) Podemos crear una nueva o adjuntar una ya existente. d) Deberemos hacerlo mediante instrucciones SQL, ya que el entorno grfico no lo permite.
57
f) Al definir las columnas de una tabla, qu informacin deberemos especificar? a) b) c) d) El rango de valores que soporta. El nombre, tipo y si admite nulos, para cada columna. La longitud de la cadena. Las variables.
g) Si definimos una columna de identidad (IDENTITY)... a) b) c) d) SQL Server automticamente la define como clave principal. ) sta admitir nulos. sta deber ser de tipo nchar. El sistema generar su valor, que ser un nmero incrementado.
h) Para modificar los datos de una tabla: a) Desde el Explorador de objetos, desplegamos su men contextual y elegimos la opcin Modificar. b) Desde el Explorador de objetos, desplegamos su men contextual y elegimos la opcin Abrir tabla. c) A y B son ciertas. d) A y B son falsas. i) Para relacionar dos tablas, por ejemplo empleados y oficinas. a) Deberemos llamar del mismo modo al campo que las relacionar y el gestor se encarga automticamente de crear la relacin. b) Deberemos seleccionar el campo de la tabla padre empleados y pulsar el botn definir hijos para aadir el campo de oficinas. c) Deberemos, necesariamente, escribir instrucciones SQL que se encarguen de establecer las relaciones. d) Deberemos desplegar el men contextual del campo que las relaciona y elegir Relaciones. j) a) b) c) d) Si pulsamos el botn Nueva consulta... Se abrir una pestaa nueva en forma de editor, donde podremos escribir consultas SQL. Podremos utilizar la zona de edicin para escribir varias consultas, una detrs de otra. Dispondremos de un editor que colorear las palabras en funcin de su categora. Todas son ciertas.
58
59