diplomado tics - E-campus :: FCA-UNAM

Anuncio
Desarrollo de Contenido
3. Bases de datos
Historia de las bases de datos1
Los sistemas de bases de datos hicieron su aparición durante la década de los
60´s. Entre lo más relevante tenemos lo siguiente:
 North American Aviation (NAA), desarrolló GUAM (General Update Access
Method), que era un software que contaba con una estructura jerárquica
(forma de árbol)
 IBM se fusiona con NAA para desarrollar lo que más tarde se conocería
como IMS (Information Management System) para el manejo de jerarquías
de registros y así permitir el uso de dispositivos de almacenamiento
secuencial en las cintas magnéticas.
 General Electric crea IDS (Integrated Data Store), el cual era un sistema de
bases de red, desarrollado por dos razones:
o para satisfacer la necesidad de representar complejas relaciones
entre datos.
o para imponer un estándar de bases de datos2.
 En 1970 Codd3, de los laboratorios de investigación de IBM, escribió un
artículo presentando el modelo relacional. Se desarrollan los sistemas
relacionales, y a principios de los ochenta surge System R, de IBM, que se
perfeccionó
para
probar
la
funcionalidad
del
modelo
relacional,
proporcionando una implementación de sus estructuras de datos y sus
operaciones. Esto condujo a dos grandes desarrollos:
1
Historia de los sistemas de bases de datos, se encuentra en
http://www3.uji.es/~mmarques/f47/apun/node6.html
2
La CODASYL (Conference on Data Systems Languages), conformado por representantes del
gobierno y empresarios, tenía como objetivo definir las especificaciones estándar que permitieran
la creación de bases de datos y el manejo de los datos.
3
En 1984 Codd publicaría 12 reglas que determinan la fidelidad de un sistema relacional al modelo
relacional se encuentra en
http://64.233.167.104/search?q=cache:H6RDGyJk8BcJ:petra.euitio.uniovi.es/asignaturas/bas.dat/c
msimple/index.php%3Fdownload%3D12codd.pdf+codd&hl=es&ct=clnk&cd=4&gl=mx
o El lenguaje de consultas estructurado (SQL), que se ha convertido
en el lenguaje estándar de los sistemas relacionales.
o La producción de varios SGBD relacionales, como DB2 y SLQ/DS de
IBM, y ORACLE de ORACLE Corporation.
 En 1976, Chen4 presentó el modelo entidad-relación, que es la técnica más
