Sei sulla pagina 1di 57

Unidad 2

Contenidos
Modelamiento de Datos
Modelos de Datos
El modelo Relacional
LLave Primaria
Llave Foranea
Integridad de la Entidad
Integridad Referencial
Ejercicio de Aplicacin

Normalizacion
Definicin
Dependencia Funcional
Primera Forma Normal
Segunda Forma Normal
Tercera Forma Normal
Desnormalizacion

Modelamiento de Datos
Modelos de Datos
Clasificacion Bsica
El modelo de datos, como abstraccin del minimundo en estudio, es el enfoque utilizado para la
representacin de las entidades y sus
caractersticas dentro de la base de datos, y
puede ser dividido en tres grandes tipos:

Modelo de Datos

Nociones de Modelamiento
El objetivo es producir una descripcin estructurada
de la organizacin y del negocio del cliente, en detalle
suficiente para permitir construir un sistema basado
en ste.

Para esto, mnimamente se requiere:


Un conjunto de tcnicas especficas y
complementarias, adecuadas cada una para
describir distintos aspectos del negocio/sistema.
Conocimiento, normas y estndares que
aseguren la correcta descripcin y posterior
interpretacin usando estas tcnicas.

Modelo de Datos

Nociones de Modelamiento
Modelamiento Entidad - Relacin

Modela las cosas acerca de las cuales el negocio


mantiene o debe mantener informacin, y las
asociaciones existentes entre stas.

Modelo de Datos

Nociones de Modelamiento
Diagramas de Flujo de Datos

Modela el flujo de informacin dentro y fuera del negocio y


las transformaciones que sta sufre en el proceso

Modelo de Datos
Modelo de Datos
Un modelo de datos se define como la combinacin de tres
componentes :
Una coleccin de tipos de objetos de informacin, los
cuales son las unidades bsicas para construir cualquier
base de datos.
Una coleccin de reglas generales de integridad, las
cuales limitan el conjunto de los tipos de objetos que
pueden aparecer en forma legal en cualquier base de
datos.
Una coleccin de operadores, aplicables a los objetos
para obtener informacin y para otros propsitos.

Modelo de Datos
La descripcin de la estructura de una base de datos, es el
modelo de datos, una coleccin de herramientas
conceptuales para describir datos, relaciones de datos,
semnticas y restricciones de datos.

Los principales objetivos del proceso de modelamiento es


saber identificar cual es el problema y encontrar la forma
de representarlo en un sistema. Esto significa saber de los
datos, saber quienes van a usarlos y como van a usarlos.

Modelo de Datos

Modelo de Datos

Modelo Entidad - Relacin

Modelo Entidad - Relacin


El objetivo es identificar y representar las cosas de
importancia para el funcionamiento del negocio (entidades),
sus propiedades (atributos), y la forma en que estas cosas se
relacionan entre s (relaciones).
Este modelo se desarroll para facilitar el diseo de las bases
de datos (presentado por Chen en 1976).
La idea de esta metodologa de representacin de la
informacin es mostrar los datos que contendr un sistema
como un conjunto de objetos con atributos propios, los
cuales son capaces de disminuir la redundancia presente en
un sistema de archivos tradicionales y ocupar mejor la
estructura presente en los datos a almacenar.

Definicin
Modelo de datos entidad-relacin est basado
en un percepcin del mundo real que consta
de un conjunto de objetos basicos llamados
entidades y de relaciones entre estos objetos.

Conjuntos de entidades
Conjuntos de relaciones
Conjuntos de atributos

Conjunto de entidades
Definicin de entidad
Una entidad es una cosa u objeto en el mundo
real que es distinguible de todos los demas
fsica o real (una persona, un libro, un empleado)
abstracta o conceptual (una asignatura, un viaje)

Persona, lugar, cosa, concepto o suceso, real o abstracto,


de inters para la empresa (ANSI, 1977)

Definicin de conjunto de entidades


Es la totalidad de las entidades del mismo tipo que
comparten las mismas propiedades o atributos

Modelo de Datos

Modelo Entidad - Relacin


