Reglas De Codd PDF

Title Reglas De Codd
Author Jorge Gerardo López Ibarra
Course Fundamentos de Bases de Datos
Institution Universidad Nacional Autónoma de México
Pages 11
File Size 847.7 KB
File Type PDF
Total Downloads 37
Total Views 171

Summary

Reglas de Codd para el análisis del diseño de bases de datos...


Description

UNIV NIV E R S I DA NA C I O NA AU T Ó NO DAD D NA NAL L AU NOM M A D E MÉ MÉX X I CO Dirección Ge General neral de Cómp Cómputo uto y de Tecnologí Tecnologías as de Información y Comunicación

Reglas de Codd

CURSOS EN LÍNEA

LIDIA LORELÍ ZAMORA NUNFIO

Conceptos asociados a las bases de datos

Lidia Lorelí Zamora Nunfio

Reglas de Codd Como se ha visto anteriormente, el modelo relacional surge a finales de los años setentas y ya para los ochentas tuvo su mayor auge. Es ahí, en los ochentas donde se empezaron a desarrollar muchos manejadores de bases de datos (DBMS, Data Base Management System) que sostenían ser “relacionales”, esto es que implementaban bases de datos relacionales. Lo cierto es que no respetaban muchas características de dicho modelo, como son llaves primarias, valores nulos, entre otras características. Por lo anterior, recordemos que fue Codd quien sentó las bases del modelo relacional. En 1984 publicó las llamadas “12 reglas de Codd”, las cuales tenían como objetivo el establecer lineamientos a los cuales deberán sujetarse de aquí en adelante los sistemas administradores de bases de datos que sean relacionales. Y es por ello que se dice que, mientras más reglas cumplan un manejador, más se considerará relacional.

Figura 1. Edgar F. Codd (19/08/1923 – 18/04/2003)

Las doce reglas de Codd Algunos autores manejan 13 reglas, porque cuentan a la Regla 0 como parte de las reglas, pero esta Regla 0 lo único que establece es que se cumplan las siguientes doce reglas que le siguen. Así que, a continuación, se detallarán cada una de estas reglas.

Regla de la información “All information in a relational Data Base is represented explicitly at the logical level and in exactly one way by values in tables” Toda la información contenida en una base de datos relacional será representará a nivel lógico exactamente de una manera: con valores dentro de una tabla. Esto es, que todo se verá como tablas y simplemente como tablas, incluido el diccionario de datos (metadatos).

Dirección General de Cómputo y de Tecnologías de Informa Información ción y Comuni Comunicación cación

1

Conceptos asociados a las bases de datos

Lidia Lorelí Zamora Nunfio

Figura 2. Regla de la información

Regla del acceso garantizado “Each and every datum (atomic value) in a relational Data Base is guaranteed to be logically accessible by resorting to a combination of table name, primary key value and column name” Todos los valores de una tabla deben de poder ser accedidos para su recuperación en cualquier momento. Esto se logra gracias a la combinación del nombre de la tabla, nombre del atributo y valor de la llave primaria, para acceder a dicho valor. Esto es, si quiero conocer la edad de Ana (y sólo la de Ana); tendré que dar el nombre de la tabla empleado, el nombre del atributo al que quiero acceder, en este caso edad, y el valor de la llave primaria que lo contiene no_emp = 3

Figura 3. Regla del acceso garantizado.

Regla del tratamiento sistemático del valor nulo “Null values (distinct from the empty character string or string of blank characters and distinct from zero or any other number) are supported in fully relational DBMS for representing missing information and inapplicable information in a systematic way, independent of data type” En muchas ocasiones desconocemos el valor que toma un campo, razón por la cual se debe de manejar el concepto de valor nulo. Un valor nulo es, un valor que no aplica o que se desconoce, por lo tanto, cuando uno está capturando, simplemente se omite el valor, esto es, introducir nada Dirección General de Cómputo y de Tecnologías de Informa Información ción y Comuni Comunicación cación

2

Conceptos asociados a las bases de datos

Lidia Lorelí Zamora Nunfio

dentro del campo significa que hay un nulo insertado. El nulo no puede ser un espacio en blanco o un cero, ya que estos aunque representan nada, es un carácter que se refleja en el código ASCII y por lo tanto existe como valor. Supongamos que no sabemos la edad de Ernesto ni de Anabel, no las podemos inventar, pero tampoco poner un 0. Por lo tanto omitimos el valor y queda almacenado un nulo.

Figura 4. Regla del tratamiento sistemático del valor nulo.