utilizada en el diseño de bases de datos.
Como respuesta a la creciente complejidad de las aplicaciones que requieren
bases de datos, han surgido dos nuevos modelos: el modelo de datos orientado a
objetos y el modelo relacional extendido.
3.1. Diseño de bases de datos
3.1.1. Conceptos básicos
Manejadores de archivos (campo y registro)
El manejador de archivos, además de consistir en uno de los varios componentes
funcionales de un sistema de base de datos; es el encargado de asignar espacio
en el disco y de las estructuras de datos que se van a emplear para representar la
información almacenada en el disco.
Definición de Bases de Datos
Una base de datos es una colección o depósito de datos integrados, almacenados
en soporte secundario (no volátil) y con redundancia controlada. Los datos, que
han de ser compartidos por diferentes usuarios y aplicaciones, deben mantenerse
independientes de ellos, y su definición (estructura de la base de datos) única y
almacenada junto con los datos, se ha de apoyar en un modelo de datos, el cual
ha de permitir captar las interrelaciones y restricciones existentes en el mundo
real. Los procedimientos de actualización y recuperación, comunes y bien
determinados, facilitarán la seguridad del conjunto de los datos.
4
El modelo entidad-relación de Peter Chen se encuentra en
http://www3.uji.es/~mmarques/f47/apun/node83.html
Definición de Sistema Administrador de Bases de Datos
Un sistema de manejo de base de datos consiste en un conjunto de datos
relacionados entre sí y un grupo de programas para tener acceso a estos.
Los sistemas de base de datos se diseñan para manejar grandes cantidades de
información. El manejo de los datos incluye tanto la definición de las estructuras
para el almacenamiento de la información como los mecanismos para el manejo
de la misma. Además el sistema de base de datos debe cuidar la seguridad de la
información almacenada en la base de datos, tanto contra las caídas del sistema
como contra los intentos de acceso no autorizado.
Elementos
Los elementos de una Base de Datos son:
Datos
Los datos son caracteres que tienen una representación simbólica (numérica,
alfabética, etc.) de un atributo o característica de una entidad. El dato no tiene
valor semántico (sentido) en sí mismo, pero convenientemente tratado
(procesado) se puede utilizar en la realización de cálculos o toma de decisiones.
Campos (Atributos)
Los caracteres se agrupan en campos de datos. Un campo es un elemento de
datos elementales, tales como un nombre, número de empleado, dirección,
estado, etc.
Un campo está caracterizado por su tamaño o longitud y su tipo de datos (cadena
de caracteres, entero, lógico, etc.). Los campos pueden variar en longitud pero en
la mayoría de los lenguajes de programación los campos de longitud variable no
están soportados y se suponen en longitud fija.
Un campo es la unidad mínima de información de un registro.
Registro (Tupla)
Un registro es una colección de campos lógicamente relacionados que pueden ser
tratados como una unidad por algún programa. Los registros pueden ser todos de
longitud fija o de longitud variable.
Archivo (Archivo)
Un archivo es una colección de registros relacionados entre sí con aspectos en
común y organizados para un propósito específico.
Un archivo en una computadora, es una estructura diseñada para contener datos.
Los datos están organizados de tal modo que puedan ser recuperados fácilmente,
actualizados o borrados y almacenados de nuevo en el archivo con todos los
cambios realizados.
Campos
(atributos)
Datos
Elementos de una
base de datos
Registro
(tupla)
Archivo
(archivo)
Figura 3.1. Elementos de una base de datos
Bases de Datos
Una colección de archivos a los que puede accederse por un conjunto de
programas y que contienen todos ellos datos relacionados es lo que constituye
una base de datos.
Modelo
Las bases de datos se pueden clasificar de acuerdo a su modelo de
administración de datos; estos modelos son:
Los datos en el modelo de red se representan por medio de conjuntos de
registros (en el sentido que tiene la palabra en Pascal o PL/1) y las
Modelo de
red5 :
relaciones entre los datos se representan con ligas, que pueden
considerarse como apuntadores. Los registros de la base de datos se
organizan en forma de conjuntos de gráficas arbitrarias.
El modelo jerárquico es similar al modelo de red en cuanto a que los datos
y las relaciones entre los datos se representan por medio de registros y
Modelo
ligas, respectivamente. El modelo jerárquico difiere del de red en que los
Jerárquico 6.
registros están organizados como conjuntos de árboles en vez de gráficas
arbitrarias.
Los datos y las relaciones entre los datos se representan por medio de
Modelo
relacional:
Modelo
entidadrelación:
Modelo de
datos
orientado a
objetos:
5
una serie de tablas, cada una de las cuales tiene varias columnas con
nombres únicos.
Concepción del mundo real en objetos elementales, denominados
entidades, y en la relación existente entre estos.
“Extensión del modelo E-R con los conceptos de la encapsulación, los
métodos (funciones) y la identidad de los objetos”7 .
El modelo solo se aplica a bases de datos antiguas.
Hoy en día, es poca su utilización.
7
Silberschatz,., . Fundamentos de bases de datos,, p. 7.
6
Cuadro 3.1. Modelos de administración de datos
Objetivo de un sistema manejador de base de datos
El objetivo primordial de un sistema de manejo de base de datos es crear un
ambiente en que es posible guardar y recuperar información de la base de datos
en forma conveniente y eficiente.
Además existen distintos objetivos que deben cumplir los sistemas de manejo de
bases de datos:
 Abstracción de la información. Los sistemas de manejo de bases de
