La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Diseño de Bases de Datos

Presentaciones similares


Presentación del tema: "Diseño de Bases de Datos"— Transcripción de la presentación:

1 Diseño de Bases de Datos
Laboratorios 1º y 2º Introducción al SGBD SQL Server de Microsoft®

2 Objetivos Cómo instalar SQL Server.
Cómo crear usuarios y cómo asignar algunos permisos. Cómo crear y poblar una BD. Cómo guardar consultas en el catálogo del SGBD. Ejercicios: Creación de una BD Manipulación de la BD (actualizaciones y consultas) Construcción (cargar datos) en la BD a partir de fuentes externas DBD Laboratorios 1º y 2º © A. Jaime y C. Domínguez 2007

3 SQL Server 2005 Developer edition
Microsoft ® SQL Server 2000 Enterprise Edition Se puede instalar gratuitamente utilizando el convenio MSDNA del dpto. de M. y Computación (ver protocolo). El programa de instalación requiere de Microsoft Windows Installer 3.1 o posterior. Se instalan los siguientes componentes requeridos: Microsoft Windows .NET Framework 2.0 Microsoft SQL Server Native Client Archivos auxiliares de instalzación de SQL Server Requisitos MS Windows ...: 2000 Server ó Professional con Service Pack 4 (SP4) o posterior XP Home Edition ó Professional con SP2 o posterior 2003 Server SP1 o posterior Más de 1 GB en total DBD Laboratorios 1º y 2º © A. Jaime y C. Domínguez 2007

4 Instalación: opción sencilla
Microsoft ® SQL Server 2000 Enterprise Edition Instalación: opción sencilla Instalación auto-explicativa. Se dan los siguientes pasos: Comprobación de configuración del sistema e Información de registro:Nombre y Compañía y contraseña (suministrada por el Dpto en CDs MSDNA.). Componentes para instalar: Seleccionar al menos: Sevicios de bases de datos de SQL Server. Incluye Motor de base de datos SQL Server y servicios de réplica. Componentes de la estación de trabajo, Herramientas de desarrollo y Libros en pantalla de SQL Server. Incluye Herramientas de administración (Analizador de SQL Server, SQL Sever Management Studio, Administrador de configuración de SQL Server, Monitor de réplica), Características de cliente SQLXML, libros en pantalla de SQL Server. Integration Services. Incluye herramientas para la importación exportación de datos. DBD Laboratorios 1º y 2º © A. Jaime y C. Domínguez 2007

5 Instalación: opción sencilla
Microsoft ® SQL Server 2000 Enterprise Edition Instalación: opción sencilla Nombre de instancia: Dejar la opción instancia predeterminada. Es posible seleccionar una instancia predeterminada (nombre predeterminado MSSQLSERVER) o con nombre para la instalación. Se permiten varias instancias en un mismo procesador, pero solo una predeterminada. Cuenta de servicio: Especifique un nombre de usuario, una contraseña y un nombre de dominio para las cuentas de servicio de SQL Server. Esta será la cuenta con la que debe iniciarse la sesión. Elegir usar la cuenta del sistema local integrada. Modo de autenticación: Seleccionar Modo mixto (Autenticación de Windows y por contraseña) y poner contraseña al administrador (sa). DBD Laboratorios 1º y 2º © A. Jaime y C. Domínguez 2007

6 SQL Server Management Studio
Tenemos instalado servidor y cliente de SQL Server en cada máquina. Acceso a ellos a través de SQL Server Management Studio InicioProgramas Bases de datos  Microsoft SQL Server 2005SQL Server Management Studio Al abrirse, se pide que se conecte a una instancia de SQL Server (asegurarse de que el servidor correspondiente al ordenador local). Para ver todos los servidores registrados seleccionar <Buscar más..> y acceder al servidor correspondiente a la máquina local y Utilizar autenticación de windows. Otra opción es desde el menú Ver -> Servidores Registrados y seleccionar conectar en el menú contextual del servidor. DBD Laboratorios 1º y 2º © A. Jaime y C. Domínguez 2007

