Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Modelo Relacional 2

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 32

Unidad

Ing. Miguel Bañuelos Mercado


El modelo Relacional se ha
establecido como el
principal modelo de datos
para las aplicaciones de
procesamiento de datos, no
por ser cómodos de usar,
sino porque sirven como
base para los lenguajes
formales de consulta.
Este modelo está basado en el
concepto de relación. Una
relación es un conjunto de n-
tuplas. Una tupla, al contrario
que un segmento, puede
representar tanto entidades
como interrelaciones N:M. Los
lenguajes matemáticos sobre
los que se asienta el modelo
relacional, aportan un sistema
de acceso y consultas orientado
al conjunto
Una Base de Datos Relacional consiste en un conjunto de Tablas.
A cada una se le da un nombre exclusivo.
Cada Fila de la tabla representa una relación entre un conjunto
de valores.
A la cabecera de cada columna se le asigna el nombre de los
Atributos.
Para los atributos existe un conjunto de valores permitidos
denominado Dominio de ese atributo.
Las dos características más importantes del modelo son:
– Trabaja con estructuras de datos muy simples: Tablas
bidimensionales.
– Es no navegacional, no hace falta hacer referencia a la
forma de acceder a los datos.
En este modelo la base de datos es vista por el usuario como
una relación de tablas. Cada fila de la tabla es un registro o
tupla y los atributos con columnas o campos.
Relación= Conjunto ordenado de n ocurrencias
Atributos= Campos de una tabla, propiedades de las
entidades
Dominio= Conjunto donde los atributos toman valores
Tupla= Fila de una tabla
Grado de una relación= Numero de atributos o
columnas
Cardinalidad= Numero de filas o tuplas de una relación
Para dar una definición más adecuada desde el punto de
vista de las bases de datos, es preciso distinguir dos
conceptos en la definición de la relación:

Esquema de relación: es la parte definitoria y estática de


la relación (cabecera cuando la relación se percibe como
una tabla). Es invariante en el tiempo.
Extensión de la relación: conjunto de tuplas que, en un
momento determinado, satisface el esquema de la
relación y se encuentran almacenadas en la base de
datos. Es variante en el tiempo.
Clave primaria= Es un conjunto de atributos que
identifica a cada tupla de una relación y además no hay
un subconjunto de ellos que cumplan esa propiedad.

Clave foránea= Es un conjunto de atributos de una tabla


que son clave primaria en otra tabla
Se trata de unas condiciones de obligado cumplimiento
por los datos de la base de datos.
Las hay de varios tipos:
• Inherentes
• Semánticas
• No puede haber dos tuplas iguales en una misma
relación

• El orden de las tuplas no es significativo

• El orden de los atributos no es significativo


El modelo relacional permite a los usuario incorporar
restricciones personales a los datos.
Las principales son:
1. Clave primaria. Hace que los atributos marcados
como clave primaria no puedan repetir valores.
2. Unicidad. Impide que los valores de los atributos
marcados de esa forma puedan repetirse.
3. Obligatoriedad. Prohíbe que el atributo marcado de
esta forma no tenga ningún valor.
El modelo relacional permite a los usuario incorporar
restricciones personales a los datos.
Las principales son:

3. Integridad referencial. Prohíbe colocar valores en


una clave externa que no estén reflejados en la tabla
donde ese atributo es clave primaria.
4. Regla de validación. Condición que debe de cumplir
un dato concreto para que sea actualizado.
Preocupado por los productos que decían ser sistemas
gestores de bases de datos relacionales (RDBMS) sin
serlo, Codd publica las 12 reglas que debe cumplir todo
DBMS para ser considerado relacional. Estas reglas en
la práctica las cumplen pocos sistemas relacionales.
1. Información. Toda la información de la base de datos
debe estar representada explícitamente en el esquema
lógico. Es decir, todos los datos están en las tablas.
2. Acceso garantizado. Todo dato es accesible sabiendo
el valor de su clave y el nombre de la columna o atributo
que contiene el dato.
3. Tratamiento sistemático de los valores nulos. El
DBMS debe permitir el tratamiento adecuado de estos
valores.
4. Catálogo en línea basado en el modelo relacional. Los
metadatos deben de ser accesibles usando un esquema
relacional.
5. Sublenguaje de datos completo. Al menos debe de
existir un lenguaje que permita el manejo completo de
la base de datos. Este lenguaje, por lo tanto, debe
permitir realizar cualquier operación.
6. Actualización de vistas. El DBMS debe encargarse de
que las vistas muestren la última información
7. Inserciones, modificaciones y eliminaciones de dato
nivel. Cualquier operación de modificación debe actuar
sobre conjuntos de filas, nunca deben actuar registro a
registro.
8.Independencia física. Los datos deben de ser accesibles
desde la lógica de la base de datos aún cuando se
modifique el almacenamiento.
9. Independencia lógica. Los programas no deben verse
afectados por cambios en las tablas
10.Independencia de integridad. Las reglas de integridad
deben almacenarse en la base de datos (en el diccionario
de datos), no en los programas de aplicación.
11.Independencia de la distribución. El sublenguaje de
datos debe permitir que sus instrucciones funciones
igualmente en una base de datos distribuida que en una
que no lo es.
12.No subversión. Si el DBMS posee un lenguaje que
permite el recorrido registro a registro, éste no puede
utilizarse para incumplir las reglas relacionales.
Se debe diferenciar entre el Esquema de la BD (diseño lógico) y
el ejemplar de la BD (una instantánea de los datos de la misma
en un momento dado).
Se toma el convenio de utilizar nombres en minúsculas para las
Relaciones y nombres que comiencen con letra mayúscula para
los Esquemas.
Tomaremos el siguiente ejemplo E-R para su traducción a
Relacional:
Película (id_película, nombre, año)
Actor(id_actor, nombre, apellido)
Estudio(id_estudio, nombre)

