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 0/09/007 Conceptos de Bases de Datos
Algebra Relacional BD Relacional Codd (IBM), 970 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 datos 0/09/007 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 0/09/007 Conceptos de Bases de Datos
Algebra Relacional Ejemplo Apellido Perez Cela Romero Sanchez Nombre Juan Carlos Andres Juana ID_EMP E E E E4 0/09/007 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 0/09/007 Conceptos de Bases de Datos
Algebra Relacional Definimos dos relaciones simples R: A B C S: A C E 4 0/09/007 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,,, 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 tuplas y S contiene tuplas Veremos la utilización de cada símbolo 0/09/007 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 ( R) =, C A C 0/09/007 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 ( R)) A C 0/09/007 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 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 0/09/007 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 = RA. RB. Muy utilizado en ambientes distribuidos (minimiza comunicaciones) R., A S C 0/09/007 Conceptos de Bases de Datos
Algebra Relacional θ : Theta Join Similar al natural JOIN Se pueden utilizar los símbolos >= > < <> R' = RθA > S = RA. S. A RB. RC. SC. S. E 4 0/09/007 Conceptos de Bases de Datos
0/09/007 Conceptos de Bases de Datos :Unión Dadas las relaciones Da como resultado Algebra Relacional 5 4 : : C B A S C B A R 5 4 ' C B A S R R = =
Algebra Relacional :Unión Se utilizan entre relaciones con atributos comunes Como resultado tenemos una concatenación Los dominios deben coincidir 0/09/007 Conceptos de Bases de Datos
Algebra Relacional : Intersección Dadas las relaciones R : A B C S : A B C 5 5 5 5 5 5 Da como resultado R ' = R S = A 5 B 5 C 5 Retorna tuplas que son comunes a ambas relaciones Tiene las mismas condiciones que la union 0/09/007 Conceptos de Bases de Datos
0/09/007 Conceptos de Bases de Datos -:Diferencia Dadas las relaciones Da como resultado Retorna tuplas que estan en la primer relacion y no en la segunda Algebra Relacional 5 5 5 6 5 4 5 5 5 : : C B A S C B A R 6 5 4 ' C B A S R R = =
0/09/007 Conceptos de Bases de Datos x:producto Cartesiano Dadas las relaciones El producto cartesiano da Algebra Relacional : : C B A S C B A R...... ' C S B S A S R C R B R A RxS R = =
Algebra Relacional x:producto Cartesiano El número de tuplas es la multiplicación Similar al equi JOIN cuando no hay atributo común 0/09/007 Conceptos de Bases de Datos
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, 974 En 980 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 dominio 0/09/007 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>000 Esto dice dos cosas Extraer tuplas que cumplen BASICO>000 De esas tuplas quiero ver Apellido y Nombre 0/09/007 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 TV operador TV 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]=000 EMP_TBL[APELLIDO]= DEPARTAMENTO AND EMP_TBL[SALARIO]>000 0/09/007 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) 0/09/007 Conceptos de Bases de Datos
Cálculo Relacional Cálculo de dominio (CD) Dada la siguiente relación EMP _ TBL = NOMBRE SALARIO LOCALIDAD PEREZ 000 La Plata CASTA 500 La Plata COLLO 000 Buenos Aires GUIDO 00 La Plata Para extraer Nombre, Salario y Localidad de la gente de La Plata y que gane mas de 00 debemos hacer EMP_NR,SALARIO_NR,LOCALIDAD_NR CONDITION (EMP_TBL(LOCALIDAD= La Plata ) AND (SALARIO_NR>=00) 0/09/007 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 >00 = LA PLATA Despues NOMBRE SALARIO LOCALIDAD PEREZ 000 La Plata CASTA 500 La Plata 0/09/007 Conceptos de Bases de Datos
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ón 0/09/007 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 0/09/007 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://w.one.net/~jhoffman/sqltut.htm http://www.webdevelopersjournal.com/articles/sql.html 0/09/007 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 DROP TABLE INDEX VIEW TABLE INDEX VIEW 0/09/007 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 0/09/007 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 0/09/007 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 0/09/007 Conceptos de Bases de Datos
SQL Lenguaje de manipulación de datos (DML) Hay claúsulas para actualizar DELETE UPDATE DELETE 0/09/007 Conceptos de Bases de Datos
Bibliografías Distributed Database Systems. Bell, D; Grimson J. Addison Wesley, 99. Principles of Distributed Database Systems. Ozsu, T; Valduriez, P. Prentice Hall, 99. Managing Distributed Databases. Burleson, D. Wiley, 994. 0/09/007 Conceptos de Bases de Datos