7 SQL Server Management Studio
Algunas utilidades: Creación y acceso a las BD del catálogo y a sus objetos (con los oportunos permisos) Diseño de BD con la opción “Diagramas” Gestión de la seguridad (usuarios, permisos, etc.) Ejecución de instrucciones T-SQL Tareas de mantenimiento como restauraciones o copias de seguridad DBD Laboratorios 1º y 2º © A. Jaime y C. Domínguez 2007

8 Acceso a las BD del catálogo
Cuando se ve la máquina local en “Explorador de objetos” se podrán ver al menos las carpetas y objetos comunes: Bases de datos, Seguridad, Objetos de Servidor, Réplica, Administración, Agente SQL Server Abrir la carpeta Bases de datos y mostrará todas las BD del catálogo. Si abrimos la carpeta de una base de datos, podemos observar los objetos que contiene agrupados en: Tablas, Vistas, Sinónimos, Programación, Service Broker, Almacenamiento, Seguridad. DBD Laboratorios 1º y 2º © A. Jaime y C. Domínguez 2007

9 Creación de una nueva BD
Click en Bases de Datos y a través del menú contextual elegir Nueva base de datos ... En el catálogo NO puede haber dos BD con el mismo nombre. Por eso, nombrar cada BD de un modo especial: Si estás en el grupo de prácticas 1, llámale Empresa1, si estás en el grupo 2 Empresa2, etc. Una vez puesto el nombre de la BD pulsar Aceptar Dejar la BD en el catálogo después del laboratorio. Tener cuidado de NO borrar BD de otros usuarios, ya que todos accedemos al SGBD con el mismo usuario. DBD Laboratorios 1º y 2º © A. Jaime y C. Domínguez 2007

10 Creación de usuarios (inicios de sesión)
Sólo puede hacerlo un administrador de BD (ABD) o usuarios con permisos suficientes. El nombre de usuario del ABD es “sa”. Su contraseña se indicó durante la instalación de SQL Server. Para ver todos los usuarios seleccionar Seguridad e Inicios de sesión Seleccionar Nuevo inicio de sesión... Indicar el nombre de usuario y elegir Autenticación de SQL Server, indicando una contraseña Indicar otras opciones como Exigir condiciones a la contraseña, base de datos predeterminada o idioma predeterminado DBD Laboratorios 1º y 2º © A. Jaime y C. Domínguez 2007

11 Asignación de permisos
Podemos asignar permisos a un usuario: opción propiedades en el menú contextual del usuario En la opción Funciones del Servidor del panel izquierdo se seleccionan los privilegios que tendrá el usuario: sysadmin para los ABD, dbcreator para los que crean nuevas BD, etc. En la opción Asignación de usuarios se seleccionan las BD a las que tiene acceso y los permisos sobre cada una Además de los usuarios del SGBD (o inicios de sesión) existen los usuarios de cada BD (en su carpeta de seguridad): dbo es el DB owner o dueño de la BD. Normalmente es el que creó la BD. Puede crear cuentas para la BD DBD Laboratorios 1º y 2º © A. Jaime y C. Domínguez 2007

12 Creación de una nueva tabla
Click sobre la BD recién creada. Vemos varias opciones sobre la misma: Diagramas, Tablas, Vistas, Sinónimos, Programación, Seguridad, etc. Elegimos Tablas y Nueva tabla... para crear la tabla empleado Introducir los atributos que figuran abajo. Elegir tipos de datos adecuados entre los disponibles. Indicar el campo clave con la llave amarilla Pulsar (Guardar) poniendo nombre a la tabla y salir DNI Nombre Apellido FechaNcto Dirección Salario Dpto Empleado Sexo DBD Laboratorios 1º y 2º © A. Jaime y C. Domínguez 2007

