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

Bases de Datos

Relacionales

Taller de Base de Datos


1

Temario
1.2.-

El modelo Relacional
lgebra Relacional

3.-

El lenguaje de Consulta Estructurado


(SQL)

4.-

Diseo de Base de Datos

5.-

Conclusiones

Bases de Datos Relacionales 2

1.- El MODELO RELACIONAL


El modelo relacional fue presentado por Codd
de la empresa IBM a fines de los aos 60.

Codd propone un modelo de datos


basados en la teora de las relaciones, en
donde los datos se estructuran
lgicamente en forma de relaciones TABLAS -, siendo un objetivo
fundamental del modelo: mantener la
independencia de esta estructura lgica
respecto al modo de almacenamiento y a
otras caractersticas de tipo fsico Bases de Datos Relacionales

Objetivos del Modelo Relacional


Independencia Fsica
Independencia lgica
Flexibilidad
Uniformidad
Sencillez

Bases de Datos Relacionales 4

Objetivos...
Independencia Fsica:

es decir, que el modo en que se almacenan


los datos no influya en su manipulacin
lgica y , por tanto, los usuarios que acceden
a esos datos no tengan que modificar sus
programas por cambios en el
almacenamiento fsico.

esto es, que el aadir, eliminar o modificar


objetos de la base de datos no repercuta en
Independencia Lgica: los programas y/o usuarios que estn
accediendo a subconjuntos parciales de los
mismos.
Bases de Datos Relacionales 5

Objetivos..
Flexibilidad: en el sentido de poder presentar a cada usuario los
datos de la forma en que ste prefiera.
Uniformidad: las estructuras lgicas de los datos presentan un
aspecto uniforme, lo que facilita la concepcin y
manipulacin de la base de datos por parte de los
usuarios.
Sencillez:

las caractersticas anteriores, as como unos


lenguajes de usuario muy sencillos, producen como
resultado que el modelo de datos relacional sea fcil
de comprender y de utilizar por parte del usuario
final.
Bases de Datos Relacionales 6

Para cumplir los objetivos citados se introduce el concepto


de RELACION (TABLA) como estructura bsica del modelo.
Todos los datos de una base de datos se representan en
forma de relaciones cuyo contenido vara en el tiempo.
Formalmente una relacin es un conjunto de filas en terminologa
relacional.
Para la manipulacin de estas tablas (dinmica), se
propone un conjunto de operadores. Alguno de ellos clsicos de
la teora de conjuntos y otros introducidos por el modelo
relacional. Estos operadores forman el ALGEBRA
RELACIONAL.
Bases de Datos Relacionales 7

Definiciones relacionales
Existe una serie de trminos utilizados en el modelo relacional que se
requiere definir :

Relacin : Conjunto de filas. Pude asociarse a lo que se conoce


como tabla, con ciertas propiedades.

Tupla : Corresponde a una fila de esa tabla. Al nmero de


tuplas se denomina cardinalidad.

Atributo : Se refiere a una columna de esa tabla. La cantidad


de atributos determina el grado de la relacin.
Bases de Datos Relacionales 8

Definiciones relacionales

Clave Primaria : Identificador nico para la tabla. Se


compone de una columna o de una combinacin de
ellas. Nunca existen dos filas de la misma tabla con el
mismo valor de clave primaria.

Dominio : Es una coleccin de valores, de los cuales


uno o ms atributos obtienen sus valores reales.

Bases de Datos Relacionales 9

Definiciones relacionales

cvidal@ubiobio.cl

Bases de Datos Relacionales 10

Dominios

Se define dominio como un conjunto de valores escalares de


donde extraen sus valores los atributos de una relacin.
relacin Los
valores escalares representan la menor unidad semntica de
informacin.
Cul es la importancia de los dominios ?

Los dominios tienen una importancia semntica, puesto que


restringen las comparaciones.
comparaciones Los dominios no slo definen los
valores permitidas, sino adems las comparaciones permitidas.
Ejemplo :

cantidad = peso
Bases de Datos Relacionales 11

Relacin
Una relacin R, sobre un conjunto de dominios D1,D2,..,Dn (no
necesariamente todos distintos), se compone de dos partes, una
cabecera y un cuerpo.

La cabecera est compuesta por un conjunto fijo de atributos, o


en trminos ms precisos de pares atributos-dominio :
{ (A1:D1), (A2:D2), ..,(An:Dn)}
tales que cada atributo Aj
corresponde a uno y solo uno de los dominios subyacentes Dj.

Bases de Datos Relacionales 12

Relacin

El cuerpo est formado por un conjunto de tuplas, el cual


vara con el tiempo. Cada tupla est compuesta por un
conjunto de pares atributo-valor :

{ (A1:v1), (A2:v2), ..,(An:vn)}


para cada una de estas tuplas
hay uno de estos pares atributo valor.

Bases de Datos Relacionales 13

Propiedades de las relaciones


Las propiedades de las relaciones son un consecuencia de su
definicin:

No existen tuplas repetidas . Por tratarse, el cuerpo de una


relacin, de un conjunto matemtico estos no admiten elementos
repetidos. Como corolario aparece la clave primaria.

Las tuplas no estn ordenadas (de arriba hacia abajo).


Los atributos no estn ordenados (de izquierda a derecha)
Todos los valores de los atributos son atmicos. Es equivalente
a decir las relaciones no contienen grupos repetitivos y en este
caso estaran normalizadas.

Bases de Datos Relacionales 14

Tipos de Relaciones o tablas


Tablas Base
Son tablas creadas va un comando del lenguaje de
definicin de datos, los datos asociados a estas tablas son
almacenados permanentemente en memoria secundaria.

Tablas Derivadas
Constituyen derivaciones de las tablas bsicas, obtenidas
mediante la utilizacin de comandos de un lenguaje de
manipulacin de datos. Los datos de este tipo de tabla tienen
una vida temporal y normalmente constituyen datos
redundantes.
Bases de Datos Relacionales 15

Vistas o Views
Las vistas tambin se denominan tablas virtuales. Las tuplas
que compondrn las vistas sern generadas cada vez que la vista
requiera ser utilizada.
Los datos que componen una vista provienen de la ejecucin
de algunos comandos del lenguaje de manipulacin de datos.
Para crear una vista se utiliza un algoritmo especialmente
definido para este fin, el cual es ejecutado cada vez que se utiliza
la vista y es almacenado en memoria secundaria, este
procedimiento es absolutamente transparente ara el usuario.
Bases de Datos Relacionales 16

Vistas o Views
Existen dos razones principales para utilizar Vistas:
- Calcular valores en funcin de datos almacenados en
las tablas de la base.
- Restringir acceso tanto a filas como columnas de una
tablas para determinados usuarios.

Bases de Datos Relacionales 17

Reglas de Integridad
El modelo relacional define dos reglas generales para
mantener la integridad de los datos :

Integridad de la entidad : Una clave primaria no


puede aceptar valores nulos.

Integridad de las referencias : Todo valor definido


como clave fornea debe tener su correspondencia con
un valor de clave primaria en la relacin referenciada.
Bases de Datos Relacionales 18

Reglas de Integridad
ALUMNO ( Rut , Nombre , , Carrera )
Clave Primaria

Clave Fornea

NO Nulos
CARRERA ( Cod_Carrera , Nombre , , Depto)
Clave Primaria

Bases de Datos Relacionales 19

Base de datos relacional (Definicin)

Conociendo los conceptos antes presentados,


podemos definir una base de datos relacional
como un conjunto de relaciones normalizadas*
de distinto grado.

* : Normalizada en primera forma normal.

cvidal@ubiobio.cl

Bases de Datos Relacionales 20

Bases de Datos Relacionales

El modelo relacional es uno de los modelos de bases de datos


ms utilizados y que presenta una fuerte base terica.