Ahora bien, esta regla con respecto al valor nulo nos dice que se debe poder hacer un tratamiento sistemático, esto es, puedo hacer operaciones como por ejemplo el promedio de las edades, y el manejador deberá interpretar el nulo como si no existiera, esto es, hacer la operación:

(20 + 25 + 25) / 3 = 23.333333 Estas operaciones, así como la búsqueda de los que tienen nulos y las tablas de verdad es lo que denominamos, tratamiento sistemático del valor nulo.

Regla del catálogo dinámico basado en línea “The Data Base description is represented at the logical level in the same way as ordinary data, so that authorized users can apply the same relational language to its interrogation as they apply to the regular data” La descripción de la base de datos se representa a nivel lógico del mismo modo que los datos ordinarios, de modo que los usuarios autorizados puedan aplicar a su interrogación el mismo lenguaje relacional que aplican a los datos regulares. Recordando la Regla 1, todo a nivel lógico se ve como tablas y simplemente como tablas, es por ello que inclusive la descripción de la base de datos (diccionario de datos) debe ser visto a nivel lógico como tablas como los datos normales. Y es por ello que se podrá aplicar el mismo lenguaje relacional para consultar lo que hay en el contenido. Además de que siempre debe de estar disponible en cualquier momento que se le solicite.

Dirección General de Cómputo y de Tecnologías de Informa Información ción y Comuni Comunicación cación

3

Conceptos asociados a las bases de datos

Lidia Lorelí Zamora Nunfio

En otras palabras, la base de datos debe contener ciertas tablas de sistema cuyas columnas describan la estructura de la propia base de datos.

Figura 5. Regla del catálogo dinámico basado en línea1

Regla del sublenguaje de datos completo “A relational system may support several languages and various modes of terminal use. However, there must be at least one language whose statements are expressible, per some well-defined syntax, as character strings and whose ability to support all of the following is comprehensible: a)

Data definition

b)

View definition

c)

Data manipulation (interactive and by program)

d)

Integrity constraints

e)

Authorization

f)

Transaction boundaries (begin, commit, and rollback).”

En esta regla se expresa que debe de existir un sublenguaje de datos completo que logre la manipulación de la base de datos, cuya sintaxis sea la misma en cualquiera de los manejadores que lo utilicen con el fin de homogenizar las instrucciones que se generen dentro de la base de datos. A este sublenguaje se le conoce como SQL (Structured Query Lenguaje) que es el lenguaje de consulta estándar para cualquier manejador de base de datos.

1

Sysusers es una tabla del sistema (diccionario de datos) de SQL Server y Sybase que contiene la información de los usuarios existentes. Dirección General de Cómputo y de Tecnologías de Informa Información ción y Comuni Comunicación cación

4

Conceptos asociados a las bases de datos

Lidia Lorelí Zamora Nunfio

Figura 6. Ejemplo de código SQL

Regla de la actualización de vistas “All view that are theoretically updatable are also updatable by the system” En una base de datos, existen unos objetos llamados vistas que deben de tener la característica de ser teóricamente actualizable por el sistema. Una vista es un objeto que permite ver parcialmente a una tabla, ya sea por cuestiones de seguridad o por querer guardar una consulta concurrente a la base de datos sin que nos ocupe espacio en memoria. Estas vistas, no importando las modificaciones que se le hagan a los datos originales, tendrán que ser actualizables por el sistema y no por el usuario. Esto es que los datos se vean siempre actualizados dentro de la vista.

Figura 7. Regla de la actualización de vistas.

Dirección General de Cómputo y de Tecnologías de Informa Información ción y Comuni Comunicación cación

5

Conceptos asociados a las bases de datos

Lidia Lorelí Zamora Nunfio

Regla de inserción, actualización y eliminación de alto nivel “The capability of handling a base relation or a derived relation as a single operand applies not only to the retrieval of data but also to the insertion, update and deletion of data” El manejador de base de datos debe de ser capaz de permitir que en una sola operación (instrucción) se pueda afectar a más de un registro de una o más tablas. Esto es, que puedo insertar, actualizar o eliminar por conjunto de registros en una misma operación.

Figura 8. En este caso se eliminaron TODOS los que tuvieran 25 años de edad.

Regla de la independencia física de datos “Application program and terminal activity remain logically unimpaired whenever any changes are made in either storage representations or access methods” Las bases de datos deben de contemplar la independencia física de los datos, esto es, que los medios de almacenamiento en los cuales se lleva a cabo la base, al cambiarse no debe de afectar la estructura lógica de la base de datos. Muchas veces sucede que se necesita cambiar los dispositivos de almacenamiento en el que están las bases de datos, razón por la cual, la base de datos no puede depender del dispositivo con el que fue generado. Disco Duro 1

