BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel...

71
Modelo Relacional Modelo Relacional Administración de Base de Datos Administración de Base de Datos Alexis Alexis Olvany Olvany Torres Ch Torres Ch Mentor Mentor

Transcript of BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel...

Page 1: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

Modelo RelacionalModelo Relacional

Administración de Base de DatosAdministración de Base de Datos

Alexis Alexis OlvanyOlvany Torres ChTorres ChMentorMentor

Page 2: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

Modelo Entidad Relación

Page 3: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

Niveles de Abstracción

Uno de los objetivos principales de un sistema debase de datos es proporcionar a los usuarios unavisión abstracta de la información. Es decir, elsistema oculta ciertos detalles relativos a la formacomo los datos se almacenan y mantienen.

LÓGICO

FÍSICO

VISTA

Los sistemas de base de datos muchas veces sonutilizados por personal que no cuenta conconocimientos de computación, esta complejidaddebe estar escondida para los usuarios. Paraocultarla, se definen varios niveles de abstracciónen los que puede observarse la base de datos.

FÍSICO

Page 4: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

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 BDy qué relaciones existen entre esos datos.

Nivel Físico: Cómo se almacenan los datos.

LÓGICO

FÍSICO

VISTA

FÍSICO

Page 5: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

Niveles de Abstracción

1.- En el nivel físico o interno.

Este esquema se especifica mediante un modelo físico y describe todos losdetalles para el almacenamiento de la base de datos, así como los métodos deacceso.

Es el nivel más cercano al almacenamiento físico de los datos. Permite escribirlostal y como están almacenados en el ordenador. En este nivel se diseñan losarchivos que contienen la información, la ubicación de los mismos y suarchivos que contienen la información, la ubicación de los mismos y suorganización, es decir se crean los archivos de configuración.

2.- En el nivel conceptual.

Este esquema oculta los detalles de las estructuras de almacenamiento y seconcentra en describir entidades, atributos, relaciones, operaciones de losusuarios y restricciones.

En este nivel se representan los datos que se van a utilizar sin tener en cuentaaspectos como lo que representamos en el nivel interno.

Page 6: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

Niveles de Abstracción

3.- En el nivel vista o externo.

Se describen varios esquemas externos o vistas de usuario. Cada esquema externo describe la parte de la base de datos que interesa a un grupo de usuarios determinado y oculta a ese grupo el resto de la base de datos.

Es el más cercano al usuario. En este nivel se describen los datos o parte de los datos que más interesan a los usuarios.

Page 7: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

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)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=20PREFIJO TIPO=BYTE(6), DESPLAZAMIENTO=0EMP# TIPO=BYTE(6), DESPLAZAMIENTO=6,

INDICE=IEMPDEPTO# TIPO=BYTE(4), DESPLAZAMIENTO=12PAGA TIPO=PALABRA, DESPLAZAMIENTO=16

Page 8: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

Modelos de BD

Existen diversos modelos para modelar los datosModelo

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 9: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO RELACIONAL

�El modelo relacional es un modelo de datosbasado en la lógica de predicado y en la teoría deconjuntos.

�Una base de datos relacional es un conjunto dedos o mas tablas estructuradas en registros (líneas) ycampos (columnas), que se vinculan entre sí por uncampo en común.

Page 10: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACIÓN

Generalmente todo modelo tiene una representación gráfica,para el caso de datos el modelo más popular es el modeloentidad-relación o diagrama E/R.

Se denomina así debido a que precisamente permite representarrelaciones entre entidades (objetivo del modelado de datos).

El modelo debe estar compuesto por:

� Entidades

� Atributos

� Relaciones

� Cardinalidad

� Llaves

Page 11: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACIÓN

Modelo E-R (en el mundo real)

• Entidades (objeto o cosas del mundo realdistinguible de otros)

• Relaciones (asociación entre entidades)

Usado para el diseño de BD

