You are on page 1of 26

Introduccin al Modelo

Relacional
Magster Vctor Andrade
Introduccin
Anteriormente se mencionaron 3 tipos de modelado:
conceptual, lgico y fsico.
El modelo e-r se considera un modelo conceptual ya que
permite ver a un nivel alto y con claridad la informacin
utilizada en algn problema o negocio.
Vamos a concentrarnos en desarrollar un buen modelo
"lgico" que se conoce como "esquema de la base de
datos" (database schema) a partir del cual se podr
realizar el modelado fsico en el DBMS, es importante
mencionar que es un paso necesario, no se puede partir
de un modelo conceptual para realizar un fsico.
Modelado

Modelo Relacional

Describir Modelado Modelado Modelado


Problema E-R Lgico Fsico
Qu es el modelo relacional
No es lo mismo un de modelo entidad-relacin y un modelo
relacional, an cuando ambos comparten casi las mismas
palabras. El objetivo del modelo relacional es crear un
"esquema" (schema), que consiste de un conjunto de
"tablas de datos" que representan "relaciones (listados) as
como las relaciones (interrelaciones) entre los datos.
Estas tablas, pueden ser construidas de diversas maneras:
Creando un conjunto de tablas iniciales y aplicar
operaciones de normalizacin hasta conseguir el esquema
ms ptimo. Las tcnicas de nomalizacin se explicaran
luego
Convertir el diagrama e-r a tablas y posteriormente aplicar
tambin operaciones de normalizacin hasta conseguir el
esquema ptimo.
La primer tcnica fue la primera en existir
La segunda al ser ms reciente es mucho ms
conveniente en varios aspectos:
El partir de un diagrama visual es muy til para apreciar los
detalles, de ah que se llame modelo conceptual.
El crear las tablas iniciales es mucho ms simple a travs de las
reglas de conversin.
Se podra pensar que es lo mismo porque finalmente
hay que "normalizar" las tablas de todas formas, pero la
ventaja de partir del modelo e-r es que la
"normalizacin" es mnima por lo general.
Lo anterior tiene otra ventaja, an cuando se normalice
de manera deficiente, se garantiza un esquema
aceptable, en la primer tcnica no es as.
Conceptos bsicos
Tablas
El modelo relacional proporciona un manera simple de
representar los datos: una tabla bidimensional llamada
relacin.

La relacin (tabla) Pelculas maneja la informacin de las


instancias en la entidad Pelculas, cada rengln
corresponde a una entidad pelcula y cada columna
corresponde a uno de los atributos de la entidad.
Atributos
Los atributos son las columnas de un relacin y describen
caractersticas particulares de ella.

Esquemas
Es el nombre que se le da a una relacin y el conjunto de
atributos en ella.

Pelculas (ttulo, ao, duracin, tipo)


En un modelo relacin, un diseo consiste de uno o ms
esquemas, a este conjunto se le conoce como "esquema
relacional de base de datos" (relational database schema) o
simplemente "esquema de base de datos" (database schema)

Tuplas
Cada uno de los renglones en una relacin conteniendo
valores para cada uno de los atributos.
(Star Wars, 1977, 124, color)
Dominios
Se debe considerar que cada atributo (columna) debe ser
atmico, es decir, que no sea divisible, no se puede pensar
en un atributo como un "registro" o "estructura" de datos.

Representaciones equivalentes de una relacin


Las relaciones son un conjunto de tuplas, no una lista de
tuplas. El orden en que aparecen las tuplas es irrelevante.
As mismo el orden de los atributos tampoco es relevante
Conversin del modelo e-r a un esquema
de base de datos (Conversin a tablas)
El modelo es una representacin visual que grficamente
nos da una perspectiva de como se encuentran los datos
involucrados en un proyecto u organizacin.

Pero el modelo no nos presenta propiamente una instancia


de los datos, un ejemplo que muestre con claridad algunas
datos de muestra y como se relacionan en realidad. Por
eso es conveniente crear un "esquema", el cual consiste
de tablas las cuales en sus renglones (tuplas) contienen
instancias de los datos.
Conversin a tablas desde un modelo con relaciones (1-
1,1-m,m-m)
Una tabla por cada conjunto de entidades
nombre de tabla = nombre de conjunto de entidades
Una tabla por cada conjunto de relaciones m-m
nombre de tabla = nombre de conjunto de relaciones
Definicin de columnas para cada tabla
conjuntos fuertes de entidades
columnas = nombre de atributos
conjuntos dbiles de entidades
columnas = llave_primaria (dominante) U atributos(subordinado)
conjunto de relaciones R (m-m) entre A, B
columnas (R) = llave_primaria (A) U llave_primaria (B) U atributos(R)
conjunto de relaciones R (1-1) entre A y B
columnas (A) = atribs(A) U llave primaria(B) U atributos(R)
conjunto de relaciones R (1-m) entre A y B
columnas (B) = atribs(B) U llave primaria(A) U atributos(R)
El diagrama anterior se convertira al siguiente esquema:

escuela
Id-url-nombre

departamento
Clave-url-nombre-id_escuela

curso
Clave-seccion-nombre-clave_depto

profesor
Id-nombre-extension

estudiante
Id-nombre-carrera
profesor_curso
id_prof-clave_curso-seccion_curso

estudiante_curso
id_estud-clave_curso-seccion_curso

Inicialmente podramos querer tener una Relacin


Escuela_Departamento y otra Departamento_Curso pero al
ser dbil la segunda slo incluimos la clave primaria de la
fuerte para establecer dicha relacin.
Conversin a tablas desde un modelo con generalizacin
modelo e-r de generalizacin a tablas dos
posibilidades:
crear una tabla para el conjunto de entidades A de
mayor nivel
columnas (A) = atributos(A)
para cada conjunto de entidades B de menor nivel,
crear una tabla tal que:
columnas (B) = atributos (B) U llave_primaria (A)
si A es un conjunto de entidades de mayor nivel para
cada conjunto de entidades B de menor nivel, crear
una tabla tal que:
columnas (B) = atributos (B) U atributos (A)
La generalizacin se convertira al siguiente esquema:
1)
A
LLP_A-atribs_A

B1
atribs_B1-LLP_A

B2
atribs_B2-LLP_A

B3
atribs_B3-LLP_A

donde:
LLP_X es la llave primaria de la entidad X (un subconjunto
de atribs_X)
2)
B1
atribs_B1-LLP_A-atribs_A

B2
atribs_B2-LLP_A-atribs_A

B3
atribs_B3-LLP_A-atribs_A

donde:
LLP_X es la llave primaria de la entidad X (un subconjunto
de atribs_X)
A continuacin se mencionan algunos consejos tiles para la
determinacin de cual mtodo emplear:

Si la entidad de nivel superior est relacionada con otra(s)


entidades puede sugerirse emplear el mtodo (1) ya que de
esa manera la tabla (A) ser la nica involucrada en la
relacin, de otra forma se tendran tres tablas (B1,B2 y B3)
formando parte de la relacin

Es importante tomar en cuenta la pertenencia de instancias, si


se considera que hablamos de una generalizacin disjunta,
donde no se puede pertenecer a varias entidades de nivel
inferior, quizs sea recomendable el mtodo (1), en otro caso
se podra pensar en el mtodo (2).

Tambin es importante analizar ambos casos con respecto a


las "consultas" que se deseen realizar ya que esto tambin
determina en muchos casos el mtodo a emplear.
Descubrimiento de llaves en las
relaciones
Las llaves resultantes en las relaciones de un esquema se
pueden inferir de la siguiente manera:

1) Cada tabla que provenga de una entidad contiene por si


misma una llave

2) Para las tablas resultado de una relacin se toman las


llaves primarias de ambas entidades y stas conforman la
nueva llave primaria, excepto en un caso como el que
sigue:
Podemos observar que existe una relacin m-m entre
"actor" y "serie", demostrando que un actor puede actuar
en muchas series y que muchas series tendrn a los
mismos actores.

Si se considera "id_actor, id_serie" como la llave primaria


caemos en un problema porque esa combinacin no
identifica de manera nica a la tupla, como es el caso de
"Joaqun Hernadez, Gnesis" ya que en la primer tupla
tenemos que determina a "Abel hermano bueno" y en la
tercera a "Can hermano malo (ver sgte. Diapositiva).

La relacin es correcta ya que un actor puede representar


a varios personajes en la misma obra, pero entonces la
llave "id_actor, id_serie" no es la correcta y en este caso lo
ms recomendable sera emplear los tres atributos de la
relacin "id_actor, id_serie, id_personaje"
Ejercicios
Haga el diccionario de datos de
Cementerio
Haga el modelo relacional para los
siguientes diagramas de E-R
Estaciones-Muestras
Cementerio
Anlisis de laboratorio
Tarea
Una tienda de videos tiene su lista de clientes organizada de la
siguiente forma:

Tiene en stock la siguiente lista de videos:


Estos pertenecen a una categora en particular y son
provedos por algn proveedor de videos y Se sabe
adems que el dueo del negocio quiere gratificar a sus
clientes preferenciales por eso pretende darles un
atributo en ese sentido:
La tienda tiene problemas para organizar sus alquileres
en forma manual dado que si lo hace hacia la derecha
de la lista de clientes tendra que crear al menos dos
columnas cada vez que alquila; Video alquilado, fecha
de alquiler. Si lo hace hacia abajo tendra que repetir
constantemente los datos del cliente. Adems no habra
forma de saber por ejemplo que video es el ms
alquilado o que proveedor es el que ms alquileres
tiene.
Se nos pide que organicemos la informacin de forma
que pueda gestionarlo a travs de una aplicacin de
computadora.
Realice:
El Modelo E-R
El Diccionario de Datos
El Modelo Relacional Lgico

You might also like