13 Modificación de una tabla
Elegir Modificar en el menú contextual de la tabla. Poner “NOT NULL” en el atributo “FechaNcto”  borrando la selección en la columna permitir valores nulos Poner “DEFAULT 0” en “Salario”  seleccionando el atributo “Salario” rellenar valor predeterminado con un 0. Poner “UNIQUE(Nombre, Apellido)”  elegir Índices y claves en el menú contextual. Agregar un índice indicando las columnas “Nombre” y “Apellido” y es unique Sí y Cerrar Poner “CHECK CK_Empleado (Sexo IN (‘H’,’M’))”  elegir Restricciones CHECK. Introducir en expresión Sexo IN... Incluir el atributo derivado Edad. Incluir una fórmula adecuada en Especificación de columna calculada (consultar Ayuda -> Índice las funciones datediff y getdate) Salir guardando DBD Laboratorios 1º y 2º © A. Jaime y C. Domínguez 2007

14 Introducir valores a la tabla
Desde el menú contextual asociado a la tabla creada anteriormente, elegir Abrir tabla Introducir valores y pulsar la tecla ““, ““ ó ““ hasta que baje a la siguiente fila. Comprobar que todas las restricciones definidas funcionan: Que obliga a introducir algún valor en FechaNcto Que si no se indica valor para salario le asigna valor cero Que no deja poner el mismo nombre y apellido a dos empleados ¿deja que nombre o apellido valgan nulo? Que sólo se puede introducir a Sexo valor ‘h’ o ‘m’ Que calcula bien la edad de las personas Para cambiar un valor de una tupla existente a <null> pulsar Ctrl-0 (control-cero) DBD Laboratorios 1º y 2º © A. Jaime y C. Domínguez 2007

15 Definición de claves extranjeras
También llamadas foráneas, externas, ajenas ... Para ello crear la tabla departamento siguiendo los mismos pasos utilizados para empleado. Considera que Número es un dato autoincremental (declararlo con tipo numérico y Especificación de identidad -> Sí) Número Nombre DNI_Director Departamento A DNI de empleado De Dpto de empleado En la tabla Departamento: Claves  Nueva clave externa -> hacer clic en cuadro con ... de Especificación de tablas y columnas Seleccionar modificación y borrado en cascada: Especificación de INSERT y UPDATE y cambiar Regla de actualización y Regla de eliminación. Comprobar que funcionan estas reglas. Definir la otra clave extranjera de la figura exigiendo actualización y borrado en cascada ¿Qué ocurre? DBD Laboratorios 1º y 2º © A. Jaime y C. Domínguez 2007

16 El diseñador de BD (diagramas de BD)
Diagramas de base de datos  Nuevo Diagrama de BD inicia un asistente que permite seleccionar las tablas del diagrama. Es posible tener varios diagramas por BD (uno por cada “sección” de la BD). Se utilizan para definir claves extranjeras, rediseñar tablas (por ejemplo añadir, borrar o modificar columnas, cambiar la clave principal, ...), añadir índices, crear nuevas tablas o borrarlas, etc. Hay una opción que reorganiza las tablas del diagrama. Si una tabla incluye el carácter “*” es porque se ha hecho alguna modificación (ejemplo: un nuevo atributo, una relación, ...) que todavía no se ha grabado DBD Laboratorios 1º y 2º © A. Jaime y C. Domínguez 2007

17 El diseñador de BD (2) (diagramas de BD)
Crear un diagrama que incluya las dos tablas de la BD. Usando las opciones del diseñador de diagramas crear la tabla proyecto de la figura. Crear también la restricción de integridad referencial indicada en la figura. Mediante el diseñador de diagramas definir Número como clave primaria, Nombre como clave candidata, valor por defecto de Lugar ‘Logroño’ y Dpto como atributo que no admite valores nulos. (Activar ver -> ventana de propiedades.) Número Nombre Dpto Proyecto A Número de Departamento Lugar DBD Laboratorios 1º y 2º © A. Jaime y C. Domínguez 2007