Cmo se identifican Entidades ?

A partir de la descripcin del negocio:

Buscando SUSTANTIVOS de uso comn en el negocio.


Buscando SINNIMOS, que representen conceptos
generalizables.

A partir de los documentos del negocio:

Buscando agrupaciones de informacin contenida en


stos.

Buscando elementos de informacin cuyo origen puede


estar en entidades no identificadas.

Modelo de Datos

Modelo Entidad - Relacin


Entidades - Representacin grfica

Rectngulo de bordes redondeados.


Nombre en singular y maysculas.

EMPLEADO

PROYECTO

PERSONA

SALA

PRODUCTO

PROVEEDOR

Conjunto de atributos
Definicin
Los atributos describen propiedades
que posee cada miembro de un
conjunto de entidades.
Se clasifican en:
Simples y compuestos
Univalorados y multivalorados
Nulos
Derivado

Modelo de Datos

Modelo Entidad - Relacin


Atributos
Las entidades poseen cualidades o propiedades conocidas
como atributos : una sala de clases tiene, un nombre (QO QP - D310), una ubicacin, un cupo, etc..
Definicin
Dato especfico, significativo para una entidad, que:
La califica, o
(ej.: color)
La identifica, o
(ej.: RUT)
La clasifica, o
(ej.: grupo)
La cuantifica, o
(ej.: peso)
Expresa su estado
(ej.: pagado, solicitado)

Deben llevar nombre en singular, nico dentro de la entidad.


No deben incluir el nombre de la entidad.
Pueden ser opcionales u obligatorios.
Su formato, valores por defecto, rangos, validaciones, son
comunes para todos los valores posibles del atributo.

Modelo de Datos

Modelo Entidad - Relacin


Atributos - Representacin grfica

VEHICULO
#

o
o
o

Numero Motor
Patente
Tipo
Marca
Modelo
Numero de puertas
Numero de asientos

Identificador nico

Atributos Obligatorios

Atributos Opcionales

Clasificacin de atributos
Atributos compuestos
Pueden dividirse en otros con significado propio

Valor compuesto = concatenacin de valores de


componentes

fechanacim

dia mes

ao

Atributos simples
No divisibles. Atmicos

genero

direccion

calle ciudad provincia codpostal

Clasificacin de atributos
Atributos monovalorados (monovaluados)
slo un valor para cada entidad

fechanacim [de un EMPLEADO particular]


aoestreno [de una PELICULA concreta]

Atributos multivalorados (multivaluados)}


ms de un valor para la misma entidad

nacionalidad [ PELICULA coproducida por varios pases ]


telefono [ EMPLEADO con varios telfonos de contacto]

Pueden tener lmites superior e inferior


del n de valores por entidad
nacionalidad (1-2)
telefono (0-3)

Clasificacin de atributos
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

numtelfono [de un EMPLEADO]

La entidad no tiene ningn valor aplicable para el


atributo:
fechaalquiler [PELICULA slo en vdeo-venta (no alquiler)]

Clasificacin de atributos
Atributos derivados
Valor calculado a partir de otra informacin ya existente
(atributos, entidades relacionadas)
Son informacin redundante...
edad [de EMPLEADO], clculo a partir de fechanacim
atributo derivado del valor de otro atributo

numcopias [de una PELICULA], cuenta del n de entidades


copia relacionadas con cada pelcula concreta
atributo derivado de entidades relacionadas

Atributos almacenados
nacionalidad [de una PELICULA]
fechanacim [de un EMPLEADO]

Modelo de Datos

Modelo Entidad - Relacin


Conversin de Atributos en Entidades

Esto ocurre cuando:


El atributo puede tener varios valores dada una
ocurrencia de una entidad, o
El atributo puede tener a su vez atributos, o
Requerimos historia de cambios en los valores del
atributo.

Relaciones

Definicin
Una relacin es una asociacin significativa entre dos
entidades.

Una relacin es una vinculacin entre entidades , por

ejemplo, la entidad libro puede estar relacionada con la


entidad persona por medio de la relacin arrendar.

