Unidad III (antes Unidad 4)

Slides:



Advertisements
Presentaciones similares
SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR
Advertisements

EL MODELO RELACIONAL Edgar Codd, 1970: Artículo → “A Relational Model of Data for Large Shared Data Banks”. Basado en teoría de conjuntos. Operaciones.
Álgebra 2010 Clase N° 2 Conjuntos numéricos II
IBD Clase 13.
IBD Clase 14.
Los números del 0 al cero uno dos tres cuatro cinco 6 7 8
1 LA UTILIZACION DE LAS TIC EN LAS MICROEMPRESAS GALLEGAS. AÑO mayo 2005.
1 LA UTILIZACION DE LAS TIC EN LAS PYMES GALLEGAS AÑO de Junio de 2005.
AYUDA A LA FUNCIÓN DOCENTE Internet
TEMA 2 MÚLTIPLOS Y DIVISORES
02- Plan Organización Docente v.2 Noviembre 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
02- PLAN DOCENTE Febrero 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
01- OFERTA FORMATIVA v.2 Noviembre 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
Aladdín-respuestas 1.Vivía 2.Era 3.Amaba 4.Quería 5.Gustaban 6.Se sentía 7.Salía 8.Tenía 9.Decidió 10.escapó 11. Se vistió 12. Conoció 13. Vio 14. Pensó
Respuestas Buscando a Nemo.
integridad referencial
Álgebra 2010 Clase N° 1 Conjuntos numéricos I
Rocío Contreras Águila Primer Semestre 2010
CLASE 3 SOFTWARE DEL MICROPROCESADOR
Montículos Daniel González Pérez Cristina Sánchez Aragón
Distribuciones de probabilidad bidimensionales o conjuntas
UPC Tema: ESPACIO VECTORIAL Rn
TELEFONÍA IP.
Teórico: Modelo Relacional
Parte 3. Descripción del código de una función 1.
TEORÍA DE CONJUNTOS.
FUNCIONES DE UNA VARIABLE REAL
MODELO RELACIONAL.
¿QUÉ SON LAS BASES DE DATOS?
DISEÑO Y GESTIÓN DE BASES DE DATOS Luciano H. Tamargo Depto. de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur, Bahía Blanca INTRODUCCIÓN.
1 PROYECTO DE PRESUPUESTO DE EGRESOS DE LA FEDERACION 2002 COORDINACIÓN DE POLITICA ECONOMICA GP-PRD.
Modelo de Evaluación Institucional
INTELIGENCIA ARTIFICIAL
Indicadores CNEP Escuela
Ecuaciones Cuadráticas
Estadística Computacional I
Maestría en Bioinformática Bases de Datos y Sistemas de Información Fundamentos de Matemática Ing. Alfonso Vicente, PMP
Teórico: Algebra Relacional
¡Primero mira fijo a la bruja!
MODELOS LÓGICOS : Modelo Relacional
Fundamentos de Lógica Difusa (Fuzzy)
¿Qué es un conjunto? Un conjunto es una colección de objetos considerada como un todo. Los objetos de un conjunto son llamados elementos o miembros del.
CONSTRUCCIONES - 2 Construcciones, divisiones, transposiciones, ... con palillos, cerillas, monedas, triángulos, cuadrados, trapecios, polígonos, etc.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
ALGEBRA RELACIONAL.
MODELO RELACIONAL.
Base de Datos Relacional.
UNIDAD II Modelo de Datos.
CONSTRUCCIONES - 2 Construcciones, divisiones, transposiciones, ... con palillos, cerillas, monedas, triángulos, cuadrados, trapecios, polígonos, etc.
MODELO RELACIONAL.
REGLAS DE LOS SIGNOS.
Tema 8 : Sistemas relacionales Resumen Sobre el modelo relacional
INTEGRANTES ALEXIS MENDOZA ALDAIR ARRIETA CARLOS PASTOR LORENA RODRIGUEZ ANTHONY JIMENEZ.
SUCESIONES Y PROGRESIONES.
Estructuras de control
Herramienta FRAX Expositor: Boris Inturias.
UNIDAD I Conceptos Básicos.
BASE DE DATOS I Clase # 1.
Lenguajes Formales de Consulta
Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información de forma organizada para que luego podamos encontrar y utilizar.
John Freddy Duitama Muñoz. Facultad de Ingeniería. U. de. A.
Base de Datos I. Es un lenguaje con el que los usuarios solicitan información de la BD. Estos lenguajes suelen ser de nivel superior que el de los lenguajes.
Restricciones de Integridad
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
Presente un cuestionario con los aspectos mas importantes sobre los
Tipos de Datos.
Bases de Datos Modelo Relacional.
Base de Datos I – Ing. Mary Carlota Bernal J.
Creado por Edgar Codd, 1970: Artículo “A Relational Model of Data for Large Shared Data Banks”. EL MODELO RELACIONAL.
Fundamentos de Bases de Datos
Transcripción de la presentación:

Unidad III (antes Unidad 4) Modelo Relacional

Características Generales Posee un sólido fundamento teórico Introducido en 1970 por Codd Basado en una estructura simple y uniforme Describe principios básicos

Características Generales (Cont) Modelo Auto 4 ruedas asientos se traslada etc. Características esenciales, imprescindibles

Características Generales (Cont) autos diferentes de fabricantes diferentes iguales en cuanto a sus propiedades fundamentales

Modelo Relacional Estructura Integridad Manipulación Modelo Relacional

Forma en la que se almacenan los datos Modelo Relacional Estructura Forma en la que se almacenan los datos

colección de relaciones Estructura colección de relaciones base de datos relacional informalmente tablas archivos simples

Estructura Terminología: Tablas tabla columnas filas

Terminología: Archivos Estructura Terminología: Archivos archivo campos registros

Estructura Relación Única estructura del modelo Estructura elemental, no descomponible, atómica

Estructura: Gráficamente dominios Dni Nombres Direcciones Edades atributos tuplas relación

Un dominio D es un conjunto de valores atómicos válidos Estructura: Dominios Un dominio D es un conjunto de valores atómicos válidos Un dominio, en general, tendrá: Nombre Tipo de datos Formato Información adicional (ejemplo, unidad de medida)

Estructura: Dominios Ejemplos: Nros_tel_Argentina Pesos_pacientes Def. lógica: Conjunto de nros. tel. válidos de xxx dígitos de Argentina. Tipo de dato/Formato: Cadena de caracteres de la forma (ddd)dddd, donde cada d representa a un dígito decimal, y los 3 primeros forman el código de área. Pesos_pacientes Def. lógica: Pesos posibles de los pacientes de un médico pediatra, oscilan entre 0,500 y 60 (por ejemplo). Tipo de dato/Formato: Número real entre 0,500 y 60. Unidad de medida: Kilogramo Promedios_notas: Valores posibles de los promedios de notas, cada uno será un valor real entre 0 y 10. Edades_alumnos: Edades posibles de los alumnos de la facultad, oscilan entre 17 y 50 (por ejemplo). Estados_civiles_empleados: Valores posibles para el estado civil de un empleado, a saber: soltero, casado, separado, viudo. Estados_civiles_alumnos: Valor posible para el estado civil de un alumno de una escuela primaria, a saber: soltero.

Estructura: Dominios Complejidad del concepto de dominios: Definir el conjunto de todos los dominios posibles Definir las operaciones unarias y binarias válidas Para cada operación válida definida, identificar el dominio resultante

Estructura: Esquema de Relación / Intensión de una Relación Un esquema de relación se compone de: Nombre Lista de atributos Denotado: R(A1, A2, A3, …, An) nombre grado (Cantidad de atributos)

