Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Sistemas de gestión de bases de datos (página 2)




Enviado por Venus Faez Fuentes



Partes: 1, 2

Un sistema de bases de
datos
(SBD) es el conjunto de bases de datos unido a los
programas que
interactúan con el mismo.

Una base de datos
posee un administrador que se encarga de
determinar los métodos de
acceso a la información que se almacena en la misma y
velar por su buen funcionamiento.

El administrador de
base de datos tiene entre sus funciones:

  • Definir las estructuras de almacenamiento y los
    métodos de acceso.

  • Definir el esquema de base de datos.

  • Realizar modificaciones del esquema y su
    organización física.

  • Conceder los permisos de acceso a la información a
    los diferentes usuarios de la BD

  • Determinar los mecanismos para salvar la
    información.

  • Especificar las restricciones de intregidad.

Arquitectura de una BD

Una base de datos se divide 3 niveles de
abstracción

  • Nivel externo: En este nivel es donde el usuario ve lo
    externo de la base de datos sin llegar a las especificaciones
    de cómo está estructurada ni cómo se
    realiza el tratamiento a los ficheros. Es lo que a cada
    usuario interesa individualmente.

  • Nivel conceptual: Vista comunitaria de toda la
    información. Es la estructura de la base de datos.

  • Nivel interno: Es el nivel donde se encuentran los
    ficheros para el tratamiento del acceso a la
    información almacenada en la base de datos.

Gráficamente una base de datos puede verse de la
siguiente forma:

Monografias.com

Lenguajes de bases de
datos que usan los usuarios

Lenguaje de Definición de Datos (DDL): Conjunto
de sentencias que permiten la definición de la estructura de
la base de datos.

Ejemplo: CREATE TABLE (en SQL)

Lenguaje de Manipulación de Datos (DML):
Sentencias que permiten insertar, borrar, actualizar, recuperar,
organizar toda la información que se encuentra almacenada
en la base de datos. Son instrucciones que uno crea o llamados a
procedimientos.

Ejemplo: APPEND FROM (en FOXPRO)

Lenguaje Procedimental (PL): Son lenguajes donde se
dice lo que se quiere y cómo se debe hacer lo que se
quiere.

Lenguaje no Procedimental (PNL): Son lenguajes donde se
dice lo que se quiere y no cómo se debe hacer lo que se
quiere.

Sistema de
gestión de base de datos (SGBD)

Es un sistema que
proporciona una interacción con los datos almacenados en la
BD y los procedimientos de aplicación y consulta hechos al
sistema.

Componentes de un SGBD

Gestor de archivos
(GA
): Gestiona la asignación de memoria en disco
y las estructuras de
datos

Gestor de base de datos (GBD): Se encarga de la
interface con los datos de bajo nivel y programas de
aplicación y consultas.

Procesador de consultas (PC): Traduce las consultas
realizadas a lenguaje de
bajo nivel.

Precompilador de DML (PDML): Convierte las sentencias
de DML en llamadas a procedimientos.

Compilador de DDL (CDDL): Convierte las sentencias de
DDL en conjuntos de
tablas.

Estructura de
datos

Como se dijo anteriormente un dato es un conjunto de
caracteres que describe algo de nuestra realidad. Pero bien, no
todos los datos que nos encontramos en el proceso de
análisis de un fenómeno, constituye
información. Se denomina
información a la parte de los datos que
influye en las acciones o en
la toma de
decisiones o a aquellos datos que su ausencia determina en la
toma de decisiones o en la realización de las acciones
dentro de un fenómeno particular. Para el almacenamiento de
la información en un ordenador se establecen ciertas
estructuras de datos que se corresponden con las
características de la información almacenada. Entre
las estructuras de datos en las que se almacena la informacion se
encuentran tres tipos fundamentales de archivos:

Archivo de
datos
: Para almacenar los datos.

Diccionarios de datos: Para almacenar
información sobre los datos que se almacenan en la BD.

Indice: Proporciona un acceso rápido a los
datos.

Características del SGBD

  • 1. Capacidad de acceder a grandes volúmenes de
    información de una forma eficiente.

  • 2. Soportar los modelos de datos a través del
    cual los usuarios pueden ver la información.

  • 3. Soportar un lenguaje de alto nivel que permita a
    los usuarios definir estructura de datos, acceder a los datos
    y manipularlos.

  • 4. Controlar el acceso a los datos.

  • 5. Control de transaciones que permite la
    concurrencia de varios usuarios.

  • 6. Acceso controlado a la información.

  • 7. Resiliencia: Capacidad de recobrar la
    información ante fallos del sistema sin que se pierdan
    los datos

Existen 3 tipo de usuarios que se clasifican en dependencia de
la forma en que interactúan con el SGBD. Estos son:

Usuarios ingenuos: La
comunicación con el sistema se realiza a través
de programas de

Aplicación.

Programadores de las aplicaciones: Las aplicaciones
utilizan la BD pero no trabajan con

ella. Son aquellos que trabajan con la base de datos pero que
no pueden cambiar su estructura.

Programadores de a BD: Interactúan con la BD a
través de un lenguaje y pueden

cambiar su estructura.

ESTRUCTURA DE UN SGBD

Monografias.com

Modelación de datos

Un modelo de datos es un formalismo matemático
que consta de dos partes fundamentales:

  • 1- una notación matemática para
    describir datos y relaciones

  • 2- un conjunto de operaciones para manipular
    datos.

Desde el punto de vista computacional, un modelo de
datos puede verse como una colección de estructuras de
datos, un conjunto de operaciones
actuan sobre estas estructuras y un conjunto de reglas de
integridad. Esta reglas de integridad pueden ser generales
cuando se determinan por la naturaleza
propia del fenómeno que se analiza o especificas
cuando las determina el usuario.

En el proceso de análisis de un fenómeno se
determinan de alguna manera todos los conjuntos de objetos que
intervienen en el fenómeno estudiado y la relación
que existe entre ellos. En dependencia del objetivo final
deseado del análisis se tienen en cuenta algunas de las
características de cada conjunto de objetos o bien de
todas ellas.

Llamaremos entidad a cada uno de los conjuntos de
objetos que participan en un fenómeno. A cada una de sus
características las llamaremos atributos.

Cuando se analiza a cada entidad que interviene en un
fenómeno no se tienen en cuenta los elementos particulares
que pueden o no intervenir en dicho fenómeno. El proceso
de análisis se lleva a cabo teniendo en cuenta las
características comunes y generales que
son de interés en
cada entidad.

Para determinar los objetos particulares que pertenecen a cada
conjunto de objetos, se le asocian valores a cada
una de estas características. A la acción
de determinar todos y cada uno de los objetos particulares que
pertenecen a cada entidad a partir de otorgarle valores a cada
uno de los atributos que se tienen en cuenta durante el
análisis de dicha entidad, se le conoce como instanciar
una entidad
. Luego se denomina instancia de una
entidad
a cada uno de los objetos particulares de la misma
que participan en el fenómeno analizado.

El proceso de instanciar una entidad se realiza tantas veces
como objetos particulares participen en el fenómeno.
Durante este proceso puede ocurrir que un atributo reciba un
mismo valor en
varias ocasiones. De esta forma se obtienen diferentes instancias
de una misma entidad con un atributo que contiene un valor igual
en cada una de estas instancias. Cuando ocurre lo anterior
decimos que estamos en presencia de un atributo
descriptivo
, ya que sólo describe una
característica más de la entidad sin determinarla
de forma única.

Cuando durante el proceso anterior un atributo recibe valores,
tales que el valor recibido en cada ocasión determina un
objeto diferente, un objeto único,
aún cuando existan atributos descriptivos que reciben
valores repetidos en diferentes instancias, decimos que estamos
en presencia de un atributo identificativo. Luego un
atributo identificativo, no sólo nos ofrece una simple
característica de una entidad analizada. Este nos
determina con su valor a una instancia y a partir de este valor
cada instancia de una entidad será diferente de otra
perteneciente a la misma entidad.

Tomando como ejemplo una base de datos en la que se almacenan
datos de trabajadores de una empresa
tendríamos una entidad "TRABAJADOR" y sus atributos, por
citar algunos, serían "NOMBRE ", "# IDENTIDAD",
"SEXO",
"DIRECCION"; de ellos el "# IDENTIDAD" es un atributo que
identifica de forma única al trabajador y por eso es un
atributo identificativo. Lo anterior se debe a que una persona tiene un
número de identidad y sólo uno. Los restantes
atributos son descriptivos porque describen a la entidad a la que
nos referimos.

Cuando se analiza un fenómeno encontramos que dentro de
algunas entidades existen un conjunto de atributos que las
identifican unívocamente. A este conjunto de atributo se
le denomina llave. Para el ejemplo anterior la llave de la
entidad TRABAJADOR es el atributo # IDENTIDAD.