Relaciones
Tambin interrelacin

Asociacin, vnculo o correspondencia


entre instancias de entidades relacionadas de
alguna manera en el mundo real
el director Julio Mdem ha rodado la pelcula Tierra
el empleado 87654321 trabaja en el local de videoclub
principal
la pelcula El imperio contraataca es una continuacin de
la pelcula La guerra de las galaxias

Relaciones
Estructura genrica o abstraccin del
conjunto de relaciones existentes entre dos
o ms tipos de entidad
un DIRECTOR ha rodado PELICULAs

DIRECTOR

HA_RODADO

PELICULA

Relaciones
Nmero de tipos de entidad que participan
en el tipo de relacin
Binaria: grado 2 (el ms frecuente)
Ternaria: grado 3
Reflexiva (o recursiva): grado 1
ACTOR

ACTUA_EN

CLIENTE

PELICULA

ALQUILA

LOCAL_VIDEOCLUB
CONTINUACION
DE

PELICULA

PELICULA

Relaciones
Todo tipo de entidad que participa en un tipo
de relacin juega un papel especfico en la
relacin
DIRECTOR

realizador

HA_RODADO

film

PELICULA

Es en los tipos de relacin reflexivos donde se


deben usar los roles

original
VERSION_DE

versin

PELICULA

Relaciones
Limitan las posibles combinaciones de
entidades que pueden participar en las
relaciones
Extradas de la situacin real que se modela
Una pelcula debe haber sido dirigida por uno y slo un
director
Un director ha dirigido al menos una pelcula y puede
haber dirigido muchas

Clases de restricciones estructurales:

Razn de cardinalidad (o tipo de correspondencia)


Razn de participacin

Modelo de Datos

Modelo Entidad - Relacin


Relaciones - Lectura

La lectura debe expresar reglas


Cada extremo se lee:
Cada
puede, o debe
una o ms, o
una y solo una

del negocio
(entidad)
(nombre relacin)
(entidad(es))

Ejemplo:

Cada MODELO debe corresponder a una y slo una


MARCA.
Cada MARCA puede tener uno o ms MODELOS.

Ligaduras de correspondencia
Correspondencia de cardinalidades: expresa el
nmero de entidades a las que otra entidad puede
estar asociada via un conjunto de relaciones.
Uno-uno
Uno-varios

1-1
1-n

trabajador
1
TRABAJA_EN
1
lugar trabajo

EMPLEADO
encargado 1
SUPERVISA
sucursal N
LOCAL_VIDEOCLUB

Varios-uno
Varios-varios

ACTOR
personaje M
ACTUA_EN
N
film
PELICULA

n-1
n-n

Ligaduras de correspondencia
Dependencia de existencia: si la existencia de
la entidad x depende de la existencia de la
entidad y, entonces se dice que x tiene
DIRECTOR
dependecia de y.
1
Si y se borra tambien se borrara x
La entidad y es la entidaddominante
La entidad x es la entidad subordinada

HA_ RODADO
N

PELICULA

Clases de participacin:

Participacin total (dependencia en existencia)


Participacin parcial
ACTOR
personaje

ACTUA_EN

film

PELICULA

Atributos en relacin

M:N
ACTOR

(0,m)

ACTUA_EN

papel
salario
(1,n)

PELICULA

salario de un actor por participar en cierta pelcula


tipo de papel que interpreta un actor en una pelcula
(prota, secundario, reparto,...)
Ojo: una relacin puede tener atributos, pero nunca una clave.

Ligaduras de correspondencia
Tipo de entidades
Dbil: es aquella que no tiene llave primaria.
Fuerte: es aquella que tiene llave primaria

Entidad Dbil
No tiene atributos clave propios
Una instancia se identifica por su relacin con
una instancia de otro tipo de entidad
Tipo de relacin identificador
Relaciona un tipo de entidad dbil y un tipo de entidad
regular (fuerte, dominante, padre, propietaria)

Clave parcial (o discriminante)


Atributos de la entidad dbil, que identifican de forma
nica cada instancia, siempre que est relacionada con
una instancia del tipo de entidad regular