Estructura: Esquema de Relación / Intensión de una Relación R(A1, A2, A3, …, An) Cada Ai es el nombre del rol que desempeña algún dominio D en el esquema de relación R El dominio D de Ai, se denota dom(Ai) Cada dom(Ai) no son necesariamente distintos Ejemplo de dominios: dom(tel_alum)= Nros_tel_Argentina Donde Nros_tel_Argentina es un dominio previamente definido

Estructura: Relación / Estado de Relación / Extensión Una relación r del esquema de relación R(A1, A2, A3, …, An) denotado por r(R) es un conjunto finito de transformaciones* r = {t1,t2, …, tm} Donde: Cada tupla ti es una transformación de R en D D es la unión de todos los dominios de los atributos Por lo tanto, t[Ai] debe estar en dom(Ai) con 1≤i≤n para cada transformación t en r * Transformación = Función

Estructura: Relación / Estado de Relación / Extensión Donde: Cada t[Ai] es un elemento de dom(Ai) o bien un valor nulo El i-ésimo valor de la tupla t que corresponde al atributo Ai, se denota t[Ai] Entonces, cada tupla se considera como un conjunto de pares (atributo, valor) ti = {(A3,vi3), (A1,vi1), (Am,vim), …} Por lo tanto, puesto que ya vimos que r = {t1,t2, …, tm} entonces r es un conjunto de conjuntos * Transformación = Función

Estructura: Relación / Estado de Relación / Extensión Una relación también puede definirse: r(R) es una relación matemática de grado n sobre los dominios dom(A1), dom(A2), …, dom(An) Subconjunto del producto cartesiano de los dominios de R r(R) c (dom(A1) x dom(A2)x … x dom(An))

Estructura: Relación / Estado de Relación / Extensión r(R) c (dom(A1) x dom(A2)x … x dom(An)) El producto cartesiano corresponde a todas las combinaciones posibles de los valores de los dominios subyacentes El estado actual de la relación r refleja solamente las tuplas válidas que representan un estado específico del mundo real

Estructura: Características de las Relaciones Las tuplas de una relación no están ordenadas Los atributos de una tupla no están ordenados Cada valor en una tupla es un valor atómico No existen tuplas repetidas (clave primaria)

Modelo Relacional Estructura Integridad Manipulación Modelo Relacional

Las restricciones contribuyen a mantenerla Integridad Concepto Integridad: Refiere a la correctitud de los datos Las restricciones contribuyen a mantenerla

Definidas dentro del modelo relacional Integridad Restricciones de integridad Restricciones específicas de una base de datos Restricciones generales aplicables a cualquier base de datos Definidas dentro del modelo relacional

Integridad Las restricciones del modelo relacional son: De dominio De clave De no nulo De integridad de entidades De integridad referencial Relaciones individuales Base de datos (Varias relaciones)

Integridad Restricciones dominio (Sobre relaciones individuales): Especifican que el valor de cada atributo Ai debe ser un valor atómico del dominio dom(Ai )

Integridad Restricciones de clave (Sobre relaciones individuales): Una relación está definida como un conjunto de tuplas No pueden existir tuplas repetidas Siempre existirá un subconjunto de atributos SC que satisfacerá, en todo estado de la relación, para cualquier par de tuplas i j: Ti[SC] ≠ Tj[SC] Toda superclave especifica una restricción de unicidad superclave

Integridad Restricciones de nulo (Sobre relaciones individuales): Para cada atributo se puede especificar si permite o no valores nulos

Restricciones aplicadas a bases de datos Integridad Restricciones aplicadas a bases de datos Un esquema de base de datos relacional S es: Un conjunto de esquemas de relaciones S={R1, R2, …, Rm} Un conjunto de restricciones RI de integridad

Restricciones aplicadas a bases de datos Integridad Restricciones aplicadas a bases de datos Un estado de base de datos relacional BD de S es un conjunto de estados de relaciones BD={r1, r2, …, rm} tal que: Cada ri es un estado de Ri Todo ri satisface las restricciones de integridad especificadas en RI