Entre cada uno de los conjuntos de objetos que intervienen en
el fenómeno analizado pueden existir distintos tipos de
relaciones en dependencia de lo que se analice y de las
características que se tengan en cuenta para el
análisis. Supongamos que se tienen n entidades Di, cada
una con sus atributos y que de cada una de estas entidades, se
tiene un atributo ti pertenecen a la entidad Di. Se define como
una relación la tupla Monografias.com

De acuerdo a la aridad del producto
cartesiano que define a una relación, es decir, de acuerdo
a la cantidad de entidades que participan en la relación,
esta se puede clasificar en binaria (dos entidades), ternaria
(tres entidades) o en agregación. Se denomina
agregación a la relación entre relaciones.
Desde el punto de vista de funcionalidad las relaciones se
clasifican en relaciones de 1 a 1 (de uno a uno), de 1
a n
(de uno a muchos) y de n a n (de muchos a
muchos).

Si se establece una relación entre dos entidades JEFES
y DEPARTAMENTOS para reflejar quién dirige un departamento
dado dentro del fenómeno analizado, estaremos en presencia
de una relación de 1 a 1 teniendo en cuenta que un
departamento tiene uno y sólo un responsable y un
responsable puede dirigir a uno y solo un departamento.
Así por ejemplo si se establece una relación entre
las entidades PERSONA y LIBROS para
representar la pertenencia de un libro a una
persona, estaremos en presencia de una relación de 1 a
n
. A cada persona puede pertenecer n libros y un
libro pertenece a una y sólo a una persona.

Como ejemplo de una relación de n a n podemos citar dos
entidades TEMAS y LIBROS que reflejan las temáticas de
búsquedas de información en una biblioteca y los
libros que se encuentran en la misma respectivamente. Para
representar las temáticas que pueden ser tratadas en cada
libro podemos establecer una relación de n a n.
Cada temática puede ser tratada por n libros y un
libro puede tratar n temáticas.

En el proceso de análisis es difícil a menudo
determinar cuales de los objetos que intervienen en el
fenómeno, se presentan como conjuntos y cuales solamente
son características de algunos objetos. Para determinar
cuándo lo que inteviene en un fenómeno es una
entidad o simplemente un atributo es necesario tener en cuenta
los siguientes aspectos:

De entidades y atributos

  • 1. Las entidades tienen información
    descriptiva; los atributos no.

  • 2. Los atributos multievaluados deben ser
    clasificados como entidades.

  • 3. Un atributo que mantiene una relación con
    otra entidad debe ser clasificado como entidad.

  • 4. Debe evitarse identificadores compuestos (formados
    por más de un atributo).

  • 5. No debe usarse nombres repetidos para los
    atributos.

De relaciones

  • 1. Evitar relaciones redundantes.

  • 2. Definir cuidadosamente relaciones de aridad mayor
    que 2.

Existen diferentes modelos de
datos para representar los distintos fenómenos que pueden
ser analizados en la práctica. En la medida que sean
vistos los diferentes modelos existentes se podrá
considerar cuando es mejor utilizar uno u otro. Para la selección
de un modelo de datos es necesario tener en cuenta los siguientes
aspectos:

  • 1. Objetivos que se persiguen de la
    representación.

  • 2. Orientación hacia los objetos que
    intervienen en el fenómeno o hacia los valores de
    estos objetos. En ocasiones lo que interesa es donde se
    encontrará el objeto en memoria y en otras, qué
    valores le serán asignados a estos objetos.

  • 3. Tratamiento de la redundancia.

  • 4. Tratamiento de las relaciones muchos a muchos.

A continuación analizaremos los modelos que se
establecen en el análisis y diseño
de los diferentes fenómenos a analizar.

Modelo de Entidad – Relacionalidad Extendida
(MEER)

Este es uno de los modelos utilizados en el análisis de
un fenómeno. El MEER se puede representar
gráficamente mediante los símbolos

Monografias.com

En este modelo de datos existen modelos de abstracciones.
Estos son jerarquías de especificaciones y subconjuntos o
generalización.

  • 1) Jerarquía de especificación:
    se tiene una entidad y a partir de determinados
    especificación, se crean nuevos entidades que tienen
    sus propios atributos.

  • 2) Jerarquía de generalización:
    existen atributos comunes y a partir de un atributo se define
    conjuntos disjuntos.

Ejemplo de 1)

Se tiene una entidad que representa a los estudiantes de la
facultad de Matemáticas de la Universidad de La
Habana. De esta entidad se analiza si el estudiante es becado y
si pertenece a un grupo de
investigación dado. Note que pueden existir
estudiantes que sean becados y que al mismo tiempo
pertenezcan al grupo de investigación. Quiere esto decir
que los cinjuntos obtenidos no son disjuntos.

Monografias.com

Ejemplo de 2)

Se tiene una entidad que representa a los estudiantes de la
facultad de Matemáticas de la Universidad de La Habana. De
esta entidad se analiza un atributo año que
indica el año al cual pertenece un estudiante. A partir de
este atributo se crean nuevos subconjuntos del conjunto de
estudiantes de la facultad que son disjuntos.

Monografias.com

Ventajas del MEER

  • 1. Constituye una herramienta para el diseño
    conceptual.

  • 2. Constituye un medio de comunicación eficaz
    entre el usuario y el diseñador.

  • 3. Es fácil de entender y es más
    natural.

  • 4. Simplicidad debido a que el número de
    entidades siempre es menor al número de elementos de
    datos.

  • 5. Constituye una representación
    gráfica muy clara del fenómeno.

Desventajas del MEER

  • 1. Es un material abstracto y no de tratamiento.

  • 2. Ausencia de requerimiento de integridad.

  • 3. Ausencia de controles de validación.

Modelo Jerárquico

Es un modelo para representar relaciones de uno a muchos
(1-n). Es por ello que para la representación de
fenómenos a través del modelo jerárquico se
utilizan estructuras de datos como árboles
y bosques (colección de árboles donde los puntos de
enlaces son de los padres a los hijos).

Supongamos que se tienen suministradores de los que se conoce
el nombre, el número, un tipo para cada uno de ellos y el
municipio donde radica. Cada uno suministra una cantidad
determinada de cada uno de los productos de
los que se conoce el número del producto, el nombre y el
precio. Se
controla para cada suministrador la cantidad que suministra por
cada producto. En el MERR la representación de este
fenómeno sería la siguiente:

Monografias.com

Monografias.com

Supongamos que particularmente se tienen dos suministradores
S1 y S2 y cinco productos P1, P2, P3, P4 Y P5. S1 suministra los
productos P1, P2 y P4 y S2 suministra P2, P3 y P5. Veamos un
ejemplo de cómo se realizaría la
representación gráfica de este fenómeno en
el modelo jerárquico.

Monografias.com

Computacionalmente la representación que se
tendría sería la siguiente;

Monografias.com

Estas estructuras se representarían utilizando
arreglos. En el caso del dato cantidad se
utilizaría apuntadores.

Ventajas del Modelo jerárquico

– Es el más simple y constituye un modelo natural de
modelar las estructuras jerárquicas comunes en el mundo
real.

Desventajas del modelo jerárquico

  • 1. Falta de simetría para determinadas
    operaciones de consultas. Estos se manifiesta cuando con
    requerimientos idénticos se opera de diferente
    forma.

  • 2. Anomalía en las operaciones de
    actualización (extraer, modificar, insertar).Esto se
    manifiesta cuando se realizan actualizaciones parciales. Esto
    trae como consecuencia inconsistencias en la
    formaciónque se tiene almacenada.

Modelo Reticular

Modelo para representar jerarquías de muchos a muchos.
La base para la representación del modelo es la estructura de
datos multilista. Estas estructuras se caracterizan por
poseer elementos que pertenecen a más de una lista. En
este modelo la representación de la informacion es a
través de gráficos donde los nodos responden a las
entidades y los arcos a las relaciones.

Veamos la representación del fenómeno de los
suministradores y los productos teniendo en cuenta el modelo
reticular.

Monografias.com

Ventajas del modelo reticular

  • 1. Se resuelve el problema de la simetría en
    las operaciones.

  • 2. Se eliminan las anomalías en las
    operaciones de actualización.

Desventajas del modelo reticular

  • 1. Es un modelo muy complejo.

  • 2. Siempre que se desee dar respuesta a una demanda
    se necesita realizar una navegación a través de
    la red que se obtiene de la representación.

Modelo Relacional

El modelo relacional es una forma de representación de
los datos cuyo fundamento matemático son las
relaciones.

Cuando hablamos de modelo relacional debemos considerar tres
aspectos: las estructuras de datos, la integridad de los datos y
la manipulación de los datos. Este modelo es muy utilizado
en la actualidad.

La estructura de datos utilizada para representar las
relaciones son tablas bidimensionales, donde cada entrada o
columna representa los atributos de la entidad analizada y las
filas representan los objetos particulares que intervienen en el
fenómeno analizado.

