Download Bases de Datos Sistemas de Gestión de Bases de Datos
Document related concepts
Transcript
Bases de Datos Sistemas de Gestión de Bases de Datos Banco de datos Conjunto de datos relacionados Ejemplo: archivos de las oficinas de una empresa, con fichas, carpetas, archivadores, armarios ... La gestión de los datos la realiza el secretario o administrador Curso 2003/04 Almudena García Fuente 1 Base de datos = Banco de datos digital Curso 2003/04 Almudena García Fuente Sistema de Gestión de Bases de Datos Software de gestión ¡No confundir! BD ≠ Curso 2003/04 SGBD Almudena García Fuente 2 Sistema de Gestión de Bases de Datos Es como el administrador del banco de datos Ventajas: • más rápido • más fiable • más barato • más eficiente Curso 2003/04 Almudena García Fuente Sistema de Gestión de Bases de Datos Tiene que tener: Estructuras de almacenamiento de datos Mecanismos de manejo de datos (altas, bajas, ordenación, búsquedas, ...) Control de concurrencia (accesos simultáneos) Sistemas de seguridad (si un empleado cualquiera accede al sistema ...) Restricciones de integridad (sueldo>0, rango de categorías, ...) Curso 2003/04 Almudena García Fuente 3 Modelo de datos Descripción de la estructura de los datos Tipos: Relacional Jerárquico En red Orientado a Objetos Entidad - Relación Curso 2003/04 Almudena García Fuente Modelo Entidad - Relación (E-R) Usa dos tipos de objetos: ENTIDADES son representaciones de seres o cosas reales o abstractas Ejemplo: empleado, empresa RELACIONES son las asociaciones entre entidades Ejemplo: contrato Ambas tienen ATRIBUTOS, que permiten describir sus propiedades Ejemplo de atributos de empleado: nombre, categoría, fecha de ingreso, ... Curso 2003/04 Almudena García Fuente 4 Esquema de Datos E-R código nombre nombre fecha ingreso empleado contrato fecha actividad empresa duración Curso 2003/04 Almudena García Fuente Instancia de una Base de Datos Es la información que contiene una Base de Datos en un instante dado Esquema de datos: Una vez diseñado, no cambia o cambia muy poco . Instancia: Cambia continuamente (altas, bajas y modificaciones) Curso 2003/04 Almudena García Fuente 5 Modelo Relacional La información se representa mediante tablas relacionadas filas ⇒ registros ⇒ tuplas Tabla celdas columnas ⇒ campos ⇒ atributos dato Ejemplo: tablas de Excel Curso 2003/04 Almudena García Fuente Ciclo de vida de una base de datos Fase 1: Análisis Fase 2: Diseño Fase 3: Implementación Fase 4: Prueba y mantenimiento Curso 2003/04 Almudena García Fuente 6 Ejemplo: (para entregar por grupos) Diseñar una base de datos para almacenar y gestionar la información de los empleados de una empresa de ventas (datos personales, categorías, sueldos, ventas, comisiones, ...). Ciclo de vida de una base de datos Fase 1: Análisis ¿Qué información hay que almacenar? Datos personales/categoría/fecha/... Restricciones ¿Qué operaciones haremos con los datos? altas/bajas/modificaciones/consultas/... Curso 2003/04 Almudena García Fuente 7 Ciclo de vida de una base de datos Fase 2: Diseño Esquema de datos: modelo E-R (ir a d. 9) modelo relacional: definir atributos necesarios construir tablas establecer relaciones entre tablas Curso 2003/04 Almudena García Fuente Ejemplo en Access: Tabla con datos personales de empleados: Curso 2003/04 Almudena García Fuente 8 Ejemplo en Access: Tabla con datos de empresa: Curso 2003/04 Almudena García Fuente Ejemplo en Access: Tabla con las ventas de cada empleado: Curso 2003/04 Almudena García Fuente 9 Ejemplo en Access: Tabla con datos de los contratos: Curso 2003/04 Almudena García Fuente Ejemplo en Access: Relaciones entre estas 4 tablas: Curso 2003/04 Almudena García Fuente 10 Ciclo de vida de una base de datos Fase 2: Diseño Criterio básico: Minimización de redundancia Ejemplo: En la tabla CONTRATOS no aparece domicilio, y en Datos Empleados no debe aparecer FechaIngreso VENTAJAS: Se ahorra espacio Se facilita el mantenimiento (Ejemplo: un empleado cambia de domicilio...) Curso 2003/04 Almudena García Fuente Ciclo de vida de una base de datos Fase 2: Diseño Criterio básico: Cada elemento del esquema (tabla) debe representar un único tipo de información Ejemplo: En la tabla CONTRATOS no deben aparecer datos personales de cada empleado (nombre, dirección, fecha de nacimiento, ...) Curso 2003/04 Almudena García Fuente 11 Ciclo de vida de una base de datos Fase 3: Implementación Creación de la ESTRUCTURA (Lenguaje de definición de datos, DDL) Creación de las OPERACIONES: (Lenguaje de manejo de datos, DML) Altas, Bajas, Modificaciones Consultas (búsquedas-selección) Curso 2003/04 Almudena García Fuente Ciclo de vida de una base de datos Fase 4: Prueba y mantenimiento Utilización del SGBD Mantenimiento de la BD: detección y corrección de fallos Esta fase es muy importante en una empresa de Software y la realiza personal distinto del que ha desarrollado la BD Curso 2003/04 Almudena García Fuente 12 Implementación de la Estructura Ejemplo de Lenguaje de Definición de Datos: Structured Query Language Instrucción para crear la tabla Contratos: CREATE TABLE Contratos ( TIPO CHAR(10), CODIGO CHAR(6), FECHA_INGRESO DATE, CATEGORIA CHAR(1) ) Curso 2003/04 Almudena García Fuente Implementación de la Estructura El SGBD Access usa internamente SQL para crear la tabla, pero proporciona un interfaz gráfico para facilitar las cosas a los usuarios no experimentados Ejemplo de creación de tabla mediante sentencia SQL ... Curso 2003/04 Almudena García Fuente 13 Implementación de la Estructura Curso 2003/04 Almudena García Fuente Restricciones de integridad Indican combinaciones de datos no permitidas. Ejemplo: la categoría de un empleado puede ser A, B, C, D Clave = conjunto de atributos cuyo valor no se puede repetir en una tabla Clave = identifica de manera única a cada registro de una tabla. Curso 2003/04 Almudena García Fuente 14 Restricciones de integridad Claves candidato = todas las claves posibles en una tabla. Ejemplos: En la tabla Empleados: DNI CODIGO NOMBRE+DOMICILIO En la tabla DatosEmpresa: CATEGORIA SUELDO BASE + SEG SOCIAL + IRPF Curso 2003/04 Almudena García Fuente Restricciones de integridad Clave principal o clave primaria (primary key) elegida entre todas las claves candidato, como forma principal de identificación de los registros de una tabla. Ejemplos (veamos en Access): En la tabla Empleados: En la tabla DatosEmpresa: CODIGO ¿o DNI? CATEGORIA En Access un campo clave principal debe ser Indice sin duplicados Curso 2003/04 Almudena García Fuente 15 Restricciones de integridad Lista de valores válidos Ejemplo: en la tabla CONTRATOS el campo CATEGORIA solo puede tomar los valores A, B, C, D. Ejemplo: En Access se hace esta operación en la ventana de diseño de la tabla CONTRATOS. Curso 2003/04 Almudena García Fuente Restricciones de integridad Integridad referencial Cuando dos tablas están relacionadas por un campo y deben contener los mismos valores Ejemplos: el campo CODIGO en la tabla Empleados y en la tabla CONTRATOS. el campo CATEGORIA en la tabla CONTRATOS y en la tabla DatosEmpresa sólo puede tomar los valores A, B, C, D. En Access se hace esta operación en la ventana de Relaciones de la base de datos. Curso 2003/04 Almudena García Fuente 16 Restricciones de integridad Clave externa o ajena (foreign key): Un campo de una tabla que es clave principal en otra tabla a la que hace referencia debe contener los mismos valores en ambas tablas Integridad referencial Ejemplos: el campo CATEGORIA en la tabla CONTRATOS. Curso 2003/04 Almudena García Fuente Ejercicio: Diseñar una base de datos para almacenar y gestionar la información de los empleados de una empresa de ventas (datos personales, categorías, sueldos, ventas, comisiones, ...) Crear las tablas necesarias con SQL 17 Diseño de la Estructura: atributos ···> tablas ···> relaciones ···> restricciones Primary Key Foreign key Curso 2003/04 Almudena García Fuente Curso 2003/04 Almudena García Fuente 18