modelo entidad-relacion parte 1.pdf

download modelo entidad-relacion parte 1.pdf

of 34

Transcript of modelo entidad-relacion parte 1.pdf

  • MODELO

    ENTIDAD RELACIONPRIMERA PARTE

    Silberschatz; Fundamentos de Bases de Datos.

    5 Edicin, 2006.

    1

  • CONTENIDO

    Definicin

    Requerimientos

    Construccin del modelo de entidades

    Conceptos bsicos

    Restricciones cardinalidad

    claves

    2

  • El modelo entidad-relacin est basado en una percepcin del mundo real consistenteen objetos bsicos llamados entidades y de relaciones entre estos objetos.

    El modelo E-R es extremadamente til para hacer corresponder los significados e

    interacciones de las empresas del mundo real con un esquema conceptual.

    Definicin

    3

  • REQUISITOS FUNCIONALES

    Qu debe hacer el sistema?

    requisitos de datos

    Qu debe almacenar el sistema?

    Pensar en el futuro

    Tipos de datos

    Esquema de datos

    Diseo lgico = tablas

    Requerimientos

    4

  • TOLERANCIA A CAMBIOS

    Nombre de un cliente

    1 Nombre y 1 Apellido?

    Y si tiene 2 nombres? 3 nombres?

    Y si su apellido usa un - y es muy largo?

    Y si cambia de nombre en el futuro?

    Debe permitir lectura/escritura sin alterar la BD

    Y si hay otra persona con el mismo nombre?

    No puede ser identificador nico

    Requerimientos

    5

  • TOLERANCIA A CAMBIOS

    Estructura geogrfica vara

    Pas > Comunidad > Municipio > Ciudad

    Pas > Estado > Provincia > Municipio > Ciudad

    Pas > Regin > Ciudad

    Pas > Ciudad

    ...

    Requerimientos

    6

  • Para construir un modelo entidad - relacin podemos seguir los siguientes pasos:

    Paso 1:

    Identificar las entidades fundamentales y sus atributos.

    Ejemplo:

    usuario ={cedula, cdigo, ao, nombre, apellido, telfono, categora}

    Documento = {cdigo, indexacin, titulo, volumen, estado}

    Festivo ={fecha, tipo}

    Autor={cdigo, nombre, apellido}

    Construccin del modelo de entidades

    7

  • Paso 2:

    Hacer una matriz entre las entidades fundamentales para encontrar las relaciones yluego representar grficamente la informacin para obtener el primer MER.

    Construccin del modelo de entidades

    Usuario documento autor

    Usuario

    X Ha prestado (0,n)Ha reservado

    (0,n)

    X

    Documento

    Prestado(0,n)

    Reservado (0,n)

    X Escrito por (0,n)

    Autor X Escrito(0,n)

    X8

  • ENTIDADES

    RELACIONES

    ATRIBUTOS

    Conceptos bsicos

    9

  • ENTIDAD: es una cosa u objeto en el mundo real

    que es distinguible de todos los dems objetos.

    concreta abstracta

    Asignatura

    prstamo bancario

    pedido de un cliente

    Conceptos bsicos - ENTIDADES

    10

  • CONJUNTOS DE ENTIDADES:

    variasentidadesdelmismotipoquecompartenlas mismaspropiedades,oatributos.

    Conjunto de entidades cliente

    Conceptos bsicos - ENTIDADES

    11

  • CONJUNTOS DE ENTIDADES:

    Nombre_cliente

    Id_cliente

    Direccion_cliente

    31456345

    Tomas Duarte

    Carrera45 13-32

    Entidad clienteatributos Valor del atributo

    Conceptos bsicos - ENTIDADES

    12

  • Simples y compuestos

    Simples : no estn subdivididos en partes

    ejemplo: id_cliente.

    Compuestos: se pueden dividir en subpartes

    Conceptos bsicos - ATRIBUTOS

    13

  • Conceptos bsicos - ATRIBUTOS

    14

  • Monovalorados y multivalorados

    monovalorados:

    Tienen todos un valor slo para una entidad concreta. num_prestamo, codigo_asignatura,edad.

    Multivalorados :

    unatributotieneunconjuntodevaloresparaunaentidadespecfica.

    Permitencolocarlmitesinferiorysuperiorenelnmerodevalores

    Num_telefono (0,1 0 mas nmeros)

    Conceptos bsicos - ATRIBUTOS

    15

  • derivados

    Elvalorparaestetipodeatributosepuedederivardelosvaloresdeotrosatributosoentidadesrelacionados.

    -Edad

    -Tiempo laborado

    - Nmero de prestamos

    - Total factura

    Posiblemente nulos

    Cuando un atributo se puede dejar en blanco

    Conceptos bsicos - ATRIBUTOS

    16

  • RELACION:asociacinentrediferentesentidades.

    CONJUNTO DE RELACIONES: conjunto de asociaciones del mismo tipo.

    Ejemplar de relacin

    Conceptos bsicos - RELACIONES

    17

  • Correspondencia de cardinalidades

    Expresaelnmerodeentidadesalasqueotraentidadpuedeestarasociadavaunconjuntoderelaciones.

    Para un conjunto de relaciones binarias R entre los conjuntos de entidades A y B, lacorrespondenciadecardinalidadesdebeserunadelassiguientes:

    Unoauno

    Unoavarios

    Variosauno

    Variosavarios

    Restricciones cardinalidad

    18

  • Correspondencia de cardinalidades: UNO A UNO

    Una entidad en A se asocia con a lo sumo

    una entidad en B, y una entidad en B se

    asocia con a lo sumo una entidad en A

    Restricciones cardinalidad

    19

  • Correspondencia de cardinalidades: UNO A VARIOS

    Una entidad en A se asocia con cualquier

    nmero de entidades en B (ninguna o

    varias).

    Una entidad en B, sin embargo, se puede

    asociar con

    a lo sumo una entidad en A

    Restricciones cardinalidad

    20

  • Correspondencia de cardinalidades: VARIOS A UNO

    Una entidad en A se asocia con a lo sumo

    una entidad en B. Una entidad en B, sin

    embargo, se puede asociar con cualquier

    nmero de entidades(ninguna o varias) en

    A.

    Restricciones cardinalidad

    21

  • Correspondencia de cardinalidades: VARIOS A VARIOS

    Una entidad en A se asocia con cualquier

    nmero de entidades (ninguna o varias)

    en B, y una entidad en B se asocia con

    cualquier nmero de entidades (ninguna o

    varias) en A.

    Restricciones cardinalidad

    22

  • Relacin uno a uno

    Relacin varios a uno

    Relacin varios a varios

    Restricciones cardinalidad

    23

  • Es necesario tener una forma de especificar cmo las entidades dentro de un conjunto de

    entidadesdadoylasrelacionesdentrodeunconjuntoderelacionesdadosondistinguibles.

    Una clave permite identificar un conjunto de atributos suficiente para distinguir las entidades

    entres.

    Las claves tambin ayudan a identificar unvocamente a las relaciones y as a distinguir las

    relacionesentres.

    Claves

    24

  • Superclave:

    Es un conjunto de uno oms atributos que, tomados colectivamente,permiten identificarde forma nicaunaentidadenelconjuntodeentidades.

    ID_CLIENTE SUPERCLAVE

    ID_CLIENTE Y NOMBRE SUPERCLAVE

    NOMBRE NO ES SUPERCLAVE

    Claves - superclaves

    25

  • SUPERCLAVE

    EMPLEADOS id, nombre, apellido, calle

    EMPLEADO

    id, nombre, apellido, calle

    id, nombre id, apellido

    id

    Claves - superclaves

    26

  • CLAVES CANDIDATAS

    Son superclaves tales que los subconjuntos propios de ellas no son superclave.

    Id_cliente candidata

    Id_cliente y nombre no candidata

    Nombre_cliente y calle candidata

    Claves - candidatas

    27

  • CLAVE PRIMARIA

    clave candidata que es elegida por el diseador de la base de datos como elemento

    principal para identificar las entidades dentro de un conjunto de entidades.

    La clave primaria se debera elegir de manera que sus atributos nunca, o muy

    raramente, cambien.

    Cedula

    Id. nicos generados por empresas

    Claves - primaria

    28

  • Clavesforaneas

    Clave primaria distingue entre las diferentes entidades del

    conjunto

    ? distingue entrelas diferentes relaciones de un conjunto de relaciones

    Claves - forneas

    29

  • La estructura de la clave primaria para el conjunto de relaciones depende de la

    correspondencia de cardinalidades asociada al conjunto de relaciones.

    Uno a uno

    Uno a varios

    Varios a uno

    Varios a varios

    Claves - forneas

    30

  • CUENTAIMPOSITOR

    Supngase que el conjunto de relaciones es varios a varios

    Id-cliente

    Id-cuenta

    Cliente = id_cliente, nombre, f_nacimiento

    Cuenta = id_cuenta, valor

    impositor= id_cliente, id_cuenta, fecha_acceso

    Fecha_acceso

    Claves - forneas

    nombre

    F_nacimiento

    CLIENTE

    valor

    31

  • Suponga: un cliente puede tener varias cuentas, pero cada cuenta est asociada nicamente

    con un cliente (1: N)

    Cliente = id_cliente, nombre, f_nacimiento

    Cuenta = id_cuenta, valor, id_cliente

    Claves - forneas

    CUENTAIMPOSITOR

    Id-cliente

    Id-cuentaFecha_acceso

    nombre

    F_nacimiento

    CLIENTE

    valor

    32

  • Suponga: si la relacin es varios a uno (N:1) de cuenta a cliente es decir, varias cuentas puedenpertenecer a un cliente

    Cliente = id_cliente, nombre, f_nacimiento, id_cuenta

    Cuenta = id_cuenta, valor, id_cliente

    Claves - forneas

    CUENTAIMPOSITOR

    Id-cliente

    Id-cuentaFecha_acceso

    nombre

    F_nacimiento

    CLIENTE

    valor

    33

  • Para relaciones uno a uno se puede usar cualquier clave primaria.

    Cliente = id_cliente, nombre, f_nacimiento, id_cuenta o

    Cuenta = id_cuenta, valor, id_cliente, id_cliente

    Claves - forneas

    CUENTAIMPOSITOR

    Id-cliente

    Id-cuentaFecha_acceso

    nombre

    F_nacimiento

    CLIENTE

    valor

    34