datos ahorran a los usuarios detalles acerca del almacenamiento físico de
los datos. Da lo mismo si una base de datos ocupa uno o cientos de
archivos, este hecho se hace transparente al usuario. Así, se definen varios
niveles de abstracción.
 Independencia. La independencia de los datos consiste en la capacidad de
modificar el esquema (físico o lógico) de una base de datos sin tener que
realizar cambios en las aplicaciones que se sirven de ella.
 Redundancia mínima. Un buen diseño de una base de datos logrará evitar
la aparición de información repetida o redundante. De entrada, lo ideal es
lograr una redundancia nula; no obstante, en algunos casos la complejidad
de los cálculos hace necesaria la aparición de redundancias.
 Consistencia. En aquellos casos en los que no se ha logrado esta
redundancia nula, será necesario vigilar que aquella información que
aparece repetida se actualice de forma coherente, es decir, que todos los
datos repetidos se actualicen de forma simultánea.
 Seguridad. La información almacenada en una base de datos puede llegar
a tener un gran valor. Los sistemas de manejo de bases de datos deben
garantizar que esta información se encuentra asegurada frente a usuarios
malintencionados, que intenten leer información privilegiada; frente a
ataques que deseen manipular o destruir la información; o simplemente
ante
las
torpezas
de
algún
usuario
autorizado
pero
despistado.
Normalmente, los sistemas de manejo de bases de datos disponen de un
complejo sistema de permisos a usuarios y grupos de usuarios, que
permiten otorgar diversas categorías de permisos.
 Integridad. Se tratan de adoptar las medidas necesarias para garantizar la
validez de los datos almacenados. Es decir, se trata de proteger los datos
ante fallos de hardware, datos introducidos por usuarios descuidados, o
cualquier
otra
circunstancia
capaz
de
corromper
la
información
almacenada.
 Respaldo y recuperación. Los sistemas de manejo de bases de datos
deben proporcionar una forma eficiente de realizar copias de seguridad de
la información almacenada en ellos, y de restaurar a partir de estas copias
los datos que se hayan podido perder.
 Control de la concurrencia. En la mayoría de entornos, lo más habitual es
que sean muchas las personas que acceden a una base de datos, bien
para recuperar información, bien para almacenarla. Y es también frecuente
que dichos accesos se realicen de forma simultánea. Así pues, un sistema
de manejo de base de datos debe controlar este acceso concurrente a la
información, que podría derivar en inconsistencias.
 Tiempo de respuesta. Lógicamente, es deseable minimizar el tiempo que
el sistema de manejo de base de datos tarda en darnos la información
solicitada y en almacenar los cambios realizados.
3.1.2. Diseño de bases de datos
Uno de los pasos cruciales en la construcción de una aplicación que maneje una
base de datos, es sin duda, el diseño de la base de datos. Si las tablas no son
definidas apropiadamente, podemos tener muchos dolores de cabeza al momento
de ejecutar consultas a la base de datos para tratar de obtener algún tipo de
información.
Los procesos de definición de los requisitos y el diseño conceptual demandan
identificar las exigencias de la información de los usuarios y representar éstos en
un modelo bien definido. Para llevar a cabo esto necesitamos observar
cuidadosamente la naturaleza de las condiciones de los usuarios y el significado
preciso de la representación lógica de los mismos.
Modelo Semántico
Al construir el esquema, los diseñadores descubren la semántica (significado) de
los datos de la empresa: encuentran entidades, atributos y relaciones, este modelo
es el conceptual (también denominado de alto nivel) que facilitan la descripción
global del conjunto de información de la empresa con independencia de la
máquina (tanto del hardware como del SGBD concreto), por lo que sus conceptos
son cercanos al mundo real (entidades, atributos, interrelaciones, etc.); son
modelos de análisis, no de implementación.
En general, los modelos conceptuales, por su nivel de abstracción y riqueza
semántica, constituyen una interfaz útil entre el informático y los usuarios finales
en las primeras etapas del proceso de diseño de bases de datos.
Las características del modelo conceptual son:






No suelen estar implementados en SGBD
Independientes del SGBD
Mayor nivel de abstracción
Mayor nivel capacidad semántica
Más enfocados al diseño de alto nivel (modelado conceptual)
Interfaz usuario/informático
Modelo Lógico8
Los modelos lógicos o convencionales se encuentran soportados por los SGBD y
están orientados a describir los datos a nivel lógico para el SGBD (de ahí que
también reciban el nombre de modelos de bases de datos), por lo que sus
conceptos son propios de cada SGBD (tablas o relaciones en el caso del modelo
Relacional, redes en el Codasyl, árboles en el Jerárquico, etc.)
8
El modelo lógico de las bases de datos, se encuentra en
http://www.programacion.com/bbdd/tutorial/moddatos/6/
Las características del modelo convencional son:







Implementación en SGBD comerciales
Dependen del SGBD
Más próximos a la computadora
Poca capacidad semántica
Más enfocados a la implementación
Interfaz informático/sistema
Nivel de “mediación” entre el nivel externo e interno
Entidad/Relación (E/R)
El modelo Entidad/Interrelación (ME/R), propuesto por Meter P. Chen (1976) y
(1977) presenta el modelo como una vista unificada de los datos, concentrándose
en la estructura lógica y abstracta de los datos, como representación del mundo
real, con independencia de consideraciones de tipo físico.
Como su nombre indica, el ME/R se basa en entidades (cualquier objeto de interés
para el universo descrito) que se interrelacionan o asocian entre sí.
Se pueden distinguir como conceptos básicos de este modelo: las entidades e
interrelaciones (con sus atributos), además de los dominios que en este modelo se
denominan conjuntos de valores
Entidad es “una persona, lugar, cosa, concepto o suceso, real o abstracto, de
interés para la empresa9 ” . Es aquel objeto acerca del cual queremos almacenar
información en la base de datos. Su representación es un rectángulo:
Interrelación es la asociación o correspondencia entre entidades. Se representa:
AUTOR
9
(ANSI 1977)
Escribe
DOCUMENTO
Atributo es cada una de las propiedades o características que tiene un tipo de
entidad o de interrelación. Así, el tipo de entidad autor tiene como atributos el
Nombre, la Nacionalidad, la Fecha nacimiento, la Biografía, etc; y los atributos del
tipo de entidad documento son, entre otros, Titulo y Resumen. El tipo de
interrelación que se escribe entre autor y documento tiene como atributo
Orden_de_Firma.
El conjunto de posibles valores que puede tomar un atributo recibe el nombre de
dominio. El dominio tiene un nombre y una existencia propia con independencia de
cualquier entidad o atributo.
E/R Extendido
El modelo EER (ER extendido) abarca todos los conceptos de modelado del
modelo ER pero además incluye los conceptos de subclase y superclase y los
conceptos relacionados de especialización y generalización, así como el de
categoría que se usa para representar una colección de objetos de diferentes tipos
de entidad. Asociado a estos conceptos está el importante mecanismo de herencia
de atributos y relaciones.
Modelo Físico
El diseño físico de la base de datos es el proceso de elegir estructuras de
almacenamiento y caminos de acceso específicos para que los archivos de la
base de datos tengan un buen rendimiento con las diversas aplicaciones de la
base de datos.
Cada SGBD ofrece varias opciones de organización de archivos y caminos de
acceso, entre ellas diversos tipos de indexación, agrupaciones de registros
relacionados en bloques de disco, enlace de registros relacionados mediante
apuntadores y varios tipos de técnicas de dispersión.
Generalmente se utilizan los siguientes criterios para guiar la elección de las
opciones de diseño lógico:
Tiempo de respuesta: es el tiempo que transcurre entre la introducción de una
transacción de base de datos para ser ejecutada y la obtención de la respuesta.
Aprovechamiento del espacio: se refiere a la cantidad de espacio de
almacenamiento que ocupan los archivos de la base de datos y sus estructuras de
acceso en disco, tales como índices u otros caminos de acceso.
Productividad de las transacciones: éste es el número medio de transacciones
que el sistema de la base de datos puede procesar por minuto.
Implementación de un E/R al modelo relacional
El modelo Entidad/Relación es un modelo de datos semántico cuyo objetivo inicial
era vencer algunas de las dificultades mostradas por el modelo relacional, al que
pretendía sustituir. Concretamente, pretendía dotar de "significado" a las
estructuras de datos, carentes del mismo, del modelo relacional.
En la práctica, este modelo de datos no ha llegado a implementarse en ningún
SGBD comercial, pero ha tenido una enorme repercusión como herramienta de
modelado de bases de datos (paradójicamente, bases de datos relacionales),
existiendo hoy en día herramientas de diseño conceptual que incorporan la
totalidad de sus conceptos e incluso productos que transforman diagramas
conceptuales E/R en bases de datos reales en diversos formatos. El modelado
E/R se ha convertido en estándar para el diseño de bases de datos relacionales.
Modelo de clases (UML)
Las metodologías de modelado de objetos, tal como UML (Universal Modeling
Technique o Lenguaje de Modelado Universal), se desarrolló principalmente para
el diseño del software. La parte más importante del diseño del software supone el
diseño de bases de datos a las que accederá mediante módulos de software.
Los tipos de relaciones se denominan asociaciones en la terminología UML y las
instancias de relaciones se llaman enlaces. Un atributo de relación, llamado
atributo enlace, se coloca en un recuadro que se conecta a la línea de
asociaciones mediante una línea de puntos.
3.1.3. Modelo relacional y diseño de bases de datos
El modelo de datos relacional es relativamente reciente. Los primeros sistemas de
base de datos estaban basados en el modelo jerárquico o en el de red. Estos dos
primeros modelos están ligados a la implantación física de la base de datos que el
modelo relacional.
El modelo de datos relacional representa la base de datos como un conjunto de
tablas. Aunque las tablas son un concepto simple e intuitivo, existe una
correspondencia directa entre el concepto de una tabla y el concepto matemático
de una relación.
Modelos Prerelacionales
Los modelos prerrelaciónales se refieren a aquellos que se encuentran en la
programación estructurada; está programación utiliza un número limitado de
estructuras de control que minimizan la complejidad de los problemas y que
reducen los errores. Está incorporado entre otros elementos: el diseño
descendiente, recursos abstractos y estructuras básicas.
Modelos Postrelacionales
Cuando hablamos de modelos postrelacionales nos referimos a la programación
orientada a objetos; esto es que intenta simular el mundo real a través del
significado de objetos que contiene características y funciones. Los lenguajes
orientados a objetos se basan en la idea de un objeto, que es una combinación de
variables
locales
y
procedimientos
llamados
métodos.
El
término
de
encapsulamiento se usa para describir la combinación de estructuras de datos y
de métodos que son manipulados por el objeto.
Definición de relación
Los matemáticos definen una relación como un subconjunto de un producto
cartesiano de un listado de dominios.
En el caso de los modelos relacionales se asignan nombres a los atributos,
mientras que los matemáticos se basan en “nombres numéricos”, usando el entero
1 para denotar el atributo cuyo dominio aparece en primer lugar en el listado de
dominios; 2 para el atributo cuyo dominio aparece en segundo lugar etc. Debido a
que las tablas son básicamente relaciones, se utilizan los términos matemáticos
relación y tupla en vez de los términos tabla y columna.
Partes de la relación
Encabezado: Conjunto de n atributos necesariamente distintos de la forma
Nombre de Atributo: Nombre de Tipo.
Cuerpo:. Conjunto de n tuplas en donde cada una es un conjunto de
componentes de la forma Nombre de Atributo: Valor de Atributo.
Propiedades de una relación
De la definición de relación se infieren las siguientes propiedades:
 No hay tuplas duplicadas, esta propiedad se obtiene del hecho de que el
