Está en la página 1de 19

Modelos de Datos Diseo Lgico de Bases de Datos

Modelo Entidad/Relacin n Modelo Relacional n Paso a tablas


n

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

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

Entidades
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)
Bases de Datos / O.E.I../ U.P.M.

Entidades
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:
n

Nombre Descripcin Dominio Funcin (identificacin o definicin)


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

DNI

Cdigo

Empleado
Domicilio

Departamentos
Descrip.

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

Entidades

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

Trabaja en

Departamento

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

Relaciones
n

Las relaciones tambin pueden tener atributos

Cliente

Compra

Producto

Fecha

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

Relaciones
n

Es importante el rol o papel de cada ocurrencia


Jefe

Empleado

Es Jefe de Subordinado

Se denomina grado de una relacin al nmero de entidades que relaciona

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
1:1 A a1 a2 ... an b1 b2 ... bm B

Ej.:Una persona tiene un coche y un coche es de una sola persona


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

Cardinalidad
1:N A a1 a2 ... an b1 b2 ... bm B

Ej.:Una persona tiene varios coches y un coche es de una sola persona

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

Cardinalidad
N:1 A a1 a2 ... an b1 b2 ... bm B

Ej.: Una persona tiene un coche y un coche es de varias personas

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

Cardinalidad
N:M A a1 a2 ... an b1 b2 ... bm B

Ej.:Una persona tiene varios coches y un coche es de varias personas

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
(1,N)
Trabaja en

Empleado

(0,1)

Departamento

Nota: Hay que tener especial cuidado con las mnimas 1:1
Bases de Datos / O.E.I../ U.P.M.

Cardinalidad
n

Ej.:
Empleado (1,M)
Trabaja en

(0,1)

Departamento

(0,N)

Compaa (1,1)

Pertenece

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


C#

Nombre

Cliente
Domicilio

(1,1)

Tiene

(0,M)

Cdigo

Factura
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
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


C#

Nombre

Cliente
Domicilio

(1,1)

Tiene

(0,M)

Cdigo

Factura
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

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

10

Representacin grfica
Empleado E# Nombre Categora Entidad con atributos

Trabaja Fecha Relacin con atributos

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

Ejemplo
C# Nombre

Fecha (0,M) (0,N) (0,N) (0,M)


Cdigo

Cliente
Domicilio

Compra

Producto
Precio

(0,M) (0,N) (1,1) Departamento


Trabaja

(1,M)

E#

Empleado
Nombre

D#

Descripcin

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

11

Modelo Entidad-Relacin
n
n n n

Ejemplo (Requisitos)
Departamentos: cdigo nico por departamento y el nombre Proyectos: cdigo nico por proyecto y nombre. Cada proyecto se gestiona por un solo depto y un depto puede gestionar varios Empleados: cdigo nico de empleado, nombre y apellidos, direccin, telfono, fecha de nacimiento, sexo, si est casado o no y sueldo que percibe. 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. 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

(1,N)

PERTENECE

(1,1)
DEPARTAMENTO D# NombreDep

(1,1)

ES JEFE DE

(0,1)

(1,1) (0,N)
REALIZA

(0,N)
PROYECTO PARTICIPA Tiempo

(0,M)

P# NombreP

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

12

Modelo E/R: Restricciones


n

Si no se puede representar una relacin N:M, usar dos relaciones 1:M


Cliente
(0,N)

Compra Fecha

(0,M)

Producto

Cliente

(1,1)

Realiza

(0,M)

Detalle de (0,M)Aparece Compra


Fecha

(1,1)

Producto

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

Modelo Relacional
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
n
Bases de Datos / O.E.I../ U.P.M.

13

Modelo Relacional
n

Ejemplo
Personas DNI Nombre Domicilio
38976 2145 1234 Pepe Mara Juan Aqu All Aqu

Tiene DNI
38976 2145 2145

Matricula
CC123 C8790 M1234

Coches Matricula Modelo


M1234 C8790 CC123 Ford Citroen Ford

Ao
1992 1995 1989

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

Atributos
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
n
Bases de Datos / O.E.I../ U.P.M.

14

Tupla, cardinalidad y grado


n

Ejemplo:
R:
A1 a11 am1 A2 a12 am2

Atributo Ai a1j amj An a1n amn

Tupla

Grado: Nmero de atributos n Cardinalidad: Nmero de tuplas


n

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

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

15

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.
DNI 321 134 123 Nombre Domicilio Pepe Pepe Juan Aqu All All Telfono 987 789 789

Si tiene ms de una, se elige la principal y las dems sern alternas


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

16

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

Persona
DNI Nombre Domicilio

DNI ser la clave principal


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

17

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

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

18

Ejemplo
Cliente C# NombreDomicilio Empleado E# Nombre D#

Producto Cdigo Precio

Departamento D# Descripcin

Compra C# E# Cdigo 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 )

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

19

También podría gustarte