viernes, 29 de mayo de 2009

Modulo identidad relación

diagrama 1



diagrama 2



diagrama 3



diagrama 4



diagrama 5



diagrama 6


miércoles, 20 de mayo de 2009

Operaciones del modelo relacional

Operaciones del modelo relacional

Todo lenguaje de manejo de datos (LMD) sirve para que los diferentes usuarios consulten y tengan acceso al contenido de la base de datos. Estos lenguajes se clasifican en:

Lenguajes Procedimentales: en estos lenguajes el usuario ordena al DBMS que realice una serie de operaciones con la b/d para obtener el resultado deseado.

Lenguajes No Procedimentales: en estos, el usuario describe la información que desea sin indicar un procedimiento específico para obtenerla.

El Álgebra Relacional es uno de los dos lenguajes formales para la consulta de datos en una base de datos. Está clasificado como un lenguaje procedimental.

Consta de cinco operaciones básicas o primitivas: selección, proyección, operaciones de conjunto, renombrar, join y división.

Toda operación, en Álgebra Relacional, utiliza una o dos relaciones como argumento y produce siempre una nueva relación.

Operadores de Conjuntos

Las bases de datos relacionales están basadas en el concepto matemático de relaciones entre conjuntos. Así las operaciones que se pueden efectuar entre relaciones son tanto las comunes a los conjuntos, unión, intersección, diferencia, producto cartesiano; como las específicas de las relaciones, selección, proyección, etc. A esto se le llama el álgebra relacional. Si r y s son relaciones con todos los dominios iguales, esto es, el mismo esquema se les puede aplicar las operaciones típicas de conjuntos:

Operaciones:

Unión

-rUs Es la relación sobre los mismos dominios que contiene

las eneadas que están en r o s.

Intersección

r\s Es la relación con las eneadas que están en r y en s.

Diferencia

r-s Es la relación con las eneadas que están en r pero no en s.

Ejemplo: Sean r y s relaciones con esquema en {A,B,C}

r: s:

A B C A B C

a1 b1 c1 a1 b1 c1

a1 b2 c1 a2 b2 c1

a2 b1 c2 a2 b2 c2

rUs:

A B C

a1 b1 c1

a1 b2 c1

a2 b1 c2

a2 b2 c1

a2 b2 c2

r\s:

A B C

a1 b1 c1

r-s:

A B C

a1 b2 c1

a2 b1 c2

Producto Cartesiano

Obtiene todas las eneadas que se construyen concatenando cada eneada de r con otra de s. En este caso los dominios de r y s no tienen que ser los mismos. Sea la r anterior y sea q la relación tal que:

q:

D E F

d1 e1 f1

d2 e2 f1

d2 e2 f2

rXq:

A B C D E F

a1 b1 c1 d1 e1 f1

a1 b1 c1 d2 e2 f1

a1 b1 c1 d2 e2 f2

a1 b2 c1 d1 e1 f1

a1 b2 c1 d2 e2 f1

a1 b2 c1 d2 e2 f2

a2 b1 c2 d1 e1 f1

a2 b1 c2 d2 e2 f1

a2 b1 c2 d2 e2 f2

Operadores Relacionales

Permutación

Esta operación se aplica a una sola relación, consiste en cambiar el orden de las columnas. Se denota por Pi_{i j k} en donde se indican el orden en que estarán las columnas de la relación original. En este caso la primera columna es la i, la segunda la j y la tercera la k.

Ejemplo:

Permutar Pi_{2 3 1}(r):

B C A

b1 c1 a1

b2 c1 a1

b1 c2 a2

Pi_{2 1 4 3} Alumnos={Nombre-al},{NoCta},{carrera},{prom}

Proyección

Es también una operación unaria. El resultado es un subconjunto de dominios, permite obtener subrelaciones de otras más grandes seleccionando algunos atributos. Se eliminan,luego, las eneadas

repetidas. Se denota también con Pi y se indican las columnas seleccionadas :

Ejemplos:

Pi_{23}(r)=

B C

b1 c1

b2 c1

b1 c2

Pi_{12} {Alumnos}={No.Cta},{nombre-al}

Selección

Produce un subconjunto de las eneadas de la relación que cumplen con una condición (simple o compuesta) sobre los valores para uno o varios de los atributos. Se denota por sigma_{cond}(r).

Ejemplos:

sigma_{(B=b1)}(r)

a1 b1 c1

a2 b1 c2

sigma_{carrera}={física}(Alumnos)

C1 Suárez 8 física