cuerpo de una relación es un conjunto (en el sentido matemático) y los
conjuntos por definición no contienen elementos repetidos.
 No hay orden en las tuplas, esta propiedad se desprende al observar que el
cuerpo de la relación es un conjunto no ordenado; esto quiere decir que a
ninguna n-ada se le puede asignar el título o nombre de la primera n-ada,
segunda, o el número que sea de la relación y por supuesto tampoco existe
el concepto de la n-ada siguiente en la relación misma.
 No hay orden en los atributos, esta propiedad se sigue del hecho de que el
encabezado de la relación está definido como un conjunto. Como es de
esperarse, no existen los conceptos del primer ó n-ésimo atributo, ni del
siguiente atributo. De manera análoga se puede manejar una relación que
controle tal orden.
Dominio y tipos de datos
Un dominio no es más que un tipo de datos, que puede ser simple (char, integer) o
puede estar definido por el usuario. Pueden ser de cualquier clase, desde
números y cadenas hasta grabaciones de sonido, mapas o dibujos.
Esta compuesto por todos los valores posibles del tipo en cuestión, así el tipo
(dominio) Integer se compone de todos los números enteros posibles y el tipo
ciudad es el conjunto de todas las ciudades posibles.
Cada dominio tiene asociados distintos tipos de operadores que permiten su
manipulación. Estos son =, *, / Substring0, &, etc., los cuales dependen de cada
sistema de bases de datos. Los operadores validos para cada domino se
determinan por lo que representa en el modelo (semántica), no por su
representación física.
Se cuenta también con la posibilidad de hacer conversiones de tipos de datos. De
esta manera se pueden realizar operaciones entre dominios de diferentes tipos.
Álgebra relacional y cálculo relacional
El álgebra relacional es un lenguaje de consulta de procedimientos. Existen cinco
operaciones fundamentales en el álgebra relacional, que son: elegir, proyectar,
producto-cartesiano, unión y diferencia-conjuntos. Todas ellas producen como
resultado una nueva relación.
Además de las cinco operaciones principales, se van a introducir otras
operaciones, a saber, intersección-conjuntos, producto theta, producto natural y
división.
Las operaciones elegir y proyectas se denominan operaciones unarias, ya que
actúan sobre una sola relación. Las otras tres relaciones operan sobre parejas de
relaciones, por lo que se llaman operaciones binarias.
La operación elegir opta por tuplas que satisfagan cierto predicado. Se utiliza la
letra griega sigma minúscula para señalar la selección. El predicado aparece
como subíndice de dicha letra. La relación que constituye el argumento se da
entre paréntesis después de la misma letra.
Normalización
Es un proceso que clasifica relaciones, objetos, formas de relación y demás
elementos en grupos, con base en las características que cada uno posee. Si se
identifican ciertas reglas, se aplica una categoría; si se definen otras reglas, se
aplicará otra categoría. La forma de efectuar esto es a través de los tipos de
dependencias que podemos determinar dentro de la relación. Cuando las reglas
de clasificación sean más y más restrictivas, diremos que la relación está en una
forma normal más elevada.
Formas Normales
Primera forma normal
Para que una relación esté en primera forma normal, debe ser solamente una
relación propia, una matriz m por n, donde:
-Ninguna celda de la matriz está vacía;
-El valor n cualquier columna está definido por el dominio para dicho atributo.
-Cada tupla tiene una clave que la identifica en forma unívoca, pero dicha clave no
significa orden.
La aplicación determina la relación; para que una relación sea normalizada en
pasos adicionales, debe encontrarse en la primera forma normal. Colocar los
datos en la primera forma normal está a cargo del diseñador de la aplicación.
Estos datos se encuentran disponibles de alguna manera inicialmente. Si la
aplicación existe en forma manual, o ha sido anteriormente computarizada pero no
todavía como relación, el diseñador reorganiza los datos de modo de conformar
una matriz de primera forma normal.
Segunda Forma Normal
Una relación está en segunda forma normal solamente si todos los atributos son
dependientes en forma completa de la clave.
Su nombre ya nos indica el hecho de que la segunda forma normal es por lo
general el próximo paso de normalización y descomposición. Para ser accesible a
la normalización, y poder ser puesta en segunda forma normal, la relación debe
poseer las siguientes propiedades:
 Debe estar en primera forma normal.
 Debe tener una clave compuesta.