• El diseño de una BD en modelo E-R luegoes convertido en un diseño de modeloRelacional, el cual es usado paraalmacenamiento y procesamiento.

Page 12: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACIÓN

El modelo E/R esta basado en unapercepción del mundo real que constade una colección de objetos básicosllamados entidades, y de relacionesentre estos objetos.entre estos objetos.

El modelo E/R permite al diseñadorconcebir la DB a un nivel superior deabstracción, aislándolo deconsideraciones relativas a la máquina.

Page 13: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO E-R VS RELACIONAL

¿Por que modelo relacional?.

Puede resultar confuso el concepto demodelo entidad-relación vs modelo relacional,modelo entidad-relación vs modelo relacional,quizás porque ambos comparten casi lomismo. Primero, el objetivo del modelorelacional es crear un "esquema" (schema), locual consiste de un conjunto de "tablas" querepresentan "relaciones“ (relaciones entre losdatos).

Page 14: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO E-R VS RELACIONAL

Estas tablas, pueden ser construidas dediversas maneras:

Creando un conjunto de tablas iniciales yaplicar operaciones de normalización hastaaplicar operaciones de normalización hastaconseguir el esquema más óptimo.

Convertir el diagrama E-R a tablas yposteriormente aplicar también operacionesde normalización hasta conseguir el esquema

óptimo.

Page 15: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO E-R VS RELACIONAL

La segunda (E-R) es más reciente y mucho más

conveniente en varios aspectos:

�El partir de un diagrama visual es muy útil para apreciar losdetalles, de ahí que se llame modelo conceptual.

�El crear las tablas iniciales es mucho más simple a través de las�El crear las tablas iniciales es mucho más simple a través de lasreglas de conversión.

�Se podría pensar que es lo mismo porque finalmente hay que"normalizar" las tablas de todas formas, pero la ventaja de partirdel modelo E-R es que la "normalización" es mínima por logeneral.

�Lo anterior tiene otra ventaja, aún cuando se normalice demanera deficiente, se garantiza un esquema aceptable, en laprimer técnica no es así.

Page 16: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

COMPONENTES BÁSICOS DEL MER

1. Rectángulos: Representan

Conjuntos de Entidades.

2. Elipses: Representan Atributos.

3. Rombos: Representan

ENTIDADES

ATRIBUTOS

3. Rombos: Representan

Relaciones entre conjuntos de Entidades.

4. Líneas: “Que unen los Atributos con los conjuntos deEntidades” y “los conjuntos de Entidades con lasRelaciones”.

RELACIONES

Page 17: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

1. ENTIDADES

•Una persona, lugar, cosa, concepto o suceso, real oabstracto, de interés para la empresa”.

•Cosa u objeto del mundo real con existencia propia ydistinguible del resto

•Objeto con existencia...

� física o real (una persona, un libro, un empleado)

� abstracta o conceptual (una asignatura, un viaje)

Page 18: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

ENTIDADES•La representación gráfica de un tipo de entidad en este modeloes un rectángulo etiquetado en cuyo interior esta el nombre deltipo de entidad.

•Las entidades se describen en una DB mediante un conjunto deatributos.atributos.

•Las entidades tienen atributos.

o Ejemplo: las personas tienen nombre, dirección, etc.

•Conjunto de entidades: Es un conjunto de entidades del mismotipo que comparten las mismas propiedades.

o Ejemplo: conjunto de todas las personas, empresas,árboles.

Page 19: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

TIPOS DE ENTIDADES

�Regulares o Fuertes: Son aquellascuyos ejemplares tienen existencia porsi mismos.si mismos.

�Débiles: En las cuales la existencia deun ejemplar depende de que exista uncierto ejemplar, de un tipo de entidad.

Page 20: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

Representación de los Tipos deEntidadEntidad Fuerte o Regular

Entidad DébilPelícula Ejemplar

Page 21: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

ATRIBUTOS

�Propiedad o característica de una entidad

�Las entidades se describen en una base de datos mediante unConjunto de Atributos.

