• Welcome Message

MODELO RELACIONAL

Posted by DaviD On lunes, marzo 07, 2011 0 comentarios

http://www.uazuay.edu.ec/analisis/El%20modelo%20relacional.pdf

http://ict.udlap.mx/people/carlos/is341/bases03.html


Modelo relacional

Las bases de datos relacionales son el tipo de bases de datos actualmente más difundido. Los motivos de este éxito son fundamentalmente dos:

1. ofrecen sistemas simples y eficaces para representar y manipular los datos
2. se basan en un modelo, el relacional, con sólidas bases teóricas

El modelo relacional fue propuesto originariamente por E.F. Codd en un ya famoso artículo de 1970. Gracias a su coherencia y facilidad de uso, el modelo se ha convertido en los años 80 en el más usado para la producción de DBMS.
La estructura fundamental del modelo relacional es precisamente esa, "relación", es decir una tabla bidimensional constituida por líneas (tuple) y columnas (atributos). Las relaciones representan las entidades que se consideran interesantes en la base de datos. Cada instancia de la entidad encontrará sitio en una tupla de la relación, mientras que los atributos de la relación representarán las propiedades de la entidad. Por ejemplo, si en la base de datos se tienen que representar personas, se podrá definir una relación llamada "Personas", cuyos atributos describen las características de las personas(Figura 2). Cada tupla de la relación "Personas" representará una persona concreta.

ejemplo de relación


En realidad, siendo rigurosos, una relación es sólo la definición de la estructura de la tabla, es decir su nombre y la lista de los atributos que la componen. Cuando se puebla con las tuplas, se habla de "instancia de relación". Por eso, la anterior Figura 2 representa una instancia de la relación persona. Una representación de la definiticón de esa relación podría ser la siguiente:

Personas (nombre, apellido, fecha_nacimiento, sexo, estado_civil)

A continuación, se indicarán ambas (relación e instancia de relación) con el término "relación", a no ser que no quede claro por el contexto a qué acepción se refiere.
Las tuplas en una relación son un conjunto en el sentido matemático del término, es decir una colección no ordenada de elementos diferentes. Para distinguir una tupla de otra, se recurre al concepto de "llave primaria", o sea a un conjunto de atributos que permiten identificar unívocamente una tupla en una relación. Naturalmente, en una relación puede haber más combinaciones de atributos que permitan identificar unívocamente una tupla ("llaves candidatas"), pero entre éstas se elegirá una sola para utilizar como llave primaria. Los atributos de la llave primaria no pueden asumir el valor nulo (que significa un valor no determinado), en tanto que ya no permitirían identificar una tupla concreta en una relación. Esta propiedad de las relaciones y de sus llaves primarias está bajo el nombre de integridad de las entidades (entity integrity).
A menudo, para obtener una llave primaria "económica", es decir compuesta de pocos atributos fácilmente manipulables, se introducen uno o más atributos ficticios, con códigos identificativos unívocos para cada tupla de la relación.
Cada atributo de una relación se caracteriza por un nombre y por un dominio. El dominio indica qué valores pueden ser asumidos por una columna de la relación. A menudo un dominio se define a través de la declaración de un tipo para el atributo (por ejemplo diciendo que es una cadena de diez caracteres), pero también es posible definir dominios más complejos y precisos. Por ejemplo, para el atributo "sexo" de nuestra relacion "Personas" podemos definir un dominio por el cual los únicos valores válidos son 'M' y 'F'; o bien por el atributo "fecha_nacimiento" podremos definir un dominio por el que se consideren válidas sólo las fechas de nacimiento después del uno de enero de 1960, si en nuestra base de datos no está previsto que haya personas con fecha de nacimiento anterior a esa. El DBMS se ocupará de controlar que en los atributos de las relaciones se incluyan sólo los valores permitidos por sus dominios. Característica fundamental de los dominios de una base de datos relacional es que sean "atómicos", es decir que los valores contenidos en las columnas no se puedan separar en valores de dominios más simples. Más formalmente se dice que no es posible tener atributos multivalor (multivalued). Por ejemplo, si una característica de las personas en nuestra base de datos fuese la de tener uno o más hijos, no sería posible escribir la relación Personas de la siguiente manera:

Personas (nombre, apellido, fecha_nacimiento, sexo, estado_civil, hijos)