Clave = (clave_entidad_regular,clave_parcial)

Una entidad dbil siempre tiene una


restriccin de participacin total en la
relacin que la une a su entidad propietaria

PELICULA

titulo

1
TIENE
N
COPIA

numcopia

Llaves claves
Superllave: Uno o mas atributos que
nos permite identificar una entidad en
especifico dentro de un conjunto de
entidades y ninguna otra entidad la
tiene. Toda relacion tiene por lo menos
una super llave llamada llave primaria.

Llaves claves
Llave candidata: Son aquellos atributos
que tienen caractersticas para ser
super llaves, pero hay dos o mas en
una entidad; una se tomara como llave
primaria y otra como llave secuendaria.
El atributo que es la llave primaria en una
entidad se subraya.

Normalizacin
La Normalizacin es el proceso de organizar los datos
en una base de datos.
Esto incluye la creacin de tablas y que establece
relaciones entre aquellas tablas segn reglas diseadas
para proteger los datos y hacer la base de datos que es
ms flexible al eliminar redundancia y dependencia
incoherente.

Normalizacin
Los datos redundantes desperdician espacio en disco y
crean problemas de mantenimiento.
Si es necesario cambiar datos que aparecen en ms de
un sitio, el cambio deber ser exactamente igual en
todos estos sitios.

Ejemplo:
un cambio de direccin de un cliente es mucho ms
fcil de implementar si los datos slo se almacenan en
la tabla Clientes y en ningn otro lugar de la base de
datos.

Normalizacin
Qu es una "dependencia incoherente"?
Aunque para un usuario puede resultar intuitivo buscar la
direccin de un determinado cliente en la tabla Clientes, es
posible que no tenga sentido buscar en esa misma tabla el
sueldo del empleado que atiende a dicho cliente. El salario del
empleado est relacionado con el empleado (es decir, existe una
dependencia entre ambos), por lo que debe moverse a la tabla
Empleados.
Las dependencias incoherentes pueden dificultar el acceso a los
datos, ya que la ruta de acceso a los mismos puede estar rota o
no encontrarse.

Normalizacin
Existen unas cuantas reglas para la normalizacin de bases de
datos. Cada regla se denomina "forma normal"
Si se cumple la primera regla, se dice que la base de datos est
en la "primera forma normal"
Si se cumplen las tres primeras reglas, se considera que la base
de datos est en la "tercera forma normal"

Aunque existen otros niveles de normalizacin, se considera que


la tercera forma normal es el mximo nivel necesario para la
mayora de las aplicaciones.

Primera forma normal


Eliminar grupos repetidos en tablas
individuales.
Crear una tabla diferente para cada conjunto
de datos relacionados.
Identificar cada conjunto de datos
relacionados mediante una clave principal.
No utilizar varios campos en una nica tabla para
almacenar datos similares.

Ejemplo
Artculo Prov1 Prov2 Prov3

Maz
Arroz

Granja

Casita

Cdigo

Proveedor

145

Casita

154

Granja

Artculo

Cod.Prov

Maz

154

Arroz

145

En lugar de hacer varios


campos para los
proveedores en una sola
tabla, hacemos otra tabla
con el campo proveedor y
colocamos varios registros
para los proveedores
(tabla de en medio).
Sustituimos la tabla
superior de la izquierda
por la tabla inferior.

Segunda forma normal


Crear tablas independientes para conjuntos de
valores que se apliquen a varios registros.
Relacionar dichas tablas mediante una clave
externa.
Los registros tan slo deben depender de la clave
principal de una tabla (si es necesario, puede
ser una clave compuesta).

Ejemplo
piense en la direccin de un cliente en un
sistema de contabilidad. La direccin es
necesitada por la tabla Clientes pero por las
tablas Pedidos, Facturas y Cuentas a cobrar
tambin. En lugar de almacenar la direccin del
cliente como una entrada diferente en cada
tabla, almacnela en un nico lugar, ya sea en
la tabla Clientes o en una tabla de direcciones
independiente.

