Sei sulla pagina 1di 28

Universidad de Antioquia

Escuela Interamericana de Bibliotecologa




CURSO
BASES DE DATOS

TEMA: TEORIA DE BASES DE DATOS

Profesora: Laura Maria Posada Arboleda










2


Modelos de datos


Introduccin

Un DBMS es una coleccin de archivos interrelacionados y un conjunto de
programas que le permiten al usuario el acceso y la modificacin de esos
archivos.

El sistema de banco de datos le debe proporcionar al usuario una visin abstracta
de los datos, esto es, el sistema le esconde al usuario ciertos detalles de cmo se
almacenan y se mantienen los datos.

Los datos se deben poder extraer eficientemente. Por eso se han usado
estructuras de datos complejas en la representacin de datos en el banco de
datos.

Para facilitarle la labor al usuario se le esconde la complejidad a travs de
diversos niveles de abstraccin que simplifiquen su interaccin con el
sistema.

Niveles de abstraccin

Por lo anterior podemos ver la abstraccin de los datos en tres niveles, los
cuales son:

Nivel fsico, nivel conceptual y nivel de visin o vistas (views).

Nivel fsico

Es el nivel ms bajo.

* describe cmo se almacenan realmente los datos.

* se describen en detalle las estructuras de datos complejas de nivel ms
bajo.

Nivel conceptual

* El nivel conceptual es el segundo nivel de abstraccin que describe qu
datos son realmente almacenados en el banco de datos y las relaciones que
existen entre los datos.

3


* aqu se describe el banco de datos completo en trminos de un nmero
pequeo de estructuras relativamente sencillas.

* la implantacin de las estructuras sencillas en este nivel pueden implicar
estructuras complejas del nivel fsico, aunque el usuario no lo percibe.

* por lo general el que usa este nivel es el administrador del banco de datos,
que es el que decide qu informacin se va a guardar en el banco de datos.

Nivel de visin

* es el nivel ms alto de abstraccin, que describe slo parte del banco de
datos.

* En este nivel la complejidad se debe al tamao del banco de datos, no al
uso de estructuras.

* este nivel se define para facilitarle el manejo de banco de datos al usuario,
para facilitarle la interaccin con el sistema.

* el sistema puede proporcionar muchas vistas en el mismo banco de datos.

Niveles de abstraccin de datos



Modelos de datos

es una coleccin de herramientas conceptuales para describir datos,
relaciones entre ellos, semntica asociada a los datos y restricciones
de consistencia (H.F. Korth & A. Silberschatz, 1993).

4


Tipos de modelos de datos

Los modelo de datos se clasifican en tres grupos:

(1) modelos lgicos basados en objetos
(2) modelos lgicos basados en registros
(3) modelos fsicos de datos

Modelos lgicos basados en objetos

se usan para describir datos en los niveles conceptuales.

Se caracterizan por que proporcionan capacidad de estructuracin flexible y
permiten especificar restricciones en los datos explcitamente.

algunos de los modelos lgicos basados en objetos son:

* modelo entidad-relacin
* modelo orientado a objetos
* modelo binario - propuesto por Abrial, Deheneffe, Hainaut y Lecharlier,
entre otros, en 1974.
* modelo semntico de datos -basado en modelos de redes semnticas con
sus races en la inteligencia artificial.
* modelo infolgico - presentado por primera vez por Langefors en 1963.
* modelo funcional de datos - propuesto por Silbey y Kerschberg en 1977.

Modelos lgicos basados en registros

se utilizan para describir datos en los modelos conceptuales y fsico.

se usan para especificar la estructura lgica global del banco de datos.

proporcionan una descripcin a un nivel ms alto en la implantacin.

Estos modelos se llaman as por que el banco de datos est estructurado en
rcords (registros) de formato fijo de varios tipos.

Cada rcord tiene un nmero fijo de campos, que su vez son de largo fijo.

El uso de records de largo fijo facilita la implantacin del nivel fsico del
banco de datos.


5

los modelos lgicos basados en registros ms conocidos son:
* modelo relacional
* modelo de red
* modelo jerrquico

Modelos fsicos de datos

se usan para describir datos en el nivel ms bajo, son poco usados

los ms conocidos son:

* modelo unificador (introducido por Batory y Gotlied en 1982).
* modelo de elementos

6

Conceptos para el manejo de Bancos de datos

Definiciones:

Instancia - coleccin de informacin almacenada en el banco de datos en un
momento determinado.
Es parecido al concepto valor de una variable en lenguajes de
programacin.
Esquema - diseo global de un banco de datos. En el modelo relacional es la
estructura de las tablas que conforman el banco de datos.
Estos cambian muy pocas veces.
Este concepto se parece a la definicin de tipo de un lenguaje de
programacin como Pascal.
Los sistemas de bancos de datos tienen varios esquemas, divididos de
acuerdo con los niveles de abstraccin que vimos anteriormente..
El nivel ms bajo es el esquema fsico, en el nivel intermedio es el esquema
conceptual y el nivel ms alto es el subesquema.

Independencia de datos

Independencia de datos - la capacidad de modificar la definicin de un
esquema en un nivel sin afectar la definicin del esquema en el nivel
superior.

Tipos de independencias:

* independencia fsica
* independencia lgica

Independencia fsica

Independencia fsica - es la capacidad de modificar el esquema fsico sin
provocar que se vuelvan a escribir los programas de aplicacin.
Estas modificaciones a veces son necesarias para mejorar el funcionamiento
del banco de datos.

Independencia lgica

Independencia lgica - es la capacidad de modificar el esquema conceptual
sin provocar que se vuelvan a escribir los programas de aplicacin.
Estas modificaciones son necesarias cuando se altera la estructura lgica del
banco de datos.

7

La independencia lgica es ms difcil de lograr que la fsica, por que los
programas de aplicacin dependen fuertemente de la estructura lgica de
los datos.
El concepto independencia de datos es parecido al concepto de tipos
abstractos de datos en los lenguajes de programacin por que le ocultan
detalles de implantacin a los usuarios permitindole a stos preocuparse
por la estructura general, en vez de los detalles de implantacin de bajo
nivel.

DDL-Data Definition Languaje

Lenguaje de definicin de datos (DDL) - permite especificar un esquema del
banco de datos por medio de un conjunto de definiciones.

El resultado de la compilacin de instrucciones en DDL es un conjunto de
tablas que se almacenan en un archivo especial, llamado metadata o data
dictionary.
Ese metadata es consultado cuando se entran, se lee o se modifican los
datos del banco de datos.

*** El DDL contiene definiciones de tipo especial respecto a la estructura de
almacenamiento y los mtodos de acceso usados por los sistemas de bancos de
datos.

El resultado de la compilacin de estas definiciones es un conjunto de
instrucciones que especifican los detalles de implantacin de los esquemas
que se le esconden al usuario.

DML-Data Manipulation Languaje

Lenguaje de manipulacin de datos - (DML) es un lenguaje que capacita a
los usuarios a acceder o manipular los datos segn estn organizados por el
modelo de datos.

Por manipulacin se entiende:

*recuperar datos (query)
*insertar datos (insert)
*suprimir datos (delete)
*modificar datos (update)




8

Tipos de DML

Hay dos tipos de DML:

*procedural - el usuario especifica los datos que necesita y cmo obtenerlos.

* nonprocedural - el usuario especifica los datos que necesita sin especificar
cmo obtenerlos.

Query (consulta) - es una instruccin que solicita la recuperacin de datos o
informacin.

Query Languaje - parte del DML que implica recuperacin de datos o
informacin.

DBM-Data Base Manager

Manejador de base de datos (DBM) - es un mdulo de programa que
proporciona la interfaz entre los datos de bajo nivel almacenados en el
banco de datos y los programas de aplicacin y las consultas hechas al
sistema.

Responsabilidades del DBM

El DBM es responsable de:

1- Interactuar con el manejador de archivo
2- Implantar la integridad
3- Implantar la seguridad
4- Copiar como medida de seguridad y resguardo
5- Controlar de concurrencia

Interactuar con el manejador de archivos

Los datos sin procesar se almacenan usando el sistema de archivos que
proporciona el sistema operativo. El DBM traduce las instrucciones de DDL
a mandatos del sistema de archivos de bajo nivel. El DBM es responsable
del verdadero almacenamiento, la recuperacin y actualizacin de los datos
en el banco de datos.

Implantacin de la integridad


9

Los valores de los datos que se almacenan en el banco de datos deben
satisfacer ciertos tipos de restricciones de consistencia.

El DBM del banco de datos puede determinar si las actualizaciones dan
como resultado una violacin de restriccin, de ser as, debe tomar la accin
apropiada.

Implantacin de seguridad

Como no todos los usuarios tienen acceso al contenido del banco de datos,
el DBM debe hacer que se cumplan esos requisitos de seguridad.

Copia de seguridad y recuperacin

EL DBM debe detectar fallos y restaurar el banco de datos al estado que
exista antes de ocurrir el fallo.

Control de concurrencia

Cuando varios usuarios realizan actualizaciones, pueden ocurrir
inconsistencias en el banco de datos, el DBM debe controlar esto.




10

Bases de datos relacionales


El concepto modelo relacional se basa en el concepto matemtico de
relacin.
Una relacin es un subconjunto de un Producto Cartesiano.
El dominio es el conjunto de valores. Los denominamos con la letra D.
Este concepto de bases de datos referenciales es introducido por E.F. Codd
en 1979.
Se representan los datos como una coleccin de relaciones.
Cada relacin se trata como una tabla de valores.

Componentes de una base de datos relacional:

Consiste de tres componentes:

* Data structure - esquema de relacin.

* Data integrity - reglas semnticas que controlan el comportamiento de la
base de datos.

* Data manipulation - operaciones en las relaciones.

Relation table

Consiste de un conjunto de columnas nominadas (que tienen un nombre) y
una cantidad arbitrarias de filas (tuplos).
Cada columna est asociada con un dominio, que est especificado con un
tipo a la columna nominada.
Cada relation table corresponde a un archivo almacenado en el nivel
fsico.

Podemos decir que una base de datos relacional consiste de un conjunto de tablas-
relaciones relevantes.

Relation schema

El relation schema se usa para describir una relacin o relation instance.

Ejemplos:
Cliente(Nombre,Calle,Ciudad, Nmero de cuenta)
Cuenta(Nmero de cuenta, saldo)

11


Es el concepto relacin matemtica R sobre unos conjuntos de valores
(dominio) D1, D2, D3...Dn .

Las columnas, en el ejemplo Nombre, Calle, Ciudad, Nmero de cuenta, se
les llama atributos.

Cada atributo es el nombre que se le da sobre el dominio D en el esquema
de relacin.

Atributos claves (key)

Es el conjunto mnimo de atributos cuyos valores le dan una identificacin
nica al tuplo en la relacin.

El key(K) debe cumplir con:

(1) para cualesquiera dos tuplos t1, t2 de cualquier instancia de la relacin R
t1(k)<>t2(k).

(2) No existe un subconjunto propio de K que cumpla con la propiedad
anterior.

Super Key - conjunto de atributos que contienen un key. Tambin se define
como atributo o combinacin de atributos que le dan identificacin nica a
cada entidad en una tabla.

Candidate Key - cuando un esquema tiene ms de un key, cada key es un
candidate key. Tambin se dice que es el superkey mnimo, es un superkey
que no contiene un subconjunto de atributos que sea superkey en s mismo.

Primary Key- es usado para identificar tuplos en una relacin. Es el
candidate key que es seleccionado para dar identificacin nica a todos los
otros atributos en una fila dada. No puede contener entradas nulas.

Secondary Key- un atributo (o combinacin de atributos) que se usan
estrictamente para propsitos de recuperacin. Tambin se le llama
Alternative Key.

Foreign Key- atributo (o combinacin de atributos) en una tabla cuyos
valores tiene que parear con el primary key en otra tabla o ser valor nulo. Su
funcin principal es la de establecer la relacin con otra entidad y no la de
describir el objeto o entidad que lo contiene.

12


Reglas de integridad

Entity integrity

No habr entradas nulas en el primary key y todas las entradas sern
nicas.

Referential integrity

El valor del foreign key puede ser nulo o tiene que parear con el valor de un
primary key de la tabla con la cual se establece la relacin.
Con las reglas de integridad se garantiza que cada entidad tiene un
identificador nico y que no es posible establecer relaciones que no pareen.

Con las reglas de integridad se minimizan los errores de entrada de datos,
esto es, que haya consistencia.

Operaciones en bases de datos relacionales

Insertar- consiste en aadir un tuplo en la relacin.
Eliminar (delete)- consiste en quitar un tuplo de la relacin.
Modificar- consiste en cambiar un tuplo en la relacin.
Consultar (Query) -consiste en recuperar datos.

Algebra y Clculo relacional