�Cada una de las propiedades o características que tiene un tipode entidad o un tipo de interrelación.

�El atributo le da una determinada interpretación al dominio.

Page 22: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

ATRIBUTOS�Una entidad particular es descrita porlos valores de sus atributos:

titulo = El alquimista impacientegenero = Thriller

p1genero = Thriller

nacionalidad = España

añoestreno = 2002

p1

...

nss = 1122334455dni = 87654321

nombre = Cristina Aliaga Gilnacionalidad = España

e1

...

Page 23: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

TIPOS DE ATRIBUTOS

�Simples o Compuestos

�Almacenados o Derivados

�Monovalorados o Multivalorados

Simples y Monovalorados

�Monovalorados o Multivalorados

�Opcionales

multivalorados

Compuestos

Derivados

Page 24: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

ATRIBUTOS SIMPLES

� No divisibles. Atómicos

�Ejemplo: Genero (Masculino-Femenino), Tipo Boolean (True-False) oFemenino), Tipo Boolean (True-False) oCheck. Genero

FemeninoMasculino

ó

Page 25: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

ATRIBUTOS COMPUESTOS

Page 26: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

ATRIBUTOS ALMACENADOS ODERIVADOS

� Atributos derivados

� Valor calculado a partir de otra información ya existente(atributos, entidades relacionadas)(atributos, entidades relacionadas)

� Son información redundante...

o edad [de EMPLEADO], cálculo a partir de fechanacim

• atributo derivado del valor de otro atributo

o numcopias [de una PELICULA], cuenta del número deentidades COPIA relacionadas con cada película concreta

• atributo derivado de entidades relacionadas

� Atributos almacenados

� fechanacim [de cada EMPLEADO]

� nacionalidad [de una PELICULA]

Page 27: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

ATRIBUTOS UNIVALUADO O MONOVALORADO

�Todos los atributos tienen que ser Univaluados. Un atributo esUnivaluado si tiene un único valor para cada ocurrencia de unaentidad.

Ejemplo de atributo Univaluado

�El atributo sueldo de la entidad empleado, por ejemplo, tomavalores del dominio de los reales y únicamente toma un valorpara cada empleado concreto; por lo tanto, ningún empleadopuede tener más de un valor para el sueldo.

Page 28: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

ATRIBUTOS MULTIVALUADO

�Hay atributos que pueden tomar más de un valor. En ellos, sepueden colocar apropiadamente límites inferior y superior en elnúmero de valores en el atributo multivalorado

EJEMPLAR

Código

IdiomaFormato

VHS

Beta

MP3

DVD

Inglés

Francés

Español

Alemán

TELEFONO

Num. Teléfono Tel: Móvil

Tel: Oficina

Tel: Casa

Page 29: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

ATRIBUTOS OPCIONALES (nulos)

�El nulo (null value) es usado cuando...

� Se desconoce el valor de un atributo para cierta entidad

� El valor existe pero falta

o altura [de un EMPLEADO]o altura [de un EMPLEADO]

� No se sabe si el valor existe o no

o telefono [de un EMPLEADO]

� La entidad no tiene ningún valor aplicable para el atributo:

� fechaalquiler [PELICULA sólo en vídeo-venta (noalquiler)]

Page 30: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

NOTACION PARA LOS ATRIBUTOS

calleprovinciaciudad

codpostal

dirección

EMPLEADOnombre

fechanacim telefono

codpostal

edadnss

dni

altura

nacionalidad

Page 31: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

DOMINIO

�Conjunto de valores permitidos para cada atributo

�Tipos de atributos:

• Simples y compuestos• Simples y compuestos

• Univalorados y multivalorados

� E.j. multivalorado : numero-telefono

• Derivados

• Puede ser derivado de valores de otros atributos oentidades

� E.j. edad, dada la fecha de nacimiento

Page 32: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

RELACIONES

�Una asociación, vinculación o correspondencia entre diferentesentidades.