En efecto, el atributo hijos es un atributo no-atómico, bien porque una persona puede tener más de un hijo o porque cada hijo tendrá diferentes características que lo describen. Para representar estas entidades en una base de datos relacional hay que definir dos relaciones:

Personas (*número_persona, nombre, apellido, fecha_nacimiento, sexo, estado_civil)
Hijos(*número_persona, *nombre_apellido, edad, sexo)


En las relaciones precedentes, los asteriscos (*) indican los atributos que componen sus llaves primarias. Nótese la introducción en la relación Personas del atributo número_persona, a través del cual se asigna a cada persona un identificativo numérico unívoco que se usa como llave primaria. Estas relaciones contienen sólo atributos atómicos. Si una persona tiene más de un hijo, éstos se representarán en tuplas diferentes de la relación Hijos. Las diferentes características de los hijos las representan los atributos de la relación Hijos. La unión entre las dos relaciones está constituida por los atributos número_persona que aparecen en ambas relaciones y que permiten que se asigne cada tupla de la relación hijos a una tupla concreta de la relación Personas. Más formalmente se dice que el atributo número_persona de la relación Hijos es una llave externa (foreign key) hacia la relación Personas. Una llave externa es una combinación de atributos de una relación que son, a su vez, una llave primaria para otra relación. Una característica fundamental de los valores presentes en una llave externa es que, a no ser que no sean null, tienen que corresponder a valores existentes en la llave primaria de la relación a la que se refieren. En nuestro ejemplo, esto significa que no puede existir en la relación Hijos una tupla con un valor del atributo número_persona sin que también en la relación Personas exista una tupla con el mismo valor para su llave primaria. Esta propiedad va bajo el nombre de integridad referencial (referential integrity)

Una de las grandes ventajas del modelo relacional es que define también un álgebra, llamada "álgebra relacional". Todas las manipulaciones posibles sobre las relaciones se obtienen gracias a la combinación de tan sólo cinco operadores: RESTRICT, PROJECT, TIMES, UNION y MINUS. Por comodidad, se han definido también tres operadores adicionales que de todos modos se pueden obtener aplicando los cinco fundamentales: JOIN, INTERSECT y DIVIDE. Los operadores relacionales reciben como argumento una relación o un conjunto de relaciones y restituyen una única relación como resultado.
Veamos brevemente estos ocho operadores:

RESTRICT: restituye una relación que contiene un subconjunto de las tuplas de la relación a la que se aplica. Los atributos se quedan como estaban.

PROJECT: restituye una relación con un subconjunto de los atributos de la relación a la que viene aplicado. Las tuplas de la relación resultado se componen de las tuplas de la relacion original, de manera que siguen siendo un conjunto en sentido matemático.

TIME: se aplica a dos relaciones y efectúa el producto cartesiano de las tuplas. Cada tupla de la primera relación está concatenada con cada tupla de la segunda.

JOIN: se concatenan las tuplas de dos relaciones de acuerdo con el valor de un conjunto de sus atributos.

UNION: aplicando este operador a dos relaciones compatibles, se obtiene una que contiene las tuplas de ambas relaciones. Dos relaciones son compatibles si tienen el mismo número de atributos y los atributos correspondientes en las dos relaciones tienen el mismo dominio.

MINUS: aplicado a dos relaciones compatibles restituye una tercera que contiene las tuplas que se encuentran sólo en la primera relación.

INTERSECT: aplicado a dos relaciones compatibles restituye una relación que contiene las tuplas que existen en ambas.

DIVIDE: aplicado a dos relaciones que tengan atributos comunes, restituye una tercera que contiene todas las tuplas de la primera relación que se puede hacer que correspondan con todos los valores de la segunda relación.

En las siguientes tablas, a título de ejemplo, se representan los resultados de la aplicación de algunos operadores relacionales a las relaciones Personas e Hijos. Como nombres para las relaciones resultado se han utilizado las expresiones que las producen.

Personas
número_persona nombre apellido fecha_nacimiento sexo stado_civil
2 Mario Rossi 29/03/1965 M Casado
1 Giuseppe Russo 15/11/1972 M Soltero
3 Alessandra Mondella 13/06/1970 F Soltera


