Download Base de Datos Distribuidas
Document related concepts
Transcript
Base de Datos Distribuidas Lic. Hugo D. Ramón Conceptos de Bases de Datos Agenda Algebra Relacional Cálculo Relacional Conceptos Fundamentales de Base de Datos SQL 10/09/2007 Conceptos de Bases de Datos Algebra Relacional BD Relacional Codd (IBM), 1970 Fundamentada en • Algebra Relacional (AR) y • Calculo (CA) Lenguajes de Consultas pocedimental AR se usa para: Parametros de entrada ? Parametro de salida ? 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 datos 10/09/2007 Conceptos de Bases de Datos 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 tuplas 10/09/2007 Conceptos de Bases de Datos Algebra Relacional Ejemplo Apellido Nombre ID_EMP Perez Juan E1 Cela Carlos E2 Romero Andres E3 Sanchez Juana E4 10/09/2007 Conceptos de Bases de Datos 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 relaciones 10/09/2007 Conceptos de Bases de Datos 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 2 10/09/2007 Conceptos de Bases de Datos 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ímbolo 10/09/2007 Conceptos de Bases de Datos 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 ) = 10/09/2007 A C 1 2 2 1 3 2 Conceptos de Bases de Datos 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 10/09/2007 2 Conceptos de Bases de Datos 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. Nombrar 10/09/2007 Conceptos de Bases de Datos 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 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 10/09/2007 4 3 Conceptos de Bases de Datos 2 3 3 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'= 10/09/2007 R∪ S = A 1 1 1 2 B 3 4 1 1 C 2 5 2 2 Conceptos de Bases de Datos Algebra Relacional ∪:Unión Se utilizan entre relaciones con atributos comunes Como resultado tenemos una concatenación Los dominios deben coincidir 10/09/2007 Conceptos de Bases de Datos 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 R∩S = A Da como resultado 5 5 5 Retorna tuplas que son comunes a ambas relaciones Tiene las mismas condiciones que la union 10/09/2007 R'= Conceptos de Bases de Datos B C Algebra Relacional -:Diferencia Dadas las relaciones R: A B C 1 2 5 4 A B C 3 3 1 2 5 5 1 1 2 5 6 5 5 5 Da como resultado S: R'= R−S = A B C 1 2 3 4 5 6 Retorna tuplas que estan en la primer relacion y no en la segunda 10/09/2007 Conceptos de Bases de Datos Algebra Relacional x:Producto Cartesiano Dadas las relaciones R: A B C El producto cartesiano da R' = RxS = R. A R.B 1 1 1 1 2 2 2 2 3 3 3 3 10/09/2007 R.C 2 2 2 2 3 3 1 2 1 2 2 2 3 3 3 S . A S .B S .C 1 2 1 2 1 2 1 2 1 2 1 2 1 3 1 3 1 3 Conceptos de Bases de Datos S: A B C 1 2 1 2 1 3 Algebra Relacional x:Producto Cartesiano El número de tuplas es la multiplicación Similar al equi JOIN cuando no hay atributo común 10/09/2007 Conceptos de Bases de Datos Cálculo Relacional En algebra => procedimiento que resuleven la consulta En Calculo => lenguaje de consultas no-procedimentales Chamberlin & Boyce Mejorado durante años por desarrollaron Lenguaje de Consultas Presentaron “SEQUEL=A Structures English Query Language”, 1974 En 1980 se renombre a SQL (Structured Query Language) Informix Oracle SQL-Base, etc. Existen dos variaciones al Cálculo relacional Cálculo de tuplas Cálculo de dominio 10/09/2007 Conceptos de Bases de Datos 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 Nombre 10/09/2007 Conceptos de Bases de Datos 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]>2000 10/09/2007 Conceptos de Bases de Datos 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 Cálculo Relacional Cálculo de dominio (CD) Dada la siguiente relación EMP _ TBL = NOMBRE PEREZ CASTA COLLO GUIDO SALARIO LOCALIDAD 2000 La Plata 1500 La Plata 3000 Buenos Aires 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 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 Despues NOMBRE PEREZ CASTA 10/09/2007 = LA PLATA SALARIO LOCALIDAD 2000 La Plata 1500 La Plata Conceptos de Bases de Datos Conceptos Componentes típicas de una base relacional Relaciones contienen atributos (verticales) Tuplas (horizontales) Tablas contienen Tablas Vistas Índices Plans o Stored Procedures Catalogo Columns Row Tablas=Relación 10/09/2007 Conceptos de Bases de Datos 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ón 10/09/2007 Conceptos de Bases de Datos 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.html 10/09/2007 Conceptos de Bases de Datos 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 • VIEW 10/09/2007 Conceptos de Bases de Datos 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 Key 10/09/2007 Conceptos de Bases de Datos 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 previlegios 10/09/2007 Conceptos de Bases de Datos 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 BY 10/09/2007 Conceptos de Bases de Datos SQL Lenguaje de manipulación de datos (DML) Hay claúsulas para actualizar • DELETE • UPDATE • DELETE 10/09/2007 Conceptos de Bases de Datos 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