La aridad de la relación está dada por el orden
de la tabla y se determina por el número de columnas que
esta posee. La cordinalidad depende de la cantidad de objetos
particulares que estén almacenados en la BD en un tiempo
determinado. En cada relación debe cumplirse lo
siguiente:

  • 1) No existencia de filas iguales.

Cada relación es considerada como un conjunto de
valores donde lo que importa es la pertenencia o no de un
elemento dado.

  • 2) El orden de las filas no es significativo

Como cada relación es considerada como un conjunto
no ordenado de valores donde el orden que este posea un
elemento dado dentro del conjunto no importa.

  • 3) El orden de las columnas no es significativo.

No se toma en cuenta el orden en que son analizados los
atributos de cada entidad. Lo importante es si un atributo es
analizado o no.

  • 4) Cada valor de un atributo en cada tupla de la
    relación es un dato atómico.

Un dato atómico es un dato que es indivisible. El valor
de cada atributo representa una pieza individual dentro del
fenómeno.

El atributo K de la relación R es una clave
candidata
si y solo si en cualquier momento no existen dos
tuplas en R con el mismo valor de K. K puede ser un atributo
compuesto. En ese caso no será posible eliminar
ningún componente ki de K sin destruir la propiedad de
unicidad de la clave. Esta propiedad se conoce como de
minimalidad de la clave (clave mínima).

Si para una relación existen varias claves candidatas,
una de ellas debe tomarse como clave primaria y las demás
como claves alternativas.

Supongamos que se tiene un conjunto de productos que poseen
entre sus carácterísticas el código
CUP, la descripción, un precio de empresa, un
precio de venta al
público, un precio de exportación y la unidad de medida de dicho
producto. La empresa que
los produce establece una clave, única para cada producto,
que será utilizada siempre que sea necesario de manera
secreta hablar del producto por los medios de
comunicación correspondientes.

Entidad: PRODUCTO

Atributos: 1.- CUP Según nuestro ejemplo son claves
candidatas

2.- descripción el código CUP del producto y la
clave que

3.- pemp establece la empresa para cada producto.

4.- ppub En este caso puede ser clave primaria el

5.- pexp código CUP del producto y clave alternativa
la

6.- um clave que establece la empresa para el

7.- clave producto

Sean R1 y R2 dos relaciones no necesariamente distintas. Sean
un atributo ti de R2 que puede ser o no compuesto. El atributo ti
es una clave foránea de R2 si existen valores de la
clave primaria ti de la relación R1. En este caso todos
los valores de
ti en la relación R2 tienen que estar en la
relación R1. El inverso no se cumple.

Como se dijo anteriormente la representación de las
relaciones en el modelo relacional se realiza a partir de las
tablas. Las tablas se componen de una fila cabecera de columnas y
de 0 o más filas de valores de datos.

Analicemos el ejemplo de los suministradores y los productos.
Teniendo en cuenta la naturaleza del problema se tienen las
siguientes tablas:

Monografias.com

Para construir el modelo relacional a partir del MEER se
convierte cada entidad y cada relación en una tabla. Como
filas cabeceras en las tablas provenientes de entidades se
colocan los atributos de la entidad correspondiente. Para
conformar las cabeceras de las tablas que representan relaciones
se fijan las claves de cada una de las entidades que intervienen
en la relación y los atributos que se deriven de esta.
Para entidades débiles se fijan la llave de la entidad de
la cual se deriva y los atributos de la entidad débil.

En el caso de la jerarquía de generalización
existen dos tipos de representaciones:

  • 1. Una tabla para la entidad fuerte con todos sus
    atributos y una para la entidad débil con la clave de
    la entidad fuerte y los atributos de la entidad
    débil.

  • 2. Una tabla única que tiene los atributos de
    la entidad fuerte incluyendo los de la entidad
    débil.

Para este caso la elección de la forma está en
dependencia del problema original aunque la más utilizada
es la primera, por ser mucho más clara.

Existen diferentes tipos de tablas en las que se almacena
información y la existencia de cada tipo está
basada en la permanencia, en términos de tiempo, de la
tabla y de los datos que almacena. Una tabla base es una
tabla que existe y que se encuentra almacenada. Una tabla
derivada
es una tabla virtual definida a partir de otras
tablas. De ella solo se almacena su definición. Los
valores de la tabla derivada existen en el momento en que se pide
información a través de las diferentes
operaciones.

Se denomina esquema de la base de datos al conjunto de
todas las tablas que conforman la base de datos.

Ya vimos las estructuras de datos, como un elemento que
compone un modelo de datos desde el punto de vista computacional.
Veremos ahora las reglas de integridad que también
conforman el modelo.

Reglas de
integridad

  • 1. Regla de Integridad

Esta regla establece que ningún componente de la clave
primaria de una relación base, puede ser nulo. Si la llave
tiene un valor nulo en un momento determinado no se podría
saber que valor es especificamente pues nulo es cualquier cosa y
al trabajar con este valor tendríamos problemas.

Regla Referencial

Esta regla establece que la BD no debe tener valores
foráneos sin concordancias, es decir, que si un valor es
foráneo en una relación, este valor debe existir en
la relación de donde proviene dicho valor. En el ejemplo
de los suministradores y los productos no tiene sentido que el
número de un producto aparezca en la relación y que
este producto no aparezca en la tabla de productos de la cual se
extrajo el producto.

Ventajas del modelo relacional

  • 1) Las relaciones se presentan como tablas
    bidimensionales lo que hace más fácil su
    comprensión.

  • 2) Brindan soluciones simétricas a demandas
    simétricas, es decir se realizan operaciones similares
    para satisfacer demandas similares.

  • 3) No hay anomalías en las operaciones de
    actualización.

  • 4) Simplicidad; se dice que es lo que se quiere y no
    como hacerlo.

Desventajas del modelo relacional

  • 1) Este modelo presenta mucha dificultad para su
    implementación

Lenguaje Relacional

Cuando mencionamos al inicio los aspectos a tener en cuenta
cuando utilizamos un modelo relacional para la
representación de un fenómeno, nos referimos a la
manipulación o manejo de los datos como tercer aspecto.
Ahora veremos los lenguajes relacionales que nos permiten
manipular los datos y los operandos y operaciones posibles de
utilizar y realizar respectivamente en cada uno de estos
lenguajes. Entre los diferentes lenguajes o notaciones definidas
por Codd que veremos se encuentran el álgebra
relacional, el cálculo
relacional de dominio y el
cálculo relacional de tuplos.

Álgebra Relacional

El álgebra relacional consiste de un conjunto de
operadores de alto nivel que operan sobre las relaciones. En el
momento de definir un operador se tienen en cuenta una o dos
relaciones, pero en principio los operadores pueden ser definidos
para un número cualquiera de operandos siempre que se
satisfagan las condiciones de la simple definición.

Operandos y operaciones sobre el modelo relacional

Codd definió un conjunto especifico de 8 operadores el
cual dividió en dos grupos :

  • Para realizar operaciones tradicionales (unión,
    intersección, diferencia y productos cartesianos).

  • Para relizar operaciones especiales (Selección,
    proyección, encuentro y cociente).

A continuación veremos la definición de cada uno
de estos operadores. Es importante señalar que el
resultado de todos estos operadores es una nueva relación.
Definamos pues operando como constantes o variables de
relaciones de una aridad fija.

Integridad operacional

Sean R y S relaciones. Se dice que R y S son relaciones
compatibles para la unión si:

  • 1. tienen igual aridad

  • 2. se puede establecer una correspondencia 1-1 entre
    las columnas de ambas relaciones, es decir, a cada Ai de R se
    le hace corresponder un Bj de S donde Ai y Bj toman valores
    en un mismo dominio.

Unión

La unión construye una relación que cosiste en
los tuplos de cada una de las relaciones o de ambas. R y S son
dos relaciones compatibles para la unión. Este operador se
define de la siguiente forma.

Monografias.com

Ejemplo: Sean R y S representadas por las siguientes
tablas respectivamente.

Monografias.com

Intersección

La intersección construye una relación que
cosiste en los tuplos que pertenecen a ambas relaciones al mismo
tiempo. R y S son dos relaciones compatibles para la
unión. Este operador se define de la siguiente forma.

Monografias.com

Ejemplo: Sean R y S dos relaciones representadas por
las siguientes tablas respectivamente.

Monografias.com

Diferencia

La diferencia construye una relación formada por los
tuplos que se encuentra en la relación sumando y que no se
encuentre en la relación sustraendo. Sean R y S dos
relaciones compatibles para la unión. Este operador se
define de la siguiente forma:

Monografias.com

Ejemplo: Sean R y S dos relaciones representadas por
las siguientes tablas respectivamente.

Monografias.com

Producto
cartesiano

El producto cartesiano construye una relación que
consiste de todas las posibles combinaciones de los tuplos
tomando primero de una relación y combinándolos con
los tuplos de la segunda de ellas. Este operador se define de la
siguiente forma:

Monografias.com

Ejemplo: Sean R y S dos relaciones representadas por
las siguientes tablas respectivamente.

Monografias.com