18 Borrado de una tabla y de una BD
Desde el diagrama: Seleccionar la tabla y elegir Eliminar tablas de la BD. La opción Quitar del diagrama no la borra de la BD Desde la opción Tablas se selecciona la tabla y se elige eliminar en el menú contextual. Borrado de una BD: se selecciona la BD y se elige eliminar en el menú contextual DBD Laboratorios 1º y 2º © A. Jaime y C. Domínguez 2007

19 Esquema E/R de la BD BUQUES
MarcaTiempo Longitud Latitud Fecha Hora NombreBuque Dueño Tipo Tonelaje Casco FechaInicio FechaFin NombrePaís Continente NombrePuerto NombreMar MOVIMIENTO BUQUE (1,1) REALIZADO (0,N) (1,1) (0,N) BUQUE TIPO TIPO (0,1) (0,N) VISITA_A (1,1) ORIGEN VISITA (0,N) (0,N) (1,1) (0,N) PUERTO SITUADO PAIS (1,1) (0,N) PERTENECE MAR DBD Laboratorios 1º y 2º © A. Jaime y C. Domínguez 2007

20 Esquema relacional de la BD BUQUES
MovimientoBuque TipoBuque NombreBuque Fecha Hora Longitud Latitud Tipo Tonelaje Casco Buque País NombreBuque Dueño Tipo NombrePuerto NombrePaís NombrePaís Continente Puerto Mar NombrePuerto NombrePaís NombreMar NombreMar Visita NombreBuque NombrePuerto NombrePaís FechaInicio FechaFin DBD Laboratorios 1º y 2º © A. Jaime y C. Domínguez 2007

21 Tarea 1: Creación de la BD BUQUES
Crear la BD buques según los esquemas anteriores: Nombre de la BD, distinto según el número de grupo. Buques1 si estás en el grupo de prácticas 1, Buques2 si estás en el grupo 2, etc. Asignar a cada atributo el tipo de datos más adecuado. Definir las claves primarias, restricciones NOT NULL, valores por defecto, claves candidatas, restricciones CHECK y atributos derivados más convenientes. Definir las restricciones de integridad (RI) referencial (claves extranjeras) atendiendo al siguiente criterio: Definir borrado y modificación en cascada para claves extranjeras de un solo atributo. No definir borrado ni modificación en cascada para claves extranjeras de varios atributos (pero sí la RI) ! DBD Laboratorios 1º y 2º © A. Jaime y C. Domínguez 2007

22 Tarea 2: comprobar el mantenimiento de las RI
Intenta introducir en la tabla Buque el buque llamado Bilbao, cuyo dueño sea Onassis, de tipo 10 y su puerto original Hendaya (France). El sistema tiene que dar un error ¿Por qué? Introduce el Tipo de Buques 10, que son barcos de 3500 Tm. y casco de FibraVidrio Si introducimos ahora el buque anterior, ¿funciona? Inserta las tuplas necesarias para que se pueda insertar la tupla de la tabla Buque. Comprobarás que no se pueden insertar los datos en cualquier orden. DBD Laboratorios 1º y 2º © A. Jaime y C. Domínguez 2007

23 Tarea 3: Comprobar la modificación en cascada
Modifica el nombre de mar introducido en la tabla Mar por Atlántico (si es el que has puesto, cámbialo, por ejemplo, por Cantábrico). Fíjate en la tabla Puerto. El valor del atributo con el nombre del mar también se ha modificado. Lo anterior se conoce como modificación en cascada. Cuando se modifica el valor de una clave principal, se modifican también los valores de las claves extranjeras que le hacen referencia. En cambio, no podemos realizar el cambio del nombre del País France a Francia. ¿Por qué? (tiene que ver con una decisión de la tarea anterior). DBD Laboratorios 1º y 2º © A. Jaime y C. Domínguez 2007