Integridad Restricción de integridad de entidades Ningún valor de clave primaria (CP) puede contener valores nulos

Contiene la Regla de Integridad Referencial Restricción de integridad referencial Clave foránea (Rest.Int. entre los esquemas de relaciones R1 y R2, no necesariamente distintas ): Un conjunto de atributos CF del esquema de relación R1 es una clave foránea de R1 si satisface: Los atributos de CF tienen el mismo dominio que los atributos de la CP del esquema de relación R2. Todo valor de CF en una tupla ti ocurre como valor de CP en alguna tupla del estado actual de r2 o bien es totalmente nulo. R1 Relación Referenciante R2 Relación Referenciada Contiene la Regla de Integridad Referencial

Integridad Restricción de integridad referencial Clave foránea Relación Referenciante apunta Clave primaria Relación Referenciada

Modelo Relacional Estructura Integridad Manipulación Modelo Relacional

Algebra Relacional Operadores del algebra se pueden clasificar Según la pertenencia a la teoría de conjuntos Según la posibilidad de descomponerlos Según la cantidad de argumentos Tradicionales Especiales Primitivos Derivados Unarios Binarios

Algebra Relacional (Básica) Según la pertenencia a la teoría de conjuntos Según la posibilidad de descomponerlos Según la cantidad de argumentos Tradicionales Unión Intersección Diferencia Producto Cartesiano Especiales Selección Proyección Join División Primitivos Unión Diferencia Producto Cartesiano Selección Proyección Derivados Intersección Join División Unarios Selección Proyección Binarios Unión Diferencia Producto Cartesiano Intersección Join División

Algebra Relacional Todos los operadores satisfacen la propiedad de clausura: Todo operador del álgebra toma como argumento/s esquemas de relaciones y devuelve también un esquema de relación Ninguna expresión del algebra puede generar tuplas repetidas Generar expresiones encadenadas o anidadas

Algebra Relacional Secuencias de operaciones y operador renombrar: Es frecuente necesitar aplicar varios operadores uno tras otro Anidar expresiones Aplicar los operadores de a uno y crear resultados intermedios Nombrar las relaciones intermedias Temp Expresión

Algebra Relacional Secuencias de operaciones: Asignación Donde: No sólo permite darle nombre a una relación sino también cambiar el nombre de sus atributos R2 (nom_nuevo1, nom_nuevo2) R1 Donde: R1 tiene atributos nombre1 y nombre 2 nombre1 y nom_nuevo1 están definidos sobre el mismo dominio idem para nombre2 y nom_nuevo2

Algebra Relacional Operador renombrar No sólo permite renombrar el nombre de la relación sino también el nombre de sus atributos ρS(B1,B2, …, Bn) (R) Renombra la relación R y sus atributos ρS (R) o Renombra únicamente la relación ρ(B1,B2, …, Bn) (R) Renombra sólo los atributos Donde: R es el nombre de la relación original S es el nuevo nombre de la relación B1, B2, …, Bn son los nuevos nombres de los atributos. Si los atributos de R son (A1 ,A2, …, An) en ese orden, entonces cada Ai se renombra como Bi NOTA: En el caso que no necesiten ser renombrados todos los atributos, lo mismo se los debe mencionar a todos, y se colocan los mismos nombres, es decir, los viejos.

Algebra Relacional Operador Función Notación Selección Genera otra relación cuyo esquema es el mismo de R y, en cuanto a la extensión, posee todas las tuplas de R que satisfacen la condición de selección σ<condicion de selección> (R)

