Post on 13-Nov-2018
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
Índice
1. Presentación y Objetivos 2. Estructura del Modelo Relacional
1. Elementos del Modelo Relacional 2. Definición Formal de Relación 3. Claves 4. Restricciones
3. El MR y la Arquitectura ANSI 4. Los Valores Nulos y la Lógica Trivaluada 5. Las 12 Reglas de Codd 6. Bibliografía
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
Objetivos del Modelo Relacional
A finales de los años sesenta E. F. Codd introdujo la teoría matemática de las relaciones en el campo de las Bases de Datos (BD).
El Modelo Relacional fue propuesto por Codd en su artículo titulado “A relational model of data for large shared data banks” (Codd, 1970).
Los objetivos de Codd con el Modelo Relacional son: • Independencia física.- Almacenamiento/manipulación. Un cambio físico no afecta a los programas. • Independencia lógica.- Añadir, eliminar o modificar elementos en la BD no debe repercutir en los programas y/o usuarios que acceden a ellos. • Flexibilidad.- Ofrecer al usuario los datos en la forma más adecuada a cada aplicación. • Uniformidad.- Las estructuras lógicas de los datos son tablas. Facilita la concepción y utilización de la BD por parte de los usuarios. • Sencillez.- Por las características anteriores y por los lenguajes de usuario sencillos, el modelo relacional es fácil de comprender y utilizar por parte del usuario final.
Presentación y Obje1vos
Concepto de RELACIÓN como estructura básica
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
Evolución del Modelo Relacional 1968 - 1970 Surge el modelo 1970 . . . Desarrollos teóricos 1973 - 1978 Prototipos (Ingres, sistema R de IBM, ect. . .) 1978 QBE (Query by Example) de IBM 1979 Oracle (1er SGBD Relacional) 1980 Ingres 1981 SQL 1982 DB2 1986 SQL/ANS 1987 SQL ISO (9075) 1989 SQL Addendum 1989 Manifiesto de los SGBO 1990 Modelo Relacional Versión 2 1990 Manifiesto de los SGBO-3G 1992 SQL 92 1995 3er Manifiesto 1999 SQL:1999 2003 SQL:2003
P R E R R E L A C I O N A L R
E L A C I O N A L
P O S T R E L A C I O N A L
Presentación y Obje1vos
Actual Estándar Relacional
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
VENTAS MUNDIALES DE SGBD 1991-1999Tecnología debases de datos
1991 1992 1993 1994 1995 1996 1997 1998 1999 Crecim.(%)
1994-1999
Prerrelacional 2.000 2.090 2.109 2.050 1.866 1.721 1.701 1.689 1.638− Crecimiento - 4,5 0,9 -2,8 -9,0 -7,8 -1,2 -0,7 -3,0 -4,4− Cuota de
mercado52,0 45,5 38,8 31,6 24,0 18,4 15,2 12,6 10,3
Relacional 1.844 2.502 3.328 4.435 5.925 7.652 9.513 11.685 14.254− Crecimiento - 35,7 33,0 33,3 33,6 29,1 24,3 22,8 22,0 26,3− Cuota de mercado
48,0 54,5 61,2 68,4 76,0 81,6 84,8 87,4 89,7
SGBD total 3.844 4.592 5.437 6.485 7.791 9.373 11.214 13.374 15.892− Crecimiento - 19,5 18,4 19,3 20,1 20,3 19,6 19,3 18,8 19,6
VENTAS MUNDIALES DE SGBD
FUENTE: Estudio IDC
Presentación y Obje1vos
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
02468
10121416
1994 1995 1996 1997 1998Mile
s de
mill
ones
de
dóla
res
Total ingresos por las ventas mundiales de SGBD
Orientado al objeto
Pre-relacionales
Relacionales
FUENTE: PriceWaterhouse 1996
Presentación y Obje1vos
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
Ejemplo de una relación
NOMBRE NACIONALIDAD … ATRIBUTO N
RODRÍGUEZ ESPAÑOLA … XXXX
SÁNCHEZ ESPAÑOLA … XXXX
… … … …
XXXX XXXX … XXXX
Tupla 1
Tupla 2
Tupla M
. . .
Representación de la relación “AUTOR” en forma de tabla de grado N y cardinalidad M.
Estructura del MR Elementos del MR
AUTOR
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
Relación
Es la estructura básica del modelo relacional. Se representa mediante una tabla.
Atributo
Representa las propiedades de la relación. Se representa mediante una columna.
Dominio
Es el conjunto válido de valores que toma un atributo.
Tupla
Es una ocurrencia de la relación. Se representa mediante una fila.
Estructura del MR Elementos del MR
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
Grado
Es el número de atributos de la relación (columnas de la tabla).
Cardinalidad
Es el número de tuplas de la relación (filas de la tabla).
Estructura del MR Elementos del MR
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
Características de una relación:
q No puede haber tuplas duplicadas.
q El orden de las tuplas es irrelevante.
q La tabla es plana, es decir, en el cruce de un atributo y una tupla sólo puede haber un valor.
q El orden de los atributos no es significa4vo.
Estructura del MR Elementos del MR
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
Nombre Nacionalidad Institución
Date, C.J. Codd, E.F. Ceri, S. Saltor, F.
Norteamericana Norteamericana Italiana Española
Relational Institute Relational Institute Politécnico de Milán U.P.C.
Grado 3
Atributos T U P L A S
Cardinalidad 4
AUTOR
xxxxxxxx 25
Española Francesa Italiana Norteamericana Inglesa
U.P.M. U.P.C. Politécnico de Milán Relational Institute
NOMBRES NACIONALIDADES INSTITUCIONES DOMINIOS
Estructura del MR Elementos del MR
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
RELACIÓN TABLA FICHERO
TUPLA ATRIBUTO
GRADO CARDINALIDAD
FILA COLUMNA
Nº DE COLUMNAS Nº DE FILAS
REGISTRO CAMPO
Nº DE CAMPOS Nº DE REGISTROS
~ ~ Comparación de la terminología relación, tabla, fichero
Estructura del MR Elementos del MR
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
Las vistas son “tablas virtuales” que se definen sobre una o más tablas. Las vistas son ventanas sobre tablas “reales” de las que sólo se almacena su definición; no tienen representación directa en el almacenamiento.
Vista:
ALUMNO
Dni Nombre Edad
1 A0001 José 17 2 A0002 María 21 3 A0003 Juan 20
Num_Mat Vista de ALUMNO: V_Alumnos_MayoresEdad: Incluye el número de la matrícula, nombre y edad de los alumnos mayores de edad.
Estructura del MR Elementos del MR
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
Ventajas del uso de vistas: q Mecanismo de seguridad potente y flexible al ocultar partes de la BD a
ojos de ciertos usuario. Los usuarios no son conscientes de la existencia de ningún atributo o tupla no incluida en la vista.
q Acceso a los datos de forma personalizada para las necesidades de los usuarios.
q Simplifican las operaciones complejas sobre relaciones base.
Estructura del MR Elementos del MR
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
Actualización de las vistas: q Todas las actualizaciones efectuadas en una relación base deben verse
inmediatamente reflejadas en todas las vistas que hagan referencia a esa relación base.
q De forma similar, si se actualiza una vista, la relación base subyacente debe reflejar el cambio.
q Sin embargo, existen restricciones en los Ipos de modificaciones que pueden efectuarse mediante vistas:
" Una vista es actualizable si está definida uIlizando una consulta simple en la que esté involucrada una única relación base y que contenga la clave principal o una clave candidata de la relación base.
" Una vista NO es actualizable si implica múlIples relaciones base. " Una vista NO es actualizable si implica operaciones de agregación o de
agrupación.
Estructura del MR Elementos del MR
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
Con nombre Sin nombre (son siempre temporales)
Persistentes Temporales
Base (definición + extensión) Vistas (definición) Instantáneas (definición +datos)
Autónomas (o base temporales) Vistas temporales Instantáneas Temporales
Resultado final de una consulta Resultados intermedios de una consulta
Clases de relación:
Derivadas
Estructura del MR Elementos del MR
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
El Universo del Discurso (UD) de una base de datos relacional está compuesto por un conjunto de dominios {Di} y de relaciones {Ri} definidas sobre los dominios.
Un dominio es un conjunto nominado, finito y homogéneo de valores atómicos. Cada dominio se especifica lógicamente mediante un nombre y un formato, el cual puede definirse por extensión (dando sus posibles valores) o por intensión (mediante un tipo de datos y ciertas restricciones, como un rango de valores).
Un atributo (A) es la interpretación de un determinado dominio en una relación, es decir el “papel” que juega en la misma; si D es el dominio de A se denota:
D = Dom (A).
Una relación definida sobre un conjunto de dominios D1...Dn (no necesariamente distintos) es un subconjunto del producto cartesiano de los n dominios (n es el grado de la relación).
R ⊆ D1x D2x...Dn
Estructura del MR Definición Formal de Relación
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
Un esquema de relación (intensión) se compone de un nombre de relación R, de un conjunto de n atributos {A1} y de un conjunto de n dominios (no necesariamente distintos) {Di}, donde cada atributo será definido sobre un dominio:
R ( A1 : D1, A2 : D2, . . . An : Dn) Una relación r(R) (extensión) es un conjunto de m elementos denominados tuplas {tj}. Cada tuplaj es conjunto de pares (<A1:v1j>,...<Ai:vij>,...<An:vnj>) donde cada Ai es el nombre de un atributo y vij es un valor del correspondiente dominio Di sobre el que está definido el atributo:
r(R) = tj {(<A1:v1j>, . . . <Ai:vij>, . . . <An:vnj>) : vij ∈ Di }
Estructura del MR Definición Formal de Relación
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
ESQUEMA DE RELACIÓN (INTENSIÓN):
AUTOR (Nombre: Nombres, Nacionalidad: Nacionalidades, Institución: Instituciones)
RELACIÓN (EXTENSIÓN, ESTADO u OCURRENCIA):
Nombre Nacionalidad Institución
Date, C.J. Saltor, F. Ceri, S.
Norteamericana Española Italiana
Relational Institute U.P.C. Politécnico de Milán
AUTOR cabecera
de la relación
cuerpo de la relación
Estructura del MR Definición Formal de Relación
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
Clave Candidata
Es el conjunto no vacío de atributos que identifica unívoca y mínimamente cada tupla de una relación.
Clave Primaria (primary key)
Es la clave candidata que elige el usuario para identificar las tuplas de la relación. Se dice que una clave primaria es compuesta cuando está formada por más de un atributo.
Regla de Integridad de Entidad
Ningún atributo principal, es decir, ningún atributo que forme parte de la clave primaria, puede tomar un valor nulo.
Clave Alternativa (unique)
Aquella clave candidata que no ha sido elegida como clave primaria.
Estructura del MR Claves
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
Clave Ajena (foreign key)
La clave ajena de una relación R2 es un conjunto no vacío de atributos cuyos valores han de coincidir con los valores de la clave primaria de una relación R1 (R1 y R2 no son necesariamente distintas).
La clave ajena y la correspondiente clave primaria han de estar definidas sobre los mismos dominios.
La clave ajena sirve para relacionar tablas.
R2 (A1, A2, A3, A4) R1(B1, B2)
Clave Ajena
Estructura del MR Claves
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
LIBRO (código, título, idioma…, nombre-e)
EDITORIAL (nombre-e, dirección, ciudad, país…)
Nombre-e es clave ajena de LIBRO, y referencia a EDITORIAL (nombre-e es clave primaria de EDITORIAL). Esta última tabla (EDITORIAL) se denomina tabla referenciada.
Ejemplo de relación entre tablas 1:N
Estructura del MR Claves
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
Ejemplo de relación entre tablas N:M
AUTOR (Nombre, Nacionalidad, Institución, …) LIBRO (Código, Título, Idioma, Editorial, …) ESCRIBE (Nombre, Cod_Libro) clave ajena clave ajena
Estructura del MR Claves
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
Si una relación R2 tiene un atributo que es clave primaria de la relación R1, entonces los valores de dicho atributo deben concordar con los de la clave primaria de la tabla referenciada o tener valores nulos.
Regla de Integridad Referencial
Ejemplo:
Código Título Idioma Nombre_e
001 Bases deDatos
Español Ra-ma
002 DataBase
Inglés
003 Diseño deBases deDatos
Español Ra-ma
LIBRO Nombre_e Dirección Ciudad País
Ra-ma Pez, 20 Madrid España
Addison-Wesley
24 Lennon London UK
Paraninfo Entenza, 5 Barcelona España
EDITORIAL
Estructura del MR Claves
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
Restricciones Inherentes
• Derivadas de la definición de relación:
- No hay dos tuplas iguales (obligatoriedad de la clave primaria)
- El orden de las tuplas no es significativo
- El orden de los atributos no es significativo
- Cada atributo sólo puede tomar un único valor del dominio sobre el que está definido, no admitiéndose por tanto los grupos repetitivos. Se dice que una tabla que cumple esta condición está normalizada (o también que está en primera forma normal).
• Regla de Integridad de Entidad (ningún atributo que forme parte de la clave primaria, puede tomar un valor nulo).
• Regla de Integridad Referencial (si una relación R2 tiene un atributo que es clave primaria de la relación R1, entonces los valores de dicho atributo deben concordar con los de la clave primaria o tener valores nulos).
Estructura del MR Restricciones
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
Nombre Nacionalidad Institucion
Date, C.J. Codd, E.F. Ceri, S. Saltor, F.
Norteamericana Norteamericana Italiana Española
Relational Institute Relational Institute Politécnico de Milan U.P.C.
Idiomas
Inglés, Español Inglés Italiano, Inglés Español, Catalán
AUTOR1
Nombre Nacionalidad Institucion
Date, C.J. Date, C.J. Codd, E.F. Ceri, S. Ceri, S. Saltor, F. Saltor, F.
Norteamericana Norteamericana Norteamericana Italiana Italiana Española Española
Relational Institute Relational Institute Relational Institute Politécnico de Milan Politécnico de Milan U.P.C. U.P.C.
Idioma
Inglés Español Inglés Italiano Inglés Español Catalán
AUTOR2
Estructura del MR Restricciones
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
Restricciones Semánticas
• Clave primaria (PRIMARY KEY). Permite declarar un atributo o un conjunto de atributos como clave primaria de una relación por lo que sus valores no se podrán repetir ni se admitirán los nulos (o valores “ausentes”).
• Unicidad (UNIQUE). Mediante la cual se indica que los valores de un conjunto de atributos (uno o más) no pueden repetirse en una relación. Esta restricción permite la definición de claves alternativas.
• Obligatoriedad (NOT NULL), de uno ó mas atributos, con lo que se indica que el conjunto de atributos no admite valores nulos.
• Integridad referencial (FOREIGN KEY). Si una relación R2 (relación que referencia) tiene un descriptor que es una clave candidata de la relación R1 (relación referenciada), todo valor de dicho descriptor debe, bien concordar con un valor de la clave candidata referenciada de R1, bien ser nulo. El descriptor es, por tanto, una clave ajena de la relación R2. Las relaciones R1 y R2 no son necesariamente distintas. Además, cabe destacar que la clave ajena puede ser también parte (o la totalidad) de la clave primaria de R2.
Estructura del MR Restricciones
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
CREATE TABLE editorial ( nombre_e CHAR(20) PRIMARY KEY, dirección CHAR(50) NOT NULL, ciudad CHAR (15), país CHAR(15));
CREATE TABLE libro ( código CHAR(3), titulo CHAR (50) UNIQUE, idioma CHAR(25), nombre_e CHAR(20), PRIMARY KEY (código), FOREIGN KEY (nombre_e) REFERENCES editorial ON DELETE SET NULL ON UPDATE CASCADE);
Ejemplo:
Estructura del MR Restricciones
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
• NO ACTION: rechazar la operación de borrado o actualización.
• CASCADE: propagar la modificación o borrar las tuplas de la tabla que referencia.
• SET NULL: poner a valor nulo en la Clave Ajena de la tabla que referencia.
• SET DEFAULT: poner valor por defecto en la Clave Ajena de la tabla que referencia.
Opciones de Borrado y Actualización en la Clave Ajena
Estructura del MR Restricciones
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
PROGRAMA ( Cód_Programa, Nombre, Departamento )
ESTUDIANTE ( Cód_Estudiante, Nombre, Apellidos, DNI, … )
BECA ( Cód_Beca, Nombre, Requisitos, … )
CURSO_DOCTORADO ( Cód_Curso, Nombre, N_Horas, Cód_Programa, F_ Com)Clave Ajena Modificación: Cascada Borrado: puesta a nulos
SOLICITA ( Cod_Estudiante, Cód_Beca,)Clave Ajena Modificación: Cascada Borrado: Cascada
Clave Ajena Modificación: NO ACTION Borrado: NO ACTION
SE_MATRICULA ( Cód_Estudiante, Cod_Curso )Clave Ajena Modificación: Cascada Borrado: Cascada
Clave Ajena Modificación: Cascada Borrado: Cascada
CONCEDE (Cód_Estudiante, Cód_Beca)
Ejemplo:
Estructura del MR Restricciones
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
• Verificación (CHECK). Comprueba, en toda operación de actualización, si el predicado es cierto o falso y, en el segundo caso, rechaza la operación. La restricción de verificación se define sobre un único elemento (dominio, relación) y puede o no tener nombre.
• Aserción (ASSERTION). Actúa de forma idéntica a la anterior, pero se diferencia de ella en que puede afectar a varios elementos (por ejemplo, a dos relaciones distintas) y su definición, por tanto, no va unida a la de un determinado elemento por lo que siempre ha de tener un nombre, ya que la aserción es un elemento más del esquema que tiene vida por sí mismo.
• Disparador (“trigger”). Restricciones en las que el usuario pueda especificar libremente la respuesta (acción) ante una determinada condición. Así como las anteriores reglas de integridad son declarativas, los disparadores son procedimentales, siendo preciso que el usuario escriba el procedimiento que ha de aplicarse en caso de que se cumpla la condición.
Otras Restricciones Semánticas
Estructura del MR Restricciones
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
SQL - Manipulación
VISTA 1 VISTA 2 VISTA m
TABLA BASE TB 1
TABLA BASE TB 2
TABLA BASE TB p
RELACIONAL
DATOS ALMACENADOS (Registros de las tablas base, índices, agrupamientos, etc.)
EXTERNO CREATE VIEW + sentencia de manipulación (SELECT) CONCEPTUAL (CREATE TABLE, CREATE DOMAIN, CREATE ASSERTION …) INTERNO (CREATE INDEX, CREATE PARTITION, CREATE CLUSTER, …)
Independen- cia lógica
Independen- cia física
…...
N I V E L L O G I C O
N I V E L F I S I C O
El MR y la Arquitectura ANSI
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
ANS I RELACIONAL
LOGICO
FISICO
SQL
PRODUCTOS
Nivel Externo Vistas Relaciones Base
Nivel Conceptual Relaciones Base
Nivel Interno Datos Almacenados - Relaciones base almacenadas - Indices - Punteros - Direcciones de página - ...
El MR y la Arquitectura ANSI
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
Valor nulo: Señal utilizada para representar información desconocida, inaplicable, inexistente, no
válida, no proporcionada, indefinida, etc.
Necesidad de los valores nulos en BD:
• Crear tuplas (filas) con ciertos atributos desconocidos en ese momento, p.e. el año de edición de un libro.
• Añadir un nuevo atributo a una relación existente; atributo que, en el momento de añadirse, no tendría ningún valor para las tuplas de la relación.
• Atributos inaplicables a ciertas tuplas, por ejemplo, la editorial para un artículo (ya que un artículo no tiene editorial) o la profesión de un menor.
Los Valores Nulos y la Lógica Trivaluada
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
El tratamiento de valores nulos exige definir:
• operaciones de comparación • operaciones aritméticas • operaciones algebraicas • funciones de agregación
Tablas de Verdad de la Lógica Trivaluada:
Los Valores Nulos y la Lógica Trivaluada
NOT A A B A AND B A OR B
F T T T T
F T F F T
F T N N T
T F F F F
T F N F N
N N N N N
T: True F: False N: Null
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
Las 12 Reglas de Codd
Codd definió un conjunto de reglas que un SGBD debe satisfacer para que sea considerado relacional en su artículo titulado: “Is your DBMS really relational” (Codd, 1985 en ComputerWorld). ð Se denominan las 12 Reglas de Codd, aunque en realidad definió 13 reglas para considerar un sistema relacional (Regla 0- Regla 12).
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
Regla 1.- Representación de la información:
Toda información almacenada en una base de datos relacional debe representarse explícitamente a nivel lógico, y de manera única, por medio de valores en tablas. Podríamos decir que éste es el principio básico del modelo relacional.
Las 12 Reglas de Codd
Tabla
A1 A2 A3 A4
Los nombres de las tablas, nombres de los atributos y toda la información necesaria para el funcionamiento de la BD se representa mediante tablas ð Catálogo del sistema es una BD relacional
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
Regla 2.- Acceso garantizado:
Todo dato debe ser accesible mediante una combinación de un nombre de tabla, un valor de su clave y el nombre de una columna. Es una forma de insistir en la obligatoriedad de la clave primaria.
Las 12 Reglas de Codd
ALUMNO
Dni Nombre Edad
1 José 18 2 María 21 3 Juan 20
¿Nombre de ALUMNO
Con DNI =2?
María
En una BD Relacional los datos NO se referencian por su posición física.
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
Regla 3.- Tratamiento sistemático de valores nulos:
Los valores nulos, información desconocida o inaplicable, han de ser tratados sistemáticamente por el sistema, el cual ha de ofrecer las facilidades necesarias para su tratamiento.
Las 12 Reglas de Codd
ALUMNO
Dni Nombre Edad
1 José 18 2 NULL 21 3 Juan NULL
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
Regla 4.- Catálogo activo en línea basado en el modelo relacional:
La representación de la metainformación (descripción de la base de datos) debe ser igual a la de los otros datos y su acceso debe poder realizarse por medio del mismo lenguaje relacional que se utiliza para los demás datos; es decir, el modelo de datos para la metainformación debe ser también el relacional.
Las 12 Reglas de Codd
En un SGBD Relacional hay dos tipos de tablas: • Tablas de usuario con datos • Tablas del sistema que contienen datos que describen la estructura de la BD ð Catálogo
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
Regla 5.- Sublenguaje de datos completo:
Debe existir un lenguaje que permita un completo manejo de la base de datos (definición de datos, definición de vistas, manipulación de datos, restricciones de integridad, autorizaciones y gestión de transacciones).
Las 12 Reglas de Codd
ð El lenguaje SQL aporta todas estas funciones.
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
Regla 6.- Actualización de vistas:
Toda vista teóricamente actualizable debe poder ser actualizada por el sistema.
Las 12 Reglas de Codd
ð Esta regla obliga al SGBD a ser capaz de actualizar cualquier vista que se haya definido en el sistema y que cumpla con las condiciones teóricas que hagan posible la actualización de datos a través de ella.
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
Regla 7.- Inserciones, modificaciones y eliminaciones de alto nivel:
Todas las operaciones de manipulación de datos (consulta, inserción, modificación y borrado) deben operar sobre conjuntos de filas (lenguaje no navegacional).
Los sistemas existentes hasta el momento en el que surge el modelo relacional actuaban registro a registro obligando al programador de una base de datos a navegar por la misma.
Las 12 Reglas de Codd
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
Regla 8.- Independencia física de los datos:
El acceso lógico a los datos debe mantenerse incluso cuando cambien los métodos de acceso o la forma de almacenamiento.
ð Los programas de las aplicaciones y las operaciones sobre la BD deben mantenerse inalterados desde el punto de vista lógico, aunque se produzcan cambios en los mecanismos de almacenamiento (p.e. ubicación física de los ficheros de la BD ) y acceso de la BD (p.e. índices).
Las 12 Reglas de Codd
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
Regla 9.- Independencia lógica de los datos:
Los programas de aplicación no deben verse afectados por cambios realizados en las tablas que estén permitidos teóricamente y que preserven la información.
ð No habrá que modificar los programas de las aplicaciones aunque se realicen cambios sobre las tablas, siempre que esos cambios mantengan la información que en ellas hubiese.
Las 12 Reglas de Codd
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
Regla 10.- Independencia de la integridad:
Las reglas de integridad de una base de datos deben ser definibles por medio del sublenguaje de datos relacional y habrán de almacenarse en el catálogo de la base de datos (metabase), no en los programas de aplicación.
Las 12 Reglas de Codd
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
Regla 11.- Independencia de la distribución:
Debe existir un sublenguaje de datos que pueda soportar bases de datos distribuidas sin alterar los programas de aplicación cuando se distribuyan los datos por primera vez o se redistribuyan éstos posteriormente.
ð Un programa de aplicación no debe notar la diferencia entre trabajar sobre la BD cuando esta se encuentra centralizada en una máquina y cuando los datos se distribuyen entre varias máquinas. El sistema debe ser responsable de presentar los datos al usuario final como si estuvieran en una única máquina.
PERO: Para que un sistema sea relacional no tiene obligatoriamente que dar soporte a las BD distribuidas.
Las 12 Reglas de Codd
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
Regla 12.- Regla de la no subversión:
Si un SGBD soporta un lenguaje de bajo nivel que permite el acceso fila a fila, éste no puede utilizarse para saltarse las reglas de integridad expresadas por medio del lenguaje de más alto nivel.
ð El SGBD debe controlar todos los accesos a la BD de forma que la integridad de la BD no pueda verse comprometida sin conocimiento del usuarios y el administrador de la BD.
Las 12 Reglas de Codd
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
Regla 0.- Regla básica:
Cualquier sistema que se anuncie como sistema gestor de bases de datos relacionales debe ser capaz de gestionar por completo las BD utilizando sus capacidades relacionales.
ð El SGBD Relacional NO debe recurrir a operaciones NO relacionales para completar sus capacidades de gestión de datos (definición y manipulación).
Las 12 Reglas de Codd
Diseño de Bases de Datos y Seguridad de la Información -‐ 2010 www.kybele.urjc.es
ü Tecnología y Diseño de Bases de Datos M.Piattini, E. Marcos, C.Calero y B. Vela Ed.: RA-MA, 2006 Octubre Parte II, capítulo 6
ü Fundamentos y Modelos de Bases de Datos A. de Miguel y M. Piattini Ed.: RA-MA, 1997 Capítulo 5 (Pág. 123-166)
ü Sistemas de Bases de Datos T. M. Connolly y C. E. Begg Ed.: Addison Wesley, Cuarta Edición, 2001 Parte II , capítulo 3 (Pág. 61-78)
ü Introducción a las Bases de Datos. El Modelo Relacional O. Pons et al. Ed.: Thomson, 2005 Capítulo 5 (Pág. 141-159)
ü Introducción a los Sistemas de Bases de Datos C. J. Date Ed.: Prentice Hall, Séptima Edición, 2001 Parte II (Pág. 109-149)
ü Diseño de Bases de Datos. Problemas Resueltos. A. de Miguel et al.
Ed.: RA-MA, 2001
BibliograLa