Your SlideShare is downloading. ×
Modelo Relacional Rozic
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Modelo Relacional Rozic

1,086

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,086
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
45
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 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
  • 2. Here comes your footer  Page 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
  • 3. Tabla 1. Una tabla de nombre PROFESOR Here comes your footer  Page EXPERIENCIA EDUCATIVA BASE DE DATOS 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
  • 4. Here comes your footer  Page 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 .
  • 5. Here comes your footer  Page 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).
  • 6. Here comes your footer  Page 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.
    • Las tuplas no poseen un orden definido.
    • Los atributos dentro de una tupla no poseen un orden definido.
    • No existen tuplas repetidas .
    • Todos los atributos que componen las tuplas son atómicos.
    • Veamos a qué nos referimos en cada caso:
  • 7. Here comes your footer  Page 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.
  • 8. Here comes your footer  Page 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.
  • 9. Here comes your footer  Page 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.
  • 10. Here comes your footer  Page 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.
  • 11. Here comes your footer  Page 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.
  • 12. Here comes your footer  Page EXPERIENCIA EDUCATIVA BASE DE DATOS
    • Por ejemplo puede tener en cuenta las siguientes pautas.
    • La clave primaria debe ser un atributo o conjunto de atributos que se utilicen en el mundo real para identificar las tuplas.
    • Es importante que sean un atributo de tipo numérico entero antes que un atributo de tipo cadena de caracteres.
    • 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 :
  • 13. Here comes your footer  Page EXPERIENCIA EDUCATIVA BASE DE DATOS
    • Superclaves:
    • Legajo
    • DNI
    • Legajo- Nombre-Apellido
    • DNI-Nombre-Apellido
    • Legajo-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.
  • 14. Here comes your footer  Page 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.
  • 15. Here comes your footer  Page 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.
  • 16. Here comes your footer  Page 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 .
  • 17. Here comes your footer  Page 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.
  • 18. Here comes your footer  Page EXPERIENCIA EDUCATIVA BASE DE DATOS Dicha operación permite devolver un conjunto de atributos filtrando otros. Por ejemplo, se podría proyectar &quot;el nombre y apellido de todos los profesores&quot;, pero no estaría viendo ni el numero de legajo, ni el DNI, ni la fecha de ingreso.
  • 19. Here comes your footer  Page 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&quot;, esto nos obligaría a renombrar la relación profesores, por lo menos una vez para que asumiera que son dos relaciones distintas.
  • 20. Here comes your footer  Page 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 &quot;todos los clientes que poseen un préstamo&quot;. 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.
  • 21. Here comes your footer  Page 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 &quot;todos los clientes que no poseen ningún préstamo&quot;, 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.
  • 22. Here comes your footer  Page 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 &quot;Todos los clientes de todas las sucursales del banco&quot;. ' 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.
  • 23. Here comes your footer  Page 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.
  • 24. Here comes your footer  Page 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
  • 25. Here comes your footer  Page 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 &quot;Todos los Profesores que dictan clases en todas las Escuelas ORT Argentina&quot;. 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.
  • 26. Here comes your footer  Page 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

×