clase 3 - modelo de datos

41
Modelo de Datos Ing. Eddie Malca Vicente [email protected] [email protected] @emalca /iluminatic

Upload: eddie-malca

Post on 13-Jun-2015

2.752 views

Category:

Technology


2 download

DESCRIPTION

Tercera Clase del Curso de Administración de Base de Datos

TRANSCRIPT

Page 1: Clase 3 - Modelo de Datos

Modelo de Datos

Ing. Eddie Malca [email protected]

[email protected]

@emalca

/iluminatic

Page 2: Clase 3 - Modelo de Datos

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.

Page 3: Clase 3 - Modelo de Datos

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

Page 4: Clase 3 - Modelo de Datos

Diferencia entre Modelo y Esquema

Page 5: Clase 3 - Modelo de Datos

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.

Page 6: Clase 3 - Modelo de Datos

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.

Page 7: Clase 3 - Modelo de Datos

Elementos

1. Entidad ( entity )

2. Atributo ( attribute )

3. Relación ( relationship )

4. Dominio ( values set )

Page 8: Clase 3 - Modelo de Datos

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.

Page 9: Clase 3 - Modelo de Datos

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

...

Page 10: Clase 3 - Modelo de Datos

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

Page 11: Clase 3 - Modelo de Datos

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)

Page 12: Clase 3 - Modelo de Datos

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.

Page 13: Clase 3 - Modelo de Datos

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

...

Page 14: Clase 3 - Modelo de Datos

2. Atributo Compuestos

• Aquellos que se componen de otros atributos

Page 15: Clase 3 - Modelo de Datos

Tipos de atributos

• Simples o Compuestos

• Almacenados o Derivados

• Monovalorados o Multivalorados

• Opcionales

multivalorados

simples y monovalorados

compuestos

derivados

Page 16: Clase 3 - Modelo de Datos

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

Page 17: Clase 3 - Modelo de Datos

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]

Page 18: Clase 3 - Modelo de Datos

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)

Page 19: Clase 3 - Modelo de Datos

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

Page 20: Clase 3 - Modelo de Datos

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

Page 21: Clase 3 - Modelo de Datos

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

Page 22: Clase 3 - Modelo de Datos

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

Page 23: Clase 3 - Modelo de Datos

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

Page 24: Clase 3 - Modelo de Datos

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

Page 25: Clase 3 - Modelo de Datos

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”

Page 26: Clase 3 - Modelo de Datos

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

Page 27: Clase 3 - Modelo de Datos

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

Page 28: Clase 3 - Modelo de Datos

Cardinalidad recursiva

1:1(0,1)

(0,1)PELICULA SECUELA DEprecuela

continuación

PELICULA VERSIONA N:1(0,1)

(0,n)versión original

Page 29: Clase 3 - Modelo de Datos

Atributos de tipos de relación

EMPLEADO

LOCAL_VIDEOCLUB

11

TRABAJA_EN SUPERVISA

N1

horas fechainicio

Page 30: Clase 3 - Modelo de Datos

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

Page 31: Clase 3 - Modelo de Datos

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

Page 32: Clase 3 - Modelo de Datos

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

Page 33: Clase 3 - Modelo de Datos

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

Page 34: Clase 3 - Modelo de Datos

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

Page 35: Clase 3 - Modelo de Datos

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

Page 36: Clase 3 - Modelo de Datos

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.

Page 37: Clase 3 - Modelo de Datos

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.

Page 38: Clase 3 - Modelo de Datos

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

Page 39: Clase 3 - Modelo de Datos

Ejercicio 1

Page 40: Clase 3 - Modelo de Datos

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.

Page 41: Clase 3 - Modelo de Datos

Modelo de Datos

Ing. Eddie Malca [email protected]

[email protected]

@emalca

/iluminatic