Existe una gran variedad de Sistemas Administradores de Bases


de Datos en el mercado, basados en este modelo: Oracle, SyBase,
Informix, Ingres, DB2, entre otros.

El modelo relacional suele dividirse en tres partes :


Estructura de datos (Relacin)
Integridad
Manipulacin
Bases de Datos Relacionales 21

Componentes de un SABDR

Un Sistema Administrador de Base de Datos


(SABD) posee diversos componentes entre
los que se cuentan:
Catlogo

del sistema
Un lenguaje de datos (definicin y manipulacin)

Bases de Datos Relacionales 22

Lenguaje de datos relacional

El modelo relacional considera un lenguaje de datos


que permite la definicin y manipulacin de datos.

La porcin de lenguaje de manipulacin de datos


(DML)
DML permite la obtencin de informacin
(consultas), mediante operadores de consulta que se
basan en el lgebra relacional.

A su vez, el lenguaje de definicin de datos (DDL)


DDL
permite la definicin de esquemas relacionales
(Creacin de tablas, vistas, privilegios, etc.)
Bases de Datos Relacionales 23

2.- LGEBRA RELACIONAL

El algebra relacional consiste en


un conjunto de operadores de alto
nivel que operan sobre relaciones.
Cada uno de estos operadores toma
una o dos relaciones como entrada y
produce una nueva relacin de salida.

Bases de Datos Relacionales 24

COOD DEFINE UN CONJUNTO DE OCHO


OPERADORES CLASIFICADOS EN DOS
GRUPOS:
a)Las operaciones tradicionales de
conjuntos unin, interseccin, diferencia y
producto cartesiano.
b)Los operadores especiales de restriccin,
proyeccin, reunin y divisin

Bases de Datos Relacionales 25

A)LAS OPERACIONES TRADICIONALES DE CONJUNTOS UNION,


INTERSECCION, DIFERENCIA Y PRODUCTO CARTESIANO.

Unin: Construye una relacin formada por todas las tuplas que
aparecen en cualquiera de las dos relaciones especificadas

Interseccin :Construye una relacin formada por aquellas


tuplas que aparezcan en las dos relaciones especificadas

Bases de Datos Relacionales 26

A)LAS OPERACIONES TRADICIONALES DE CONJUNTOS UNION,


INTERSECCION, DIFERENCIA Y PRODUCTO CARTESIANO.

Diferencia: Construye una relacin formada por todas


aquellas tuplas de la primera relacin que no aparezcan en
la segunda de las dos relaciones especificadas

Producto cartesiano: A partir de dos relaciones


especificadas, construye una relacin que contiene
todas las combinaciones posibles de tuplas, una de
cada una de las relaciones.

Bases de Datos Relacionales 27

B)LOS OPERADORES ESPECIALES DE RESTRICCIN,


PROYECCIN, REUNIN Y DIVISIN

Restriccin: Extrae las tuplas especificadas de una relacin dada


(restringe la relacin solo a las tuplas que satisfagan una condicin
especificada)

Proyeccin: Extrae los atributos especificados de


una relacin dada

Bases de Datos Relacionales 28

B)LOS OPERADORES ESPECIALES DE RESTRICCIN,


PROYECCIN, REUNIN Y DIVISIN

Reunin: A partir de dos relaciones especificadas, construye una


relacin que contiene todas las posibles combinaciones de tuplas, una de
cada una de las dos relaciones, tales que las dos tuplas participantes en
una combinacin dada satisfagan alguna condicin especificada
A1
A2
A3

B1
B2
B3

B1
B1
B3

C1
C2
C3

A1
A2
A3

B1
B1
B3

C1
C1
C3

Divisin: Toma dos relaciones, una binaria y una unaria y construye una
relacin formada por todos los valores de una atributo de la relacin binaria que
concuerdan (en el otro atributo) con todos los valores de la relacin unaria.
A
A
A
B
C

X
Y
Z
X
Y

X
Z

