1
Bases de Datos
Sistemas de Gestión de Bases de Datos
Curso 2003/04 Almudena García Fuente
Banco de datosConjunto 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
2
Curso 2003/04 Almudena García Fuente
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 ≠ SGBD
3
Curso 2003/04 Almudena García Fuente
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
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, ...)
Sistema de Gestión de Bases de Datos
4
Curso 2003/04 Almudena García Fuente
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, ...
5
Curso 2003/04 Almudena García Fuente
Esquema de Datos E-R
empleado contrato empresa
nombre
código
fecha ingreso
nombre actividad
fecha 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)
6
Curso 2003/04 Almudena García Fuente
Modelo Relacional� La información se representa mediante
tablas relacionadas
� Tablafilas ⇒ registros ⇒ tuplas
columnas ⇒ campos ⇒ atributos
� Ejemplo: tablas de Excel
celdas
dato
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
7
Ejemplo:
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, ...).
(para entregar por grupos)
Curso 2003/04 Almudena García Fuente
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/...
8
Curso 2003/04 Almudena García Fuente
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:
9
Curso 2003/04 Almudena García Fuente
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:
10
Curso 2003/04 Almudena García Fuente
Ejemplo en Access:
Tabla con datos de los contratos:
Curso 2003/04 Almudena García Fuente
Ejemplo en Access:
Relaciones entre estas 4 tablas:
11
Curso 2003/04 Almudena García Fuente
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 Empleadosno 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, ...)
12
Curso 2003/04 Almudena García Fuente
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
13
Curso 2003/04 Almudena García Fuente
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 ...
14
Curso 2003/04 Almudena García Fuente
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 tablaClave = identifica de manera única a cada registro de una tabla.
15
Curso 2003/04 Almudena García Fuente
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:
� CODIGO ¿o DNI?
� En la tabla DatosEmpresa:� CATEGORIA
� En Access un campo clave principal debe ser Indice sin duplicados
16
Curso 2003/04 Almudena García Fuente
Restricciones de integridad
� Lista de valores válidosEjemplo: 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 integridadIntegridad 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.
17
Curso 2003/04 Almudena García Fuente
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
Ejemplos:� el campo CATEGORIA en la tabla CONTRATOS.
debe contener los mismos valores en ambas tablas
Integridad referencial
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
18
Curso 2003/04 Almudena García Fuente
Diseño de la Estructura:atributos ···> tablas ···> relaciones ···> restricciones
Primary KeyForeign key
Curso 2003/04 Almudena García Fuente
Top Related