Modelo Relacional Rozic

26
SISTEMAS COMPUTACIONALES ADMINISTRATIVOS E.E. Base de Datos El modelo relacional Fuentes: Base de datos y su aplicación con SQL Cap. 3 El modelo relacional Sergio Ezequiel Rozic MP Ediciones Buenos Aires, Argentina 2004 Catedrático: Dr. Carlos A. Torres Gastelú Bloque: 5 H. Veracruz, Ver. Agosto 2009

Transcript of Modelo Relacional Rozic

Page 1: Modelo Relacional Rozic

SISTEMAS COMPUTACIONALES ADMINISTRATIVOS

E.E. Base de Datos

El modelo relacional

Fuentes:Base de datos y su aplicación con SQL

Cap. 3 El modelo relacionalSergio Ezequiel Rozic

MP Ediciones Buenos Aires, Argentina 2004

Catedrático:Dr. Carlos A. Torres Gastelú

Bloque: 5

 H. Veracruz, Ver. Agosto 2009

Page 2: Modelo Relacional Rozic

Here comes your footer Page 2

Una base de datos relacional consiste en un conjunto de relaciones (simplifiquemos este concepto en la representación de éstas en tablas), donde cada una de ellas varía o puede variar con el transcurso del tiempo y se identifica de manera única por medio de un nombre. Cada una de estas tablas es una representación concreta del concepto abstracto de relación.

Dada una relación (por una cuestión de simplicidad asumiremos que es una Tabla) se define como cardinalidad de la misma a la cantidad de tuplas (filas) que la componen y se define como grado a la cantidad de atributos (campos) que componen dichas tuplas. Las tablas tienen una estructura bien definida como la que se muestra en el siguiente ejemplo:

EXPERIENCIA EDUCATIVA BASE DE DATOS

Page 3: Modelo Relacional Rozic

Tabla 1. Una tabla de nombre PROFESOR

LEGAJO NOMBRE APELLIDO DNI FECHA_INGRESO

156 Juan Pérez 18.345.726 3-Jan-1980

283 Ana Roldan 23.448.553 25-Jun-2000

478 Luis Arce 11.987.576 7-Apr-1994

Here comes your footer Page 3

EXPERIENCIA EDUCATIVA BASE DE DATOS

Page 4: Modelo Relacional Rozic

Here comes your footer Page 4

EXPERIENCIA EDUCATIVA BASE DE DATOS

•La tabla 1 muestra una tabla de nombre PROFESOR la cual posee 3 filas o tuplas. Cada fila es una relación de un conjunto de valores diferentes, en nuestro caso son 5 . A este conjunto se le llama atributos o campos de la tabla. Debido a que cada tabla está compuesta o formada por un conjunto de filas (tuplas) queda definido un fuerte vínculo entre el concepto de tabla y el concepto matemático de relación, del cual toma su nombre el modelo relacional. •En nuestro ejemplo, como ya dijimos antes, nuestra tabla posee 5 identificadores de columnas o atributos diferentes,(legajo, nombre, apellido, dni y fecha de ingreso). Para cada atributo de nuestra relación representada en la tabla existe un conjunco de valores definidos o mejor dicho permitidos o esperables que este puede tomar. Dicho conjunto de valores se define como el dominio de cada atributo.

Page 5: Modelo Relacional Rozic

Here comes your footer Page 5

EXPERIENCIA EDUCATIVA BASE DE DATOS

El concepto de dominio expresado en este capítulo no difiere con el concepto de dominio explicado en el capítulo anterior del modelo de entidad relación . Existen un par de conceptos subyacentes o propios al modelo relacional que son el de cardinalidad y el de grado. En nuestro caso del ejemplo anterior nuestra tabla posee una cardinalidad 3 (tres) y un grado 5 (cinco).

Page 6: Modelo Relacional Rozic

Here comes your footer Page 6

EXPERIENCIA EDUCATIVA BASE DE DATOS

Por definición y propia estructura de las relaciones, ya que se desprenden del concepto matemático de conjuntos, estas cumplen y satisfacen (en realidad deben cumplir y satisfacer, lamentablemente por mal uso o ignorancia de la teoría en el cotidiano esto no siempre sucede cuando se les implementa sobre tablas) ciertas propiedades.