Algebra Relacional Operador selección Comentarios: La <condición de selección> es una expresión booleana que puede utilizar los operadores de comparación {<,>,=,≤,≥,≠}. Estos operadores se aplican a atributos cuyos dominios son valores ordenados (numéricos, fechas, cadenas de caracteres). Un ejemplo de dominio no ordenado es COLOR={rojo, verde, amarillo}. Las cláusulas pueden conectarse con operadores booleanos El operador selección es conmutativo: σ<cond1> (σ<cond2> (R)) = σ<cond2> (σ<cond1> (R)) Siempre es posible reemplazar una cascada de selecciones en una sola: σ<cond1> (σ<cond2> (R)) = σ<cond1> and <cond2> (R)

Algebra Relacional Operador Función Notación Comentarios: Proyección Genera otro esquema de relación que contiene solamente los atributos de R especificados en la lista de atributos π<lista de atributos> R Comentarios: La cantidad de tuplas de la relación resultante será menor o igual a la cantidad de tuplas de la relación R. El operador de proyección no es conmutativo.

Algebra Relacional Algunas consideraciones importantes: Relaciones Unión Compatibles o Compatibles con la Unión Dos relaciones, R(A1, A2, …, An) y S(B1, B2, …, Bn), serán unión compatibles si tienen el mismo tipo de tuplas. Es decir, si ambas tienen grado n y si dom(Ai)=dom(Bi) para 1 ≤ i ≤ n. Calificación de Atributos Los atributos de una relación R(A1, A2, …, An) pueden ser calificados colocando el nombre de la relación, luego un punto y por último el nombre del atributo, por ejemplo,R.A2.

Algebra Relacional Operador Función Notación Comentarios: Unión * Genera un esquema de relación que posee el mismo conjunto de atributos de R1 y R2, e incluye las tuplas que pertenecen a R1 o a R2 o a ambas R1 U R2 Comentarios: La cantidad de tuplas de la relación resultante será menor o igual a la cantidad de tuplas de la relación R1 + la cantidad de tuplas de R2. El operador union es conmutativo. * Los argumentos deben ser Unión Compatibles

Algebra Relacional Operador Función Notación Intersección* Genera un esquema de relación que posee el mismo conjunto de atributos de R1 y R2, e incluye las tuplas que pertenecen a R1 y a R2 R1 ∩ R2 Comentarios: El operador intersección es conmutativo. * Los argumentos deben ser Unión Compatibles

Algebra Relacional Operador Función Notación Diferencia * Genera un esquema de relación que posee el mismo conjunto de atributos de R1 y R2, e incluye las tuplas que pertenecen a R1 y no pertenencen a R2 R1 - R2 Comentarios: El operador diferencia no es conmutativo. * Los argumentos deben ser Unión Compatibles

Algebra Relacional Operador Función Notación Producto Cartesiano Genera un esquema de relación que posee la unión de atributos de R1 y R2, y como tuplas todas las combinaciones posibles de las tuplas de R1 y R2 R1 x R2 Comentarios: El operador producto cartesiano es conmutativo.

Algebra Relacional Operador Función Notación Join Genera un esquema de relación que posee la unión de atributos de R1 y R2, (n+m), y como tuplas todas las combinaciones posibles de R1 y R2 que satisfacen la condición de reunión R1 <cond. de reunión> R2 Donde: R1(A1,A2, …, An) R2(B1,B2, …, Bm) Comentarios: La condición de reunión es de la forma <cond> y <cond> y …y <cond>. Donde cada <cond> tiene la forma Ai θ Bj. Ai y Bj pertenecen al mismo dominio y θ es un operador de comparación {=,<,>,≤,≥,≠}. Un join con una condición general como ésta, se denomina θ Join. En particular, cuando la condición de reunión utiliza el operador de comparación =, el join es llamado equijoin.

Algebra Relacional Operador Función Notación Join Externo Derecho Idem anterior pero además posee todas las tuplas de R2 que no tienen valores coincidentes en R1 R1 <cond. de reunión>R2 Donde: R1(A1,A2, …, An) R2(B1,B2, …, Bm) Join Externo Izquierdo Idem anterior pero además posee todas las tuplas de R1 que no tienen valores coincidentes en R2 R1 <cond. de reunión>R2 Join Externo Completo Idem anterior pero además posee todas las tuplas de R1 que no tienen valores coincidentes en R2, y todas las tuplas de R2 que no tienen valores coincidentes en R1

