Conceptos de Bases de Datos 10/09/2007 Conceptos de Bases de Datos Agenda Algebra Relacional Clculo 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 Parametros de entrada ? Parametro de salida ? AR se usa para: Optimizacin de consultas Consultas distribuidas AR define un conjunto de operaciones y frmulas 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 relacin EMP_TBL Contiene los atributos Apellido Nombre ID_EMP Los valores de cada atributo determinan su dominio Relacin 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 E4 Juana Sanchez E3 Andres Romero E2 Carlos Cela E1 Juan Perez ID_EMP Nombre Apellido 10/09/2007 Conceptos de Bases de Datos Algebra Relacional Smbolos : Project una columna de la relacin : Select una fila o tupla de la relacin <>: natural JOIN entre dos relaciones <: semi JOIN entre dos relaciones : theta JOIN entre dos relaciones : unin entre dos relaciones : interseccin 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 2 3 3 1 2 2 2 1 1 C B A R: 3 3 4 2 2 1 E C A S: 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 estn 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 utilizacin de cada smbolo 10/09/2007 Conceptos de Bases de Datos Algebra Relacional : Project Se utiliza para extraer un atributo vertical Podemos extraer mas de una Una frmula tpca sera que nos da una nueva relacin 2 3 1 2 2 1 ) ( , C A R C A = 10/09/2007 Conceptos de Bases de Datos Algebra Relacional : Select una fila o tupla de la relacin Permite seleccionar tuplas de una relacin Existe una frmula como criterio de seleccin Da como resultado una nueva relacin: 2 3 1 2 )) ( ( 2 , C A R B C A = >=
10/09/2007 Conceptos de Bases de Datos
Algebra Relacional <>: Join Natural Involucra dos relaciones Concatena dos relaciones con un atributo Genera una relacin de la forma R.A=S.A es una frmula para concatenar sobre atributos que tienen valor idntico Se eliminan atributos redundantes. Caractersticas de Join Natural Existe el equi JOIN que no elimina atributos redundantes. Nombrar 2 2 1 1 . . E C B A S R A S A R = <> = 10/09/2007 Conceptos de Bases de Datos Algebra Relacional <: Semi Join Similar al natural JOIN Solo se muestran atributos de la relacin de la izq. Muy utilizado en ambientes distribuidos (minimiza comunicaciones) 2 1 1 . . . , C R B R A R S R A A = < 10/09/2007 Conceptos de Bases de Datos Algebra Relacional : Theta Join Similar al natural JOIN Se pueden utilizar los smbolos >= > < <> 3 3 2 3 4 3 . . . . . . ' 2 E S C S C R B R A S A R S R R A = = >
10/09/2007 Conceptos de Bases de Datos
:Unin Dadas las relaciones Da como resultado Algebra Relacional 2 1 2 5 4 1 2 1 1 2 3 1 : : C B A S C B A R 2 1 2 2 1 1 5 4 1 2 3 1 ' C B A S R R = = 10/09/2007 Conceptos de Bases de Datos :Unin Se utilizan entre relaciones con atributos comunes Como resultado tenemos una concatenacin Los dominios deben coincidir Algebra Relacional 10/09/2007 Conceptos de Bases de Datos : Interseccin Dadas las relaciones Da como resultado Retorna tuplas que son comunes a ambas relaciones Tiene las mismas condiciones que la union Algebra Relacional 5 5 5 5 5 5 2 1 3 3 2 1 : : C B A S C B A R 5 5 5 ' C B A S R R = = 10/09/2007 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 2 1 1 5 5 5 2 1 3 3 2 1 : : C B A S C B A R 6 5 4 3 2 1 ' C B A S R R = = 10/09/2007 Conceptos de Bases de Datos x:Producto Cartesiano Dadas las relaciones El producto cartesiano da Algebra Relacional 3 3 3 3 2 2 2 2 2 1 1 1 2 1 1 : : C B A S C B A R 3 2 2 3 3 3 1 1 1 3 3 3 3 2 2 2 2 2 1 1 1 2 2 2 3 2 2 2 1 1 1 1 1 2 1 1 . . . . . . ' C S B S A S C R B R A R RxS R = = 10/09/2007 Conceptos de Bases de Datos x:Producto Cartesiano El nmero de tuplas es la multiplicacin Similar al equi JOIN cuando no hay atributo comn Algebra Relacional 10/09/2007 Conceptos de Bases de Datos Clculo 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 aos por Informix Oracle SQL-Base, etc. Existen dos variaciones al Clculo relacional Clculo de tuplas Clculo de dominio 10/09/2007 Conceptos de Bases de Datos Clculo Relacional Clculo de tuplas (CT) Lo bsico es el concepto de la variables tuplas Representan tuplas de una relacin Se utilizan para extraer datos de la relacin 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 Clculo Relacional Clculo de tuplas (CT) En CT PX es una variable de tupla Una frmula genrica 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 Clculo Relacional Clculo de dominio (CD) Las variables en este lenguaje estn basadas en los dominos Query By Example (QBE) de IBM Una frmula tpica 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 Clculo Relacional Clculo de dominio (CD) Dada la siguiente relacin 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) Plata La GUIDO Aires Buenos COLLO Plata La CASTA Plata La PEREZ LOCALIDAD SALARIO NOMBRE TBL EMP 1200 3000 1500 2000 _ = 10/09/2007 Conceptos de Bases de Datos Clculo Relacional Clculo de dominio (CD) En QBE, debemos llenar valores en las variables de dominio Sobre el ejemplo anterior Plata La CASTA Plata La PEREZ LOCALIDAD SALARIO NOMBRE Despues PLATA LA LOCALIDAD SALARIO NOMBRE Antes 1500 2000 1200 = > 10/09/2007 Conceptos de Bases de Datos Conceptos Componentes tpicas de una base relacional Tablas Vistas ndices Plans o Stored Procedures Catalogo Relaciones contienen atributos (verticales) Tuplas (horizontales) Tablas contienen Columns Row Tablas=Relacin 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 Informacin 10/09/2007 Conceptos de Bases de Datos SQL SQL est dividio en tres sublenguajes Lenguaje de declaracin 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 manipulacin de datos (DML) Core del SQL Obtener datos de las diferentes tablas Informacin 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 declaracin 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 declaracin 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 manipulacin de datos (DML) Una vez de creada la base de datos necesitamos procesar informacin u obtener reportes Las sentencias son similares a las de Ingles Las clasulas principales para reportes SELECT FROM WHERE GROUP BY HAVING ORDER BY 10/09/2007 Conceptos de Bases de Datos SQL Lenguaje de manipulacin de datos (DML) Hay clasulas para actualizar DELETE UPDATE DELETE 10/09/2007 Conceptos de Bases de Datos Bibliografas 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.