Está en la página 1de 55

Base de datos y programación visual

CURSO: BASE DE DATOS Y PROGRAMACIÓN VISUAL


Docente: Ing. Joseph Ballon Alvarez

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

Existen diversos modelos para modelar los datos


Modelo Primer modelo de BD, semejantes a un árbol, dificil de eliminar la
Jerárquico redundania (IMS)
Modelo de Redes Usa nodos, un nodo puede tener varios padres. Definido por C.
Bachman, (IDMS)
Modelo Entidad - Creado por Chen (76). Representa el mundo en un conjunto
Relación entidades (objetos) y relaciones entre objetos
Modelo Creado por Frank Codd (70). Basado en la lógica de predicado y
Relacional en la teoría de conjuntos. (Oracle, Sybase, Informix)
Modelo Creado por Quillian usado solo en investigación
Semántico
Modelo Binario Creado por Stonebraker basado en el modelo de Codd (Ingres)

Modelo Orientado tTata de almacenar en BD objetos completos (estado y


a Objetos comportamiento). (Ilustra, O2 )
Modelo Extensión al relacional con inversión total.
Multirelacional

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

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.

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

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.

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

Ejemplo 1

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

Ejemplo 1

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

Ejemplo 2

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

Ejemplo 2

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

Ejemplo 3

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

Ejemplo 3

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

MODELO
ENTIDAD-RELACION

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

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)

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

Elementos
1. Entidad ( entity )

2. Atributo ( attribute )

3. Relación ( relationship )

4. Dominio ( values set )

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

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.
– 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
– Ejemplo: conjunto de todas las personas, empresas,
árboles
Docente: Ing. Joseph Ballon Alvarez
Base de datos y programación visual

1. Entidad
cliente- cliente- cliente- cliente- presta monto
id nombre calle ciudad mo-

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

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
p1
nacionalidad = España
añoestreno = 2002
...
dni = 87654321
e1 nss = 1122334455
nombre = Cristina Aliaga Gil
nacionalidad = España
...
Docente: Ing. Joseph Ballon Alvarez
Base de datos y programación visual

2. Atributos Compuestos

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

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

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

4. Dominio
• Conjunto de valores permitidos para cada atributo
• 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

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

1. ENTIDAD

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

Instancias de una entidad


• También... PELICULA
– Ocurrencia titulo = El señor de los anillos
genero = Fantasía
– Realización p2 nacionalidad = EEUU
– Ejemplar añoestreno = 2001
– Entidad concreta o individual ...

titulo = Amores perros titulo = Amelie


genero = Drama genero = Comedia
p3 nacionalidad = Méjico p4 nacionalidad = Francia
añoestreno = 1999 añoestreno = 2001
... ...
Docente: Ing. Joseph Ballon Alvarez
Base de datos y programación visual

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 PELICULA DIRECTOR

LOCAL ACTOR
CLIENTE
VIDEOCLUB
Docente: Ing. Joseph Ballon Alvarez
Base de datos y programación visual

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

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

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.

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

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)

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

2. ATRIBUTOS

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

Tipos de atributos simples y


monovalorados

• Simples o Compuestos

compuestos
• Almacenados o
Derivados

multivalorados
• Monovalorados o
Multivalorados

derivados
• Opcionales

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

Atributos Simples o Compuestos


• Atributos compuestos
– Pueden dividirse en otros con significado propio
fechanacim direccion

dia mes año calle ciudad provincia codpostal

– Valor compuesto = concatenación de valores de


componentes

• Atributos simples
genero
– No divisibles. Atómicos
Docente: Ing. Joseph Ballon Alvarez
Base de datos y programación visual

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]

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

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)

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

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

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

Notación para atributos


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

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

Atributos Clave
• Atributo con valor
distinto para cada
ciudad provincia
instancia de un tipo de calle
codpostal
entidad dirección
fechanacim telefono
dni en EMPLEADO (0,3)
(0,1)
n-f EMPLEADO altura
(1,2)
• Una clave identifica de nombre IP nacionalidad
nss
forma única cada dni edad
entidad concreta 
atributo identificador
Docente: Ing. Joseph Ballon Alvarez
Base de datos y programación visual

3. RELACIONES

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

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 HA_RODADO PELICULA

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

Grado de un tipo de relación


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

Binaria: grado 2 (el más frecuente)


CONTINUACION PELICULA
DE
Ternaria: grado 3
Reflexiva (o recursiva): grado 1
CLIENTE ALQUILA PELICULA

LOCAL_VIDEOCLUB

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

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 HA_RODADO PELICULA


realizador film

• Los nombres de rol se deben usar, sobre todo, en los tipos de


relación reflexivos, para evitar ambigüedad
original

VERSION_DE PELICULA
versión

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

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”

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

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

p3   e4

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

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”)
trabajador ACTOR
EMPLEADO
1 encargado 1 personaje M

TRABAJA_EN SUPERVISA ACTUA_EN

sucursal N N
1 film
LOCAL_VIDEOCLUB PELICULA
lugar trabajo

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

Cardinalidad recursiva
continuación (0,1)
precuela
PELICULA SECUELA DE 1:1
(0,1)

versión (0,n)
original
PELICULA VERSIONA N:1
(0,1)

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

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

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

Atributos de tipos de relación


EMPLEADO
1 1

horas TRABAJA_EN SUPERVISA fechainicio

N
1
LOCAL_VIDEOCLUB

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

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
EMPLEADO horas
1 1

horas TRABAJA_EN SUPERVISA fechainicio

N
1
LOCAL_VIDEOCLUB fechainicio

horas

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

TIPO DE ENTIDAD DEBIL

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

Tipo de entidad débil

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

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

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

Tipo de entidad débil

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

4. DOMINIOS

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual


Dominio
Conjunto de valores
(values set)
• 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)

... ... ...


nombre NOMBRES

No suele representarse, EMPLEADO telefono TELEFONOS


aunque una forma de altura
hacerlo sería: MEDIDAS

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

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, carácter y
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.
– Default. El atributo toma un valor por defecto cuando se instancia.

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

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

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

Ejercicio 1

Docente: Ing. Joseph Ballon Alvarez


Base de datos y programación visual

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.

Docente: Ing. Joseph Ballon Alvarez

También podría gustarte