Download Base de Datos Distribuidas

Document related concepts

Cálculo relacional basado en tuplas wikipedia , lookup

Modelo relacional wikipedia , lookup

Cálculo relacional wikipedia , lookup

Base de datos relacional wikipedia , lookup

Álgebra relacional wikipedia , lookup

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