�Una relación también puede tener atributos descriptivos

Impositor, ra

Cliente Impositor Cuenta

Id_Cliente Nombre_Cliente Dir_Cliente Ciudad_ClienteNum_Cuenta Saldo

Page 33: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

ACTOR PELICULAACTUA_EN

Grado de un tipo de relación

•Número de tipos de entidad que participan en el tipo de relación

Binaria: grado 2 (el más frecuente)

CLIENTE PELICULA

LOCAL_VIDEOCLUB

ALQUILA

PELICULACONTINUACIONDE

Ternaria: grado 3Reflexiva (o recursiva): grado 1

Page 34: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

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

DIRECTOR PELICULAHA_RODADOrealizador film

Los nombres de rol se deben usar, sobre todo, en los tipos de relación reflexivos, para evitar ambigüedad

original

versiónPELICULAVERSION_DE

Page 35: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

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

o la cardinalidad de HA_RODADO es “1 a N”

o HA_RODADO es de tipo “1 a N”

Page 36: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

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

PERSONA EDIFICIO

POSEE

PERSONA USA EDIFICIO(0,m) (1,n)

(0,n)(1,1)

p1 �

p2 �

p3�

� e1

� e2

� e3

� e4

POSEE

PERSONA EDIFICIO

Page 37: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

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 38: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

Cardinalidad recursiva

1:1(0,1)

(0,1)

PELICULA SECUELA DEprecuela

continuación

(0,1)

PELICULA VERSIONA N:1(0,1)

(0,n)versiónoriginal

Page 39: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

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

N1

DIRECTOR

PELICULA

HA_ RODADO

1

N

PELICULA

personaje

film

M

ACTUA_EN

N

ACTOR

Page 40: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

Atributos de tipos de relación

EMPLEADO

11

LOCAL_VIDEOCLUB

TRABAJA_EN SUPERVISA

N1

horas fechainicio

Page 41: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

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

horasEMPLEADO

horas fechainicio

horas

horas

fechainicio

EMPLEADO

11

TRABAJA_EN SUPERVISA

N1

LOCAL_VIDEOCLUB

Page 42: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

CARDINALIDAD DE INTERRELACION

�Es el número de entidades con la cual otra entidad puedeasociar mediante una relación

�Considerando una relación binaria entre el juego deentidades A y el B, la cardinalidad puede ser:

• Uno a uno

• Uno a mucho

• Muchos a Uno

• Muchos a muchos

Page 43: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

CARDINALIDAD – UNO A UNO

�Una entidad en A esta asociada con cualquier número deentidades en B (0 ó más) y viceversa

A1 B1

�Ejemplo: Un paciente en un hospital tiene un solo cuarto y uncuarto pertenece a un solo paciente (hospital privado)

A1A2A3A4

B1B2B3B4B5

Page 44: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

CARDINALIDAD – UNO A MUCHOS

�Una entidad en A esta asociada con cualquier número (0ó más) de entidades en B. Una entidad en B, puede estarasociada a lo mucho con una entidad en A.

�Ejemplo: El titular de una cuenta de cheques puede tenercualquier número de tarjetas, pero cada tarjeta pertenecea una sola persona.

A1A2A3

B1B2B3B4B5

Page 45: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

CARDINALIDAD – MUCHOS A MUCHOS

�Una entidad en A esta asociada con cualquier número deentidades en B (0 ó más) y viceversa.

�Ejemplo: En un proyecto de investigación puede habercualquier número de médicos, un médico puede participaren cero o varios proyectos

A1A2A3A4

B1B2B3B4B5

Page 46: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

Llave Primaria (Primary Key – PK)

� Son atributos que se usan para diferenciar una entidadde otra, por ejemplo un medicamento de otro, o unpaciente de otro. Puede haber varias llave candidato.

� La llave primaria debe ser única y de preferencia nocambie con el tiempo.

� Cada juego de entidades (tabla) debe tener una llaveprimaria.