1.Las tuplas no poseen un orden definido. 2.Los atributos dentro de una tupla no poseen un orden definido. 3.No existen tuplas repetidas.

4.Todos los atributos que componen las tuplas son atómicos. Veamos a qué nos referimos en cada caso:

Page 7: Modelo Relacional Rozic

Here comes your footer Page 7

EXPERIENCIA EDUCATIVA BASE DE DATOS

Como las tuplas son una representación puntual de una relación, veremos si podemos aclarar esta idea pues da la sensación que quedó un poco confusa. En nuestro caso, la tupla (legajo: 283, Nombre: Ana, Apellido: Roldan, DNI: 23448558, Fecha_de_lngreso: 25/06/2000) es una representación de la relación genérica PROFESOR definida por los atributos (Legajo, Nombre, Apellido, DNI, Fecha_de_Ingreso). y como la definición de relación se basa en la teoría de conjuntos, tema que está fuera del alcance de este libro, ya que podría ser un libro en sí mismo y se supone que el lector posee dichos conocimientos, está absolutamente claro que los conjuntos por definición no poseen un orden y por defecto la relación hereda dicha propiedad. Con lo cual sería incorrecto hablar de la tercera tupla de la relación o de la tupla anterior o siguiente.

Page 8: Modelo Relacional Rozic

Here comes your footer Page 8

EXPERIENCIA EDUCATIVA BASE DE DATOS

Como los atributos de la relación o lo que se llama la cabecera de estos, también se define como un conjunto, ellos tampoco presentan un orden definido. Con lo cual tampoco es lógico hablar del segundo atributo de la relación o el siguiente atributo o el anterior atributo a un atributo dado. Nuevamente la representación concreta de una relación en una tabla tampoco respeta esta restricción.

Page 9: Modelo Relacional Rozic

Here comes your footer Page 9

EXPERIENCIA EDUCATIVA BASE DE DATOS

Por lo mismo que explicamos en los dos apartados anteriores con respecto a que una relación se basa en la teoría de conjuntos y que así como estos no poseen orden tampoco existe en la teoría de conjuntos el concepto de elementos repetidos, en los conjuntos todos sus elementos existen una única vez dentro de él. Con lo cual queda claro que no pueden existir dentro de la relación tuplas repetidas.

Page 10: Modelo Relacional Rozic

Here comes your footer Page 10

EXPERIENCIA EDUCATIVA BASE DE DATOS

Cada atributo debe ser un atributo simple y no debe ser un atributo multivalorado (si no recuerda el significado de dichos conceptos relea los capítulos anteriores). En realidad la restricción no está definida sobre los valores de los atributos, sino sobre sus dominios.

Page 11: Modelo Relacional Rozic

Here comes your footer Page 11

EXPERIENCIA EDUCATIVA BASE DE DATOS

El concepto de superclave es el de poseer uno o un conjunto de atributos que permitan identificar a cada tupla de forma única sin ninguna ambigüedad. Ahora bien, si dada una superclave los subconjuntos que se pueden formar de ella no son superclave a estas superclaves se las llama claves candidatas. Por lo expresado en los párrafos anteriores queda claro que pueden, en una relación, existir más de uno o varios atributos que satisfagan esta condición en una relación. Se definirá como clave primaria a aquella clave candidata que el diseñador elija del conjunto de claves candidatas. Por cuestiones que son ajenas a este capítulo, pero que se verán más adelante en este libro se utilizan ciertos criterios para la elección de la clave primaria.

Page 12: Modelo Relacional Rozic

Here comes your footer Page 12

EXPERIENCIA EDUCATIVA BASE DE DATOS

Por ejemplo puede tener en cuenta las siguientes pautas.

1.La clave primaria debe ser un atributo o conjunto de atributos que se utilicen en el mundo real para identificar las tuplas. 2.Es importante que sean un atributo de tipo numérico entero antes que un atributo de tipo cadena de caracteres. 3.Entre dos atributos del mismo tipo de claros, elegir el atributo de menor longitud.

Veamos un ejemplo para clarificar los conceptos sobre claves aquí explicados. Si se recuerda nuestra vieja relación (tabla) PROFESOR, esta podría tener:

Page 13: Modelo Relacional Rozic

Here comes your footer Page 13

EXPERIENCIA EDUCATIVA BASE DE DATOS