Actua(id_película, id_actor)
Produce(id_película, id_Estudio)
Entonces las tablas resultantes siguiendo la descripción anterior son:
En el siguiente ejemplo vemos a la Super Clase “Vehículo” y las
Sub Clases “Bus”, “Camión” y “Coche”, en las cuales solo dos de
ellas tienen atributos.
El ejemplo anterior quedaría de la siguiente manera:

Vehículo (idv, matrícula)


Propietario(idp, nombre)

Dueño(idv, idp)
Bus(idv, pasajeros)
Camión(idv, ejes)
Coche(idv)
Independencia física.
La forma de almacenar los datos debe ser absolutamente
independiente del modelo conceptual de los mismos.
Si la forma de almacenar los datos cambia (si cambia el esquema
físico) , no es necesario cambiar los esquemas lógicos, funcionan
perfectamente.
Esto permite que los usuarios y usuarias se concentren en qué
resultados desean obtener de la base de datos
independientemente de cómo estén realmente almacenados los
datos.
Independencia Lógica.
Se refiere a que la lógica de la base de datos debe de ser
independiente de la forma externa de acceso a la base de datos
(los esquemas externos).
Las aplicaciones que utilizan la base de datos no deben ser
modificadas porque se modifique el esquema lógico de la
misma.
De una manera más precisa: gracias a esta independencia el
esquema externo de la base de datos es realmente independiente
del modelo lógico. En la práctica, esta independencia es difícil
de conseguir.
Flexibilidad
La base de datos ofrece fácilmente distintas vistas en función de
los usuarios y aplicaciones.
La visión de los datos se adapta al usuario que los requiere.

Uniformidad
Las estructuras lógicas siempre tienen una única forma lógica
(las tablas). Es decir, manejar el modelo relacional es manejar
las tablas.
Sencillez
Facilidad de manejo (algo cuestionable, pero ciertamente
verdadero si comparamos con los sistemas gestores de bases de
datos anteriores a este modelo)
Persistentes
Son las tablas que crean los usuarios (normalmente los
administradores). Sólo pueden ser borradas por los usuarios Se
dividen en tres tipos:
1. Bases
2. Vistas
3. Instantáneas o vistas materializadas

Temporales
Son tablas que se eliminan automáticamente por el sistema. Las utiliza
el SGBD como almacén intermedio de datos (resultados de consultas,
por ejemplo) para acelerar la ejecución del sistema o como almacén
auxiliar para instrucciones complejas.
Hay tablas temporales de tipo base, vista o instantáneas; al igual que
ocurre con las persistentes.
Tablas Bases
Son tablas independientes. Se crean indicando su estructura y
después se les añaden los datos. Cuando alguien habla de tablas,
se refiere a este tipo de tablas.
Las tablas base contienen tanto datos como metadatos. Por ello
(debido a los datos) pueden ocupar mucho espacio en disco. Son
el fundamento del modelo relacional
Vistas
Contienen una instrucción (normalmente en lenguaje SQL) la
cual provoca una consulta sobre los datos de las tablas base,
haciendo que se muestren los datos que cumplen las
condiciones especificadas en dicha instrucción.
No ocupan mucho espacio en disco (ya que no almacenan
datos). Si los datos de las tablas base cambian, los de las vistas
que utilizan esos datos también cambian.

Las vistas permiten una visión de los datos más cómoda para los
usuarios.
Instantáneas o Vistas Materializadas
Son vistas (es decir, consultas) que además de almacenar la
instrucción SQL, almacenan una copia de los datos que muestra.
De modo que la siguiente vez que usemos la instantánea,
utilizará la copia de los datos (no leerá los datos originales). Las
instantáneas, a diferencia de las vistas, no siempre muestran los
datos actualizados.
Las instantáneas actualizan los datos, refrescando el resultado
cada cierto tiempo. La ventaja es que son más veloces que las
vistas al no tener que acudir a los datos base; la parte mala, es
que los datos que muestran pueden ser obsoletos (ya que
pueden haber variado en las tablas base originales).

También podría gustarte