Page 47: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

Llaves o Claves� Claves (Llaves): Atributos que identifican una entidad dentro

de un conjunto de entidades.

� Superclave: Conjunto de atributos no vacío, que identifica enforma única una entidad dentro de un conjunto de entidades.Superclave = {superclaves}Superclave = {superclaves}

� Clave candidata: Es una superclave para la cual ningúnsubconjunto es superclave, excepto el mismo.

� Clave primaria. Es la clave candidata escogida por eldiseñador. Atributo o conjunto de atributos que permitenidentificar en forma única una tupla en la tabla y ningúnsubconjunto de ella posee esta propiedad.

� Llave foránea: Es un atributo que es llave primaria en otraentidad con la cual se relaciona. Relacionar las entidades.

Page 48: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

Valores validos

�Los valores validos para un atributo deben tener asignado

información acerca de:

� Tipo de Datos. Los tipos básicos son entero, decimal,

carácter y fecha-hora.

� Longitud. Es el número de dígitos o caracteres en el valor

de un atributo.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.

� Default. El atributo toma un valor por defecto cuando se

instancia.

Page 49: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

Cardinalidad: obligatoria y opcionalUno a uno obligatorio: un empleado en unaempresa tiene uno y solo un puesto, un puestopertenece a un solo empleado

Uno a muchos opcional: un profesor en la Fac. deIngeniería puede dar 0 o varias clases y una claseUno a muchos opcional: un profesor en la Fac. deIngeniería puede dar 0 o varias clases y una claseestá dada por uno y solo un profesor

Muchos a muchos obligatorio: una materia puedepertenecer a una o varias carreras, una carrera estáformada por varias materias.

Uno a uno opcional: Un paciente puede estarasignado a un cuarto o a ninguno. En un cuartopuede haber cero o un paciente

Page 50: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

Metodología

1. Identificar entidades : Definir objetos como personas,

lugares o conceptos sobre los que se quiere tener

información.información.

2. Identificar atributos: Definir las “propiedades” de cada

entidad.

3. Determinar llave primaria de cada entidad.

4. Identificar relaciones entre las entidades.

5. Señalar cardinalidad entre las entidades.

Page 51: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

Ejemplo: uno a uno

• Cuando se decide ingresar un paciente a un hospitalse le asigna un cuarto y en un cuarto puede estar unpaciente o ninguno (suponiendo un hospital privado).

i_paciente#

paciente cuarto

n_paciente

i_paciente#

a_paciente

i_cuarto#

i_cuarto#i_piso

q_costo

d_ingreso

Page 52: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

Ejemplo: Uno a Muchos

El titular de una cuenta de cheques puede tenercualquier número de tarjetas, pero cada tarjetapertenece a una sola persona, las entidades son clientey tarjeta

i_cliente#

cliente tarjeta

n_cliente

i_cliente#

a_cliente

i_tarjeta#i_password

q_limited_apertura i_cliente#

Page 53: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

Ejemplo: Muchos a Muchos

� En un proyecto de investigación puede habercualquier número de médicos, un médicopuede participar en cero o varios proyectos

i_medico#

medico proyecto

n_medico

i_medico#

a_medico

i_especial

i_proyecto#n_proyecto

t_resumen

a_telefono

Page 54: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

Rompiendo el muchos a muchos• En el diseño de una base de datos no se permiten relaciones

“muchos a muchos”, cuando se tiene esto se crea una“relación” entre ambas cuya llave primaria será una llavecompuesta por las llaves primarias de las entidades que estáuniendo

n_medico i_medico#

medico proyecto

n_medico i_medico#

a_medico

i_especial

i_proyecto#n_proyecto

t_resumen

a_telefono

medico-proyecto

i_medico# i_proyecto#

Page 55: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

Relaciones y llaves primarias vs Cardinalidad

Cardinalidad Relación entre Entidades Llave Foránea

Uno a unoNo es necesario crear unarelación entre las entidades