Algebra Relacional Operador Función Notación Natural Join Es equivalente a un equijoin con ciertas diferencias: La condición de reunión es implícita, y es la igualdad sobre los atributos con idénticos nombres en ambas relaciones (R1y R2). Además los atributos coincidentes son mostrados sólo una vez en la relación resultante. R1 * R2 Comentarios: El operador Natural Join es conmutativo. R1 y R2 deben tener uno o más atributos en común.

Algebra Relacional Operador Función Notación Division Genera una relación que posee como atributos, los de R1 que no están en R2 (digamos Z’). Y en cuanto a las tuplas, todos aquellos valores Z’ que están combinados en R1 con todos los valores presentes en R2. R1 ÷ R2 Donde: Si Z son atributos de R1 y S los de R2, entonces S с Z Comentarios: El operador División no es conmutativo.

Algebra Relacional Algunos operadores presentados corresponden a extensiones del algebra básica, ellos son: Join Externo Izquierdo Join Externo Derecho Join Externo Completo Fundamentalmente en esta instancia trabajaremos con el conjunto de operadores básicos. El standard SQL2 posee, entre otros, este tipo de operadores, y en ese contexto trabajaremos con ellos.

Prioridades de operaciones Tienen prioridad las operaciones unarias sobre las binarias Las expresiones del álgebra se evalúan de izquierda a derecha Se pueden utilizar paréntesis para alterar el orden implícito de las expresiones

Modelo Relacional Estructura Integridad Manipulación Modelo Relacional

Reglas de Codd Codd definió 12 reglas que todo sistema relacional debería soportar. Al menos puede considerarse una referecia a partir de la cual, un sistema podrá considerarse "más relacional" en función al cumplimiento de estas reglas.

Regla No. 1 - La Regla de la información Reglas de Codd Regla No. 1 - La Regla de la información Toda la información en un RDBMS está explícitamente representada de una sola manera por valores en una tabla. Toda la información en una base de datos relacional se representa explícitamente en el nivel lógico exactamente de una manera: con valores en tablas. Por tanto los metadatos (diccionario, catálogo) se representan exactamente igual que los datos de usuario. Y puede usarse el mismo lenguaje (ej. SQL) para acceder a los datos y a los metadatos (regla 4)

Regla No. 2 - La regla del acceso garantizado Reglas de Codd Regla No. 2 - La regla del acceso garantizado Cada ítem de datos debe ser lógicamente accesible al ejecutar una búsqueda que combine el nombre de la tabla, su clave primaria, y el nombre de la columna. Dado un nombre de tabla, dado el valor de la clave primaria, y dado el nombre de la columna requerida, deberá encontrarse uno y solamente un valor. Por esta razón la definición de claves primarias para todas las tablas es prácticamente obligatoria.

Regla No. 3 - Tratamiento sistemático de los valores nulos Reglas de Codd Regla No. 3 - Tratamiento sistemático de los valores nulos La información inaplicable o faltante puede ser representada a través de valores nulos. Un RDBMS (Sistema Gestor de Bases de Datos Relacionales) debe ser capaz de soportar el uso de valores nulos en el lugar de columnas cuyos valores sean desconocidos o inaplicables.

Regla No. 4 - La regla de la descripción de la base de datos Reglas de Codd Regla No. 4 - La regla de la descripción de la base de datos La descripción de la base de datos es almacenada de la misma manera que los datos ordinarios, esto es, en tablas y columnas, y debe ser accesible a los usuarios autorizados. La información de tablas, vistas, permisos de acceso de usuarios autorizados, etc, debe ser almacenada exactamente de la misma manera: En tablas. Estas tablas deben ser accesibles igual que todas las tablas, a través de sentencias de SQL (o similar).