Tercera forma normal


Eliminar los campos que no dependan de la clave. Los
valores de un registro que no forman parte de la clave
de dicho registro no pertenecen a esa tabla. En general,
siempre que el contenido de un grupo de campos se
puede aplicar a ms de un registro de la tabla, debe
tener en cuenta la posibilidad de incluir dichos campos
en una tabla independiente.
EXCEPCIN: No es prctico siempre cumplir la forma
tercera normal tericamente conveniente. Si tiene una
tabla Clientes y desea eliminar todas las posibles
dependencias entre campos, debe crear tablas
independientes para ciudades, cdigos postales,
representantes de ventas, clases de clientes y cualquier
otro factor que pueda aparecer duplicado en varios
registros. En teora, la normalizacin merece la pena. Sin
embargo, la utilizacin de un gran nmero de tablas
pequeas puede perjudicar el rendimiento o superar la
capacidad de memoria y de archivos abiertos del
sistema.

Otras formas normales


Otras formas de normalizacin
Existe una cuarta forma normal, llamada
tambin Forma normal de Boyce Codd (BCNF),
y una quinta forma normal, pero pocas veces
se consideran prcticas en un diseo. La
omisin de estas reglas puede dar como
resultado una tabla que no sea perfecta, pero
no debera afectar a su funcionamiento

Haga esta tabla en Access para normalizarla. La tabla se llama alumnos

Primera forma normal: Ningn


grupo repetido
Como cada alumno se encuentra inscrito en
varios cursos, estos deben aparecer en una
tabla independiente. Los campos curso1,
curso2, curso3 de los registros anteriores
indican que existe un problema en el diseo.

Segunda forma Normal:


Elimine datos redundantes
Curso no depende del carn (que ser nuestra
clave principal) por lo que la tabla no esta en la
segunda forma normal. Debemos separar la
informacin de los cursos-alumnos a otra
tabla. Haremos la tabla asignaciones.

Asignaciones

Tabla alumnos luego del cambio

Tercera forma Normal:


Eliminar datos que no
dependen de la clave

De el ltimo ejemplo la oficina del asesor


depende funcionalmente del atributo asesor.
La solucin es mover dicho atributo de la tabla
alumnos a la tabla personal, como se muestra a
continuacin.

Tabla Alumno

Tabla Personal

Normalizada

Hemos llegado finalmente a una base de datos


bien organizada en la cual podemos actualizar
o cambiar los datos almacenados fcilmente y
de una manera ordenada sin alterar los dems
registros.

Ejercicios
Haga una lista de entidades y atributos para:
Gasolinera.
Un Banco

Modelo de Datos

Modelo Entidad - Relacin

Problema
Definir el modelo E-R que permite obtener los horarios y las
salas de clases de los cursos dictados por la escuela.
(resolver los alumnos, supuestos vistos en clase).

Ejercicios

Construir un modelo Entidad Relacin que represente un banco y los productos cuenta corriente
y tarjeta de crdito.
Su solucin debe al menos contestar:

Quines son los clientes?

Qu productos tiene cada cliente?

Cul es el movimiento de cada producto?

Cul es el saldo de cada producto?

Construir las consultas sql para contestar las preguntas anteriores.

Ejercicio en Clases

Un empresario tiene en la Regin Metropolitana varias parcelas; en cada una de ellas


tiene un Criadero de Perros. El empresario, que se dedica a la venta de perros, los
clasifica por raza. Cada perro es inscrito oficialmente en el Kennel Club y tiene un
nmero de pedigree que lo identifica en forma nica. Cuando se realiza la venta, el
perro debe quedar registrado con su nuevo dueo, adems de asignrsele un nombre al
perrito. Para cada perro interesa tambin identificar la raza a la cual pertenece, en qu
criadero fue vendido, cul es su fecha de nacimiento y las seas particulares del
perrito. Adems, y dado que la venta de un perrito genera ingresos, el dueo del
criadero necesita saber el precio de venta de cada perrito.
Construir el modelo de datos que satisfaga este requerimiento.

Potrebbero piacerti anche