1. Superclaves: LegajoDNILegajo- Nombre-ApellidoDNI-Nombre-ApellidoLegajo-DNI

Observe que Nombre-Apellido no servirían como superclaves de PROFESOR, ya que podría suceder que dos profesores distintos tuvieran el mismo nombre y apellido, por ejemplo Juan López, y fueran dos profesores diferentes.

2. Claves Candidata:Legajo DNI

En este caso, Legajo-Nombre-Apellido, DNI-Nombre-Apellido y Legajo-DNI no son claves candidatas, ya que existe por lo menos un subconjunto de atributos de ellas que son superclaves y dijimos que para ser clave candidata los subconjumos de ellas no debían ser superclaves.

Page 14: Modelo Relacional Rozic

Here comes your footer Page 14

EXPERIENCIA EDUCATIVA BASE DE DATOS

3. Clave Primaria: Legajo

No elegimos DNI, ya que aplicamos el primer y el tercer criterio. Es más probable que dentro de un instituto educativo busquen a un profesor por su legajo que por su DNI y además los números de legajo son más pequeños que los números de DNI.

Page 15: Modelo Relacional Rozic

Here comes your footer Page 15

EXPERIENCIA EDUCATIVA BASE DE DATOS

El álgebra relacional es el lenguaje que se ocupa de las consultas que se realizan sobre el modelo relacional. Dicho lenguaje es un lenguaje procedimental (que soporta el manejo de procedimientos y funciones o globalmente la división en módulos de menor complejidad). Además soporta un conjunto de operaciones que toman como entrada una o un par de relaciones y dan como resultado otra relación. Dichas operaciones se dividen en dos grandes grupos, los cuales se designan como operaciones fundamentales y operaciones complementarias. Estas últimas operaciones se pueden deducir de las primeras.

Page 16: Modelo Relacional Rozic

Here comes your footer Page 16

EXPERIENCIA EDUCATIVA BASE DE DATOS

A continuación, detallaremos el siguiente conjunto de operaciones fundamentales:

•Seleccionar • Proyectar •Unir • Diferencia de Conjuntos • Producto Cartesiano • Renombrar

Las operaciones que toman como entrada o se aplican sobre una única relación se llaman operaciones Unarias. Las operaciones que se aplican sobre dos (un par de) relaciones de denominan Binarias. Por ejemplo, la operación de Seleccionar, Proyectar y Renombrar son operaciones Unarias. Las operaciones de Unir, Diferencia de conjuntos y Producto Cartesiano son operaciones Binarias.

Page 17: Modelo Relacional Rozic

Here comes your footer Page 17

EXPERIENCIA EDUCATIVA BASE DE DATOS

Dicha operación selecciona un conjunto de tuplas que satisfacen predicado dado. Un predicado es una proposición (comparación) o conjunto de proposiciones con un cierto valor de verdad. Por ejemplo, se podría seleccionar “todos los profesores que poseen más de 3 años de antigüedad”. Para definir los predicados se pueden utilizar los operadores<, >, <=, >=, <> o =. Si alguno de los atributos que se utilizan en la comparación tuviera el valor nulo el resultado de dicha comparación sería Falso.

Page 18: Modelo Relacional Rozic

Here comes your footer Page 18

EXPERIENCIA EDUCATIVA BASE DE DATOS

Dicha operación permite devolver un conjunto de atributos filtrando otros. Por ejemplo, se podría proyectar "el nombre y apellido de todos los profesores", pero no estaría viendo ni el numero de legajo, ni el DNI, ni la fecha de ingreso.

Page 19: Modelo Relacional Rozic

Here comes your footer Page 19

EXPERIENCIA EDUCATIVA BASE DE DATOS

Dicha operación permite renombrar una relación para utilizarla como si fuera una relación diferente. Por ejemplo, si usted desea realizar un producto cartesiano (ya veremos más adelante en este mismo capítulo qué es) de una relación consigo misma debería renombrar una de las dos para que las tomara como relaciones distintas. En caso de que se deseara ver “todos los profesores que poseen el mismo nombre", esto nos obligaría a renombrar la relación profesores, por lo menos una vez para que asumiera que son dos relaciones distintas.

Page 20: Modelo Relacional Rozic

Here comes your footer Page 20

EXPERIENCIA EDUCATIVA BASE DE DATOS

