View
5.928
Download
0
Category
Preview:
Citation preview
Base de Datos Distribuidas
Lic. Hugo D. Ramón
Conceptos de Bases de Datos
10/09/2007 Conceptos de Bases de Datos
AgendaAlgebra RelacionalCálculo RelacionalConceptos Fundamentales de Base de DatosSQL
10/09/2007 Conceptos de Bases de Datos
Algebra RelacionalBD Relacional Codd (IBM), 1970
Fundamentada en • Algebra Relacional (AR) y • Calculo (CA)
Lenguajes de Consultas pocedimentalParametros de entrada ?Parametro de salida ?
AR se usa para:Optimización de consultasConsultas distribuidas
AR define un conjunto de operaciones y fórmulas para manipular tablasEstos conjuntos son relaciones de base de datos
10/09/2007 Conceptos de Bases de Datos
Algebra RelacionalEjemplo
EMP_TBL={Apellido,Nombre,ID_EMP}Tenemos la relación EMP_TBLContiene los atributos
• Apellido• Nombre• ID_EMP
Los valores de cada atributo determinan su dominioRelación es equivalente a
• Archivo plano de dos dimensiones• Tabla en las base de datos relacionales
Contiene 4-tuplasColumnas son atributosLas Filas son tuplas
10/09/2007 Conceptos de Bases de Datos
Algebra RelacionalEjemplo
E4JuanaSanchez
E3AndresRomero
E2CarlosCela
E1JuanPerez
ID_EMPNombreApellido
10/09/2007 Conceptos de Bases de Datos
Algebra RelacionalSí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 relacionesX: producto Cartesiano entre dos relaciones
10/09/2007 Conceptos de Bases de Datos
Algebra RelacionalDefinimos dos relaciones simples
233
122
211
CBAR:
334
221
ECAS:
10/09/2007 Conceptos de Bases de Datos
Algebra RelacionalEstas dos relaciones se derivan del conjunto de dominos A, B, C y ESus 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 tuplasVeremos 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 unaUna fórmula típca sería que nos da una nueva relación
231221
)(, CARCA =∏
10/09/2007 Conceptos de Bases de Datos
Algebra Relacionalσ: Select una fila o tupla de la relación
Permite seleccionar tuplas de una relaciónExiste una fórmula como criterio de selecciónDa como resultado una nueva relación:
2312
))(( 2, CARBCA =∏ >=σ
10/09/2007 Conceptos de Bases de Datos
Algebra Relacional<>: Join Natural
Involucra dos relacionesConcatena dos relaciones con un atributoGenera una relación de la forma
R.A=S.A es una fórmula para concatenar sobre atributos que tienen valor idénticoSe eliminan atributos redundantes. Características de JoinNaturalExiste el equi JOIN que no elimina atributos redundantes.Nombrar
2211.. ECBASR ASAR =<> =
10/09/2007 Conceptos de Bases de Datos
Algebra Relacional<: Semi Join
Similar al natural JOINSolo se muestran atributos de la relación de la izq.
Muy utilizado en ambientes distribuidos (minimiza comunicaciones)
211..., CRBRARSR AA =<
10/09/2007 Conceptos de Bases de Datos
Algebra Relacionalθ : Theta Join
Similar al natural JOINSe pueden utilizar los símbolos
• >=• >• <• <>
332343......' 2 ESCSCRBRASARSRR A == >θ
10/09/2007 Conceptos de Bases de Datos
∪:UniónDadas las relaciones
Da como resultado
Algebra Relacional
212541211231
:: CBASCBAR
212211541231
' CBASRR =∪=
10/09/2007 Conceptos de Bases de Datos
∪:UniónSe utilizan entre relaciones con atributos comunesComo resultado tenemos una concatenación Los dominios deben coincidir
Algebra Relacional
10/09/2007 Conceptos de Bases de Datos
∩: IntersecciónDadas las relaciones
Da como resultado
Retorna tuplas que son comunes a ambas relacionesTiene las mismas condiciones que la union
Algebra Relacional
555555213321
:: CBASCBAR
555' CBASRR =∩=
10/09/2007 Conceptos de Bases de Datos
-:DiferenciaDadas las relaciones
Da como resultado
Retorna tuplas que estan en la primer relacion y no en la segunda
Algebra Relacional
555654211555213321
:: CBASCBAR
654321
' CBASRR =−=
10/09/2007 Conceptos de Bases de Datos
x:Producto CartesianoDadas las relaciones
El producto cartesiano da
Algebra Relacional
333322222111211
:: CBASCBAR
322333111333322222111222322211111211......' CSBSASCRBRARRxSR ==
10/09/2007 Conceptos de Bases de Datos
x:Producto CartesianoEl número de tuplas es la multiplicaciónSimilar al equi JOIN cuando no hay atributo común
Algebra Relacional
10/09/2007 Conceptos de Bases de Datos
Cálculo RelacionalEn algebra => procedimiento que resuleven la consultaEn Calculo => lenguaje de consultas no-procedimentalesChamberlin & Boyce
desarrollaron Lenguaje de ConsultasPresentaron “SEQUEL=A Structures English Query Language”, 1974En 1980 se renombre a SQL (Structured Query Language)
Mejorado durante años porInformixOracleSQL-Base, etc.
Existen dos variaciones al Cálculo relacionalCálculo de tuplasCálculo de dominio
10/09/2007 Conceptos de Bases de Datos
Cálculo RelacionalCálculo de tuplas (CT)
Lo básico es el concepto de la variables tuplasRepresentan tuplas de una relaciónSe utilizan para extraer datos de la relaciónSe puede restringir valores de atributosEjemplo en SQL
RANGE OF PX IS EMPLEADOSPX.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 RelacionalCálculo de tuplas (CT)
En CT PX es una variable de tuplaUna fórmula genérica tomo la forma
TV1 operador TV2 o constantesDonde
Tvi: variable de tuplasoperador: <,>,>=,<=,<>,=constante: cualquier numero o string
Las constantes y Tvi deben se del mismo dominioLas formulas se conectan con AND, OR y NOTEjemplos
• EMP_TBL[BASICO]=1000• EMP_TBL[APELLIDO]=‘DEPARTAMENTO 1’ AND• EMP_TBL[SALARIO]>2000
10/09/2007 Conceptos de Bases de Datos
Cálculo RelacionalCálculo de dominio (CD)
Las variables en este lenguaje están basadas en los dominosQuery By Example (QBE) de IBMUna fórmula típica
DOMAIN VARIABLE LIST, CONDITIONCONDITION:
• 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 RelacionalCálculo de dominio (CD)
Dada la siguiente relación
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_NRCONDITION (EMP_TBL(LOCALIDAD=‘La Plata’)AND(SALARIO_NR>=1100)
PlataLaGUIDOAiresBuenosCOLLO
PlataLaCASTAPlataLaPEREZ
LOCALIDADSALARIONOMBRETBLEMP
1200300015002000
_ =
10/09/2007 Conceptos de Bases de Datos
Cálculo RelacionalCálculo de dominio (CD)
En QBE, debemos llenar valores en las variables de dominioSobre el ejemplo anterior
PlataLaCASTAPlataLaPEREZ
LOCALIDADSALARIONOMBREDespues
PLATALALOCALIDADSALARIONOMBREAntes
15002000
1200 =>
10/09/2007 Conceptos de Bases de Datos
Conceptos Componentes típicas de una base relacional
TablasVistasÍndicesPlans o Stored ProceduresCatalogo
Relaciones contienen atributos (verticales)Tuplas (horizontales)
Tablas contienenColumnsRow
Tablas=Relación
10/09/2007 Conceptos de Bases de Datos
Conceptos Views son tablas virtualesIndices son estructuras para mejorar la performance de accesoPlans: procedimientos almacenados que se ejecutan en forma repetitivaCatalogo: tablas especiales donde se guardan
ParametrosInformació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.htmhttp://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 administradoresPermite crear o declara objetos en las bases de datosLos 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 seguridadProvee 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 reportesLas sentencias son similares a las de InglesLas 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.
Recommended