Download Bases de Datos Sistemas de Gestión de Bases de Datos

Document related concepts

Base de datos relacional wikipedia , lookup

Modelo de base de datos wikipedia , lookup

Normalización de bases de datos wikipedia , lookup

Clave foránea wikipedia , lookup

SQL wikipedia , lookup

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