Tercera forma normal
Una relación se encuentra en tercera forma normal si no existen transitividades
entre sus atributos y si ya se encuentra en segunda forma normal.
Una relación R a poner en tercera forma normal debe estar en la segunda forma
normal. Es muy común que R sea una sub-relación; la relación original estaba en
primera forma normal (para ponerla en segunda forma normal fue descompuesta
en varias sub-relaciones). Estas son ahora candidatas a una descomposición
adicional.
Recordamos que las propiedades de la segunda forma normal son:
 Tenemos una matriz m x n con un valor determinado para cada
componente de cada tupla.
 Cada valor es obtenido a partir de un dominio propiamente definimos
 Cada valor contiene una clave, ya sea simple o compuesta
 Cada componente no clave es dependiente en forma completa de su clave.
En consecuencia es evidente que tenemos, o bien una clave simple, o una clave
compuesta de la cual todos los componentes no clave son dependientes en forma
completa.
Cuarta forma normal
La tercera forma normal toma en cuenta la dependencia transitiva y provee una
reducción óptima universal, excepto para los casos infrecuentes de dependencia
multivaluadas.
Existe una dependencia multivaluada cuando un valor de una variable está
siempre asociado con varios valores de otra u otras variables dependientes que
son siempre las mismas y están siempre presentes.
Para poner una relación o sub-relación en la cuarta forma normal debe poder
aplicarse lo siguiente:
 Debe estar en la tercera forma normal.
 Deben existir una o más multidependencias.