Bases de Datos Relacionales 29

3.- Lenguaje de Consulta Estructurado


(SQL)

SQL (Structured Query Language) es un lenguaje que


permite la definicin y la manipulacin de una base de datos
relacional.

Se ha establecido como el lenguaje estndar de bases de


datos relacionales, utilizndose en la mayora de los SABDR
como Oracle, Informix, Sybase, DB2, SQLServer, etc.

Aunque las versiones de SQL utilizadas en productos difiere


en aspectos del lenguaje, podra hablarse de la existencia de
un estndar.
Bases de Datos Relacionales 30

SQL (Caractersticas)

SQL se puede usar en forma interactiva o inmerso en


lenguajes de programacin de propsito general como
Cobol, C , Power Builder, Visual Basic, etc.

SQL se compone de :

DDL (lenguaje de definicin de datos) : Define y modifica


esquemas relacionales, crear tablas, crear vistas, definir
accesos, etc.
DML (lenguaje de manipulacin de datos ) : Basado en el
lgebra relacional permite la recuperacin de informacin.
Bases de Datos Relacionales 31

Definicin de datos (Ejemplo)


La siguiente es la definicin de la tabla ALUMNOS:

Create Table Alumnos


( Rut char(10) Not Null,
Nombre char(30),
Fecha_Nacim Date,
Carrera char(12),
Primary Key (Rut),
Foreign Key (Carrera) References Carrera );

Bases de Datos Relacionales 32

Manipulacin de datos

La estructura de una consulta simple en SQL es :


SELECT : Lista los atributos deseados.
FROM : Lista las tablas que se van a utilizar en la
consulta.
WHERE : Consta de un predicado que implica atributos
de las relaciones que aparecen en la clusula
FROM.

Bases de Datos Relacionales 33

Consultas (Ejemplo)
Rut
12.542.563-9
13.587.778-4
10.526.858-3
09.898.565-7

Nombre
Edgardo Bello
Gerardo Barrientos
Renzo Bello
Marcelo Campos

Fecha Nacim
21/2/1976
10/12/1977
5/10/1970
4/4/1968

Carrera
Ing. Comercial
Auditoria
Ing. Computacin
Auditoria

Cul es la fecha de nacimiento de todos los alumnos de la carrera de Auditoria ?


SELECT Nombre, Fecha_Nacim
FROM Alumnos
WHERE Carrera = Auditoria

Nombre
Fecha Nacim
Gerardo Barrientos 10/12/1970
Marcelo Campos
4/4/1968
Bases de Datos Relacionales 34

Consultas (Forma General)

La forma general de una consulta en SQL es :

Select columna1, columna2, .


From tabla1.tabla2,
Where condicin de restriccin
Group ByColumna(s)
de agrupacin
By
Having condicin_restriccin_sobre_grupo
Order By
especificacin de orden

Bases de Datos Relacionales 35

Otras clusulas de SQL

INSERT : Inserta una nueva fila (tupla) en la tabla.

Insert Into nombre_tabla ( atributo1, atributo2,... )


Values ( valor1, valor2, );

UPDATE : Actualiza valores de atributo de una tabla.

Update nombre_tabla
Set atributo = valor
Where condicin;
Bases de Datos Relacionales 36

Otras clusulas de SQL

DELETE : Elimina tuplas de la tabla que cumplan con la


condicin.
Delete
From nombre_tabla
Where condicin;

GRANT : Concede privilegios de acceso a los datos a los


usuarios.
Grant privilegio On Table nombre_tabla
To

identificacin_usuario;
Bases de Datos Relacionales 37

4.- Diseo de base de datos

Una de las formas de disear una base de datos


relacional es comenzar con un modelo E/R.

El modelo entidad relacin es un modelo semntico de


datos, por lo que debe ser refinado para que
corresponda a los formalismos de un SABDR.

Bases de Datos Relacionales 38

Del modelo E/R modelo Relacional

El paso de un esquema en el modelo ER al modelo