24 Tarea 4: Comprobar el borrado en cascada
Borra el registro de la tabla TipoBuque Al borrar el registro de TipoBuque, desaparece el valor 10 de su clave principal, y por tanto se borran automáticamente las tuplas con 10 como valor de clave extranjera (el buque que se había insertado). ¿Qué pasará si se borra ahora el país que había almacenado? Borra todos los datos de la BD, de manera que todas las tablas queden vacías DBD Laboratorios 1º y 2º © A. Jaime y C. Domínguez 2007

25 Importar y exportar datos
Opción de menú contextual de Base de datos Buques: Tareas  Importar datos El asistente guía en la captura de datos. Se pueden importar datos de diversas fuentes. El origen será un archivo de texto y el destino la tabla de la BD que corresponde. El asistente permite hacer algunos ajustes para datos que no corresponden exactamente con lo definido en la BD DBD Laboratorios 1º y 2º © A. Jaime y C. Domínguez 2007

26 Tarea 5: Importar datos desde ficheros de texto
Algún formato de fichero puede ser distinto al definido en las tablas. En ese caso, soluciona el problema con ayuda del asistente. Cada fichero corresponde a una tabla y tiene el mismo nombre que se les ha dado en el esquema relacional. Recuerda que NO se pueden introducir los datos en cualquier orden. Queremos obtener un orden que permita importar todos los ficheros de modo que se conserven las RI DBD Laboratorios 1º y 2º © A. Jaime y C. Domínguez 2007

27 ? Consultas Para escribir una consulta desde el menú contextual de la base de datos Nueva consulta o bien el acceso directo Nueva consulta. Se abre una ventana en la que escribir instrucciones T-SQL (SQL de SQL Server). Podemos escribir consultas SELECT u operaciones SQL como INSERT, DELETE, etc. Escribir primero el comando use Buques1 que indica que la consulta se ejecutará sobre la base de datos Buques1. Escribir la consulta SELECT * FROM Visita WHERE NombreBuque = ‘AndraMari’ Ejecutar la consulta ( ! ) para ver el resultado. El resultado puede verse en distintos formatos: Consulta -> Resultados en. Se pueden guardar como scripts con extensión .sql y abrirlos posteriormente. Guardárla como Consulta_visitas_AndraMari También es posible utilizar QBE Consulta -> Diseñar consulta en el editor... DBD Laboratorios 1º y 2º © A. Jaime y C. Domínguez 2007

28 ? Vistas Una vista puede entenderse como una tabla virtual o como una consulta almacenada. Para crear una vista Vistas -> Nueva Vista. Se abre el asistente para creación de vistas que coincide con el QBE de las consultas. Crear una vista utilizando el asistente de todos los datos de las visitas realizadas por el buque AndraMari. Ponerle por nombre Vista_visitas_AndraMari Podemos ver el resultado de una vista en Abrir vista del menú contextual de la vista creada. DBD Laboratorios 1º y 2º © A. Jaime y C. Domínguez 2007

29 ? Vistas Es posible crear vistas sin utilizar el asistente. Nueva consulta y escribir el comando SQL de creación de vista: use Buques1 -- (vista sobre la BD Buques1) go -- (termina el lote de instrucciones, CREATE VIEW debe -- ser la primera instrucción de un lote de consultas) CREATE VIEW [dbo].[vista_visitas_andramari2] AS SELECT * FROM Visita WHERE NombreBuque = ‘AndraMari’ DBD Laboratorios 1º y 2º © A. Jaime y C. Domínguez 2007