Disco Duro 2

Figura 9. Regla de la independencia física de los datos.

Dirección General de Cómputo y de Tecnologías de Informa Información ción y Comuni Comunicación cación

6

Conceptos asociados a las bases de datos

Lidia Lorelí Zamora Nunfio

En el ejemplo anterior dos bases de datos crecieron más, razón por la cual se cambiaron de disco duro, pero eso no afectó a los programas de aplicación que acceden a él ni en la actividad de terminales que acceden.

Regla de la independencia lógica de datos “Application program and terminal activities remain logically unimpaired when information preserving changes of any kind that theoretically permit unimpairment are made to the base tables.” Las bases de datos deben de contemplar la independencia lógica de datos, esto es, que los programas de aplicación con las que se genera una base de datos deben de permanecer inalteradas cuando se modifique alguna tabla base de la estructura lógica de ella. Esto es, cada elemento de una base de datos, incluidas las tablas base (principales) tendrán la posibilidad de ser actualizables. Un ejemplo de actualización sería borrar un atributo de una tabla o agregarle un atributo, sin por que por ello se dañe lo ya existente en la base de datos.

Figura 10. La estructura de la tabla no se va a ver afectada por borrar o agregar un atributo.

Dirección General de Cómputo y de Tecnologías de Informa Información ción y Comuni Comunicación cación

7

Conceptos asociados a las bases de datos

Lidia Lorelí Zamora Nunfio

Regla de la independencia de integridad “Integrity constraints specific to a particular relational Data Base must be definable the relational data sublanguage and storable in the catalog, not in the applications programs.” Ya hemos hablado del concepto de integridad, en este caso, la regla específica que esta integridad debe de ser definible desde la base de datos gracias al sublenguaje de datos que hemos hablado en la Regla 5. Esto es, no dejar que los programas externos implementen este tipo de reglas del negocio, sino más bien encargar la tarea al sublenguaje de datos de que la realice.

Figura 11. Regla de la independencia de integridad.

Regla de la independencia de distribución “A relational DBMS has distribution independence.” Un manejador de base de datos relacional, tiene que contemplar la utilidad de poder particionar una misma base de datos en diferentes dispositivos de almacenamiento físicos, esto es, debe de permitir que el usuario de manera transparente vea una base de datos como una sola, independientemente de que esté fraccionada en diferentes partes físicas. Distribuir una base de datos es el concepto aplicable a aquella base de datos que está fragmentada en por lo menos dos partes en dispositivos físicos diferentes.

Dirección General de Cómputo y de Tecnologías de Informa Información ción y Comuni Comunicación cación

8

Conceptos asociados a las bases de datos

Lidia Lorelí Zamora Nunfio

Figura 12. Base de datos que está fragmentada en por lo menos dos partes en dispositivos físicos diferentes.

En este ejemplo, la base de datos está fragmentada en dos partes, en dos discos duros diferentes, por lo tanto, se entiende que el usuario cuando la consulte tendrá la creencia de que está almacenada en un solo lugar, ya que esto no afectará el desempeño de la BD.

Figura 13. Es como estar almacenada en un sólo lugar.2

Regla de la no subversión “If a relational system has a low level language (single record at a time), that low level cannot be used to subvert or bypass the integrity rules and constraints expressed in the higher level relational language.” Un manejador de base de datos relacional, puede tener un lenguaje de bajo nivel, esto es, que afecte a un sólo registro a la vez; y al hacerlo, este lenguaje no podrá subvenir las reglas de integridad y/o restricciones antes establecidas en un lenguaje relacional de alto nivel. Un lenguaje de alto nivel es aquel que le da un tratamiento particular a cada tupla, esto es, que hay objetos como el cursor que les permite ir uno por uno sobre los registros, pero al hacerlo, esto no tendrá que ir en contra de las reglas ya establecidas con un lenguaje que maneje un conjunto de registros de una relación.

2

Imagen tomada de: icon-icons.com Dirección General de Cómputo y de Tecnologías de Informa Información ción y Comuni Comunicación cación

9

Conceptos asociados a las bases de datos

Lidia Lorelí Zamora Nunfio

Figura 14. Regla de la no subversión

Dirección General de Cómputo y de Tecnologías de Informa Información ción y Comuni Comunicación cación

10...


Similar Free PDFs