Modelo Relacional
Enviado por apuas • 29 de Agosto de 2012 • 2.145 Palabras (9 Páginas) • 784 Visitas
Modelo relacional
El objetivo del modelo relacional es crear un "esquema" (schema), lo cual como se mencionará posteriormente consiste de un conjunto de tablas que representan relaciones, relaciones entre los datos.
Estas tablas, pueden ser construidas de diversas maneras:
• Creando un conjunto de tablas iniciales y aplicar operaciones de normalización hasta conseguir el esquema más óptimo.
• Convertir el diagrama e-r a tablas y posteriormente aplicar también operaciones de normalización hasta conseguir el esquema óptimo.
La primera técnica fue de las primeras en existir y, como es de suponerse, la segunda al ser más reciente es mucho más 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 más simple a través de las reglas 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 partir del modelo e-r es que la normalización es mínima por lo general.
• Lo anterior tiene otra ventaja, aún cuando se normalice de manera deficiente, se garantiza un esquema aceptable, en la primera técnica no es así.
Tablas
El modelo relacional proporciona un manera simple de representar los datos: una tabla bidimensional llamada relación.
título año duración tipo
Star Wars 1977 124 color
Mighty Ducks 1991 104 color
Wayne's World 1992 95 color
Relación Películas
La relación Películas tiene la intención de manejar la información de las instancias en la entidad Películas, cada renglón corresponde a una entidad película y cada columna corresponde a uno de los atributos de la entidad.
Atributos
Los atributos son las columnas de un relación y describen características particulares de ella.
Esquemas
Es el nombre que se le da a una relación y el conjunto de atributos en ella.
Películas (título, año, duración, tipo)
En un modelo relación, un diseño consiste de uno o más 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 relación conteniendo valores para cada uno de los atributos.
(Star Wars, 1977, 124, color)
Dominios
Se debe considerar que cada atributo (columna) debe ser atómico, es decir, que no sea divisible, no se puede pensar en un atributo como un registro o estructura de datos.
Representaciones equivalentes de una relación
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
año título tipo duración
1991 Mighty Ducks color 104
1992 Wayne's World color 95
1977 Star Wars color 124
Conversión a tablas desde un modelo con relaciones (1-1,1-m,m-m)
modelo e-r conversión a tablas
• una tabla por cada conjunto de entidades
o nombre de tabla = nombre de conjunto de entidades
• una tabla por cada conjunto de relaciones m-m
o nombre de tabla = nombre de conjunto de relaciones
• definición de columnas para cada tabla
o conjuntos fuertes de entidades
columnas = nombre de atributos
o conjuntos débiles de entidades
columnas = llave_primaria (dominante) U atributos(subordinado)
o conjunto de relaciones R (m-m) entre A, B
columnas (R) = llave_primaria (A) U llave_primaria (B) U atributos(R)
o conjunto de relaciones R (1-1) entre A y B
columnas (A) = atribs(A) U llave primaria(B) U atributos(R)
o 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 convertiría al siguiente esquema:
Debil
atribs_Debil LLP_A atribs_rel_0
A
LLP_A atribs_A
B1
LLP_B1 atribs_B1
B2
LLP_B2 atribs_B2 LLP_A attribs_rel_2
B3
LLP_B3 atribs_B3 LLP_A atribs_rel_3
A_B1
LLP_A LLP_B1 atribs_rel_1
donde:
LLP_X es la llave primaria de la entidad X (un subconjunto de atribs_X)
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
Conversión a tablas desde un modelo con generalización
modelo e-r
de generalización a tablas
dos posibilidades:
1.
o crear una tabla para el conjunto de entidades A de mayor nivel
columnas (A) = atributos(A)
o para cada conjunto de entidades B de menor nivel, crear una tabla tal que:
columns (B) = atributos (B) U llave_primaria (A)
2.
o 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 generalización se convertiría 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)
Es importante mencionar que a pesar de que existen 2 métodos para convertir una generalización a tablas, no hay una regla exacta de cual usar en determinado caso. A continuación se mencionan algunos consejos útiles para la determinación de cual método emplear:
1. Si la entidad de nivel superior está relacionada con otra(s) entidades puede sugerirse emplear el método (1) ya que de esa manera la tabla (A) será la única involucrada en la relación, de otra forma se tendrían tres tablas (B1,B2 y B3) formando parte de la relación
2. Es importante tomar
...