Proceso de descomposición sin pérdida
El proceso de descomposición sin pérdida es en realidad un proceso de
proyección y decimos que es sin pérdida si juntamos de nuevo las proyecciones y
regresamos en la relación original.
Reglas de CODD
Regla 0: Para que un sistema se denomine sistema de administración de bases
de datos relacionales, debe usar (exclusivamente) sus capacidades relacionales
para gestionar la base de datos.
Regla 1: Regla de la información
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)
- Un valor posible es el valor nulo, con sus dos interpretaciones:
 Valor desconocido (ej. estado civil desconocido)
 Valor no aplicable (ej. el licenciado no tiene titulo profesional)
Regla 2: Regla del acceso garantizado
Para todos y cada uno de los datos (valores atómicos) de una Base de Datos
Relacional (BDR) se garantiza que son accesibles a nivel lógico utilizando una
combinación de nombre de tabla, valor de clave primaria y nombre de columna.
Cualquier dato almacenado en una BDR tiene que poder ser direccionado
unívocamente. Para ello hay que indicar en qué tabla está, cuál es la columna y
cuál es la fila (mediante la clave primaria).
Regla 3: Tratamiento sistemático de valores nulos
Los valores nulos (que son distintos de la cadena vacía, blancos, 0, ...) se
soportan en los SGBD totalmente relacionales para representar información
desconocida o no aplicable de manera sistemática, independientemente del tipo
de datos. Se reconoce la necesidad de la existencia de valores nulos, para un
tratamiento sistemático de los mismos. Hay problemas para soportar los valores
nulos en las operaciones relacionales, especialmente en las operaciones lógicas.
Regla 4: Catálogo dinámico en línea basado en el modelo relacional
La descripción de la base de datos se representa a nivel lógico de la misma
manera que los datos normales, de modo que los usuarios autorizados pueden
aplicar el mismo lenguaje relacional a su consulta, igual que lo aplican a los datos
normales.
Es una consecuencia de la regla 1 que se destaca por su importancia. Los
metadatos
se
almacenan
usando
el modelo
relacional, con
todas las
consecuencias.
Regla 5: Regla del sublenguaje de datos completo
Un sistema relacional debe soportar varios lenguajes y varios modos de uso de
terminal (Ej.: rellenar formularios, etc.). Sin embargo, debe existir al menos un
lenguaje cuyas sentencias sean expresables, mediante una sintaxis bien definida,
como cadenas de caracteres y que sea completo, soportando:





Definición de datos
Definición de vistas
Manipulación de datos (interactiva y por programa)
Limitantes de integridad
Limitantes de transacción (iniciar, realizar, deshacer) (Begin, commit,
rollback).
Regla 6: Regla de actualización de vistas
Todas las vistas que son teóricamente actualizables se pueden actualizar por el
sistema. El problema es determinar cuáles son las vistas teóricamente
actualizables, ya que no está muy claro. Cada sistema puede hacer unas
suposiciones particulares sobre las vistas que son actualizables.
Regla 7: Inserción, actualización y borrado de alto nivel
La capacidad de manejar una relación base o derivada como un solo operando se
aplica no sólo a la recuperación de los datos (consultas), si no también a la
inserción, actualización y borrado de datos.
Esto es, el lenguaje de manejo de datos también debe ser de alto nivel (de
conjuntos). Algunas bases de datos inicialmente sólo podían modificar las tuplas
de la base de datos de una en una (un registro de cada vez).
Regla 8: Independencia física de datos
Los programas de aplicación y actividades del terminal permanecen inalterados a
nivel físico cuando quiera que se realicen cambios en las representaciones de
almacenamiento o métodos de acceso..
El modelo relacional es un modelo lógico de datos, y oculta las características de
su representación física:
Es la capacidad de modificar el esquema interno sin tener que alterar el esquema
conceptual (o los externos).
Regla 9: Independencia lógica de datos
Los programas de aplicación y actividades del terminal permanecen inalterados a
nivel lógico cuando quiera que se realicen cambios a las tablas base que
preserven la información.
Cuando se modifica el esquema lógico preservando información (no valdría por
ejemplo eliminar un atributo) no es necesario modificar nada en niveles superiores.
Regla 10: Independencia de integridad
Los limitantes de integridad específicos para una determinada base de datos
relacional deben poder ser definidos en el sublenguaje de datos relacional, y
almacenables en el catálogo, no en los programas de aplicación.
El objetivo de las bases de datos no es sólo almacenar los datos, si no también
sus relaciones y evitar que éstas (limitantes) se codifiquen en los programas. Por
tanto en una BDR se deben poder definir limitantes de integridad.
Regla 11: Independencia de distribución
Una BDR tiene independencia de distribución.
Las mismas órdenes y programas se ejecutan igual en una BD centralizada que
en una distribuida.
Las BDR son fácilmente distribuibles:
 Se parten las tablas en fragmentos que se distribuyen.
 Cuando se necesitan las tablas completas se recombinan usando
operaciones relacionales con los fragmentos.
 Sin embargo se complica más la gestión interna de la integridad.
Regla 12: Regla de la no subversión
Si un sistema relacional tiene un lenguaje de bajo nivel (un registro de cada vez),
ese bajo nivel no puede ser usado para saltarse (subvertir) las reglas de integridad
y los limitantes expresados en los lenguajes relacionales de más alto nivel.
REGLAS DE CODD
Regla 0.
Regla 1. Regla de la información
Regla 2: Regla del acceso garantizado
Regla 3: Tratamiento sistemático de valores nulos
Regla 4: Catálogo dinámico en línea basado en el modelo relacional
Regla 5: Regla del sublenguaje de datos completo
Regla 6: Regla de actualización de vistas
Regla 7: Inserción, actualización y borrado de alto nivel
Regla 8: Independencia física de datos
Regla 9: Independencia lógica de datos
Regla 10: Independencia de integridad
Regla 11: Independencia de distribución
Regla 12: Regla de la no subversión
Cuadro 3.2. Reglas de CODD
Descargar