Regla No. 5 - La regla del sub-lenguaje Integral Reglas de Codd Regla No. 5 - La regla del sub-lenguaje Integral Debe haber al menos un lenguaje que sea integral para soportar la definición de datos, manipulación de datos, definición de vistas, restricciones de integridad, y control de autorizaciones y transacciones. Esto significa que debe haber por lo menos un lenguaje con una sintaxis bien definida que pueda ser usado para administrar completamente la base de datos.

Regla No. 6 - La regla de la actualización de vistas Reglas de Codd Regla No. 6 - La regla de la actualización de vistas Todas las vistas que son teóricamente actualizables, deben ser actualizables por el sistema mismo. La mayoría de las RDBMS permiten actualizar vistas simples, pero deshabilitan los intentos de actualizar vistas complejas.

Regla No. 7 - La regla de insertar y actualizar Reglas de Codd Regla No. 7 - La regla de insertar y actualizar La capacidad de manejar una base de datos con operandos simples se aplica no sólo para la recuperación o consulta de datos, sino también para la inserción, actualización y borrado de datos. Las cláusulas para leer, escribir, eliminar y agregar registros (SELECT, UPDATE, DELETE e INSERT en SQL) deben estar disponibles y operables, independientemente del tipo de relaciones y restricciones que haya entre las tablas.

Regla No. 8 - La regla de independencia física Reglas de Codd Regla No. 8 - La regla de independencia física El acceso de usuarios a la base de datos a través de terminales o programas de aplicación, debe permanecer consistente lógicamente cuando quiera que haya cambios en los datos almacenados, o sean cambiados los métodos de acceso a los datos. El comportamiento de los programas de aplicación y de la actividad de usuarios vía terminales debería ser predecible basados en la definición lógica de la base de datos, y éste comportamiento debería permanecer inalterado, independientemente de los cambios en la definición física de ésta.

Regla No. 9 - La regla de independencia lógica Reglas de Codd Regla No. 9 - La regla de independencia lógica Los programas de aplicación y las actividades de acceso por terminal deben permanecer lógicamente inalteradas cuando quiera que se hagan cambios (según los permisos asignados) en las tablas de la base de datos. La independencia lógica de los datos especifica que los programas de aplicación y las actividades de terminal deben ser independientes de la estructura lógica, por lo tanto los cambios en la estructura lógica no deben alterar o modificar estos programas de aplicación.

Regla No. 10 - La regla de la independencia de la integridad Reglas de Codd Regla No. 10 - La regla de la independencia de la integridad Todas las restricciones de integridad deben ser definibles en los datos, y almacenables en el catalogo, no en el programa de aplicación.

Regla No. 11 - La regla de la distribución Reglas de Codd Regla No. 11 - La regla de la distribución El sistema debe poseer un lenguaje de datos que pueda soportar que la base de datos esté distribuida físicamente en distintos lugares sin que esto afecte o altere a los programas de aplicación. El soporte para bases de datos distribuidas significa que una colección arbitraria de relaciones, bases de datos corriendo en una mezcla de distintas máquinas y distintos sistemas operativos y que esté conectada por una variedad de redes, pueda funcionar como si estuviera disponible como en una única base de datos en una sola máquina.

Regla No. 12 - Regla de la no-subversión Reglas de Codd Regla No. 12 - Regla de la no-subversión Si el sistema tiene lenguajes de bajo nivel, estos lenguajes de ninguna manera pueden ser usados para violar la integridad de las reglas y restricciones expresadas en un lenguaje de alto nivel (como SQL). Algunos productos solamente construyen una interfaz relacional para sus bases de datos No relacionales, lo que hace posible la subversión (violación) de las restricciones de integridad. Esto no debe ser permitido.

Reglas de Codd Así, estas 12 reglas nos permiten evaluar un motor de base de datos relacional en vista a los items descriptos.