Download L19 Modelo de datos relacional

Document related concepts

Sistema de gestión de bases de datos relacionales wikipedia , lookup

Normalización de bases de datos wikipedia , lookup

Base de datos relacional wikipedia , lookup

Modelo de base de datos wikipedia , lookup

Modelo relacional wikipedia , lookup

Transcript
TEMA 19: MODELO DE DATOS RELACIONAL
OBJETIVOS DEL TEMA
•
Conocimiento de las Bases de Datos relacionales.
1.- INTRODUCCIÓN
Las desventajas de los modelos jerárquicos y en red provocaron gran
interés cuando fueron descritos en 1970 por el Dr. Codd. El modelo relacional
era un intento de simplificar la estructura de las bases de datos. Eliminaba las
estructuras explícitas padre/hijo de la base de datos y en su lugar representaba
todos los datos como sencillas tablas fila/columna de valores. Dado que dicho
modelo aunque algebraicamente estaba definido, no siempre era seguido por
bases de datos, por lo que Codd en 1985 describió en un artículo las doce
reglas que debe seguir una base de datos para ser relacional.
2.- TABLAS
El principio de organización de una base de datos relacional es la tabla,
que no es más que una disposición rectangular fila/columna de valores de
datos. Cada tabla tiene un nombre único que identifica su contenido. Cada fila
horizontal representa un registro de datos completo y cada columna vertical
representa un elemento de datos. Es decir, en una tabla de clientes, cada
columna puede representar su apellido, nombre, teléfono, etc. Y cada cliente se
va almacenado por filas. En principio no existe límite al número de filas que
puede contener una tabla, salvo las impuestas por razones de tamaño físico de
almacenamiento. Cuando el número de filas es 0, la tabla se denomina vacía.
3.- CLAVES PRIMARIAS
Dado que en una tabla relacional las filas no están numeradas, no se
puede hablar de primera fila, segunda fila, etc. Una tabla bien diseñada debe
contener
una
columna
o
combinación
de
columnas
que
identifique
unívocamente un registro. Esta columna (o combinación), se denomina clave
primaria de la columna. Por ejemplo, en la tabla de clientes la columna DNI
puede utilizarse como clave primaria, pues no existen 2 personas con el mismo
DNI.
4.- RELACIONES
Una de las principales diferencias entre el modelo relacional y los
modelos de datos primitivos es que los punteros explícitos tales como las
relaciones padre/hijo de las tablas jerárquicas están prohibidos. Obviamente
dichas relaciones siguen existiendo en una base de datos relacional, pero la
relación se establece por datos comunes almacenados en la tabla padre/hijo.
Por ejemplo una tabla de pedidos puede tener un campo denominado DNI que
tenga el DNI del cliente que hace el pedido, y esta a su vez, en la tabla cliente
sería además clave primaria. Si además se introduce en la tabla hijo la
integridad referencial, esta no puede admitir un valor que no tenga relación en
la tabla padre. Por ejemplo, en la tabla pedidos no podemos crear un pedido
cuyo DNI no tenga un Valor existente en la tabla padre (Cliente).
5.- LAS DOCE REGLAS DE CODD
En 1985 el Dr. Codd publicó en la revista Computerworld doce reglas
para que una base de datos fuera relacional. Actualmente no existe una Base
de Datos Relacional (BDR) que satisfaga completamente dichas reglas, y
además su interpretación es en cierta parte subjetiva. Dichas reglas son:
1. La regla de información. Toda la información de una BDR está
representada explícitamente a nivel lógico exactamente mediante
valores en tabla.
2. Regla de acceso garantizado. Se garantiza que todos y cada uno de
los datos de una BDR son lógicamente accesibles a través de una
combinación de nombre de tabla, valor de clave primaria y nombre de
columna.
3. Tratamiento sistemático de valores nulos. Los valores nulos, distintos
de la cadena vacía y distinto de 0 o cualquier otro número se soportan
en las BDR para representar la falta de información, de un modo
sistemático e independiente del tipo de datos.
4. Catálogo en línea dinámico basado en el modelo relacional. La
descripción de la base de datos se presenta a nivel lógico de la misma
forma que los datos ordinarios, de modo que los usuarios autorizados
pueden utilizar el mismo lenguaje relacional que se aplican a los datos
regulares.
5. Regla de sublenguaje completo de datos. Un sistema relacional
puede soportar varios lenguajes y varios modos de uso terminal, sin
embargo debe haber un lenguaje cuyas sentencias se puedan expresar
mediante alguna sintaxis bien definida y que ofrezca completamente:
- Definición de datos
- Definición de vista
- Manipulación de datos
- Restricciones de integridad
- Autorización
- Fronteras de transacciones
6. Regla de actualización de vista. Todas las vistas que sean
teóricamente actualizables, también son actualizables por el sistema.
7. Inserción, actualización y supresión de alto nivel. La capacidad de
manejar una relación de base de datos o una relación derivada como un
único operando se aplica no solamente a la recuperación de datos, sino
también a la inserción, actualización y supresión de datos.
8. Independencia física de los datos. Los programas y las actividades
terminales permanecen lógicamente inalteradas cualquiera que sean los
cambios efectuados, tanto en la representación del almacenamiento
como en los métodos de acceso.
9. Independencia lógica de los datos. Los programas y las actividades
permanecen lógicamente inalteradas cuando se efectúen sobre las
tablas de base cambios preservadores de la información de cualquier
tipo que teóricamente permita alteraciones.
10. Independencia de la integridad. Las restricciones de integridad
específicas de una base de datos relacional particular deben poder ser
definidas mediante el sublenguaje de datos relacional, y almacenarse
en el catálogo, no en los programas.
11. Independencia de la distribución. Una BDR es independiente de la
distribución.
12. Regla de no subversión. Si un sistema relacional tiene un lenguaje de
bajo nivel, ese bajo nivel no se puede utilizar para subvertir o suprimir
las reglas de integridad y las restricciones expresadas en el lenguaje
relacional de nivel superior.
RESUMEN DEL TEMA 19
Ante las deficiencias de las BD en red, vistas en el capítulo anterior
surge la necesidad de introducir en las BD una consistencia que evite las
relaciones padre/hijo absurdas, como por ejemplo pedidos sin cliente, además
de poder identificar unívocamente cada registro (tupla). Se introducen los
conceptos de :
•
Claves primarias
•
Integridad referencial
Además, con el fin de sistematizar y definir qué es una BD Relacional se
publican las doce reglas de Codd que debe cumplir toda BD relacional.