Se crea una llaveforánea en una de lasentidades relacionadasque corresponde a lallave primaria en la otra

Uno a muchosNo es necesario crear unarelación entre las entidades

Se crea una llaveforánea del lado de laentidad “muchos” quecorresponde a la llaveprimaria del lado “uno”

Muchos a muchos

Se crea una relación con llaveprimaria compuesta formadapor las llaves primarias de lasentidades que une la relación

En las entidades no hayllave foránea.

Page 56: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

Ejercicio 1

� Se tiene una empresa desarrollando varios proyectos,a los que son asignados varios empleados, pero cadaempleado solo esta vinculado a un proyecto, en unmomento dado.momento dado.

� Cada proyecto consume diferentes recursos encantidades determinadas; los empleados están acargo de un supervisor, que es un empleado también.

� Los empleados pueden tener personas beneficiarias(hijos, esposas, padres, etc.).

Page 57: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

Ejercicio 1

PROYECTO EMPLEADO

RECURSO

Page 58: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

Ejercicio 1

PROYECTO EMPLEADO

Id_Proy Nom_Proy

Fecha_Ini

Duración

RECURSO

Fecha_Ini

Page 59: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

Ejercicio 1

PROYECTO EMPLEADO

Id_Proy Nom_Proy

Fecha_Ini

Duración

Nom_Emp

Id_Emp

Ape_Emp

Teléfono

Estudios

Edad

Fecha_nac

Docu_Emp

RECURSO

Fecha_Ini

Dirección

Id_Emp Estudios

Page 60: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

Ejercicio 1

PROYECTO EMPLEADO

Id_Proy Nom_Proy

Fecha_Ini

Duración

Nom_Emp

Id_Emp

Ape_Emp

Teléfono

Estudios

Edad

Fecha_nac

Docu_Emp

RECURSO

Fecha_Ini

Id_Rec

Nom_Rec

Desc_Rec

Dirección

Id_Emp Estudios

Page 61: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

Ejercicio 1

PROYECTO EMPLEADO

Id_Proy Nom_Proy

Fecha_Ini

Duración

Nom_Emp

Id_Emp

Ape_Emp

Teléfono

Estudios

Edad

Fecha_nac

Docu_Emp

RECURSO

Fecha_Ini

Id_Rec

Nom_Rec

Desc_Rec

Dirección

Id_Emp Estudios

Nom_Ben

Ape_Ben

Sexo Fecha_nac

Edad

Id_Ben

Page 62: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

Ejercicio 1

PROYECTO EMPLEADO

Id_Proy Nom_Proy

Fecha_Ini

Duración

Nom_Emp

Id_Emp

Ape_Emp

Teléfono

Estudios

Edad

Fecha_nac

Docu_Emp

RECURSO

Fecha_Ini

Id_Rec

Nom_Rec

Desc_Rec

Dirección

Id_Emp Estudios

Nom_Ben

Ape_Ben

Sexo Fecha_nac

Edad

Id_Ben

Page 63: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

Ejercicio 1

PROYECTO EMPLEADOAsignado

Id_Proy Nom_Proy

Fecha_Ini

Duración

Nom_Emp

Id_Emp

Ape_Emp

Teléfono

Estudios

Edad

Fecha_nac

Docu_Emp

RECURSO

Fecha_Ini

Id_Rec

Nom_Rec

Desc_Rec

Dirección

Id_Emp Estudios

Nom_Ben

Ape_Ben

Sexo Fecha_nac

Edad

Id_Ben

Page 64: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

Ejercicio 1

PROYECTO EMPLEADOAsignado

Id_Proy Nom_Proy

Fecha_Ini

Duración

Nom_Emp

Id_Emp

Ape_Emp

Teléfono

Estudios

Edad

Fecha_nac

Docu_Emp

RECURSO

Consume

Fecha_Ini

Id_Rec

Nom_Rec

Desc_Rec

Dirección

Id_Emp Estudios

Cant

