Está en la página 1de 19

1

Bases de Datos / O.E.I../ U.P.M.


Diseo Lgico de Bases de Datos
n Modelo Entidad/Relacin
n Modelo Relacional
n Paso a tablas
Modelos de Datos
Bases de Datos / O.E.I../ U.P.M.
Modelo Entidad-Relacin
n Formulado por P.P. Chen en 1976
n Modelo de datos que representa un
esquema de base de datos mediante
entidades y asociaciones
n Describe una base de datos de una forma
sencilla y global
n Se realiza a partir de los requisitos de datos
que debe cumplir una base de datos
2
Bases de Datos / O.E.I../ U.P.M.
n Entidad
Objeto del mundo real que tiene existencia pos
s mismo
Compuesto de ocurrencias de entidad
Ejemplo
Entidad Clientes
Cliente Pepe Perez con DNI 12345678
Atributos: definen las propiedades de una
entidad, basados en un dominio (conjunto de
valores posibles que puede tomar)
Entidades
Bases de Datos / O.E.I../ U.P.M.
Entidades
n Atributo - Caracterstica propia de una
entidad, comn para todas las
ocurrencias del mismo tipo
n Dominio - Conjunto de valores
permitidos para un atributo
n Para cada atributo hay que definir:
Nombre Descripcin Dominio
Funcin (identificacin o definicin)
3
Bases de Datos / O.E.I../ U.P.M.
Entidades
n Ejemplo:
n Entidad: Empleado
Nombre de atributo: Cdigo
Descripcin: Cdigo nico por empleado
asignado por la empresa
Funcin: Identificacin (+Definicin)
Dominio: Nmeros positivos de dos cifras
Bases de Datos / O.E.I../ U.P.M.
Entidades
Mara Anguiano
DNI: 36061281
Gran Va 9
Sucursal Barcelona
Cdigo: 02
Ocurrencias de entidad
Empleado
Departamentos
DNI
Domicilio
Nombre
Cdigo
Descrip.
Entidades
4
Bases de Datos / O.E.I../ U.P.M.
Modelo Entidad-Relacin
n Relacin o Asociacin
Expresa una asociacin entre ocurrencias de
entidad
Puede tener atributos propios
Grado: nmero de entidades que asocia
Cardinalidad:
nmero de ocurrencias de una entidad que pueden
asociarse con otra entidad
Mxima - 1:1, 1:N, N:1, N:M
Mnima - 0:0, 1:0, 0:1, 1:1
Bases de Datos / O.E.I../ U.P.M.
Relaciones
n Conjunto de ocurrencias de relacin del
mismo tipo
Empleado Departamento
Trabaja en
5
Bases de Datos / O.E.I../ U.P.M.
Relaciones
n Las relaciones tambin pueden tener
atributos
Producto Cliente
Compra
Fecha
Bases de Datos / O.E.I../ U.P.M.
Relaciones
n Es importante el rol o papel de cada
ocurrencia
n Se denomina grado de una relacin al
nmero de entidades que relaciona
Empleado
Es Jefe de
Jefe
Subordinado
6
Bases de Datos / O.E.I../ U.P.M.
Cardinalidad Mxima
Nmero de ocurrencias de entidad que se
pueden asociar como mximo a otra a
travs de una relacin
A
B a
1
a
2
a
n
b
1
b
2
b
m
...
...
1:1
Ej.:Una persona tiene un coche y un coche es de una sola persona
Bases de Datos / O.E.I../ U.P.M.
Cardinalidad
A
B a
1
a
2
a
n
b
1
b
2
b
m
...
...
1:N
Ej.:Una persona tiene varios coches y un coche es de una sola persona
7
Bases de Datos / O.E.I../ U.P.M.
Cardinalidad
A
B a
1
a
2
a
n
b
1
b
2
b
m
... ...
N:1
Ej.: Una persona tiene un coche y un coche es de varias personas
Bases de Datos / O.E.I../ U.P.M.
Cardinalidad
B a
1
a
2
a
n
b
1
b
2
b
m
... ...
N:M
A
Ej.:Una persona tiene varios coches y un coche es de varias personas
8
Bases de Datos / O.E.I../ U.P.M.
Cardinalidad Mnima
Nmero mnimo de ocurrencias de entidad
que se deben asociar a otra a travs de
una relacin
Posibilidades: 0:0, 0:1, 1:0, 1:1
Nota: Hay que tener especial cuidado con las mnimas 1:1
Empleado Departamento Trabaja en
(0,1) (1,N)
Bases de Datos / O.E.I../ U.P.M.
Cardinalidad
n Ej.:
Empleado Departamento
Trabaja en
Compaa
Pertenece
(1,M)
(1,1)
(0,N)
(0,1)
9
Bases de Datos / O.E.I../ U.P.M.
Modelo Entidad-Relacin
n Clave de Entidad
Atributo o conjunto de atributos que identifican
de forma nica cada ocurrencia
Si una entidad no tiene clave se dice que es
dbil y que tiene dependencia de Identificacin
Una entidad es dbil si depende de la
existencia de otra entidad
Bases de Datos / O.E.I../ U.P.M.
Claves
n Dependencia de Identificacin (ID) - La
entidad no tiene clave primaria
Cliente Factura Tiene
(1,1) (0,M)
C#
Nombre
Domicilio
Cdigo
Importe
Si la factura tiene cdigos que se repiten por cliente, no tendr
clave, pero s un discriminador
Facturas tiene dependencia de ID respecto de Cliente
10
Bases de Datos / O.E.I../ U.P.M.
Claves
n Dependencia de existencia - La
existencia de una ocurrencia de entidad
dependende de la existencia de otra
Cliente Factura Tiene
(1,1) (0,M)
C#
Nombre
Domicilio
Cdigo
Importe
Aunque Factura tenga clave, si se da de baja un
cliente hay que dar de baja todas sus facturas
Bases de Datos / O.E.I../ U.P.M.
Modelo Entidad-Relacin
n Representacin grfica
Entidades: rectngulos
Atributos: incluidos en la entidad, o con elipses
conectadas a sta
Relaciones: rombos o hexgonos, uniendo las
entidades asociadas
Cardinalidad: se detalla encima de las lneas
que asocian entidades
11
Bases de Datos / O.E.I../ U.P.M.
Representacin grfica
E#
Nombre
Categora
Empleado
Trabaja
Fecha
Entidad con atributos
Relacin con atributos
Bases de Datos / O.E.I../ U.P.M.
Ejemplo
Cliente Producto Compra
(0,M)
C#
Nombre
Domicilio
Cdigo
Precio
Empleado Trabaja
Departamento
(1,1)
(0,N)
(0,M)
(0,M)
(0,N)
Fecha
(0,N)
(1,M)
Nombre
E#
D#
Descripcin
12
Bases de Datos / O.E.I../ U.P.M.
Modelo Entidad-Relacin
n Ejemplo (Requisitos)
n Departamentos: cdigo nico por departamento y el nombre
n Proyectos: cdigo nico por proyecto y nombre. Cada proyecto se
gestiona por un solo depto y un depto puede gestionar varios
n Empleados: cdigo nico de empleado, nombre y apellidos, direccin,
telfono, fecha de nacimiento, sexo, si est casado o no y sueldo que
percibe.
n Un empleado pertenece a un solo depto y en un depto puede haber
varios empleados. Por otro lado cada departamento tiene un
empleado como jefe.
n Los empleados pueden participar en varios proyectos y en un
proyecto pueden participar varios empleados, pero interesa saber el
tiempo (en horas) que dedica cada empleado a los proyectos en los
que participa.
Bases de Datos / O.E.I../ U.P.M.
Modelo Entidad-Relacin
n Ejemplo (Diagrama Entidad-Relacin)
EMPLEADO
E#
Nombre
Apellidos
Direccin
Telefono
FechaNac
Sexo
Casado
Sueldo
DEPARTAMENTO
D#
NombreDep
PROYECTO
P#
NombreP
ES JEFE DE
(1,1)
(0,1)
REALIZA
(0,N)
(1,1)
PERTENECE
(1,N)
(1,1)
PARTICIPA
(0,N)
(0,M)
Tiempo
13
Bases de Datos / O.E.I../ U.P.M.
Modelo E/R: Restricciones
n Si no se puede representar una relacin
N:M, usar dos relaciones 1:M
Producto Cliente Compra
Fecha
(0,M) (0,N)
Producto Cliente
Fecha
Detalle de
Compra
Realiza Aparece
(0,M) (1,1) (0,M)
(1,1)
Bases de Datos / O.E.I../ U.P.M.
Modelo Relacional
n Est basado en la teora de conjuntos y en
el concepto matemtico de relacin
n La estructura lgica principal son tablas o
relaciones
n Cada relacin tiene un nmero fijo de
columnas o atributos (esquema o intensin)
y un nmero variable de filas o tuplas
(extensin)
n Una BD relacional est compuesta por
varias tablas o relaciones
14
Bases de Datos / O.E.I../ U.P.M.
Modelo Relacional
n Ejemplo
DNI Matricula
38976 CC123
2145 C8790
M1234
DNI Nombre Domicilio
38976 Pepe Aqu
2145 Mara All
1234 Juan Aqu
Personas
Coches
Matricula Modelo Ao
M1234 Ford 1992
Citroen 1995
CC123 Ford 1989
C8790
2145
Tiene
Bases de Datos / O.E.I../ U.P.M.
Atributos
n Conjunto de smbolos tomados del
universo del modelo conceptual
n Se usan letras para representarlos:
A,B,C,...
n Descriptor: conjunto de uno o ms
atributos (usaremos X,Y,Z,...)
n Cada atributo se asocia con un conjunto
de valores posibles que denominamos
dominio
15
Bases de Datos / O.E.I../ U.P.M.
Tupla, cardinalidad y grado
n Ejemplo:
n Grado: Nmero de atributos
n Cardinalidad: Nmero de tuplas
A
1
A
2
A
i
A
n
a
11
a
12
a
1j
a
1n
a
m1
a
m2
a
mj
a
mn
R:
Tupla
Atributo
Bases de Datos / O.E.I../ U.P.M.
Condiciones para relaciones (I)
Cada tabla debe contener un solo tipo de
filas
Cada fila debe ser nica (sin repeticiones)
Cada columna tiene un nombre nico
Cada columna tiene que ser nica
Cada columna toma su valor de un
dominio
16
Bases de Datos / O.E.I../ U.P.M.
Condiciones para relaciones (II)
Un dominio puede ser comn para
diferentes columnas
Las filas pueden estar en cualquier orden
Las columnas pueden estar en cualquiert
orden
Bases de Datos / O.E.I../ U.P.M.
Clave
n Cada relacin tendr una combinacin
de atributos que, tomados en conjunto,
identifican de forma nica cada tupla.
Si tiene ms de una, se elige la principal
y las dems sern alternas
DNI
321
134
123
Domicilio
Aqu
All
Nombre
Pepe
Pepe
Juan
Telfono
987
789
789
All
17
Bases de Datos / O.E.I../ U.P.M.
Clave
Al menos debe existir una clave
Tipos de claves
Principal o primaria
Secundarias a alternas
Forneas o externas
Simples
Compuestas
ATENCION a las reglas de integridad
Bases de Datos / O.E.I../ U.P.M.
Paso a Tablas (I)
n Entidades
Toda entidad se corresponde con una relacin
Persona
DNI
Nombre
Domicilio
DNI Nombre Domicilio
Persona
DNI ser la clave principal
18
Bases de Datos / O.E.I../ U.P.M.
Paso a Tablas (II)
n Relaciones binarias
Relacin N:M
Siempre ser una tabla, con sus atributos + claves de
entidades asociadas
Relacin 1:N N:1
Aadir la clave de la tabla uno a la tabla muchos +
atributos de la relacin (si procede)
Relacin 1:1
Si mnima es 1:1:
Aadir la clave de una tabla cualquiera a la otra tabla +
atributos de la relacin (si procede)
Si mnima es 0:1 1:0:
Aadir la clave de la tabla uno a la tabla cero +
atributos de la relacin (si procede)
Bases de Datos / O.E.I../ U.P.M.
Paso a Tablas (III)
n Relaciones ternarias y n-arias
Estudiar las relaciones de dos en dos y aplicar las
reglas de relaciones binarias
Atencin: se puede mejorar el diseo estudiando
redundancias
19
Bases de Datos / O.E.I../ U.P.M.
Ejemplo
C# NombreDomicilio
Cliente
Cdigo Precio
Producto
E# Nombre
Empleado
D# Descripcin
Departamento
D#
C# E# Cdigo
Compra
Fecha
Bases de Datos / O.E.I../ U.P.M.
Ejemplo (II)
EMPLEADO (E#, Nombre, Apellidos, Direccin, Telefono,
FechaNac, Sexo, Casado, Sueldo, D#)
DEPARTAMENTO ( D#, NombreDep, E#
PROYECTO (P#, NombreP, D#)
PARTICIPA (E#, P#, Tiempo )

También podría gustarte