Upload
eddie-malca
View
2.755
Download
2
Embed Size (px)
DESCRIPTION
Tercera Clase del Curso de Administración de Base de Datos
Citation preview
Qué es un Modelo
• Según la Real Academica de la Lengua un modelo se define como un “Arquetipo o punto de referencia para imitarlo o reproducirlo”.
• En el mundo se sistemas, un modelo nos permite representar todo o una parte de la realidad para poder aplicar soluciones y evaluar los resultados de las mismas.
Modelo de Datos y Esquema
• “Conjunto de conceptos, reglas y convenciones que permiten describir y manipular los datos de la parcela de un cierto mundo real que deseamos almacenar en la base de datos”; de Miguel, Piattini y Marcos (1999).
• “Representación de un determinado mundo real (universo del discurso) en términos de un modelo de datos”; de Miguel, Piattini y Marcos (1999).
Diferencia entre Modelo y Esquema
Y para datos?
Modelo Jerárquico
Primer modelo de BD, semejantes a un árbol, dificil de eliminar la redundania (IMS)
Modelo de Redes Usa nodos, un nodo puede tener varios padres. Definido por C. Bachman, (IDMS)
Modelo Entidad - Relación
Creado por Chen (76). Representa el mundo en un conjunto entidades (objetos) y relaciones entre objetos
Modelo Relacional
Creado por Frank Codd (70). Basado en la lógica de predicado y en la teoría de conjuntos. (Oracle, Sybase, Informix)
Modelo Semántico
Creado por Quillian usado solo en investigación
Modelo Binario Creado por Stonebraker basado en el modelo de Codd (Ingres)
Modelo Orientado a Objetos
tTata de almacenar en BD objetos completos (estado y comportamiento). (Ilustra, O2 )
Modelo Multirelacional
Extensión al relacional con inversión total.
Modelo Entidad - Relación
• Es un 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 las mismas.• Existe una familia de modelo ER.• Soportado por herramientas software de diseño (CASE)• Es utilizado para el diseño de BD, porque el diseño modelo
E-R luego es convertido en un diseño de modelo Relacional, el cual es usado para almacenamiento y procesamiento.
Elementos
1. Entidad ( entity )
2. Atributo ( attribute )
3. Relación ( relationship )
4. Dominio ( values set )
1. Entidad
• Objeto del mundo real con existencia propia y que es distinguible del resto de objetos.
• Objeto con existencia...– física o real (una persona, un auto, un edificio)– abstracta o conceptual (un curso, un paseo)
• Las entidades tienen atributos.– Ejemplo: las personas tienen nombre, dirección, etc.
• Un conjunto de entidades es un conjunto de entidades del mismo tipo que comparten las mismas propiedades por eso se representa con el nombre de la entidad en singular.
Instancias de una entidad
• También...– Ocurrencia – Realización– Ejemplar– Entidad concreta o individual
PELICULA
titulo = El señor de los anillosgenero = Fantasíanacionalidad = EEUUañoestreno = 2001
p2
...
titulo = Ameliegenero = Comedianacionalidad = Franciaañoestreno = 2001
p4
...
titulo = Amores perrosgenero = Dramanacionalidad = Méjicoañ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
LOCALVIDEOCLUB
PELICULA DIRECTOR
ACTORCLIENTE
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)
Claves
• Claves (Llaves): Atributos que identifican una entidad dentro de un conjunto de entidades.
• 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.
2. Atributo
• Propiedad o característica de una entidad• Una entidad particular es descrita por los valores de sus
atributos:
nss = 1122334455dni = 41376621
nombre = Alejandro Péreznacionalidad = Peruana
e1
...
titulo = El Amor Imposiblegenero = Dramanacionalidad = Franciaañoestreno = 2012
p1
...
2. Atributo Compuestos
• Aquellos que se componen de otros 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
fechanacimdia mes año
direccioncalle 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 atributonumcopias [de una PELICULA], cuenta del número
de entidades COPIA relacionadas con cada película concreta
» atributo derivado de entidades relacionadas
• Atributos almacenadosfechanacim [de cada EMPLEADO]nacionalidad [de una PELICULA]
Monovalorados o Multivalorados• Atributos monovalorados (monovaluados)
– sólo un valor para cada entidadfechanacim [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
• El valor existe pero faltaaltura [de un EMPLEADO]
• No se sabe si el valor existe o no telefono [de un EMPLEADO]
– La entidad no tiene ningún valor aplicable para el atributo:
fechaalquiler [PELICULA sólo en vídeo-venta (no alquiler)]
Atributos Clave
• Atributo con valor distintopara cada instancia de un tipo de entidaddni en EMPLEADO
• Una clave identifica de forma única cada entidad concreta atributo identificador
(0,3)
(1,2)(0,1)
EMPLEADO
nombre
fechanacim telefono
calleprovinciaciudad
codpostal
edadnss
dni
altura
nacionalidad
n-f
dirección
IP
3. Relación
• Una relación es una asociación entre diferentes entidades.
• Ejemplo:Profesor evalúa alumnosentidad profesor conjunto relaciones entidad alumnos
• Una relación también puede tener atributos descriptivos
RELACIÓN (relationship)
• Asociación, vínculo o correspondencia entre instancias de entidades relacionadas.– el director “Lucho Llosa” ha rodado la película “El Amor
Imposible”
• Abstracción– un DIRECTOR ha rodado PELICULA’s
DIRECTOR PELICULAHA_RODADO
ACTOR PELICULAACTUA_EN
CLIENTE PELICULA
LOCAL_VIDEOCLUB
ALQUILA
Grado de un tipo de relación
• Número de tipos de entidad que participan en el tipo de relación
PELICULACONTINUACIONDE
Binaria: grado 2 (el más frecuente)
Ternaria: grado 3Reflexiva (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ónPELICULAVERSION_DE
DIRECTOR PELICULAHA_RODADOrealizador 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
POSEEPERSONA 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
N1
Cardinalidad recursiva
1:1(0,1)
(0,1)PELICULA SECUELA DEprecuela
continuación
PELICULA VERSIONA N:1(0,1)
(0,n)versión original
Atributos de tipos de relación
EMPLEADO
LOCAL_VIDEOCLUB
11
TRABAJA_EN SUPERVISA
N1
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
EMPLEADO11
TRABAJA_EN SUPERVISA
N1LOCAL_VIDEOCLUB
Tipo de entidad débil
PELICULA
numcopia
titulo
1
NCOPIA
TIENE
PACIENTE
VISITA_MEDICA diahora
1nss
N
MEDICO ncolegiado
nombre
N
1
especialidad
ACUDE
ASISTIDAPOR
Tipo de Relación
Identificador
Clave parcial oDiscriminante
Tipo de EntidadRegular
Dependenciaen existencia
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ébilque 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
PERMISO_CONDUCCIONes débil, pues depende en existencia de EMPLEADO, pero no depende en identificación
COPIA es débil, pues depende en existencia de PELICULA, y también depende en identificación
Tipo de entidad débil
numcopia
titulo
COPIA
1:NTIENE
ID
PELICULA
idcopia
numlicencia
EMPLEADO
PERMISOCONDUCCION
POSEE1:NE
dni
tipo
Tipo de Relación
Débil
4. Dominio
• Conjunto de valores permitidos para cada atributo de una entidad.
• Tipos de atributos:– Simples y compuestos– Univalorados y multivalorados
• E.j. multivalorado : numero-telefono– Derivados
• Puede ser derivado de valores de otros atributos o entidades
• E.j. edad, dada la fecha de nacimiento
No suele representarse, aunque una forma de hacerlo sería:
Dominio (values set)• 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
MEDIDASalturaEMPLEADO
Valores válidos
• 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.
Valores válidos
• Los valores validos para un atributo deben tener asignado información acerca de:– 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.