Hijos
número_persona nombre_apellido edad sexo
2 Maria Rossi 3 F
2 Gianni Rossi 5 M


RESTRICT (Personas)
sesso='M'

número_persona nombre apellido fecha_nacimiento sexo estado_civil
2 Mario Rossi 29/03/1965 M Casado
1 Giuseppe Russo 15/11/1972 M Soltero


PROJECT sexo (Personas)
sexo
M
F


RESTRICT (Personas)
sexo='M'

n. nombre apellido nacimiento sexo stado_civil nombre edad sexo
Mario Rossi apellido 29/03/1965 M Csado Maria Rossi 3 F
Mario Rossi Apellido 29/03/1965 M Casado Gianni Rossi 5 M


Las bases de datos relacionales efectúan todas las operaciones en las tablas usando el álgebra relacional, aunque normalmente no le permiten al usuario usarla. El usuario interacciona con la base de datos a través de una interfaz diferente el lenguaje SQL, un lenguaje declarativo que permite escribir conjuntos de datos. Las instrucciones SQL vienen descompuestas por el DBMS en una serie de operaciones relacionales.


http://www.htmlpoint.com/sql/sql_03.htm


2. El modelo relacional

modelo lógico en el que se basan la mayoría de los SGBD comerciales en uso hoy en día. En primer lugar, se trata la descripción de los principios básicos del modelo relacional: la estructura de datos relacional y las reglas de integridad. A continuación, se presenta un tratamiento detallado del álgebra relacional, que es un conjunto de operaciones para manipular la estructura de datos relacional y especificar consultas de datos. El álgebra relacional es un lenguaje procedural, mientras que el cálculo relacional, que también se estudia en este capítulo, es un lenguaje equivalente no procedural.

http://www.mailxmail.com/curso-diseno-base-datos-relacionales/modelo-relacional




3. Modelo Relacional

El modelo relacional es un modelo lógico de datos que utiliza registros, lo que quiere decir que la estructura de nuestra base de datos al utilizar este modelo estará definido por registros de formato fijo, donde cada registro se define por medio de un número también fijo de campos o atributos y cada campo tiene un tamaño estático. En otras palabras, el modelo relacional es una colección de tablas, con las cuales representamos datos y relaciones entre ellos.

ejemplo modelo relacional

ejemplo modelo relacional

Con esta breve introducción pasamos a conocer los componentes del modelo relacional: Entidades, Atributos, Relaciones.

http://attakinsky.com/2009/09/modelo-relacional-conceptos-basicos/


4.

Modelo relacional
• Creado por Codd a Principios de los 70
• Modelo lógico de datos de no muy alto nivel, orientado a registro.
• Sólida base teórica.
• Implementado en muchos SGBD.
• El concepto principal es la relación o tabla .

Representación:
En el modelo relacional no se representan diagramas del esquema de la BD. Se pueden
representar instancias de una relación de la siguiente forma:


Ej.: Instancia de la relación alumnos


DNI NombreyApellidos Domicilio Teléfono COU
01234567Z Manuel Vázquez Prieto Calle del Jazmín 7 4 Izq 91-12345678 SI

http://www.fdi.ucm.es/profesor/milanjm/bdsi0304/Tema02-ModRelacional.pdf


5.

Modelo relacional

• Creado por Codd a Principios de los 70 • Modelo lógico de datos de no muy alto nivel, orientado a registro. • Sólida base teórica. • Implementado en muchos SGBD. • El concepto principal es la relación o tabla .

2.2.1. Terminología del modelo relacional

• Entidad: Igual que en el esquema ER. También se les llama tuplas o filas de la relación. • Atributo: Igual que en el esquema ER. También se le llaman columnas de la relación.


Descripción:

En este modelo todos los datos son almacenados en relaciones, y como cada relación es un conjunto de datos, el orden en el que estos se almacenen no tiene mayor relevancia (a diferencia de otros modelos como el jerárquico y el de red). Esto tiene la considerable ventaja de que es más fácil de entender y de utilizar por un usuario no experto. La información puede ser recuperada o almacenada por medio de «consultas» que ofrecen una amplia flexibilidad y poder para administrar la información.

http://www.mitecnologico.com/Main/ModeloRelacional







Categories:

0 Response for the "MODELO RELACIONAL"

Publicar un comentario