C3 Aguirre 7 física

Unión o Reunión (JOIN)

Se denota por r*{cond}s a un subconjunto del producto cartesiano de dos relaciones r,s en que se cumple alguna condición en dominios comunes. Se obtiene concatenando una eneada de r con otra de s, de forma que cumpla con una condición en los dominios comunes. Si no hay dominios comunes, esta operación es un producto cartesiano.

Ejemplo:

r={A,B} s={A,D}

r*{(A=a1)}s={A,B,D}

a1 b1 a1 d1 a1 b1 d1

a2 b2 a1 d2 a1 b1 d2

a2 d1

También es posible efectuar una reunión en atributos que tengan diferentes nombres pero el mismo dominio. En este caso se llama equireunión [Maier]. Si la condición es sobre atributos con nombres distintos, mismo dominio pero la condición no es sobre igualdades, se le llama reunión donde indica que tipo de condición se tiene (<,>,etc.).

OPERACIONES PRIMITIVAS

En el álgebra relacional se han incluido las operaciones unión, intersección, diferencia, producto cartesiano, proyección, selección, permutación y reunión. No todas ellas son necesarias tenerlas, las operaciones primitivas indispensables a partir de las cuales se pueden obtener las demás son: unión, diferencia, producto cartesiano, proyección y selección.

Por ejemplo la intersección se puede expresar en términos de la diferencia como sigue:

r/s=(r-(r-s))

La reunión se puede obtener a partir de la selección de los elementos que cumplen con una condición en el producto cartesiano:

r*_{(cond)}s=sigma_{(cond)}(r times s)

Esto es importante pues algunos sistemas manejadores de bases de datos comerciales proporcionan solo parte de los operadores, es suficiente con que tengan las operaciones primitivas a partir de las cuales obtener las otras.

Otro punto importante del álgebra relacional es ver que propiedades tienen las operaciones para optimizar su uso.

la unión es conmutativa y asociativa:

(rUs)Ut =(sUt)Ur

la intersección también es conmutativa y asociativa:

(r Int s)Int t =(s Int t )Int r

existe distributividad entre la unión y la intersección:

r Int ( sUt)=(r Int s)U(r Int t)

también son conmutativos el producto cartesiano y la selección.

A partir de los operadores del álgebra relacional también se pueden efectuar las operaciones de actualización. Para insertar una eneada se puede hacer como la unión de una relación y dicha

eneada:

rU(a1,...,an)

Para borrar se hace la diferencia entre la relación y la eneada:

r-(a1,...,an)

Según [Date] un sistema manejador de bases de datos se puede llamar totalmente relacional si soporta:

Una base de datos relacional incluidos los conceptos de dominio, llave, y las dos reglas de integridad y el almacenamiento de las relaciones. Un lenguaje de manipulación de datos que sea al menos tan poderoso como el álgebra relacional.

BIBLIOGRAFÍA

[Date] Date C. J.Introducción a los sistemas de bases de datos.

Addison Wesley Iberoamericana. 1986.

[Maier] Maier David. The Theory of Relational Databases.

Computer Science Press. 1983.

[Rivero] Rivero Cornelio E. Bases de Datos Relacionales.

Parainfo 1988.

Conceptos basicos

Base de datos

Una base de datos o banco de datos (en inglés: database) es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este sentido, una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. En la actualidad, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital (electrónico), que ofrece un amplio rango de soluciones al problema de almacenar datos.

Campo

Campo: unidad básica de una base de datos. Un campo puede ser, por ejemplo, el nombre de una persona. Los nombres de los campos, no pueden empezar con espacios en blanco y caracteres especiales. No pueden llevar puntos, ni signos de exclamación o corchetes. Si pueden tener espacios en blanco en el medio. La descripción de un campo, permite aclarar información referida a los nombres del campo. El tipo de campo, permite especificar el tipo de información que cargaremos en dicho campo.

Registro

Registro: es el conjunto de información referida a una misma persona u objeto. Un registro vendría a ser algo así como una ficha.

Tabla

Tabla en las bases de datos, se refiere al tipo de modelado de datos, donde se guardan los datos recogidos por un programa. Su estructura general se asemeja a la vista general de un programa de Hoja de cálculo.

Las tablas se componen de dos estructuras:

* Campo: Corresponde al nombre de la columna. Debe ser único y además de tener un tipo de dato asociado.

* Registro: Corresponde a cada fila que compone la tabla. Allí se componen los datos y los registros. Eventualmente pueden ser nulos en su almacenamiento.