Nom_Ben

Ape_Ben

Sexo Fecha_nac

Edad

Id_Ben

Page 65: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

Ejercicio 1

PROYECTO EMPLEADOAsignado

SupervisaId_Proy Nom_Proy

Fecha_Ini

Duración

Nom_Emp

Id_Emp

Ape_Emp

Teléfono

Estudios

Edad

Fecha_nac

Docu_Emp

RECURSO

Consume

Fecha_Ini

Id_Rec

Nom_Rec

Desc_Rec

Dirección

Id_Emp Estudios

Cant

Nom_Ben

Ape_Ben

Sexo Fecha_nac

Edad

Id_Ben

Page 66: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

Ejercicio 1

PROYECTO EMPLEADOAsignado

SupervisaId_Proy Nom_Proy

Fecha_Ini

Duración

Nom_Emp

Id_Emp

Ape_Emp

Teléfono

Estudios

Edad

Fecha_nac

Docu_Emp

RECURSO

Consume Tiene

Fecha_Ini

Id_Rec

Nom_Rec

Desc_Rec

Dirección

Id_Emp Estudios

CantParentesco

Nom_Ben

Ape_Ben

Sexo Fecha_nac

Edad

Id_Ben

Page 67: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

Ejercicio 1

PROYECTO EMPLEADOAsignado

SupervisaId_Proy Nom_Proy

Fecha_Ini

Duración

Nom_Emp

Id_Emp

Ape_Emp

Teléfono

Estudios

Edad

Fecha_nac

1 m

Docu_Emp

RECURSO

Consume Tiene

Fecha_Ini

Id_Rec

Nom_Rec

Desc_Rec

Dirección

Id_Emp Estudios

CantParentesco

Nom_Ben

Ape_Ben

Sexo Fecha_nac

Edad

Id_Ben

Page 68: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

Ejercicio 1

PROYECTO EMPLEADOAsignado

SupervisaId_Proy Nom_Proy

Fecha_Ini

Duración

Nom_Emp

Id_Emp

Ape_Emp

Teléfono

Estudios

Edad

Fecha_nac

1 m

n

Docu_Emp

RECURSO

Consume Tiene

Fecha_Ini

Id_Rec

Nom_Rec

Desc_Rec

Dirección

Id_Emp Estudios

CantParentesco

Nom_Ben

Ape_Ben

Sexo Fecha_nac

Edad

Id_Benm

Page 69: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

Ejercicio 1

PROYECTO EMPLEADOAsignado

SupervisaId_Proy Nom_Proy

Fecha_Ini

Duración

Nom_Emp

Id_Emp

Ape_Emp

Teléfono

Estudios

Edad

Fecha_nac

1

1

mm

n

Supervisor

Empleado

Docu_Emp

RECURSO

Consume Tiene

Fecha_Ini

Id_Rec

Nom_Rec

Desc_Rec

Dirección

Id_Emp Estudios

CantParentesco

Nom_Ben

Ape_Ben

Sexo Fecha_nac

Edad

Id_Benm

Page 70: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva

MODELO ENTIDAD-RELACION

Ejercicio 1

PROYECTO EMPLEADOAsignado

SupervisaId_Proy Nom_Proy

Fecha_Ini

Duración

Nom_Emp

Id_Emp

Ape_Emp

Teléfono

Estudios

Edad

Fecha_nac

1

1

1

mm

n

Supervisor

Empleado

Docu_Emp

RECURSO

Consume Tiene

Fecha_Ini

Id_Rec

Nom_Rec

Desc_Rec

Dirección

Id_Emp Estudios

CantParentesco

Nom_Ben

Ape_Ben

Sexo Fecha_nac

Edad

Id_Benmm

Page 71: BASE DE DATOS - abdup.files.wordpress.com · aspectos como lo que representamos en el nivel interno. ... (Oracle, Sybase, Informix) ... TRABAJA_EN SUPERVISA N 1. Cardinalidad recursiva