Title: Mg. Samuel Oporto D
1Modelo Entidad-Relación
BASE DEDATOS I
2BASE DE DATOS
3Base de Datos
- Es un conjunto de datos relacionados entre sí,
almacenados en conjunto sin redundancias
innecesarias e independientes de los programas
que los usan. - Son persistentes en el tiempo. Usan un lenguaje
para incluir, modificar o extraer los datos. - Es un conjunto de datos operativos, accesibles
desde algún nivel de la empresa (Estratégico,
Táctico, Operativo). - Una BD debe cumplir con las características de
- Unicidad Consistencia
- Seguridad Privacidad
- Disponibilidad Integridad
4Archivos Vs BD
5Sistema de Gestión de Bases de Datos
- Conjunto de programas que permite definir,
construir y manipular bases de datos para
diversas aplicaciones. - Definir una BD es especificar...
- estructura de datos,
- tipos de datos y
- restricciones de los datos
- Construir una BD es...
- almacenar datos en algún medio de almacenamiento
controlado por el SGBD - Manipular la BD es...
- consultar datos
- introducir/modificar/eliminar datos, para
reflejar cambios. - generar informes a partir de los datos almacenados
6SGBD
- DataBase Management System SGBD DBMS
7Sistema de Base de Datos
- Tiene por objetivo proporcionar un entorno
práctico y eficiente para almacenar y recuperar
la información de la base de datos. - No es necesarios un SGBD de propósito general
para implementar una base de datos. - Se puede construir un conjunto de programas
propios para crear y mantener la base de datos. - Sistema de Base de Datos
- SBD BD DBMS Software de Aplicación/Consultas
8Lenguajes
- DSL DDL DML
- DDL. (Lenguaje de definición de datos).- Define o
declara objetos y restricciones de la BD.
Estático e Invariante. - DML. (Lenguaje de manipulación de datos).-
Manipula o procesa objetos de la BD. Dinámico.
Operaciones. - DSL. (Lenguaje de dominio específico -
declarativo) - Representa un nexo entre el SBD y algún lenguaje
anfitrión. Ejem SQL, HTML - Provee herramientas a los lenguajes tradicionales
para que se integren al Sistema de Base de Datos.
Puede haber distintos tipos de DSL para un mismo
sistema .
9DDL y DML
- DDL
- Detalla la implementación del esquema de la BD
- El compilador DDL genera la tablas que se
almacena en el diccionario de datos - El diccionario de datos contiene la metadata
(datos acerca de los datos) - create table customer (
- customer-id char(10),
- customer-name char(59))
- DML
- Accesa o manipula los datos de la BD
- Es un lenguaje de consultas
- Procedimental Qué y cómo obtener datos
- No procedimental Qué datos se necesitan, sin
decir cómo obtenerlos. - select customer-nam
- from customer
- where customer-id 192
10Niveles de Abstracción
- Nivel de Vista Describe una parte de la BD.
Puede esconder información por seguridad - Nivel Lógico Qué datos se almacenan en la BD y
qué relaciones existen entre esos datos. - Nivel Físico Cómo se almacenan los datos.
VISTA
LÓGICO
FÍSICO
11Niveles de Abstracción
- ARQUITECTURA DE TRES NIVELES
- Nivel Externo (Lenguaje de Programación tipo
Pascal) - tipo empleado registro (no acceso al salario)
- n_empleado cadena(6)
- n_depto cadena(4)
- fin
- Nivel Conceptual (Lenguaje de definición de
datos, DDL) - EMPLEADO (
- NUMERO_EMPLEADO CARACTER(6) CLAVE PRINCIPAL,
- NUMERO_DEPARTAMENTO CARACTER(4) NO NULO,
- SALARIO NUMERICO(5) NO NULO )
- Nivel Interno EMP_ALMACENADO LONGITUD20
- PREFIJO TIPOBYTE(6), DESPLAZAMIENTO0
- EMP TIPOBYTE(6), DESPLAZAMIENTO6,
INDICEIEMP - DEPTO TIPOBYTE(4), DESPLAZAMIENTO12
- PAGA TIPOPALABRA, DESPLAZAMIENTO16
12Modelos de BD
- Existen diversos modelos para modelar los datos
13Modelo Entidad - Relación
- Modelo E-R del mundo real
- Entidades (objeto o cosas del mundo real
distinguible de otros) - Relaciones (asociación entre entidades)
- Usado para el diseño de BD
- El diseño de una BD en modelo E-R luego es
convertido en un diseño de modelo Relacional, el
cual es usado para almacenamiento y procesamiento.
14Modelo Relacional
- El modelo relacional es un modelo de datos basado
en la lógica de predicado y en la teoría de
conjuntos. - Una base de datos relacional es un conjunto de
dos o mas tablas estructuradas en registros
(líneas) y campos (columnas), que se vinculan
entre sí por un campo en común.
15Ejemplo 1
16Ejemplo 1
17Ejemplo 2
18Ejemplo 2
19Ejemplo 3
20Ejemplo 3
21MODELO ENTIDAD-RELACION
22Introducción
- Modelo de datos conceptual de alto nivel
- Propuesto por Peter P. Chen en 1976
- Describe el mundo real como un conjunto de
ENTIDADES y de RELACIONES entre ellas - Existe una familia de modelo ER
- Soportado por herramientas software de diseño
(CASE)
23Elementos
- Entidad ( entity )
- Atributo ( attribute )
- Relación ( relationship )
- Dominio ( values set )
241. Entidad
- Cosa u objeto del mundo real con existencia
propia y distinguible del resto - Objeto con existencia...
- física o real (una persona, un libro, un
empleado) - abstracta o conceptual (una asignatura, un viaje)
- Las entidades tienen atributos.
- Ejemplo las personas tienen nombre, dirección,
etc. - Un conjunto de entidades es un conjunto de
entidades del mismo tipo que comparten las mismas
propiedades - Ejemplo conjunto de todas las personas,
empresas, árboles
251. Entidad
cliente-id
cliente-nombre
cliente-calle
cliente-ciudad
prestamo-
monto
262. Atributo
- Propiedad o característica de una entidad
- Una entidad particular es descrita por los
valores de sus atributos
272. Atributos Compuestos
283. Relación
- Una relación es una asociación entre diferentes
entidades. -
- EjemploOrtiz posee
A-102entidad cliente conjunto relaciones
entidad cuenta - Una relación también puede tener atributos
descriptivos
294. Dominio
- Conjunto de valores permitidos para cada atributo
- Tipos de atributos
- Simples y compuestos
- Univalorados y multivalorados
- E.j. multivalorado numero-telefono
- Derivados
- Puede ser derivado de valores de otros atributos
o entidades - E.j. edad, dada la fecha de nacimiento
301. ENTIDAD
31Instancias de una entidad
- También...
- Ocurrencia
- Realización
- Ejemplar
- Entidad concreta o individual
PELICULA
32Tipo de Entidad (entity set)
- Define un conjunto de entidades que poseen los
mismos atributos - PELICULA titulo, genero, nacionalidad,
añoestreno, numcopias - EMPLEADO dni, nss, nombre, fechanacim,
direccion, telefono, altura, nacionalidad, edad - Notación
EMPLEADO
PELICULA
DIRECTOR
LOCALVIDEOCLUB
ACTOR
CLIENTE
33Tipo de Entidad
- EMPLEADO dni, nss, nombre, dirección, telefono,
altura, fechanacim, nacionalidad, edad - Las instancias del tipo de entidad se agrupan en
un conjunto de entidades o extensión
e1 ? (87654321, 1122334455, Cristina Aliaga
Gil, Libertad, 2. Yecla. Murcia. 30510,
968100200, 160, 28/07/1979, España, 23) e2 ?
(12345678, 6677889900, Antonio Gil Sánchez,
Paz, 5. Murcia. Murcia.30012, 968111222, 176,
14/04/1944, España, 58) e3 ? (11223344,
1234567890, Julia Sauce, Justicia, 20. Yecla.
Murcia. 30510, 968000222, 159, 23/05/1947,
España, 55) ...
34Claves
- Claves (Llaves) Atributos que identifican una
entidad dentro de un conjunto de entidades. - Superclave Conjunto de atributos no vacío, que
identifica en forma única una entidad dentro de
un conjunto de entidades. Superclave
superclaves - Clave candidata Es una superclave para la cual
ningún subconjunto es superclave, excepto el
mismo. - Clave primaria. Es la clave candidata escogida
por el diseñador. Atributo o conjunto de
atributos que permiten identificar en forma única
una tupla en la tabla y ningún subconjunto de
ella posee esta propiedad (subrayado). - Llave foránea Es un atributo que es llave
primaria en otra entidad con la cual se
relaciona. Relacionar las entidades.
35Tipo de Entidad Débil
- No tiene atributos clave propios
- Una instancia se identifica por su relación con
una instancia de otro tipo de entidad - Clave parcial (o discriminante)
- Atributos de la entidad débil, que identifican de
forma única cada instancia. - Clave (clave_entidad_regular, clave_parcial)
362. ATRIBUTOS
37Tipos de atributos
- Simples o Compuestos
- Almacenados o Derivados
- Monovalorados o Multivalorados
- Opcionales
simples y monovalorados
compuestos
multivalorados
derivados
38Atributos Simples o Compuestos
- Atributos compuestos
- Pueden dividirse en otros con significado propio
- Valor compuesto concatenación de valores de
componentes - Atributos simples
- No divisibles. Atómicos
genero
39Atributos Almacenados o Derivados
- Atributos derivados
- Valor calculado a partir de otra información ya
existente (atributos, entidades relacionadas) - Son información redundante...
- edad de EMPLEADO, cálculo a partir de
fechanacim - atributo derivado del valor de otro atributo
- numcopias de una PELICULA, cuenta del número de
entidades COPIA relacionadas con cada película
concreta - atributo derivado de entidades relacionadas
- Atributos almacenados
- fechanacim de cada EMPLEADO
- nacionalidad de una PELICULA
40Monovalorados o Multivalorados
- Atributos monovalorados (monovaluados)
- sólo un valor para cada entidad
- fechanacim de un EMPLEADO particular
- añoestreno de cada PELICULA concreta
- Atributos multivalorados (multivaluados)
- más de un valor para la misma entidad
- nacionalidad PELICULA coproducida por varios
países - telefono EMPLEADO con varios teléfonos de
contacto - pueden tener límites superior e inferior del
número de valores por entidad - nacionalidad (1-2)
- telefono (0-3)
41Atributos Opcionales (nulos)
- El nulo (null value) es usado cuando...
- Se desconoce el valor de un atributo para cierta
entidad - El valor existe pero falta
- altura de un EMPLEADO
- No se sabe si el valor existe o no
- telefono de un EMPLEADO
- La entidad no tiene ningún valor aplicable para
el atributo - fechaalquiler PELICULA sólo en vídeo-venta (no
alquiler)
42Notación para atributos
43Atributos Clave
- Atributo con valor distinto para cada instancia
de un tipo de entidad - dni en EMPLEADO
- Una clave identifica de forma única cada entidad
concreta ? atributo identificador
443. RELACIONES
45RELACIÓN (relationship)
- También interrelación
- Asociación, vínculo o correspondencia entre
instancias de entidades relacionadas. - el director Alejandro Amenábar ha rodado la
película Mar adentro - Abstracción
- un DIRECTOR ha rodado PELICULAs
46DIRECTOR HA_RODADO PELICULA
- ? Vacas
- ? Tesis
- ? Belle Epoque
- ? Torrente
- ? Tierra
-
- Abre los ojos
- Los otros
Instancia del tipo de relación
? ? ? ? ? ? ?
J. Médem ? C. Saura ? F. Trueba ? S. Segura
? A. Amenábar ?
Tipo de Entidad conjunto de instancias
Tipo de Relación conjunto de instancias
47Grado de un tipo de relación
- Número de tipos de entidad que participan en el
tipo de relación
Binaria grado 2 (el más frecuente)
Reflexiva (o recursiva) grado 1
Ternaria grado 3
48Nombres de Rol (papel)
- Todo tipo de entidad que participa en un tipo de
relación juega un papel específico en la relación - Los nombres de rol se deben usar, sobre todo, en
los tipos de relación reflexivos, para evitar
ambigüedad
49Cardinalidad
- Limitan las posibles combinaciones de entidades
que pueden participar en las relaciones - Extraídas de la situación real que se modela
- Una película debe haber sido dirigida por uno y
sólo un director - Un director ha dirigido al menos una película y
puede haber dirigido muchas - Número máximo de instancias de tipo de relación
en las que puede participar una misma instancia
de tipo de entidad - la cardinalidad de HA_RODADO es 1 a N
- HA_RODADO es de tipo 1 a N
50Cardinalidad
- Números mínimo y máximo de instancias de un tipo
de entidad que pueden estar relacionadas con una
instancia del otro tipo de entidad - Notación
- (min, max) en la línea que une entidad y relación
51Cardinalidad
- Razones de cardinalidad más comunes
- 11 (uno a uno)
- 0N (cero o muchos)
- 1N (uno a muchos)
- MN (muchos a muchos)
52Cardinalidad recursiva
53Razón de Participación
- Especifica si toda la extensión de un tipo de
entidad participa en un tipo de relación, o sólo
parte de la extensión. - Clases de participación
- Participación total (dependencia en existencia)
- Participación parcial
54Atributos de tipos de relación
55Atributos de tipos de relación
- Conceptualmente pertenecen a la relación
- Un atributo de una MN es propio de la relación
- Un atributo de una 11 o 1N se puede llevar a
uno de los tipos de entidad participantes
56TIPO DE ENTIDAD DEBIL
57Tipo de entidad débil
58Tipo de entidad débil
- Dependencia en existencia (entre entidades)
- Si desaparece una instancia del tipo de entidad
regular deben desaparecer las instancias de la
entidad débil que dependen de ella - Etiqueta E en el tipo de relación débil
- Dependencia en identificación
- Además de la dependencia en existencia...
- Una instancia del tipo de entidad débil no se
puede identificar por sí misma - Su clave es (clave_entidad_regular,
clave_parcial) - Etiqueta ID en el tipo de relación débil
59Tipo de entidad débil
PERMISO_CONDUCCION es débil, pues depende en
existencia de EMPLEADO, pero no depende en
identificación
COPIA es débil, pues depende en existencia de
PELICULA, y también depende en identificación
604. DOMINIOS
61Dominio (values set)
- Conjunto de valores
- Cada atributo simple está asociado a un dominio,
que especifica sus valores válidos
Atributo Dominio Descripción Dominio
nombre NOMBRES cadenas de hasta 30 caracteres alfabéticos
telefono TELEFONOS cadenas de hasta 9 caracteres numéricos
altura MEDIDAS números reales entre 0 y 25 (metros)
... ... ...
No suele representarse, aunque una forma de
hacerlo sería
MPM1999
62Valores validos
- Los valores validos para un atributo deben tener
asignado información acerca de - Tipo de Datos. Los tipos básicos son entero,
decima, caractery fecha-hora. - Longitud. Es el número de dígitos o caracteres en
el valor de un atributo. - Formato de Fecha. Peste puede ser dd/mm/yyyy o
yyyy/mm/dd. - Rango. Especifica el intervalo entre los cuales
se puede tomar valor un atributo. - Restricción. Son restricciones particulares sobre
un atributo. - Soporte de NULL. El atributo puede aceptar
valores NULL. - Defaul. El atributo toma un valor por defecto
cuando se instancia.
63Ejercicio 1
- Se tiene una empresa desarrollando varios
proyectos, a los que son asignados varios
empleados, pero cada empleado solo esta vinculado
a un proyecto, en un momento dado. - Cada proyecto consume diferentes recursos en
cantidades determinadas los empleados están a
cargo de un supervisor, que es un empleado
también. - Los empleados pueden tener personas beneficiarias
(hijos, esposas, padres, etc.).
64Ejercicio 1
65Ejercicio 2
- Se desea diseñar una base de datos sobre la
información de las reservas de una empresa
dedicada al arriendo de automóviles. - Los supuestos son
- Un determinado cliente puede tener en un momento
dado varias reservas. - Una reserva la realiza un único cliente, pero
puede involucrar a varios autos. - Se debe conocer la fecha de comienzo y término de
la reserva. - Todo auto tiene asignado un determinado garaje,
que no puede cambiar. - Cada reserva se realiza en una determinada
agencia. - Pueden existir clientes que no hayan hecho
ninguna reserva.