Algebra Relacional

6,759
-1

Published on

2 Comments
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total Views
6,759
On Slideshare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
162
Comments
2
Likes
0
Embeds 0
No embeds

No notes for slide

Algebra Relacional

  1. 1. Base de Datos Distribuidas Lic. Hugo D. Ramón Conceptos de Bases de Datos
  2. 2. Agenda Algebra Relacional Cálculo Relacional Conceptos Fundamentales de Base de Datos SQL10/09/2007 Conceptos de Bases de Datos
  3. 3. Algebra Relacional BD Relacional Codd (IBM), 1970 Fundamentada en • Algebra Relacional (AR) y • Calculo (CA) Lenguajes de Consultas pocedimental Parametros de entrada ? Parametro de salida ? AR se usa para: Optimización de consultas Consultas distribuidas AR define un conjunto de operaciones y fórmulas para manipular tablas Estos conjuntos son relaciones de base de datos10/09/2007 Conceptos de Bases de Datos
  4. 4. Algebra Relacional Ejemplo EMP_TBL={Apellido,Nombre,ID_EMP} Tenemos la relación EMP_TBL Contiene los atributos • Apellido • Nombre • ID_EMP Los valores de cada atributo determinan su dominio Relación es equivalente a • Archivo plano de dos dimensiones • Tabla en las base de datos relacionales Contiene 4-tuplas Columnas son atributos Las Filas son tuplas10/09/2007 Conceptos de Bases de Datos
  5. 5. Algebra Relacional Ejemplo Apellido Nombre ID_EMP Perez Juan E1 Cela Carlos E2 Romero Andres E3 Sanchez Juana E410/09/2007 Conceptos de Bases de Datos
  6. 6. Algebra Relacional Símbolos Π: Project una columna de la relación σ: Select una fila o tupla de la relación <>: natural JOIN entre dos relaciones <: semi JOIN entre dos relaciones θ: theta JOIN entre dos relaciones ∪: unión entre dos relaciones ∩: intersección entre dos relaciones −: diferencia entre dos relaciones X: producto Cartesiano entre dos relaciones10/09/2007 Conceptos de Bases de Datos
  7. 7. Algebra Relacional Definimos dos relaciones simples R: A B C S: A C E 1 1 2 1 2 2 2 2 1 4 3 3 3 3 210/09/2007 Conceptos de Bases de Datos
  8. 8. Algebra Relacional Estas dos relaciones se derivan del conjunto de dominos A, B, C y E Sus dominio están definidos sobre los naturales 0, 1, 2, 3 R esta compuesta por A, B y C o R={A,B,C} S esta compuesta por A, C y E o S={A,C,E} R contiene 3 tuplas y S contiene 2 tuplas Veremos la utilización de cada símbolo10/09/2007 Conceptos de Bases de Datos
  9. 9. Algebra Relacional Π: Project Se utiliza para extraer un atributo vertical Podemos extraer mas de una Una fórmula típca sería que nos da una nueva relación ∏ A ,C ( R ) = A C 1 2 2 1 3 210/09/2007 Conceptos de Bases de Datos
  10. 10. Algebra Relacional σ: Select una fila o tupla de la relación Permite seleccionar tuplas de una relación Existe una fórmula como criterio de selección Da como resultado una nueva relación: ∏ A,C (σ B >= 2 ( R)) = A C 2 1 3 210/09/2007 Conceptos de Bases de Datos
  11. 11. Algebra Relacional <>: Join Natural Involucra dos relaciones Concatena dos relaciones con un atributo Genera una relación de la forma R <>R.A=S.A S = A B C E 1 1 2 2 R.A=S.A es una fórmula para concatenar sobre atributos que tienen valor idéntico Se eliminan atributos redundantes. Características de Join Natural Existe el equi JOIN que no elimina atributos redundantes. Nombrar10/09/2007 Conceptos de Bases de Datos
  12. 12. Algebra Relacional <: Semi Join Similar al natural JOIN Solo se muestran atributos de la relación de la izq. R <A,A S = R.A R.B R.C 1 1 2 Muy utilizado en ambientes distribuidos (minimiza comunicaciones)10/09/2007 Conceptos de Bases de Datos
  13. 13. Algebra Relacional θ : Theta Join Similar al natural JOIN Se pueden utilizar los símbolos • >= • > • < • <> R = RθA>2 S = R.A S.A R.B R.C S.C S.E 3 4 3 2 3 310/09/2007 Conceptos de Bases de Datos
  14. 14. Algebra Relacional ∪:Unión Dadas las relaciones R: A B C S: A B C 1 3 2 1 1 2 1 4 5 2 1 2 Da como resultado R= R∪ S = A B C 1 3 2 1 4 5 1 1 2 2 1 210/09/2007 Conceptos de Bases de Datos
  15. 15. Algebra Relacional ∪:Unión Se utilizan entre relaciones con atributos comunes Como resultado tenemos una concatenación Los dominios deben coincidir10/09/2007 Conceptos de Bases de Datos
  16. 16. Algebra Relacional ∩: Intersección Dadas las relaciones R: A B C S: A B C 1 2 3 3 1 2 5 5 5 5 5 5 Da como resultado R= R∩S = A B C 5 5 5 Retorna tuplas que son comunes a ambas relaciones Tiene las mismas condiciones que la union10/09/2007 Conceptos de Bases de Datos
  17. 17. Algebra Relacional -:Diferencia Dadas las relaciones R: A B C S: A B C 1 2 3 3 1 2 5 5 5 1 1 2 4 5 6 5 5 5 Da como resultado R= R−S = A B C 1 2 3 4 5 6 Retorna tuplas que estan en la primer relacion y no en la segunda10/09/2007 Conceptos de Bases de Datos
  18. 18. Algebra Relacional x:Producto Cartesiano Dadas las relaciones R: A B C S: A B C 1 1 2 1 1 1 2 2 2 2 2 3 3 3 3 El producto cartesiano da R = RxS = R. A R.B R.C S . A S .B S .C 1 1 2 1 1 1 1 1 2 2 2 3 2 2 2 1 1 1 2 2 2 2 2 3 3 3 3 1 1 1 3 3 3 2 2 310/09/2007 Conceptos de Bases de Datos
  19. 19. Algebra Relacional x:Producto Cartesiano El número de tuplas es la multiplicación Similar al equi JOIN cuando no hay atributo común10/09/2007 Conceptos de Bases de Datos
  20. 20. Cálculo Relacional En algebra => procedimiento que resuleven la consulta En Calculo => lenguaje de consultas no-procedimentales Chamberlin & Boyce desarrollaron Lenguaje de Consultas Presentaron “SEQUEL=A Structures English Query Language”, 1974 En 1980 se renombre a SQL (Structured Query Language) Mejorado durante años por Informix Oracle SQL-Base, etc. Existen dos variaciones al Cálculo relacional Cálculo de tuplas Cálculo de dominio10/09/2007 Conceptos de Bases de Datos
  21. 21. Cálculo Relacional Cálculo de tuplas (CT) Lo básico es el concepto de la variables tuplas Representan tuplas de una relación Se utilizan para extraer datos de la relación Se puede restringir valores de atributos Ejemplo en SQL RANGE OF PX IS EMPLEADOS PX.Apellido, PC.Nombres WHERE PX.BASICO>1000 Esto dice dos cosas • Extraer tuplas que cumplen BASICO>1000 • De esas tuplas quiero ver Apellido y Nombre10/09/2007 Conceptos de Bases de Datos
  22. 22. Cálculo Relacional Cálculo de tuplas (CT) En CT PX es una variable de tupla Una fórmula genérica tomo la forma TV1 operador TV2 o constantes Donde Tvi: variable de tuplas operador: <,>,>=,<=,<>,= constante: cualquier numero o string Las constantes y Tvi deben se del mismo dominio Las formulas se conectan con AND, OR y NOT Ejemplos • EMP_TBL[BASICO]=1000 • EMP_TBL[APELLIDO]=‘DEPARTAMENTO 1’ AND • EMP_TBL[SALARIO]>200010/09/2007 Conceptos de Bases de Datos
  23. 23. Cálculo Relacional Cálculo de dominio (CD) Las variables en este lenguaje están basadas en los dominos Query By Example (QBE) de IBM Una fórmula típica DOMAIN VARIABLE LIST, CONDITION CONDITION: • es una formula sobre una variable de dominio • es una formula sobre un atributo involucrado en la formula Forma general: RELATION NAME(ATTRIBUTE BELONGING TO RELATION=DOMAIN VARIABLE OR CONSTANT)10/09/2007 Conceptos de Bases de Datos
  24. 24. Cálculo Relacional Cálculo de dominio (CD) Dada la siguiente relación EMP _ TBL = NOMBRE SALARIO LOCALIDAD PEREZ 2000 La Plata CASTA 1500 La Plata COLLO 3000 Buenos Aires GUIDO 1200 La Plata Para extraer Nombre, Salario y Localidad de la gente de La Plata y que gane mas de 1100 debemos hacer EMP_NR,SALARIO_NR,LOCALIDAD_NR CONDITION (EMP_TBL(LOCALIDAD=‘La Plata’) AND (SALARIO_NR>=1100)10/09/2007 Conceptos de Bases de Datos
  25. 25. Cálculo Relacional Cálculo de dominio (CD) En QBE, debemos llenar valores en las variables de dominio Sobre el ejemplo anterior Antes NOMBRE SALARIO LOCALIDAD > 1200 = LA PLATA Despues NOMBRE SALARIO LOCALIDAD PEREZ 2000 La Plata CASTA 1500 La Plata10/09/2007 Conceptos de Bases de Datos
  26. 26. Conceptos Componentes típicas de una base relacional Tablas Vistas Índices Plans o Stored Procedures Catalogo Relaciones contienen atributos (verticales) Tuplas (horizontales) Tablas contienen Columns Row Tablas=Relación10/09/2007 Conceptos de Bases de Datos
  27. 27. Conceptos Views son tablas virtuales Indices son estructuras para mejorar la performance de acceso Plans: procedimientos almacenados que se ejecutan en forma repetitiva Catalogo: tablas especiales donde se guardan Parametros Información10/09/2007 Conceptos de Bases de Datos
  28. 28. SQL SQL está dividio en tres sublenguajes Lenguaje de declaración de datos (DDL) • Se usa para crear componentes de la base Lenguaje de control de datos (DCL) • Seguridad de Datos • Control de Consistencia Lenguaje de manipulación de datos (DML) • Core del SQL • Obtener datos de las diferentes tablas Información adicional http://w3.one.net/~jhoffman/sqltut.htm http://www.webdevelopersjournal.com/articles/sql.html10/09/2007 Conceptos de Bases de Datos
  29. 29. SQL Lenguaje de declaración de datos (DDL) Son comandos para los administradores Permite crear o declara objetos en las bases de datos Los principales comandos son: • CREATE • TABLE • INDEX • VIEW • DROP • TABLE • INDEX • VIEW10/09/2007 Conceptos de Bases de Datos
  30. 30. SQL Lenguaje de declaración de datos (DDL) • ALTER • TABLE <tablename> <DROP|ADD> • Podemos ADD • Columnas • Primary Key • Referentials Constraint • Podemos DROP • Primary Key • Foregein Key10/09/2007 Conceptos de Bases de Datos
  31. 31. SQL Lenguaje de control de datos (DCL) Permite administrar los aspectos de control y seguridad Provee dos comandos • GRANT • Dar privilegios a los usuarios • REVOKE • Elimina previlegios10/09/2007 Conceptos de Bases de Datos
  32. 32. SQL Lenguaje de manipulación de datos (DML) Una vez de creada la base de datos necesitamos procesar información u obtener reportes Las sentencias son similares a las de Ingles Las claúsulas principales para reportes • SELECT • FROM • WHERE • GROUP BY • HAVING • ORDER BY10/09/2007 Conceptos de Bases de Datos
  33. 33. SQL Lenguaje de manipulación de datos (DML) Hay claúsulas para actualizar • DELETE • UPDATE • DELETE10/09/2007 Conceptos de Bases de Datos
  34. 34. Bibliografías Distributed Database Systems. Bell, D; Grimson J. Addison Wesley, 1992. Principles of Distributed Database Systems. Ozsu, T; Valduriez, P. Prentice Hall, 1991. Managing Distributed Databases. Burleson, D. Wiley, 1994. 10/09/2007 Conceptos de Bases de Datos
  1. ¿Le ha llamado la atención una diapositiva en particular?

    Recortar diapositivas es una manera útil de recopilar información importante para consultarla más tarde.

×