En la definición de cada campo, debe existir un nombre único, con su tipo de dato correspondiente. Esto es útil a la hora de manejar varios campos en la tabla, ya que cada nombre de campo debe ser distinto entre sí.

Data

El dato (del latín datum), es una representación simbólica (numérica, alfabética, algorítmica etc.), 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. Es de empleo muy común en el ámbito informático.

En programación un dato es la expresión general que describe las características de las entidades sobre las cuales opera un algoritmo.

Del lat. tardío [charta] data, propiamente 'documento dado', es decir, extendido, otorgado, palabra que en las escrituras latinas precede a la indicación del lugar y la fecha.

Nota o indicación del lugar y tiempo en que se hace o sucede algo y especialmente la que se pone al principio o al fin de una carta o de cualquier otro documento.

SGBD

Los sistemas de gestión de base de datos (SGBD); (en inglés: DataBase Management System, abreviado DBMS) son un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan. El propósito general de los sistemas de gestión de base de datos es el de manejar de manera clara, sencilla y ordenada un conjunto de datos que posteriormente se convertirán en información relevante para una organización.

Información

La información es un conjunto organizado de datos procesados, que constituyen un mensaje sobre un determinado ente o fenómeno. De esta manera, si por ejemplo organizamos datos sobre un país, tales como: número de habitantes, densidad de población, nombre del presidente, etc. y escribimos por ejemplo, el capítulo de un libro, podemos decir que ese capítulo constituye información sobre ese país. Cuando tenemos que resolver un determinado problema o tenemos que tomar una decisión, empleamos diversas fuentes de información (como podría ser el capítulo mencionado de este libro imaginario), y construimos lo que en general se denomina conocimiento o información organizada que permite la resolución de problemas o la toma de decisiones (ver apartado sobre conocimiento).

Modelo de base de datos

Un modelo de datos es básicamente una "descripción" de algo conocido como contenedor de datos (algo en donde se guarda la información), así como de los métodos para almacenar y recuperar información de esos contenedores. Los modelos de datos no son cosas físicas: son abstracciones que permiten la implementación de un sistema eficiente de base de datos; por lo general se refieren a algoritmos, y conceptos matemáticos.

Modelo jerárquico

Éstas son bases de datos que, como su nombre indica, almacenan su información en una estructura jerárquica. En este modelo los datos se organizan en una forma similar a un árbol (visto al revés), en donde un nodo padre de información puede tener varios hijos. El nodo que no tiene padres es llamado raíz, y a los nodos que no tienen hijos se los conoce como hojas.Las bases de datos jerárquicas son especialmente útiles en el caso de aplicaciones que manejan un gran volumen de información y datos muy compartidos permitiendo crear estructuras estables y de gran rendimiento. Una de las principales limitaciones de este modelo es su incapacidad de representar eficientemente la redundancia de datos.

Modelo relacional

El modelo relacional para la gestión de una base de datos es un modelo de datos basado en la lógica de predicado y en la teoría de conjuntos. Es el modelo más utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. Tras ser postuladas sus bases en 1970 por Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardó en consolidarse como un nuevo paradigma en los modelos de base de datos.Su idea fundamental es el uso de «relaciones». Estas relaciones podrían considerarse en forma lógica como conjuntos de datos llamados «tuplas». Pese a que ésta es la teoría de las bases de datos relacionales creadas por Edgar Frank Codd, la mayoría de las veces se conceptualiza de una manera más fácil de imaginar, esto es, pensando en cada relación como si fuese una tabla que está compuestas por registros (cada fila de la tabla sería un registro o tupla), y columnas (también llamadas campos).

Modelo de red

Éste es un modelo ligeramente distinto del jerárquico; su diferencia fundamental es la modificación del concepto de nodo: se permite que un mismo nodo tenga varios padres (posibilidad no permitida en el modelo jerárquico).Fue una gran mejora con respecto al modelo jerárquico, ya que ofrecía una solución eficiente al problema de redundancia de datos; pero, aun así, la dificultad que significa administrar la información en una base de datos de red ha significado que sea un modelo utilizado en su mayoría por programadores más que por usuarios finales.

Una estructura de base de datos de red, llamada algunas veces estructura de plex, abarca más que la estructura de árbol, porque un nodo hijo en la estructura red puede tener más de un nodo padre. En otras palabras, la restricción de que en un árbol jerárquico cada hijo puede tener sólo un padre, se hace menos severa.

Fuente: fismat, monografías, Wikipedia, real academia española