Вы находитесь на странице: 1из 34

Base de Datos Distribuidas

Lic. Hugo D. Ramn


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.

Вам также может понравиться