Dicha operación une dos relaciones diferentes. Remontémonos al ejemplo de la Figura 3 del Capítulo 2 sobre el circuito crediticio y supongamos que se desea saber "todos los clientes que poseen un préstamo". La relación (observe que lo que llamamos relación en el modelo relacional en el modelo entidad relación puede ser una entidad o una relación, en este caso es una entidad) cliente no posee información del préstamo, y a su vez la relación (entidad en el modelo entidad relación) préstamo no posee información del diente, pero ambas se unen por la relación cliente-préstamo (que también es una relación en el modelo entidad relación). Con lo cual podría obtener la nómina de clientes que poseen un préstamo simplemente uniendo la relación cliente con la relación cliente-préstamo cuando el atributo número de cliente es el mismo en ambas.

Page 21: Modelo Relacional Rozic

Here comes your footer Page 21

EXPERIENCIA EDUCATIVA BASE DE DATOS

Dicha operación permite encontrar las tuplas que están en una relación, pero no en otra. Por ejemplo, se podría querer "todos los clientes que no poseen ningún préstamo", con lo cual estaríamos tomando todos los clientes que estuvieran en la relación cliente y no existieran en la relación cliente-préstamo.

Page 22: Modelo Relacional Rozic

Here comes your footer Page 22

EXPERIENCIA EDUCATIVA BASE DE DATOS

La operación producto cartesiano es una operación binaria que permite obtener la combinación de todas las tuplas de las dos relaciones involucradas. Sigamos utilizando el modelo crediticio del capítulo anterior y que yo quisiera obtener "Todos los clientes de todas las sucursales del banco". ' Si en nuestra relación clientes si tuviera una cardinalidad 5 y en la relación sucursales se tuviera una cardinalidad 4, la cardinalidad del producto cartesiano sería de 20, ya que el producto cartesiano realiza todas las combinaciones posibles entre las tupIas de ambas relaciones. Como vimos en el apartado anterior, aI realizar el producto cartesiano de una relación consigo misma hay que renombrar a una de ellas, si no sería imposible distinguir las tuplas obtenidas en el producto cartesiano.

Page 23: Modelo Relacional Rozic

Here comes your footer Page 23

EXPERIENCIA EDUCATIVA BASE DE DATOS

Cabe destacar que siempre la cardinalidad del producto cartesiano para dos relaciones diferentes donde las cardinalidades de estas son n y m respectivamente, la cardinalidad del producto cartesiano será n * m para el producto cartesiano de una relación consigo misma. Si esta tenía cardinalidad n, el producto cartesiano tendrá una cardinalidad de n * n.

Page 24: Modelo Relacional Rozic

Here comes your footer Page 24

EXPERIENCIA EDUCATIVA BASE DE DATOS

Como dijimos anteriormente, dichas operaciones se pueden deducir utilizando las operaciones fundamentales, pero resulta menos engorroso utilizar las operaciones aquí citadas que deducidas de las operaciones Fundamentales. Dichas operaciones son: lntersectar Dividir Asignar

Page 25: Modelo Relacional Rozic

Here comes your footer Page 25

EXPERIENCIA EDUCATIVA BASE DE DATOS

Las comentaremos de forma breve para que tenga una idea de sus funcionalidades.

Intersectar: es obtener la intersección de dos o más relaciones dicho de otra manera las tuplas que poseen en común. Dividir: se utiliza cuando aparecen expresiones para todo dentro de los predicados de las consultas, por ejemplo "Todos los Profesores que dictan clases en todas las Escuelas ORT Argentina". Asignar: Cuando uno desea escribir una expresión por partes se utiliza la operación de asignar a una variable temporal. Dicha operación no muestra ninguna relación al usuario, simplemente se utiliza pues simplifica la escritura.

Page 26: Modelo Relacional Rozic

Here comes your footer Page 26

En este capitulo explicamos el modelo relacional, sus propiedades y sus operaciones básicas dentro del algebra relaciona.Definimos conceptos fundamentales, como los de relación, tupla, tributo, cardinalidad, grado y clave primaria entre otros. En este capitulo y en el anterior se encuentran sintetixados gran parte de los conceptos teoricos fundamentales que usted debe saber para diseñar bases de datos de forma correcta.

EXPERIENCIA EDUCATIVA BASE DE DATOS