relacional est basado en los tres principios siguientes:
Toda

Entidad se convierte en una relacin.


Toda interrelacin N:M se transforma en una
relacin.
Toda interrelacin 1:N se traduce en el fenmeno de
propagacin de claves o se crea una nueva relacin.
(Concepcin y Diseo de Base de Datos ,
Adoracin de Miguel, Mario Piattini)

Bases de Datos Relacionales 39

Modelo Entidad/Relacin
(Ejemplo).
Alumno
(1,n)
(1,n)
Pertenec
e
(1,1)
Carrera

Asignatura

Inscribe
(0,n)

(0,n)
Imparte
(1,1)
Profesor

Bases de Datos Relacionales 40

Del modelo E/R al Relacional


Alumno
(1,n)

Pertenece

(1,1)

Carrera

En este caso se trata de una relacin de 1:N por lo que la relacin Pertenece
Pertenece desaparece
y se produce una propagacin de clave.

El esquema relacional queda de la siguiente manera:


Alumno (Rut, Nombre, Fecha_nac,Carrera)
Carrera (Cod_carrera, Nombre, departamento)

Bases de Datos Relacionales 41

Del modelo E/R al Relacional


Alumno
(1,n)

Asignatura

Inscribe
(0,n)

En este caso se trata de una relacin de N:N, por lo que la interrelacin Inscribe
Inscribe pasa a ser
una relacin del esquema relacional.
El esquema relacional queda de la siguiente manera:
Alumno (Rut, Nombre, Fecha_nac,Carrera)
Inscribe (Rut, Cod_asignatura)
Asignatura (Cod_asignatura, Nombre, Crditos)

Bases de Datos Relacionales 42

Algebra relacional
Carrera (Cod_carrera, nombre, departamento)
Alumno (Rut, nombre, fecha_nac, carrera)
Inscribe (Rut, Asignatura)
Asignatura (Cod_asignatura, nombre, crditos)
1.- Cantidad de crditos de la asignatura BASE de DATOS
2.- Listado de todos los rut de alumnos que inscribieron la asignatura INFORMATICA
3.- Listado de las asignaturas que no fueron inscritas potr ningun alumno.
4.- El rut y nombre de los alumnos de la carrera de nombre Ing. Ejec. en Comput e Informatica
5.- El nombre de las asignaturas que inscribi el alumno Juan Moraga

Bases de Datos Relacionales 43

Normalizacin

La teora de normalizacin apoya el diseo de bases de datos


relacionales buscando una forma ms deseables para las
relaciones del modelo (en trminos de mantener la integridad).

Se dice que una relacin est en una determinada forma


normal si satisface un cierto nmero de restricciones.

El modelo relacional considera como obligatoria slo la


Primera Forma Normal, las formas normales superiores
persiguen un fin de optimizacin.

Bases de Datos Relacionales 44

5.- Otros Modelos de Bases de Datos

Los sistemas de bases de datos pueden clasificarse de acuerdo a


las estructuras de datos y a los operadores presentados al usuario.
Entre los sistemas ms antiguos se encuentran los modelos de Red
y Jerrquicos (prerelacionales).
Uno de los modelos ms importantes es el Modelo Relacional
aparecido en los 70.
Posteriormente aparecen los llamados sistemas postrelacionales
entre los se cuentan:

Sistemas Relacional Extendido


Sistemas Orientados a Objeto
Sistemas Deductivos

Bases de Datos Relacionales 45

6.- Conclusiones

El modelo relacional se presenta como uno de los modelos ms


utilizados para la construccin de bases de datos.

Su podero se centra en que utiliza una sola estructura de datos,


la relacin, lo que le otorga gran flexibilidad, uniformidad y
sencillez.

SQL es el lenguaje estndar de las SABDR y permite definir y


manipular tablas , siendo utilizado tanto en forma interactiva
como inmerso en aplicaciones.

Bases de Datos Relacionales 46

FIN

47

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