Proyección

Sea R una relación de aridad k. Se define el operador
proyección

Monografias.com

Ejemplo: Sean R una relación representada por la
siguiente tabla.

Monografias.com

Selección

La selección define una relación compuesta por
los tuplos de la relación original que cumplan una
condición. Este operador se define de la siguiente
forma:

Monografias.com

Ejemplo: Sean R una relación representada por la
siguiente tabla.

Monografias.com

(-unión

La (-unión construye una relación formada por
los tuplos del primero de los operandos seguidos por los tuplos
del segundo operando tales que se cumla la condición
establecida por (. Este operador se define de la forma:

 

Monografias.com

Otra forma de aplicar la operación (-unión a dos
relaciones es calcular su producto cartesiano y seleccionar de
todos los tuplos del mismo a aquellos tuplos que cumplan la
condición (. ( puede ser cualquiera de los signos de
comparación (, (, (, ( y((.

Ejemplo: Sean R y S dos relaciones representadas por
las siguientes tablas respectivamente.

Monografias.com

Encuentro o unión
natural

Esta operación es aplicable sólo cuando R y S
tienen al menos una columna común. Se construye una
relación formada por las columnas que resultan de
proyectar el producto cartesiano de los operandos, sin repetir
las columnas que son iguales. Se toman finalmente los elementos
que tienen igual valor en las columnas con iguales cabeceras.
Esta operación se define de la siguiente forma:

Monografias.com

Ejemplo: Sean R y S dos relaciones representadas por
las siguientes tablas respectivamente.

Monografias.com

Cociente

Sean dos relaciones R y S con tuplos de la forma (x1, x2, …,
xm, y1, y2, …, yn) y (y1, y2, …, yn) respectivamente. Bajo
estas condiciones supongamos que los atributos con igual nombre
son poseen valores de un mismo dominio. Hablaremos de (x1, x2,
…, xm) haciendo referencia a X y de (y1, y2, …, yn)
referenciándonos a Y. El cociente de R por S (R es el
dividendo y S el divisor) con encabezamiento de la forma X,
formada por los tuplos x de X tales que de los tuplos de R (X:x,
Y:y) se toman aquellos (Y:y) en S que para todo Y de S. En otras
palabras, la relación resultante de la aplicación
de la operación cociente de R por S consiste de todos los
tuplos de forma X escogidos de R, tales que la parte del tuplo
con cabecera Y coincide con uno de los tuplos en S. Esto debe
cumplirse para todos y cada uno de los tuplos que pertenecen a S.
Esta operación se define de la siguiente forma:

Monografias.com

Ejemplo: Sean R y S dos relaciones representadas por
las siguientes tablas respectivamente.

Monografias.com

Cálculo
Relacional

El álgebra relacional y el cálculo relacional
son dos notaciones alternativas que Codd definió como
bases formales en la parte de manipulación de un modelo.
La diferencia entre ambas notaciones radica en que el
álgebra relacional ofrece una serie de operadores para
obtener nuevas relaciones a partir de relaciones dadas. Por su
parte el cálculo relacional brinda los medios para
definir mediante fórmulas la relación deseada,
también a partir de relaciones dadas. Mientras el
cálculo relacional establece cuál es el problema,
el álgebra relacional ofrece el procedimiento
para resolver dicho problema.

De hecho el álgebra relacional y el cálculo
relacional son equivalentes. Quiere esto decir que para toda
expresión del álgebra relacional, existe una
expresión equivalente en el cálculo relacional.

El cálculo relacional está basado en una rama de
la lógica
matemática: el cálculo de predicados. Kuhns fue
el primero en pensar en la utilización del cálculo
de predicados como base de los lenguajes de bases de datos. El
cálculo relacional fue una notación propuesta, por
primera vez por Codd. Una característica fundamental del
cálculo relacional es la noción de la variable
tuplo, también conocida como variable rango.
Una variable tuplo es una variable que toma valores sobre
alguna relación, es decir, una variable, cuyos valores son
tuplos de alguna relación. En otras palabras, si T es una
variable de tuplo que toma valores sobre la relación R,
entonces en algún momento T representa a un tuplo t que
pertenece a R. Esta variable se representa de la forma (x1, x2,
…, xn) donde cada xi responde a una atributo ti de la
relación.

Por ocurrencia de una variable entendemos la
aparición de esa variable dentro de determinado contexto y
bajo determinadas condiciones. Una variable de tuplo puede
ocurrir como una referencia a algún atributo de una
relación o siguiendo a algunos de los cuantificadores
"para todos" y "existe".

Cuando la variable aparece haciendo referencia a algún
atributo de alguna relación se dice que la variable
aparece de forma libre. Así por ejemplo cuando aparece en
una simple comparación de atributos, se dice que las
variables de tuplo aparecen de forma libre. Una variable de tuplo
aparece de forma acotada cuando está siguiendo a los
cuantificadores dentro de un contexto. Supongamos que en el
ejemplo de los estudiantes estamos buscando a un estudiante de
cuarto año que tiene como número de expediente el
456. Buscaríamos dentro de la relación E,
correspondiente a la entidad ESTUDIANTE, aquel que cumpla con la
condición especificada. Veríamos si existe
un estudiante en la relación. Esto genéricamente se
pudiera expresar de forma siguiente:

existe t(E | t1=456 ( t4=4

El cálculo relacional fue identificado con el
cálculo relacional de tuplos por ser esta su
característica fundamental y para hacer una
diferenciación del mismo con el cálculo relacional
de dominios que veremos más adelante.

Para realizar cualquier trabajo en el
cálculo relacional de tuplos es necesario saber qué
se entiende por una fórmula, pues es a partir de la
utilización de esta que formaremos todas las expresiones.
Definamos de forma recursiva una fórmula.

  • 1. Un átomo es una fórmula.

  • 2. Si P1 es una fórmula, (P1 también lo
    es.

  • 3. Si p1 y p2 son fórmulas, P1(P2, P1(P2 y
    P1(P2 también lo son.

  • 4. Si P1 es una fórmula con s libre, entonces
    (s(R(P(s)) y (s(R(P(s)) también lo son.

Sea P una fórmula. Si una variable de tuplo T aparece
libre (o acotada) en una fórmula P, entonces aparece libre
(o acotada) en (P), NOT P. Si la variable aparece libre (o
acotada) en P1 y P2 entonces aparece libre (o acotada) en P1(P2 y
P1(P2.

Sea P una fórmula. Se defina como dominio de P y
se denota Dom(P) al conjunto de todos los valores
referenciados por P. Si una fórmula P es finita NOT P es
infinita y surgieran dificultades al establecer el dominio de una
fórmula infinita. Es por eso que se establece la siguiente
regla para asegurar que una expresión siempre sea
válida en el cálculo relacional de tuplo.

Dom(t(R)=Dom(( (t(R)).

( (t(R) se refiere a los elemento del dominio donde se mueve t
los cuales no pertenecen a la relación R. Todo lo anterior
se traduce en que tanto los elementos que pertenecen a R como los
que no pertenecen toman valores en un mismo dominio, aún
sin los últimos cumplir con las condiciones que establece
R como relación.

Al comienzo de este tema sobre el cálculo relacional
planteamos que éste y el álgebra relacional eran
dos notaciones equivalentes teniendo en cuenta que, para toda
expresión del álgebra relacional existían
una expresión equivalente en el cálculo relacional.
Veremos cómo poder
convertir las expresiones del álgebra relacional al
cálculo relacional de tuplos, que es lo que nos ocupa en
este momento.

Monografias.com

Ejemplos:

  • 1. Se desea obtener una relación a la que
    pertenezcan todos los estudiantes que son de cuarto
    año.

En el álgebra relacional esta relación se
obtiene a partir de la selección se los estudiantes de
cuarto año. Se plantea de la siguiente forma:

(año=4(E(# Exped, nombre, municipio,
año))

En el cálculo relacional se
obtendría la siguiente expresión:

{ t | E(# Exped, nombre, municipio, año)
( t[4]=4}

  • 2. Se desea obtener el número del expediente y
    el nombre de todos los estudiantes de tercer año.

En el álgebra relacional esta relación se
obtiene a partir de la selección se los estudiantes de
tercer año y hacer una proyección de los datos que
se desean. Se plantea de la siguiente forma:

(# Exped, nombre((año=3(E(# Exped,
nombre, municipio, año)))

En el cálculo relacional se
obtendría la siguiente expresión:

{ t2 | (u E(u) ( t[1]=u[1] ( t[2]=u[2] ( u[4]=4
}

Cálculo
relacional de dominios

El cálculo relacional de dominios fue una alternativa
al cálculo relacional de tuplos en la que las variables de
tuplo son reemplazadas por variables de dominio. Una variable de
dominio actúa sobre un dominio en lugar de actuar sobre
las relaciones. El cálculo relacional de tuplos es
equivalente al cálculo relacional de dominios, es decir
para toda expresión del cálculo relacional de
tuplos existe una expresión equivalente en el
cálculo relacional de dominios. Visto de esta forma, es
posible entonces realizar conversiones de una notación
hacia otra. Se establecen pues las siguientes reglas para la
conversión:

Si t es una variable de tuplo de grado k se utilizan k
variables de dominio t1, t2, …, tk y se reemplaza la
expresión { t | ((t) } por la expresión { (t1, t2,
…, tk) | ('( t1, t2, …, tk) }. (' es ( con cualquier átomo R(t)
reemplazado por R(t1, t2, …, tk). Cada variable libre t[i] es
reemplazada por ti y las variables acotadas ( u y (u se
reemplazan por u1, u2, …, um si u es de grado m.

Ejemplos:

  • 1. Se desea obtener una relación a la que
    pertenezcan todos los estudiantes que son de cuarto
    año.

En el álgebra relacional esta relación se
obtiene a partir de la selección se los estudiantes de
cuarto año. Se plantea de la siguiente forma:

(año=4(E(# Exped, nombre, municipio,
año))

En el cálculo relacional de tuplos se
obtendría la siguiente expresión:

{ t | E(# Exped, nombre, municipio, año)
( t[4]=4}

En el cálculo relacional de dominios se
obtendría la siguiente expresión:

{ t1, t2, t3, t4 | E(t1, t2, t3, t4) (
t4=4}

  • 2. Se desea obtener el número del expediente y
    el nombre de todos los estudiantes de tercer año.

En el álgebra relacional esta relación se
obtiene a partir de la selección se los estudiantes de
tercer año y hacer una proyección de los datos que
se desean. Se plantea de la siguiente forma:

(# Exped, nombre((año=3(E(# Exped,
nombre, municipio, año)))

En el cálculo relacional se
obtendría la siguiente expresión:

{ t2 | (u E(u) ( t[1]=u[1] ( t[2]=u[2] ( u[4]=4
}

En el cálculo relacional de dominios se
obtendría la siguiente expresión:

{ t1, t2 | (u2, u4 E(t1, t2, u2, u4) (
u4=4}

Lenguaje SQL

"La adopción
de un modelo relacional de datos … permite el desarrollo de
un sublenguaje universal de datos basado en el cálculo
aplicado a predicados"

E, F, Codd. 1970.

En el año 1974 se propuso un lenguaje de consulta
estructurado conocido como SEQUEL. Al año siguiente se
presentó otro lenguaje, SQUARE, muy parecido al anterior
pero que utilizaba expresiones matemáticas ((((() en lugar
de las expresiones "EXIST" y "FORALL". Según un
artículo presentado por Codd en 1974, un lenguaje es
relacionalmente completo si es al menos tan potente como
el cálculo relacional de tuplos. Los autores demostraron
que ambos lenguajes eran relacionalmente completos. Con la
experiencia de los usuarios sobre SEQUEL se le añadieron
algunos detalles finales que dieron lugar al lencuaje de consulta
estructurado SQL. Más información sobre este
lenguaje puede encontrarla en "SQL. El lenguaje de
consulta estructurado." De C, J. Hursh y J, L. Hursh.

Integridad

En el contexto de las bases de datos es muy frecuente oir
términos como seguridad e
integridad. Haremos énfasis en el término
integridad, utilizado para referirnos de cierta forma a
cuán correcto se encuentran los datos que están
almacenados en la bases de datos. Muchos sistemas entregan
a los programadores de las aplicaciones la responsabilidad de la verificación de la
corrección de los datos almacenados. Otros son capaces de
realizar esta validación.

Cuando expusimos las partes componentes de un modelo de datos
planteamos como tercer componente a las reglas de integridad y
las clasificamos en generales y específicas en dependencia
de quién las determinaba. Más tarde vimos dos
reglas de integridad que se referían a la no existencia de
valores nulos en la clave primaria y a la no existencia de claves
foráneas sin concordancia respectivamente. Dada la
importancia que tiene este tema retomaremos el mismo a fin de
profundizar en algunos aspectos importantes.

Muchos son los problemas que pueden ocurrir en una
aplicación de bases de datos que no tenga en cuenta la
integridad de los datos que la base almacena. Estos problemas
están generalmente relacionados con el no cumplimiento de
la regla de integridad referencial, la que establece que no deben
existir claves foráneas sin concordancia. Veremos donde se
producen fundamentalmente los mismos.

  • 1. Inserción en una fila hijo. Cuando se
    insertan una fila hijo, cuya clave foránea no se
    encuentra en el padre.

  • 2. Actualización de una clave foránea
    en una fila hijo. Cuando se actualiza una fila hijo, cuya
    clave foránea no se encuentra en el padre o solamente
    se actualiza algunas de sus apariciones en la relación
    hijo.

  • 3. Supresión de una fila padre. No se tiene en
    cuenta la necesidad de borrar las filas hijo que contienen
    claves foráneas que se encontraban en la fila padre
    que se suprime.

  • 4. Actualización de la clave primaria en una
    fila padre. Cuando no se actualizan todas las filas hijo que
    contienen claves foráneas que se encontraban en la
    fila padre actualizada.

Teniendo en cuenta estos problemas muchos SGBD crean nuevos
operadores que trabajan en cascada.

  • 1. Actualización de clave primaria con
    actualización en cascada de filas hijo.

  • 2. Actualización de clave primaria con marcaje
    en cascada de filas hijo. Se hace una actualización de
    la clave primaria y se marca con NULL las filas hijo.

  • 3. Supresión de clave primaria con
    actualización en cascada de filas hijo.

  • 4. Supresión de clave primaria con marcaje en
    cascada de filas hijo. Se hace una actualización de la
    clave primaria y se marca con NULL las filas hijo.

En SGBD como DBx en cada relación padre creada mediante
la filosofía de clave primaria, se puede
especificar una regla de supresión.

Reglas de
supresión

  • 1. RESTRICT: Impide la supresión de una fila
    de la relación padre si existe alguna fila en la
    relación hijo.

  • 2. CASCADE: Suprime las filas de la relación
    hijo de forma automática cuando la relación
    padre ha sido suprimida.

  • 3. SET NULL: Cuando se suprime una fila en la
    relación padre, las filas de la relación hijo
    que contengan la clave foránea con este valor pasan a
    ser NULL.

Cuando la integridad es responsabilidad de los programadores
de las aplicaciones puede ocurrir:

  • 1. Una duplicación de esfuerzos. Todos los
    programas de aplicación sobre la misma base chequean
    el dominio sobre el que se mueven los valores de los
    atributo.

  • 2. Falta de consistencia. Cada programador de
    aplicación sobre la misma base chequea lo mismo de
    diferentes formas y además chequea diferentes
    reglas.

  • 3. Problemas de mantenimiento. Son creados al cambiar
    los criterios de integridad.

  • 4. Complejidad. Una base de datos sencilla puede
    complicarse al incluirle nuevas reglas de integridad.

En 1985 Codd establece 12 reglas, que están precedidas
por una "Regla cero", para determinar si una base de datos puede
o no llamarse totalmente relacional. Para ello deben cumplirse
por lo menos seis de ellas.

  • 0. Gestión de una base de datos relacional.
    Todo sistema que se diga ser relacional debe ser capaz de
    manipular bases de datos solamente con sus capacidades
    relacionales.

  • 1. Representación de la
    información.

  • 2. Garantía de accesibilidad
    lógica.

  • 3. Representación sistemática de la
    información que falta.

  • 4. Catálogo dinámico en
    línea.

  • 5. Sub-lenguaje de datos completos.

  • 6. Vistas actualizables.

  • 7. Inserción, actualización y borrado
    de alto nivel.

  • 8. Independencia de datos físicos.

  • 9. Independencia de datos lógicos.

  • 10. Independencia de la integridad.

  • 11. Independencia de la distribución.

  • 12. Regla de la no inversión.

Otra información más detallada sobre estas
reglas la puede encontrar en "SQL. El lenguaje de consulta
estructurado." De C, J. Hursh y J, L. Hursh.

Teoría del
diseño

La automatización de la actividad de una
oficina o de
una empresa se realiza con el objetivo de hacer las tareas, que
hasta el momento se realizaban manualmente, en una forma
más rápida y eficiente. Es por ello que debe
realizarse un buen análisis a fin de recopilar toda la
información necesaria para dar respuesta a todas las
demandas planteadas por el usuario.

El proceso de automatización de una organización consta de varios subprocesos:
análisis, modelación de datos, diseño,
programación o implementación de los
procedimientos necesarios para satisfacer las demandas de los
usuarios, período de prueba o puesta a punto,
utilización del sistema y mantenimiento.

Aunque todo el proceso comienza con el análisis de las
tareas que se desean automatizar, este curso no incluye el
estudio de las bases fundamentales para la realización de
esta etapa. Vimos cómo modelar datos, las herramientas
que se utilizan en la etapa de modelación y algunos
lenguajes que poseen los analistas para expresar de alguna forma
las demandas planteadas por los usuarios. Ahora veremos las bases
en las que se sienta la obtención de un buen
diseño. Antes de decir qué se entiende por un buen
diseño expondremos un ejemplo de por qué un esquema
relacional puede ser inadecuado.

Supongamos que se tienen dos entidades, una de suministradores
y una de productos y que del análisis del fenómeno
se obtuvo la siguiente relación para reflejar qué
producto de suministraba cada suministrador:

SUM(nomb_sum, dirección, producto, precio)

Esta relación presenta varios problemas. Analicemos los
mismos.

Redundancia: La dirección del suministrador dado
es repetida en cada una de las filas en la que aparece
suministrando un nuevo producto.

Inconsistencia potencial (Anomalías de
actualización): Se puede actualizar la dirección de
un suministrador en una de las filas en las que aparece, no
siendo así en las demás. Luego aparecería un
mismo suministrador al menos con dos direcciones.

Anomalías de Inserción: No se puede
registrar una dirección para un suministrador si
éste no suministra al menos un producto. Para resolver
este problema se pudiera insertar el nombre y la dirección
del suministrador y marcar el producto y al precio como NULL.
Estos campos que fueron marcados como NULL pueden ser llenados
más tarde, en el momento que el suministrador comience a
suministrar productos o bien se pudiera insertar una nueva fila
con el nuevo producto suministrado y borrar aquella donde el
producto y el precio están marcados como NULL. Los
atributos que identifican a cualquier tuplo de la relación
son nomb_sum y producto, en conjunto. Como
producto es un atributo identificativo, no debe tomar
valores nulos.

Anomalías de borrado: Si desearamos borrar todos
los productos de un suministrador, perderíamos entonces la
dirección del mismo para el caso que éste comience
nuevamente a suministrar productos.

Luego es necesario dividir la relación SUM en dos
relaciones SUM y SUMPROD de la siguiente forma:

SUM (nomb_sum, dirección)

SUMPROD (nomb_sum, producto, precio)

Lo anterior fue un ejemplo de mal diseño y de los
problemas que éste ocasiona. Antes de exponer la teoría
para la obtención de un buen diseño, expondremos
algunos conceptos básicos para trabajar con la misma.

Conceptos básicos

Sobre las relaciones que existen entre cada una de las
entidades que intervienen en el fenómeno que se desea
automatizar y sobre los atributos de cada una de ellas se
establecen algunas restricciones, que en ocasiones dependen de la
semántica de los elementos del dominio en
el cual toman valores los atributos y en otras dependen de la
igualdad o
desigualdad de dichos valores.

Por ejemplo, carecen de sentido hablar de una edad o una talla
negativa, como también carece de sentido hablar de una
fecha de inicio de un evento ya ocurrido que sea mayor, que la
fecha en que nos encontramos actualmente. En el caso de la fecha,
se dice que una fecha es menor (mayor) que otra si tiene lugar
antes (después) que la fecha que se toma como
patrón de comparación. Luego, se denomina
dependencia funcional a una correspondencia que se
establece entre determinados conjuntos de atributos de una
relación.

Sea ((R,U) un esquema relacional de base de datos con R,
conjunto de relaciones del esquema y U el conjunto de atributos.
Sean X e Y dos atributos que pertenecen al conjunto de atributos
U del esquema. Se dice Y depende de X o bien que Y se deriva de
X, si para cualquier relación Ri de R no es posible que
existan dos tuplos que coincida en X y no coincidan en Y.

Veamos por ejemplo una base de datos en la que se almacenan,
entre otras cosas, datos de personas que intervienen en el
fenómeno analizado. Sean dos instancias de la entidad
PERSONA en la que se tuvieron en cuenta los atributos #ident,
nombre y sexo.

# IDENTIDAD

NOMBRE

SEXO

70072201361

Pérez Pérez, Perico

M

70060901393

Anda Mocha, Maricusa

F

Como cada persona tiene un único carné de
identidad y un número de identidad pertenece a una
única persona, cuando #ident tenga como valor la cadena
"70072201361", el atributo sexo no podrá tener
otro valor que no sea el carácter "M" y asimismo el atributo
nombre no podrá obtener otra cadena que no sea
"Pérez Pérez, Perico" luego se establecen las
dependencias funcionales:

Monografias.com

El concepto de
dependencia funcional es puramente semántico. Reconocer
las dependencias funcionales es parte del proceso de entender el
significado de los datos. Como parte semántica de la
situación que se analiza, las dependencias funcionales
deben cumplirse de alguna manera y la forma de garantizar su
cumplimiento es especificándolo en el esquema relacional
para que el administrador de la bases de datos haga que se
cumpla.

Monografias.com

Al conjunto formado por todas las dependencias funcionales que
se implican lógicamente a partir del conjunto de
dependencias funcionales de F, se le denomina clausura del
conjunto F. Se define entonces el siguiente conjunto:

Monografias.com

Para calcular el conjunto clausura del conjunto de
dependencias funcionales es necesario calcular las clausuras de
todos sus atributos. Para ello analicemos primeramente el
conjunto clausura de un atributo particular que se define como el
conjunto de todos los atributos que se pueden implicar a partir
de X teniendo en cuenta el conjunto de dependencias funcionales
F, es decir, el conjunto definido de la forma

Monografias.com

Algoritmo para calcular
la clausura de un atributo

Sea U un conjunto de atributos y F un conjunto de dependencias
funcionales. Sea X(U. Se desea calcular la clausura de X que se
denota X+. El método de
cálculo consiste en computar X(0), X(1), X(2), …
teniendo en cuenta los siguientes pasos:

Monografias.com

Siempre que hablamos de una entidad suponemos que existe una
clave, es decir, un conjunto de atributos que identifican a una
entidad de forma única. Cuando analizamos las relaciones y
las dependencias funcionales encontramos un concepto
análogo al concepto de clave. Sea ((R,U) un esquema
relacional de base de datos, R un conjunto de relaciones del
esquema y U={A1, A2,…, An} el conjunto de atributos. Sea X un
subconjunto de atributos, que pertenece al conjunto de atributos
U y Ri una de las relaciones de R. Decimos que X es una llave de
Ri si:

Monografias.com

Como CS y SZ generan el universo y
además son mínima, entonces son llaves.
Véase cómo CSZ también genera el universo de
atributos, pero no cumple con la minimalidad de la llave. Por
tanto no lo es.

Monografias.com

Axiomas de
Amstrong

Monografias.com

Los axiomas de Amstrong con completos, porque cualquier
dependencia funcional que sea verdadera en F debe obtenerse a
partir de F y aplicando estos axiomas y seguros porque
cualquier dependencia que se obtiene a partir de F usando los
axiomas de Amstrong serán verdaderos en cualquier
relación Ri del esquema relacional en el cual F sea
verdadero.

Existen varias reglas que se infieren a partir de los axiomas
de Amstrong. A continuación veremos tres de ellas. La
demostración de cada una puede encontrarse en "Principles
of Database Systems" de Ullman, J. D. Páginas 217-220.

Reglas de inferencias.

Monografias.com

El cubrimiento mínimo de un conjunto de dependencias
funcionales F es un conjunto de dependencias funcionales
equivalentes a F que cumplen:

  • i) No existen dependencias redundantes.

  • ii) No existen atributos extraños.

Veamos a continuación un procedimiento para calcular el
cubrimiento mínimo de un conjunto de dependencias
funcionales.

Proceso de determinación del conjunto minimal de F o
cubrimiento mínimo.

Monografias.com

El cubrimiento mínimo de un conjunto de dependencias
funcionales no es único ya que su forma final depende del
orden que se establezca en el cálculo.

Monografias.com

Paso 2. Eliminación de las dependencias funcionales
redundantes en F'.

Cálculo de clausuras

Monografias.com

Paso 3. Eliminar los atributos extraños en F".

Se analizan solamente las dependencias de la forma X(Y, tales
que X sea un atributo compuesto

Cálculo de clausuras

Monografias.com

El conjunto F''' es el cubrimiento mínimo de F.

Para que el diseño de un fenómeno que se ha
analizado resulte adecuado, éste debe presentarse en una
forma normal adecuada y debe cumplirse que el mismo satisfaga las
propiedades de encuentro sin pérdida y preservación
de las dependencias funcionales. Antes de entrar exponer las
propiedades mencionadas, veamos algunos conceptos.

Monografias.com

Se dice que una relación R se encuentra en una
determinada forma normal si satisface un cierto conjunto de
restricciones que se establecen para cada forma.

Primera forma normal (1FN): Una relación se
encuentra en 1FN si y sólo si todos sus elementos son
atómicos, es decir, si todos sus atributos contienen
valores indivisibles.

Segunda forma normal (2FN): Una relación se
encuentra en 2FN si y sólo si se encuentra en 1FN y todos
sus atributos no llaves dependen completamente de la llave
primaria.

Tercera forma normal (3FN): Una relación se
encuentra en 3FN si y sólo si se encuentra en 2FN y todos
sus atributos no llaves dependen directamente de la llave
primaria.

Boyce – Codd forma normal (BCFN): Una relación
se encuentra en BCFN si y sólo si para toda dependencia no
trivial X(Ai en la proyección sobre la relación R,
X es llave o superllave de R. Relaciones de este tipo presentan
menos anomalías que las anteriores, pero es más
difícil obtenerlas.

Ejemplo:

Monografias.com

Propiedad de encuentro sin pérdida (PLJ)

Monografias.com

Vemos como en la relación resultante del conjunto del
encuentro natural de las proyecciones, no conserva el conjunto de
dependencias funcionales. La dependencia

Monografias.com

Esta descomposición si conserva el conjunto de
dependencia funcionales.

Veamos a continuación un algoritmo que
permite comprobar el cumplimiento de la PLJ por una
descomposición.

Monografias.com

Para ello construyamos la tabla inicial (TABLA 1).

Monografias.com

La corrección del algoritmo anterior es demostrada en
"Principles of Database Systems" Ullman, J. D. pp 228-230.

Este procedimiento puede ser aplicado cuando se tiene una
descomposición con cualquier número de relaciones.
Sin embargo, para descomposiciones con sólo dos relaciones
se establece un método más simple de comprobar si
las mismas cumplen la PLJ.

Teorema:

Monografias.com

Siempre que se pueda garantizar, es deseable que ( preserve
las dependencias en F ya que cada dependencia es vista como
restricciones de integridad que deben cumplirse en R. Cuando una
descomposición ( preserva el conjunto de dependencias
funcionales se dice que ( cumple la propiedad de
preservación de dependencias funcionales (PPDF
).

Veamos a continuación un algoritmo que permite
comprobar el cumplimiento de la PPDF por una
descomposición.

Monografias.com

El algoritmo anterior termina cuando con la aplicación
de la Ri-operación, no se reportan cambios en Z. Si
ocurren cambios tales que el conjunto de atributos obtenidos
contiene a Y, entonces la descomposición cumple la PPDF.
Si cuando termina el algoritmo no se obtiene a Y como parte del
conjunto de atributos obtenidos, entonces la
descomposición no cumple la PPDF.

Monografias.com

Aplicamos AB-operación. Z=BCD

Monografias.com

Como a partir de las aplicaciones de la R-operaciones se
obtuvo el atributo A, entonces ( cumple la PPDF.

Hasta ahora hemos visto las diferentes formas normales en que
pueden encontrarse las relaciones de un esquema relacional. Vimos
además dos importantes propiedades que pueden o no cumplir
las descomposiciones de los esquemas relacionales. Intentemos
construir esquemas relacionales con descomposiciones que cumplan
las propiedades y en la cual sus relaciones se encuentren en una
forma normal deseada (3FN o BCFN).

Monografias.com

Algoritmo de
descomposición de un esquema relacional en BCFN que cumple
PLJ

Monografias.com

Monografias.com

Primero se calculan todas las llaves para determinar si se
encuentra en BCFN. Las llaves se calculan utilizando en esquema
E0. Después se realiza la división del esquema en
dos relaciones. Estos pasos se repiten hasta llegar a obtener
todas las relaciones en BCFN. La descomposición que se
obtiene al final está formada por todas las relaciones que
descansan en las hojas del árbol y cada una de ellas se
encuentra en BCFN. Este algoritmo garantiza la obtención
de una descomposición en una forma normal adecuada que
cumple una de las propiedades pero no la otra. Veamos a
continuación un algoritmo para obtener una
descomposición en 3FN que cumple PPDF.

Algoritmo de descomposición de un esquema relacional
en 3FN que cumple PPDF

Monografias.com

El procedimiento consiste en:

  • 1. Determinar si existe en R algún atributo no
    envuelto en ninguna dependencia funcional. De existir este
    atributo, el mismo pasaría a formar parte de una
    relación por sí sólo y se quita de
    R.

Monografias.com

La dificultad de este algoritmo consiste en calcular el
cubrimiento mínimo.

En el ejemplo anterior se tiene que el conjunto de
dependencias funcionales ya es el cubrimiento mínimo de
sí mismo. Luego por cada dependencia se forma una
relación. La descomposición que se tiene
está formada por CT, CHR, HRT, CGS y HRS. Esta
descomposición cumple la PPDF y sus relaciones se
encuentran en 3FN. Este algoritmo, al igual que el anterior,
garantiza la obtención de una descomposición en una
forma normal adecuada que cumple una de las propiedades pero no
la otra.

Veamos un último teorema que garantiza la
obtención de una descomposición en 3FN que cumple
las dos propiedades.

Monografias.com

Nota: La demostración del teorema
anterior es demostrada en "Principles of Database Systems"
Ullman, J. D. pp 242-243.

ANEXO1.- Ejemplos de Modelación
utilizando el MEER

Ejemplo 1 : Supongamos que se desea automatizar el
control de vuelos
en un aeropuerto para lo cual se tienen las siguientes
descripciones de los elementos que conformarán el sistema.
Represente el modelo de entidad relacionalidad extendida.

Entidad 1.: Pasajeros

Atributos : 1. Nombre La llave está formada por el
conjunto de {nombre, dirección}

  • 2.  Dirección

  • 3.  Teléfono

Entidad 2. : Vuelos

Atributos : 1. Número El origen y el destino
almacenan el código comercial de los

  • 2.  Origen aeropuertos (origen y destino del
    vuelo)

  • 3.  Destino Se supone que los vuelos son directos, es
    decir, no hay

  • 4.  Hora_sal escala. La llave esta formada por el
    conjunto

  • 5.  Hora_lleg {origen, destino, Hora_sal}

Entidad 3. : Salidas

Atributos : 1. Fecha

Entidad 4. : Avión

Atributos : 1. Productor La llave está formada por
el conjunto

2. No_modelo {productor, No_modelo}

Entidad 5. : Motor

Atributos :1. No_serie Se supone que el número de
serie es asignado por la

aerolínea y sirve como una llave para cada propietario
de

cada aerolínea

Entidad 6. : Personal

Atributos : 1. No_empleado La llave está formada
por el conjunto {No_empleado}

  • 2.  Nombre

  • 3.  dirección

  • 4.  salario

Entidad 7. : Piloto

Sin atributos

Los pilotos se relacionan con el avión en una
relación PODER_VOLAR. Se establecen además las
siguientes relaciones:

Monografias.com

Modelo de entidad
relacionalidad extendida

Monografias.com

Ejemplo 2 : Exploremos una base de datos que almacena
información sobre jugadores de beisbol, los equipos para
los cuales jugaron, el average o promedio de bateo y las
posiciones jugadas por cada jugador. Represente el modelo de
Entidad -Relacionalidad Extendida a partir de las siguientes
descripciones.

Entidad 1. : Jugador

Atributos : 1. nombre La llave está formada por el
conjunto {nombre}

  • 2.  lnac lnac y fnac son el lugar y fecha de
    nacimiento

  • 3.  fnac respectivamente.

Entidad 2. : Posición

Atributos : 1. nombre La llave está formada por el
conjunto {nombre} o por el

2. número conjunto {número}

Entidad 3. : Equipos

Atributos : 1. Privilegio El privilegio es una propiedad,
es algo que va a identificar a

  • 2.  ciudad a un equipo en una temporada, aunque este
    equipo cambie

  • 3.  año su nombre o cambie la ciudad donde
    jugó. Es un sello que

marca al equipo
en la historia. Por
consiguiente, la llave está

formada por el conjunto {privilegio, año}

Se tiene que el promedio de bateo de cada jugador dentro de un
determinado equipo. Se establecen las siguientes
relaciones :

Monografias.com

MODELO DE ENTIDAD RELACIONALIDAD EXTENDIDA

Monografias.com

Modelación de
datos. Ejercicios

  • 1.  Represente el diagrama de entidad relacionalidad
    extendida para la siguiente situación.

Se desea llevar el control de la actividad realizada en una
tienda por departamentos. Por cada empleado se almacena su
número, nombre, su dirección y el departamento para
el cual el empleado trabaja. Cada departamento posee un nombre,
empleados, un jefe y los artículos que vende. De cada
artículo a vender se conoce su nombre, el productor, el
precio, el número de modelo que le asigna el productor y
un número interno asignado por la tienda. Cada productor
tiene un nombre, una dirección un conjunto de
artículos que le suministra a la tienda y sus precios.

  • a)  Indique la lleve para cada entidad.

  • b)  Establezca las relaciones existentes y diga su
    clasificación (1-1, 1-n, n-n).

Nota : Plantee las suposiciones que no se han hecho en el
ejercicio en dependencia de la naturaleza del problema.

2. El conjunto de seres humanos, dividido en hombres y
mujeres, permite establecer diferentes relaciones entre sus
elementos en dependencia del parentesco que exista entre los
mismos. Teniendo en cuenta lo anterior, represente el diagrama de
entidad-relacionalidad extendida para reflejar las relaciones
siguientes.

  • a)  MATERNIDAD

  • b)  PATERNIDAD

  • c)  HERMANDAD

  • d)  AMISTAD

  • e)  TIA ó TIO

  • f)  SER ESPOSO DE (SER ESPOSA DE)

  • 3.  Represente el diagrama de entidad-relacionalidad
    extendida para el siguiente fenómeno.

Se tienen empleados, los cuales se describen por su nombre,
dirección y el departamento donde este trabaja así
como el número que lo identifica. Se distinguirán
de modo especial a los vendedores. De cada departamento se conoce
el nombre, los empleados que trabajan en él, quién
lo dirige y los renglones que vende. Un renglón es vendido
por un departamento y sólo uno. De cada renglón
conocemos su nombre, el fabricante, precio, número del
modelo que le asigna el fabricante y un número interno que
le asigna el departamento. Cada fabricante se identifica por un
nombre y se describe por su dirección.

  • 4.  Represente el diagrama de entidad-relacionalidad
    extendida para el siguiente fenómeno.

Considere un universo informativo conformado por diversos
tipos de vehículos y los individuos relacionados con
ellos.

  • 5.  Represente el diagrama de entidad-relacionalidad
    extendida para el siguiente fenómeno.

En un establecimiento textil la
organización de la producción se lleva a cabo utilizando el
siguiente esquema. En el taller hay máquinas
simples en las que se realizan trabajos de festón,
dobladillos, ojal y botón y máquinas
especiales donde se realiza el perfilado de las piezas; pero
todas, tanto las primeras como las últimas se identifican
por un número que representa el modelo de
fabricación de las mismas.

Para llevar a cabo el control de los trabajadores, la
administración los divide en dos grupos fundamentales.
Un grupo lo conforman los trabajadores organizativos (contabilidad,
recursos
humanos, auxiliares de limpieza, etcétera) y el otro
grupo está formado por los operarios, que son los que
directamente interactúan con la producción.

De cada trabajador se conoce su nombre y su dirección.
Para controlar la producción que realiza cada operario, el
departamento de producción le asocia a cada uno de ellos
el número de la máquina en que opera, la
operación que realiza y el número de los paquete
que recibe para realizar dicha producción, los que se
describen con la cantidad de piezas que contiene cada uno de
ellos.

Cada operario tiene un nombre y un número que lo
identifica. Además tiene una categoría un tiempo de
producción y una norma. Las operaciones en el taller
pueden realizarse de forma manual y
automatizada atendiendo a las necesidades de las mismas.

MODELO DE ENTIDAD RELACIONALIDAD EXTENDIDA
PARA EJERCICIO No. 2

Monografias.com

MODELO DE ENTIDAD RELACIONALIDAD EXTENDIDA
PARA EJERCICIO No. 3

Monografias.com

MODELO DE ENTIDAD RELACIONALIDAD EXTENDIDA
PARA EJERCICIO No. 4

Monografias.com

MODELO DE ENTIDAD RELACIONALIDAD EXTENDIDA
PARA EJERCICIO No. 5

Monografias.com

Lenguajes relacionales.
Ejercicios

1. Sea R y S dos relaciones formadas por las siguientes
tablas:

Monografias.com

Ignore los nombres de los atributos para el cálculo de
la unión y la diferencia.

2. Suponga que R y S son relaciones de aridad 3 y 2
respectivamente. Convierta la expresión

Monografias.com

al

  • a) cálculo relacional de tuplos

  • b) cálculo relacional de dominios.

3. Convierta la siguiente fórmula del cálculo
relacional de tuplos

Monografias.com

  • a) lenguaje natural

  • b) cálculo relacional de
    dominiosálgebra relacional

4. Convierta la fórmula del cálculo relacional
de dominios

Monografias.com

al

  • a) lenguaje natural

  • b) cálculo relacional de tuplos

  • c) álgebra relacional.

5. Considere la siguiente base de datos formada por tres
relaciones

frecuenta(bebedor, bar) bares que cada bebedor frecuenta

oferta(bar, cerveza) cerveza
que cada bar oferta

gusta(bebedor, cerveza) cerveza que le gusta a cada
bebedor

Exprese en el

  • i) álgebra relacional

  • ii) cálculo relacional de tuplos

  • iii) cálculo relacional de dominios

las siguientes demandas del lenguaje natural:

  • a) Los bares que ofertan la cerveza que le gusta a
    Charles.

  • b) Los bebedores que frecuentan al menos un bar que
    oferta la cerveza que a ellos les gusta.

  • c) Los bebedores que frecuentan solamente los bares
    que ofertan algunas de las cervezas que a ellos les
    gusta.

  • d) Los bebedores que no frecuentan los bares donde
    ofertan una cerveza que a ellos les gusta.

6. Se dice que una operación es independiente si
éste puede ser definido sin recursividad, es decir, si
éste no se usa en su propia definición. Demuestre
que los operadores del álgebra relacional
unión, diferencia, selección,
proyección y producto cartesiano son
independientes.

Respuestas

Monografias.com

Computar

Monografias.com

Monografias.com

  • a) lenguaje natural

Antes de dar solución a esta pregunta es necesario
especificar que se tiene. Se cuenta con dos relaciones R y S. La
aridad de ambas relaciones es 2. Luego la expresión
representa los tuplos de R tales que sus segundas componentes no
son iguales a las primeras componentes de los tuplos que
pertenecen a S.

Monografias.com

  • a) lenguaje natural

A la relación pertenecen los tuplos de aridad 2 tales
que si invertimos las posiciones de sus componentes,
también encontramos el tuplos resultante de la inversión. En otras palabras a la
relación pertenecen tanto los tuplos como sus
simétricos.

  • b) cálculo relacional de tuplos

Monografias.com

5. Expresar las siguientes demandas del lenguaje natural en el
lenguaje apropiado, teniendo en cuenta las relaciones que a
continuación le ofrecemos.

frecuenta(bebedor, bar) bares que cada bebedor frecuenta

oferta(bar, cerveza) cerveza que cada bar oferta

gusta(bebedor, cerveza) cerveza que le gusta a cada
bebedor

  • a) Los bares que ofertan la cerveza que le gusta a
    Charles.

  • i) álgebra relacional

Para buscar todas las cervezas que le gustan a Charles es
necesario hacer una selección.

Monografias.com

Si se realiza un encuentro natural de la relación
anteriormente obtenida con la relación oferta(bar,
cerveza) tendremos los bares que ofertan la cerveza que a Charles
le gusta.

Monografias.com

  • b) Los bebedores que frecuentan al menos un bar que
    oferta la cerveza que a ellos les gusta.

  • i) álgebra relacional

Si se realiza un encuentro de las relaciones oferta(bar,
cerveza) y frecuenta(bebedor, bar) se obtienen los bares que cada
bebedor frecuenta y la cerveza que se oferta en cada uno de
ellos. Si la relación resultante la encontramos con la
relación gusta(bebedor, cerveza), se obtienen los
bebedores que frecuentan los bares que ofertan la cerveza que a
ellos les gusta. Se obtendría la expresión
siguiente :

Monografias.com

  • c) Los bebedores que frecuentan solamente los bares
    que ofertan algunas de las cervezas que a ellos les
    gusta.

  • i) álgebra relacional

Si se realiza un encuentro de las relaciones oferta(bar,
cerveza) y gusta(bebedor, cerveza) se obtienen todas las
combinaciones de bebedores y bares a partir de las cerveza que a
ellos le gusta.

Monografias.com

Hallamos una proyección de la
relación Q y obtenemos a los bebedores que frecuentan los
bares que ofertan cervezas que a ellos no les gusta.

Monografias.com

  • d) Los bebedores que no frecuentan los bares donde
    ofertan una cerveza que a ellos les gusta.

  • i) álgebra relacional

Si se realiza un encuentro de las relaciones
frecuenta(bebedor. bar), oferta(bar, cerveza) y gusta(bebedor,
cerveza) se obtienen todos los bebedores que frecuentan al menos
un bar donde ofertan la cerveza que a ellos le gusta.
Denominaremos a la relación finalmente obtenida
P.

Monografias.com

Teoría de
diseño. Ejercicios

1.- Determine si son equivalentes los conjuntos F y G

Monografias.com

6.- Sea R un esquema relacional dado. Calcule las posibles
llaves de R teniendo en cuenta los siguientes conjuntos de
dependencias funcionales:

Monografias.com

  • a) Encuentre un cubrimiento mínimo para las
    dependencias de F proyectadas sobre estas relaciones.

  • b) Encuentre un cubrimiento mínimo para la
    unión de las dependencias proyectadas.

  • c) ¿Preserva esta descomposición las
    dependencias funcionales?

Monografias.com

Bibliografía del
curso

  • Análisis y diseño de sistema de
    información.

  • An introduction to database system

  • Database system/Ullman

 

 

 

 

Autor:

Venus Faez Fuentes

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter