SlideShare una empresa de Scribd logo
1 de 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
EXPERIENCIA EDUCATIVA BASE DE DATOS




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:

Here comes your footer  Page 2
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


         Tabla 1. Una tabla de nombre PROFESOR




Here comes your footer  Page 3
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.

Here comes your footer  Page 4
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).




Here comes your footer  Page 5
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:

Here comes your footer  Page 6
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.
Here comes your footer  Page 7
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.




Here comes your footer  Page 8
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.




Here comes your footer  Page 9
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.




Here comes your footer  Page 10
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.


Here comes your footer  Page 11
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:



Here comes your footer  Page 12
EXPERIENCIA EDUCATIVA BASE DE DATOS


  1. 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.
Here comes your footer  Page 13
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.




Here comes your footer  Page 14
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.




Here comes your footer  Page 15
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.
Here comes your footer  Page 16
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.




Here comes your footer  Page 17
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.




Here comes your footer  Page 18
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.



Here comes your footer  Page 19
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.
Here comes your footer  Page 20
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.




Here comes your footer  Page 21
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.
Here comes your footer  Page 22
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.




Here comes your footer  Page 23
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



Here comes your footer  Page 24
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.


Here comes your footer  Page 25
EXPERIENCIA EDUCATIVA BASE DE DATOS




     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.




Here comes your footer  Page 26

Más contenido relacionado

La actualidad más candente

Análisis y diseño oo con umldclases
Análisis y diseño oo con umldclasesAnálisis y diseño oo con umldclases
Análisis y diseño oo con umldclasesRoberto Garcia
 
Unidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionUnidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionLuiS YmAY
 
Modelo Entidad Relacion E-R
Modelo Entidad Relacion E-RModelo Entidad Relacion E-R
Modelo Entidad Relacion E-RRobert Rodriguez
 
Entidad relacion
Entidad relacionEntidad relacion
Entidad relacionadfc8
 
Modelo De Datos Rozic
Modelo De Datos RozicModelo De Datos Rozic
Modelo De Datos RozicCarlos Arturo
 
Presentacion de Modelo entidad -relación de Base de Datos
Presentacion de Modelo entidad -relación de Base de Datos Presentacion de Modelo entidad -relación de Base de Datos
Presentacion de Modelo entidad -relación de Base de Datos Yarquiri Claudio
 
3. modelo entidad relación extendido
3. modelo entidad relación extendido3. modelo entidad relación extendido
3. modelo entidad relación extendidoGalo Anzules
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacionMaria Garcia
 
Lenguaje estructurado de consulta
Lenguaje estructurado de consultaLenguaje estructurado de consulta
Lenguaje estructurado de consultaMaria Garcia
 
Representación grafica m er
Representación grafica m erRepresentación grafica m er
Representación grafica m erUTN
 
Conceptos del modelo entidad-relacion
Conceptos del modelo entidad-relacionConceptos del modelo entidad-relacion
Conceptos del modelo entidad-relacionciscostar77
 
Modelo Entidad Relación
Modelo Entidad RelaciónModelo Entidad Relación
Modelo Entidad Relaciónjosecuartas
 

La actualidad más candente (18)

Foro 3
Foro 3Foro 3
Foro 3
 
Análisis y diseño oo con umldclases
Análisis y diseño oo con umldclasesAnálisis y diseño oo con umldclases
Análisis y diseño oo con umldclases
 
1º deber de Auditoria
1º deber de Auditoria1º deber de Auditoria
1º deber de Auditoria
 
Unidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionUnidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacion
 
Modelo Entidad Relacion E-R
Modelo Entidad Relacion E-RModelo Entidad Relacion E-R
Modelo Entidad Relacion E-R
 
Entidad relacion
Entidad relacionEntidad relacion
Entidad relacion
 
Modelo De Datos Rozic
Modelo De Datos RozicModelo De Datos Rozic
Modelo De Datos Rozic
 
Presentacion de Modelo entidad -relación de Base de Datos
Presentacion de Modelo entidad -relación de Base de Datos Presentacion de Modelo entidad -relación de Base de Datos
Presentacion de Modelo entidad -relación de Base de Datos
 
3. modelo entidad relación extendido
3. modelo entidad relación extendido3. modelo entidad relación extendido
3. modelo entidad relación extendido
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacion
 
Lenguaje estructurado de consulta
Lenguaje estructurado de consultaLenguaje estructurado de consulta
Lenguaje estructurado de consulta
 
Representación grafica m er
Representación grafica m erRepresentación grafica m er
Representación grafica m er
 
Modelo de Entidad Relacion
Modelo de Entidad RelacionModelo de Entidad Relacion
Modelo de Entidad Relacion
 
Conceptos del modelo entidad-relacion
Conceptos del modelo entidad-relacionConceptos del modelo entidad-relacion
Conceptos del modelo entidad-relacion
 
Karen arevalo
Karen arevaloKaren arevalo
Karen arevalo
 
Modelo entidad
Modelo entidadModelo entidad
Modelo entidad
 
Modelo Entidad Relación
Modelo Entidad RelaciónModelo Entidad Relación
Modelo Entidad Relación
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 

Similar a Modelo relacional rozic (20)

Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Base de datos
Base de datosBase de datos
Base de datos
 
MODELOS RELACIONAL.pdf
MODELOS RELACIONAL.pdfMODELOS RELACIONAL.pdf
MODELOS RELACIONAL.pdf
 
Modelo Relacional
Modelo RelacionalModelo Relacional
Modelo Relacional
 
Base de datos 4
Base de datos 4Base de datos 4
Base de datos 4
 
El modelo de datos relacional (Base de Datos)
El modelo de datos relacional (Base de Datos)El modelo de datos relacional (Base de Datos)
El modelo de datos relacional (Base de Datos)
 
ENTIDAD RELACION
ENTIDAD RELACIONENTIDAD RELACION
ENTIDAD RELACION
 
Foro unidad 2 lizeth pinto
Foro unidad 2 lizeth pintoForo unidad 2 lizeth pinto
Foro unidad 2 lizeth pinto
 
Tema2 bases dedatosrelacional
Tema2 bases dedatosrelacionalTema2 bases dedatosrelacional
Tema2 bases dedatosrelacional
 
Ejercicio 1 unidad_3_wha
Ejercicio 1 unidad_3_whaEjercicio 1 unidad_3_wha
Ejercicio 1 unidad_3_wha
 
Base de datos
Base de datosBase de datos
Base de datos
 
Diagrama mer
Diagrama merDiagrama mer
Diagrama mer
 
MODELO RELACIONAL
MODELO RELACIONALMODELO RELACIONAL
MODELO RELACIONAL
 
cc302modulo3
cc302modulo3cc302modulo3
cc302modulo3
 
Trabajo2
Trabajo2Trabajo2
Trabajo2
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Clase3
Clase3Clase3
Clase3
 
As relaciones es lo que
As relaciones es lo queAs relaciones es lo que
As relaciones es lo que
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datos
 
Frames (doc)
Frames (doc)Frames (doc)
Frames (doc)
 

Modelo relacional rozic

  • 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. EXPERIENCIA EDUCATIVA BASE DE DATOS 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: Here comes your footer  Page 2
  • 3. 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 Tabla 1. Una tabla de nombre PROFESOR Here comes your footer  Page 3
  • 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. Here comes your footer  Page 4
  • 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). Here comes your footer  Page 5
  • 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: Here comes your footer  Page 6
  • 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. Here comes your footer  Page 7
  • 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. Here comes your footer  Page 8
  • 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. Here comes your footer  Page 9
  • 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. Here comes your footer  Page 10
  • 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. Here comes your footer  Page 11
  • 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: Here comes your footer  Page 12
  • 13. EXPERIENCIA EDUCATIVA BASE DE DATOS 1. 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. Here comes your footer  Page 13
  • 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. Here comes your footer  Page 14
  • 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. Here comes your footer  Page 15
  • 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. Here comes your footer  Page 16
  • 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. Here comes your footer  Page 17
  • 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. Here comes your footer  Page 18
  • 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. Here comes your footer  Page 19
  • 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. Here comes your footer  Page 20
  • 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. Here comes your footer  Page 21
  • 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. Here comes your footer  Page 22
  • 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. Here comes your footer  Page 23
  • 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 Here comes your footer  Page 24
  • 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. Here comes your footer  Page 25
  • 26. EXPERIENCIA EDUCATIVA BASE DE DATOS 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. Here comes your footer  Page 26