30 Procedimientos almacenados
? Procedimientos almacenados Un procedimiento almacenado (PA) es un conjunto de instrucciones T-SQL precompiladas y que se almacenan en una BD. Programación -> Procedimientos almacenados  Nuevo procedimiento almacenado... Junto a CREATE PROCEDURE cambiar <Procedure_Name, sysname, ProcedureName> por el nombre del procedimiento. En este caso [dbo].[PA_visitas_andramari] Se pueden introducir parámetros al PA. Por ahora no los utilizaremos. Para ello, ponerlos como comentario precediéndolos de --. Después de AS se puede poner una consulta SELECT (u operaciones SQL como INSERT, DELETE, etc.). Introducir en este caso la consulta SELECT * FROM Visita WHERE NombreBuque = ‘AndraMari’ Comprobar que el PA funciona correctamente ejecutándolo ( ! ). DBD Laboratorios 1º y 2º © A. Jaime y C. Domínguez 2007

31 Ejecución de un procedimiento almacenado
? Se puede ejecutar desde el menú contextual de la BD Nueva consulta. Primero hay que poner USE Buques1 (el nombre que se le haya puesto a la BD) y ejecutar ello solo con el botón de ejecución ( ! ) Escribir PA_visitas_andramari, seleccionarlo y pulsar el botón de ejecución ( ! ) En la parte de abajo se puede ver el resultado de la consulta. DBD Laboratorios 1º y 2º © A. Jaime y C. Domínguez 2007

32 Tarea 6: Introducción de consultas como procedimientos almacenados
Crea sendos procedimientos almacenados para las siguientes consultas sin usar subconsultas: VisitasCadiz: Nombre de buque junto al número de visitas al puerto de Cádiz realizadas por buques con más de 1000 toneladas. SantVigoCadiz: Nombres de aquellos buques que hayan ido en menos de 5 días desde el puerto de Santander al de Cádiz, habiendo hecho escala en el puerto de Vigo. DBD Laboratorios 1º y 2º © A. Jaime y C. Domínguez 2007

33 Tarea 6: Introducción de consultas como procedimientos almacenados (2)
Crea sendos procedimientos almacenados para las siguientes consultas: TodosEspNoAmer: Nombres de aquellos buques que hayan visitado todos los puertos españoles y no hayan estado nunca en puertos americanos BuquesMasVisitas: Para cada puerto obtener el buque que más días lo visitó durante el año 2000 DBD Laboratorios 1º y 2º © A. Jaime y C. Domínguez 2007

34 Antes de marcharse Bye Mantener en el catálogo la BD de buques creada
Cerrar la sesión de profesor sin apagar la máquina Bye DBD Laboratorios 1º y 2º © A. Jaime y C. Domínguez 2007

35 Alguna duda que ha podido surgir
¿Por qué NO permite que dos claves extranjeras como las de la figura admitan cascade? Seleccionar Ayuda y buscar por “cascade”. Seleccionar Restricciones de integridad..., y leer el 2º párrafo de la sección Múltiples acciones en cascada A B C D R1 R2 DBD Laboratorios 1º y 2º © A. Jaime y C. Domínguez 2007

36 Alguna duda que ha podido surgir (2)
Cuando se define una clave candidata con UNIQUE ¿Qué diferencia hay entre elegir “restricción” o “índice”? Pulsar el botón Ayuda de la ventana Diseñar tabla  Índices y claves. Leer la explicación sobre Crear UNIQUE. En ambas opciones se crea un índice. Buscando en la ayuda no se encuentra ninguna explicación sobre la diferencia, pero sí aconsejan utilizar restricción en lugar de índice por dar mejor rendimiento. DBD Laboratorios 1º y 2º © A. Jaime y C. Domínguez 2007

37 Alguna información on-line
Ayuda de SQL-Server Libros on-line: se pueden instalar con SQL Server. También están en Hay algunos videos gratuitos con demostraciones de SQL Server 2005 (en inglés) en: DBD Laboratorios 1º y 2º © A. Jaime y C. Domínguez 2007


Descargar ppt "Diseño de Bases de Datos"

Presentaciones similares


Anuncios Google