Modelo Entidad-Relación Mg. Samuel Oporto Díaz base dedatos I base de datos



Descargar 32,81 Kb.
Fecha de conversión17.09.2017
Tamaño32,81 Kb.

Modelo Entidad-Relación

  • Mg. Samuel Oporto Díaz
  • BASE DEDATOS I

BASE DE DATOS

Base 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

Archivos Vs BD

Sistema 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

SGBD

  • DataBase Management System SGBD = DBMS

Sistema 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

Lenguajes

  • 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 .

DDL 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’

Niveles 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.
  • LÓGICO
  • FÍSICO
  • VISTA

Niveles 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 LONGITUD=20
        • PREFIJO TIPO=BYTE(6), DESPLAZAMIENTO=0
        • EMP# TIPO=BYTE(6), DESPLAZAMIENTO=6, INDICE=IEMP
        • DEPTO# TIPO=BYTE(4), DESPLAZAMIENTO=12
        • PAGA TIPO=PALABRA, DESPLAZAMIENTO=16

Modelos de BD

  • Existen diversos modelos para modelar los datos

Modelo 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.

Modelo 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.

Ejemplo 1

Ejemplo 1

Ejemplo 2

Ejemplo 2

Ejemplo 3

Ejemplo 3

MODELO ENTIDAD-RELACION

Introducció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)

Elementos

  • Entidad ( entity )
  • Atributo ( attribute )
  • Relación ( relationship )
  • Dominio ( values set )

1. 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.
  • 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

1. Entidad

  • cliente-id
  • cliente-nombre
  • cliente-calle
  • cliente-ciudad
  • prestamo-
  • monto

2. Atributo

  • Propiedad o característica de una entidad
  • Una entidad particular es descrita por los valores de sus atributos:
  • titulo = El alquimista impaciente
  • genero = Thriller
  • nacionalidad = España
  • añoestreno = 2002
  • p1
  • ...
  • nss = 1122334455
  • dni = 87654321
  • nombre = Cristina Aliaga Gil
  • nacionalidad = España
  • e1
  • ...

2. Atributos Compuestos

3. Relación

  • Una relación es una asociación entre diferentes entidades.
  • Ejemplo: Ortiz posee A-102 entidad cliente conjunto relaciones entidad cuenta
  • Una relación también puede tener atributos descriptivos

4. Dominio

  • Conjunto de valores permitidos para cada atributo
  • Tipos de atributos:
    • Simples y compuestos
    • Univalorados y multivalorados
      • E.j. multivalorado : numero-telefono
    • Derivados

1. ENTIDAD

Instancias de una entidad

  • También...
    • Ocurrencia
    • Realización
    • Ejemplar
    • Entidad concreta o individual
  • PELICULA
  • titulo = El señor de los anillos
  • genero = Fantasía
  • nacionalidad = EEUU
  • añoestreno = 2001
  • p2
  • ...
  • titulo = Amelie
  • genero = Comedia
  • nacionalidad = Francia
  • añoestreno = 2001
  • p4
  • ...
  • titulo = Amores perros
  • genero = Drama
  • nacionalidad = Méjico
  • añoestreno = 1999
  • p3
  • ...

Tipo 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
  • LOCAL VIDEOCLUB
  • PELICULA
  • DIRECTOR
  • ACTOR
  • CLIENTE

Tipo 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, 1’60, 28/07/1979, España, 23)
    • e2  (12345678, 6677889900, “Antonio Gil Sánchez”, “Paz, 5. Murcia. Murcia.30012”, 968111222, 1’76, 14/04/1944, España, 58)
    • e3  (11223344, 1234567890, “Julia Sauce”, “Justicia, 20. Yecla. Murcia. 30510”, 968000222, 1’59, 23/05/1947, España, 55)
    • ...

Claves

  • 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.

Tipo 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)

2. ATRIBUTOS

Tipos de atributos

  • Simples o Compuestos
  • Almacenados o Derivados
  • Monovalorados o Multivalorados
  • Opcionales
  • multivalorados
  • simples y monovalorados
  • compuestos
  • derivados

Atributos 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
  • fechanacim
  • dia
  • mes
  • año
  • direccion
  • calle
  • ciudad
  • provincia
  • codpostal
  • genero

Atributos 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]

Monovalorados 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)

Atributos Opcionales (nulos)

  • El nulo (null value) es usado cuando...
    • Se desconoce el valor de un atributo para cierta entidad
    • La entidad no tiene ningún valor aplicable para el atributo:
      • fechaalquiler [PELICULA sólo en vídeo-venta (no alquiler)]

Notación para atributos

  • [EN2002]
  • (0,3)
  • dirección
  • (1,2)
  • (0,1)
  • EMPLEADO
  • nombre
  • fechanacim
  • telefono
  • calle
  • provincia
  • ciudad
  • codpostal
  • edad
  • nss
  • dni
  • altura
  • nacionalidad

Atributos 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
  • (0,3)
  • (1,2)
  • (0,1)
  • EMPLEADO
  • nombre
  • fechanacim
  • telefono
  • calle
  • provincia
  • ciudad
  • codpostal
  • edad
  • nss
  • dni
  • altura
  • nacionalidad
  • n-f
  • dirección
  • IP

3. RELACIONES