El lgebra relacional fue desarrollada en 1970 y el clculo relacional en 1971
por Codd.
El lgebra relacional es un lenguaje procedural para la manipulacin de
relaciones.
En esta se especifica paso por paso la respuesta a una consulta de los datos
contenidos en una relacin.
El clculo relacional es un non procedural language.
En el clculo relacional una consulta se resuelve en un solo paso.
El lgebra y el clculo relacional proveen una forma terica de manipular
una base de datos relacional.
Codd demostr que el lgebra relacional y el clculo relacional son
lgicamente equivalentes.
El lgebra relacional es importante por que contribuy a establecer un
vocabulario comn que encontramos en los lenguajes de bases de datos
comerciales, tales como SELECT, PROJECT, etc.
El clculo relacional es importante por que:

13


(1) est basado en lgica de predicados (con ello es ms fcil determinar la
veracidad de una oracin).

(2) varios lenguajes relacionales comerciales estn basados en ste.

Algebra relacional

Manipula relaciones produciendo nuevas relaciones.
Consiste de nueve operaciones que alguna de ellas son tomadas de la
matemtica, otras del lenguaje relacional y otras de lenguajes de
programacin comunes.

Operaciones en Algebra relacional

Las de origen matemtico son:

(1) Unin

(2) Interseccin

(3) Diferencia de conjuntos

(4) Producto Cartesiano

La del lenguaje de programacin es:

(5) Asignacin

Las de lenguaje relacional son:

(6) Proyeccin

(7) Seleccin

(8) Divide o Quotient

(9) Join

Unin
La unin de las relaciones R y S es el conjunto de tuplos que estn en R o en
S o en ambos.

14

Slo se aplica a relaciones que tienen el mismo arity y los componentes de
los tuplos tienen igual dominio.

Interseccin
La interseccn de las relaciones R y S es el conjunto de tuplos que estn en R
y en S.
Slo se aplica a relaciones que tienen el mismo arity y los componentes de
los tuplos tienen igual dominio.

Diferencia
La diferencia de las relaciones R y S es el conjunto de tuplos que estn en R,
pero que no estn en S.
Slo se aplica a relaciones que tienen el mismo arity y los componentes de
los tuplos tienen igual dominio.
Se denota por R - S.

Producto Cartesiano
Sean R y S relaciones R y S de arity k1 y k2, entonces el Producto
Cartesiano, que se denota por R X S, es el conjunto de tuplos con arity (k1
+ k2) donde los primeros k1 componentes pertenecen a R y los prximos k2
componentes pertenecen a S.

Proyeccin
Una proyeccin sobre una relacin R toma todos los tuplos distintos que
resultan del conjunto de tuplos al remover ciertos componentes.
Se denota por ??a1,a2,..,. (R)
donde a1, a2, a3 son los componentes o atributos que se quieren exponer de
la relacin R.

Seleccin
Una seleccin sobre una relacin R toma todos los tuplos cumplen con una
condicin establecida por medio de una oracin lgica en ciertos
componentes del tuplo.
Esta condicin se establece usando operadores relacionales (>, <, =) y
operadores lgicos (AND, OR, NOT)
Se denota por ?c (R)
donde c es una oracin lgica.

Asignacin
Con esta operacin se le da un nombre a una relacin que es resultado de
otras operaciones.
Se denota con el smbolo :=.
Por ejemplo Q := R X S.

15


Divide
Sean R y S relaciones con arity r y s, donde r > s y S no es el conjunto
vacio, entonces R divide S es el conjunto de tuplos con arity (r-s) que
estn en R y parean con tuplos en S.

