diseño lógico bbdd

30
BASES DE DATOS Diseño Lógico de Bases de Datos Dr. Eugenio Santos Menéndez Departamento de O.E.I. Escuela Universitaria de Informática Universidad Politécnica de Madrid

Upload: laura-gallego

Post on 06-Nov-2015

254 views

Category:

Documents


1 download

DESCRIPTION

Bases de datos

TRANSCRIPT

  • BASES DE DATOS

    Diseo Lgico de Bases de Datos

    Dr. Eugenio Santos Menndez

    Departamento de O.E.I.Escuela Universitaria de InformticaUniversidad Politcnica de Madrid

  • 2005/06 Dr. Eugenio Santos Menndez

    nModelo Entidad/Relacin.oPaso a Modelo Relacional.

    NDICE TEMTICO

  • 2005/06 Dr. Eugenio Santos Menndez

    Modelo Entidad/Relacin

    Formulado por P.P. Chen en 1976. Modelo de datos que representa un esquema de

    base de datos mediante entidades y asociaciones. Describe una base de datos de una forma sencilla

    y global. Se realiza a partir de los requisitos de datos que

    debe cumplir una base de datos.

  • 2005/06 Dr. Eugenio Santos Menndez

    Entidad: Objeto del mundo real que tiene existencia por s mismo. Compuesto de ocurrencias de entidad. Ejemplo:z Entidad Clientesz Cliente Pepe Perez con DNI 12345678

    Atributos: definen las propiedades de una entidad, basados en un dominio (conjunto de valores posibles que puede tomar).

    Modelo Entidad/Relacin

  • 2005/06 Dr. Eugenio Santos Menndez

    Atributo - Caracterstica propia de una entidad, comn para todas las ocurrencias del mismo tipo.

    Dominio - Conjunto de valores permitidos para un atributo. Para cada atributo hay que definir:z Nombre, Descripcin, Dominio y Funcin (identificacin o

    definicin)

    Modelo Entidad/Relacin

  • 2005/06 Dr. Eugenio Santos Menndez

    Ejemplo: Entidad: Empleados

    Nombre de atributo: Cdigoz Descripcin: Cdigo nico por empleado asignado por la

    empresa.z Funcin: Identificacin (+Definicin)z Dominio: Nmeros positivos de dos cifras.

    Modelo Entidad/Relacin

  • 2005/06 Dr. Eugenio Santos Menndez

    Mara AnguianoDNI: 36061281

    Gran Va 9

    Sucursal BarcelonaCdigo: 02

    Ocurrencias de entidad

    Empleados Departamentos

    DNI

    Domicilio

    Nombre

    Cdigo

    Descrip.

    Entidades

    Modelo Entidad/Relacin

  • 2005/06 Dr. Eugenio Santos Menndez

    Relacin o Asociacin: Expresa una asociacin entre ocurrencias de entidad. Puede tener atributos propios. Grado: nmero de entidades que asocia. Cardinalidad: z Es el nmero de ocurrencias de una entidad que pueden

    asociarse con otra entidad.z Mxima - 1:1, 1:N, N:1, N:Mz Mnima - 0:0, 1:0, 0:1, 1:1

    Modelo Entidad/Relacin

  • 2005/06 Dr. Eugenio Santos Menndez

    Relacin: Es un conjunto de ocurrencias de relacin del mismo

    tipo.

    Empleados DepartamentosTrabaja en

    Modelo Entidad/Relacin

  • 2005/06 Dr. Eugenio Santos Menndez

    Las relaciones tambin pueden tener atributos propios.

    ProductosClientes Compra

    Fecha

    Modelo Entidad/Relacin

  • 2005/06 Dr. Eugenio Santos Menndez

    Es importante el rol o papel de cada ocurrencia.

    Recordatorio: se denomina grado de una relacin al nmero de entidades que relaciona.

    Empleados Es Jefe de

    Jefe

    Subordinado

    Modelo Entidad/Relacin

  • 2005/06 Dr. Eugenio Santos Menndez

    Cardinalidad Mxima: Es el nmero de ocurrencias de entidad que se pueden

    asociar como mximo a otra a travs de una relacin.

    A

    Ba1

    a2

    an

    b1

    b2

    bm

    ......

    1:1

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

    Modelo Entidad/Relacin

  • 2005/06 Dr. Eugenio Santos Menndez

    A Ba1

    a2

    an

    b1

    b2

    bm

    ......

    1:N

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

    Modelo Entidad/Relacin

    Cardinalidad Mxima (Cont.)

  • 2005/06 Dr. Eugenio Santos Menndez

    A Ba1

    a2

    an

    b1

    b2

    bm

    ......

    N:1

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

    Modelo Entidad/Relacin

    Cardinalidad Mxima (Cont.)

  • 2005/06 Dr. Eugenio Santos Menndez

    Ba1

    a2

    an

    b1

    b2

    bm

    ......

    N:MA

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

    Modelo Entidad/Relacin

    Cardinalidad Mxima (Cont.)

  • 2005/06 Dr. Eugenio Santos Menndez

    Cardinalidad Mnima: Es el 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

    Empleados DepartamentosTrabaja en(0,1)(1,N)

    Modelo Entidad/Relacin

  • 2005/06 Dr. Eugenio Santos Menndez

    Ejemplo de Diagrama:

    Empleados DepartamentosTrabaja en

    Compaas Pertenece

    (1,M)

    (1,1)

    (0,N)

    (0,1)

    Modelo Entidad/Relacin

  • 2005/06 Dr. Eugenio Santos Menndez

    Clave de Entidad: Atributo o conjunto de atributos que identifican de

    forma nica cada ocurrencia. Una entidad es dbil si depende de la existencia de

    otra entidad. Si una entidad no tiene clave se dice que es dbil y

    que tiene dependencia de Identificacin.

    Modelo Entidad/Relacin

  • 2005/06 Dr. Eugenio Santos Menndez

    Claves. Dependencia de existencia: La existencia de una

    ocurrencia de entidad depende de la existencia de una ocurrencia de otra entidad.

    Aunque Factura tenga clave, si se da de baja un cliente hay que dar de baja todas sus facturas.

    Clientes FacturasTiene(1,1) (0,M)

    C#

    Nombre

    Domicilio

    Cdigo

    Importe

    Modelo Entidad/Relacin

  • 2005/06 Dr. Eugenio Santos Menndez

    Claves. Dependencia de Identificacin (ID): La entidad no

    tiene clave primaria.

    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.

    Clientes FacturasTiene(1,1) (0,M)

    C#

    Nombre

    Domicilio

    Cdigo

    Importe

    Modelo Entidad/Relacin

  • 2005/06 Dr. Eugenio Santos Menndez

    Representacin grfica: Entidades: rectngulos. Atributos: incluidos en la entidad o con elipses

    conectadas a sta mediante arcos. Relaciones: rombos o hexgonos, unidos con arcos a

    las entidades asociadas. Cardinalidad: se detalla encima de las lneas que

    asocian las entidades con las relaciones.

    Modelo Entidad/Relacin

  • 2005/06 Dr. Eugenio Santos Menndez

    E#NombreCategora

    Empleados

    Trabaja

    Fecha

    Entidad con atributos

    Relacin con atributos

    Modelo Entidad/Relacin

  • 2005/06 Dr. Eugenio Santos Menndez

    (0,M) (0,N)EmpleadosTrabajaDepartamentos

    (1,1)

    Clientes ProductosCompra(0,M)

    C#

    Nombre

    Domicilio

    Cdigo

    Precio

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

    Fecha

    (1,M)

    Nombre

    E#

    D# Descripcin

    Modelo Entidad/Relacin

    Ejemplo.

  • 2005/06 Dr. Eugenio Santos Menndez

    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 ono 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 saberel tiempo (en horas) que dedica cada empleado a los proyectos en los que participa.

    Modelo Entidad/Relacin

  • 2005/06 Dr. Eugenio Santos Menndez

    Ejemplo (Diagrama Entidad/Relacin):

    EMPLEADOS

    E#NombreApellidosDireccinTelefonoFechaNacSexoCasadoSueldo

    DEPARTAMENTOS

    D#NombreDep

    PROYECTOS

    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

    Modelo Entidad/Relacin

  • 2005/06 Dr. Eugenio Santos Menndez

    Entidades Toda entidad se corresponde con una relacin o tabla relacional.

    PersonaDNINombreDomicilio

    DNI Nombre DomicilioPersona

    DNI ser la clave principal

    Paso a Modelo Relacional

  • 2005/06 Dr. Eugenio Santos Menndez

    Relaciones binarias Relacin N:Mz Siempre ser una tabla, con sus atributos + claves de entidades

    asociadas. Relacin 1:N N:1z Aadir la clave de la tabla uno a la tabla muchos + atributos de

    la relacin (si procede). Relacin 1:1z Si mnima es 1:1:

    Aadir la clave de una tabla cualquiera a la otra tabla + atributos de la relacin (si procede).

    z Si mnima es 0:1 1:0: Aadir la clave de la tabla uno a la tabla cero + atributos de la

    relacin (si procede).

    Paso a Modelo Relacional

  • 2005/06 Dr. Eugenio Santos Menndez

    Relaciones ternarias y n-arias Estudiar las relaciones de dos en dos y aplicar las reglas de

    relaciones binarias.z Atencin: se puede mejorar el diseo estudiando redundancias.

    Paso a Modelo Relacional

  • 2005/06 Dr. Eugenio Santos Menndez

    C# NombreDomicilioCliente

    Cdigo PrecioProducto

    E# NombreEmpleado

    D# DescripcinDepartamento

    D#

    C# E# CdigoCompra

    Fecha

    Paso a Modelo Relacional Ejemplo.

  • 2005/06 Dr. Eugenio Santos Menndez

    EMPLEADO (E#, Nombre, Apellidos, Direccin, Telefono, FechaNac, Sexo, Casado, Sueldo, D# )

    DEPARTAMENTO ( D#, NombreDep, E#

    PROYECTO (P#, NombreP, D# )

    PARTICIPA (E#, P#, Tiempo )

    Paso a Modelo Relacional

    Ejemplo II.

    BASES DE DATOSModelo Entidad/RelacinModelo Entidad/RelacinModelo Entidad/RelacinModelo Entidad/RelacinModelo Entidad/RelacinModelo Entidad/RelacinModelo Entidad/RelacinModelo Entidad/RelacinModelo Entidad/RelacinModelo Entidad/RelacinModelo Entidad/RelacinModelo Entidad/RelacinModelo Entidad/RelacinModelo Entidad/RelacinModelo Entidad/RelacinModelo Entidad/RelacinModelo Entidad/RelacinModelo Entidad/RelacinModelo Entidad/RelacinModelo Entidad/RelacinModelo Entidad/RelacinModelo Entidad/RelacinModelo Entidad/RelacinPaso a Modelo RelacionalPaso a Modelo RelacionalPaso a Modelo RelacionalPaso a Modelo RelacionalPaso a Modelo Relacional