RELACIÓ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 PELICULA’s
  • DIRECTOR
  • PELICULA
  • HA_RODADO

DIRECTOR HA_RODADO PELICULA

  • J. Médem 
  • C. Saura 
  • F. Trueba 
  • S. Segura 
  • A. Amenábar 
  •  Vacas
  •  Tesis
  •  Belle Epoque
  •  Torrente
  •  Tierra
  • Abre los ojos
  • Los otros
  • Tipo de Relación: conjunto de instancias
  • Tipo de Entidad: conjunto de instancias
  • Instancia del tipo de relación

Grado de un tipo de relación

  • ACTOR
  • PELICULA
  • ACTUA_EN
  • CLIENTE
  • PELICULA
  • LOCAL_VIDEOCLUB
  • ALQUILA
  • Número de tipos de entidad que participan en el tipo de relación
  • PELICULA
  • CONTINUACION
  • DE
  • Binaria: grado 2 (el más frecuente)
  • Ternaria: grado 3
  • Reflexiva (o recursiva): grado 1

Nombres 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
  • original
  • versión
  • PELICULA
  • VERSION_DE
  • DIRECTOR
  • PELICULA
  • HA_RODADO
  • realizador
  • film

Cardinalidad

  • 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”

Cardinalidad

  • 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
  • POSEE
  • PERSONA
  • USA
  • EDIFICIO
  • (0,m)
  • (1,n)
  • (0,n)
  • (1,1)
  • p1 
  • p2 
  • p3 
  •  e1
  •  e2
  •  e3
  •  e4
  • POSEE
  • PERSONA EDIFICIO

Cardinalidad

  • Razones de cardinalidad más comunes:
    • 1:1 (“uno a uno”)
    • 0:N (“cero o muchos”)
    • 1:N (“uno a muchos”)
    • M:N (“muchos a muchos”)
  • ACTOR
  • PELICULA
  • personaje
  • film
  • M
  • ACTUA_EN
  • N
  • EMPLEADO
  • LOCAL_VIDEOCLUB
  • encargado
  • sucursal
  • 1
  • trabajador
  • lugar trabajo
  • 1
  • TRABAJA_EN
  • SUPERVISA
  • N
  • 1

Cardinalidad recursiva

  • 1:1
  • (0,1)
  • (0,1)
  • PELICULA
  • SECUELA DE
  • precuela
  • continuación
  • PELICULA
  • VERSIONA
  • N:1
  • (0,1)
  • (0,n)
  • versión
  • original

Razó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
  • EMPLEADO
  • LOCAL_VIDEOCLUB
  • encargado
  • sucursal
  • 1
  • trabajador
  • lugar trabajo
  • 1
  • TRABAJA_EN
  • SUPERVISA
  • N
  • 1
  • DIRECTOR
  • PELICULA
  • HA_ RODADO
  • 1
  • N
  • PELICULA
  • personaje
  • film
  • M
  • ACTUA_EN
  • N
  • ACTOR

Atributos de tipos de relación

  • EMPLEADO
  • LOCAL_VIDEOCLUB
  • 1
  • 1
  • TRABAJA_EN
  • SUPERVISA
  • N
  • 1
  • horas
  • fechainicio

Atributos de tipos de relación

  • Conceptualmente pertenecen a la relación
    • Un atributo de una M:N es propio de la relación
    • Un atributo de una 1:1 o 1:N “se puede llevar” a uno de los tipos de entidad participantes
  • horas
  • fechainicio
  • horas
  • horas
  • fechainicio
  • EMPLEADO
  • 1
  • 1
  • TRABAJA_EN
  • SUPERVISA
  • N
  • 1
  • LOCAL_VIDEOCLUB

TIPO DE ENTIDAD DEBIL

Tipo de entidad débil

  • PELICULA
  • numcopia
  • titulo
  • 1
  • N
  • COPIA
  • TIENE
  • PACIENTE
  • VISITA_MEDICA
  • diahora
  • 1
  • nss
  • N
  • MEDICO
  • ncolegiado
  • nombre
  • N
  • 1
  • especialidad
  • ACUDE
  • ASISTIDA POR
  • Tipo de Relación Identificador
  • Clave parcial o Discriminante
  • Tipo de Entidad Regular

Tipo 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

Tipo de entidad débil

  • PERMISO_CONDUCCION es débil, pues depende en existencia de EMPLEADO, pero no depende en identificación
  • numcopia
  • titulo
  • COPIA
  • 1:N
  • TIENE
  • ID
  • PELICULA
  • idcopia
  • numlicencia
  • EMPLEADO
  • PERMISO CONDUCCION
  • POSEE
  • 1:N
  • E
  • dni
  • tipo
  • Tipo de Relación Débil

4. DOMINIOS

Dominio (values set)

  • No suele representarse, aunque una forma de hacerlo sería:
  • [MPM1999]
  • 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 2’5 (metros)
  • ...
  • ...
  • ...
  • TELEFONOS
  • NOMBRES
  • telefono
  • nombre
  • MEDIDAS
  • altura
  • EMPLEADO

Valores 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.

Ejercicio 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.).

Ejercicio 1

Ejercicio 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.


La base de datos está protegida por derechos de autor ©absta.info 2016
enviar mensaje

    Página principal