Join
Esta operacin recibe diferentes nombres especficos dependiendo del
resultado a obtener.
Entre estos estn Natural Join, ??Join y Outer Join.
Muchos dicen que esta operacin es el corazn del lgebra relacional.
??Join
? asume los valores de operadores relacionales = , > y <, esto es, hay un =
join que se le llama equi-join
En este caso los componentes con los que se establece la operacin de =, >
< se repite.
Natural Join
El natural join de R y S, que se denota por R |X| S, da como resultado los
tuplos que se forman al aadirle a R los componentes que parean en R y en
S.
El pareo se realiza con aquellos componentes que tienen valor igual.
No duplica el componente.
Outer Join
El Outer join se divide en tres casos:
Full Outer Join
Right Outer Join
Left Outer Join
En general el Outer join de R y S, da como resultado los tuplos que se
forman al aadirle a R los componentes que parean en R y en S y tuplos que
no parean en una o las dos relaciones.
Full Outer Join
El Full Outer join se denota por S]X[R
El Full Outer join de R y S, da como resultado los tuplos que se forman al
aadirle a R los componentes que parean en R y en S y tuplos que no parean
en las dos relaciones.
El pareo se realiza con aquellos componentes que tienen valor igual.
No duplica el componente.
Right Outer Join
El Right Outer join se denota por S|X[R
El Right Outer join de R y S, da como resultado los tuplos que se forman
al aadirle a R los componentes que parean en R y en S y tuplos que no
parean de la relacin derecha (R).
Left Outer Join

16

El Left Outer join se denota por S]X|R
El Left Outer join de R y S, da como resultado los tuplos que se forman al
aadirle a R los componentes que parean en R y en S y tuplos que no parean
de la relacin izquierda (S).


17

Bases de Datos Relacionales



EL MODELO RELACIONAL

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
El modelo relacional fue presentado por Codd de la empresa IBM a fines de
los aos 60.

Objetivos del Modelo Relacional

Independencia Fsica
Independencia lgica
Flexibilidad
Uniformidad
Sencillez

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.

Independencia Lgica:

esto es, que el aadir, eliminar o modificar objetos de la base de datos no repercuta
en los programas y/o usuarios que estn accediendo a subconjuntos parciales de
los mismos.

Flexibilidad:

en el sentido de poder presentar a cada usuario los datos de la forma en que ste
prefiera.

Uniformidad:

18

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.

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.

Definiciones relacionales:

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

o Relacin : Conjunto de filas. Pude asociarse a lo que se conoce como
tabla, con ciertas propiedades.

o Tupla : Corresponde a una fila de esa tabla. Al nmero de tuplas se
denomina cardinalidad.

o Atributo : Se refiere a una columna de esa tabla. La cantidad de
atributos determina el grado de la relacin.

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.

19



Dominios

Se define dominio como un conjunto de valores escalares de donde extraen
sus valores los atributos de una 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. Los dominios no slo definen los valores permitidos, sino
adems las comparaciones permitidas.

Ejemplo : cantidad = peso

Relacin
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.
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.

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.



20

Propiedades de las relaciones

Las propiedades de las relaciones son una 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 elemento
principal 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.


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.

Tipos de Relaciones o tablas:

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
para el usuario.


21

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.

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.

Reglas de Integridad




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.

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.

22

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 :

o Estructura de datos (Relacin)
o Integridad
o Manipulacin

Componentes de un SABDR

Un Sistema Administrador de Base de Datos (SABD) posee diversos
componentes entre los que se cuentan:
o Catlogo del sistema
o Un lenguaje de datos (definicin y manipulacin)

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) 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) permite la definicin de
esquemas relacionales (Creacin de tablas, vistas, privilegios, etc.)


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.
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




23

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
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.

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
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
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.

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.






24

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 :

o DDL (lenguaje de definicin de datos) : Define y modifica esquemas
relacionales, crear tablas, crear vistas, definir accesos, etc.
o DML (lenguaje de manipulacin de datos ) : Basado en el lgebra
relacional permite la recuperacin de informacin.

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 );

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.

Consultas (Ejemplo)

25





Consultas (Forma General)

La forma general de una consulta en SQL es :

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

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;
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;




26

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.

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:
o Toda Entidad se convierte en una relacin.
o Toda interrelacin N:M se transforma en una relacin.
o 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)

Modelo Entidad/Relacin (Ejemplo).




Del modelo E/R al Relacional

En este caso se trata de una relacin de 1:N por lo que la relacin
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)



27

Del modelo E/R al Relacional

En este caso se trata de una relacin de N:N, por lo que la interrelacin
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)

Esquema relacional

Carrera (Cod_carrera, nombre, departamento)
Alumno (Rut, nombre, fecha_nac, carrera)
Inscribe (Rut, Asignatura)
Asignatura (Cod_asignatura, nombre, crditos)

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.

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


28

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.


Referencias

Korth, H.F. & Silbelrschatz, A. (1993). Fundamentos de base de datos,
segunda edicin. McGraw-Hill.

Ullman, J.D. (1980). Principles of Database Systems. Computer Science
Press.

Potrebbero piacerti anche