Download Bases de datos relacionales

Document related concepts

Modelo relacional wikipedia , lookup

Modelo de base de datos wikipedia , lookup

Cálculo relacional basado en tuplas wikipedia , lookup

Álgebra relacional wikipedia , lookup

Base de datos relacional wikipedia , lookup

Transcript
Universidad de Antioquia
Escuela Interamericana de Bibliotecología
CURSO
AUTOMATIZACION DE UNIDADES DE INFORMACIÓN
TEMA: TEORIA DE BASES DE DATOS
Profesora: Laura Maria Posada Arboleda
Modelos de datos
Introducción
Un DBMS es una colección de archivos interrelacionados y un conjunto de
programas que le permiten al usuario el acceso y la modificación de esos
archivos.
El sistema de banco de datos le debe proporcionar al usuario una visión abstracta
de los datos, esto es, el sistema le esconde al usuario ciertos detalles de cómo 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 representación de datos en el banco de
datos.
Para facilitarle la labor al usuario se le esconde la complejidad a través de
diversos niveles de abstracción que simplifiquen su interacción con el
sistema.
Niveles de abstracción
Por lo anterior podemos ver la abstracción de los datos en tres niveles, los
cuales son:
Nivel físico, nivel conceptual y nivel de visión o vistas (views).
Nivel físico
Es el nivel más bajo.
* describe cómo se almacenan realmente los datos.
* se describen en detalle las estructuras de datos complejas de nivel más
bajo.
Nivel conceptual
* El nivel conceptual es el segundo nivel de abstracción que describe qué
datos son realmente almacenados en el banco de datos y las relaciones que
existen entre los datos.
2
* aquí se describe el banco de datos completo en términos de un número
pequeño de estructuras relativamente sencillas.
* la implantación de las estructuras sencillas en este nivel pueden implicar
estructuras complejas del nivel físico, 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é información se va a guardar en el banco de datos.
Nivel de visión
* es el nivel más alto de abstracción, que describe sólo parte del banco de
datos.
* En este nivel la complejidad se debe al tamaño 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 interacción con el sistema.
* el sistema puede proporcionar muchas vistas en el mismo banco de datos.
Niveles de abstracción de datos
Modelos de datos

es una colección de herramientas conceptuales para describir datos,
relaciones entre ellos, semántica asociada a los datos y restricciones
de consistencia (H.F. Korth & A. Silberschatz, 1993).
3
Tipos de modelos de datos

Los modelo de datos se clasifican en tres grupos:



(1) modelos lógicos basados en objetos
(2) modelos lógicos basados en registros
(3) modelos físicos de datos
Modelos lógicos basados en objetos

se usan para describir datos en los niveles conceptuales.

Se caracterizan por que proporcionan capacidad de estructuración flexible y
permiten especificar restricciones en los datos explícitamente.

algunos de los modelos lógicos basados en objetos son:
* modelo entidad-relación
* modelo orientado a objetos
* modelo binario - propuesto por Abrial, Deheneffe, Hainaut y Lecharlier,
entre otros, en 1974.
* modelo semántico de datos -basado en modelos de redes semánticas con
sus raíces en la inteligencia artificial.
* modelo infológico - presentado por primera vez por Langefors en 1963.
* modelo funcional de datos - propuesto por Silbey y Kerschberg en 1977.
Modelos lógicos basados en registros

se utilizan para describir datos en los modelos conceptuales y físico.

se usan para especificar la estructura lógica global del banco de datos.

proporcionan una descripción a un nivel más alto en la implantación.

Estos modelos se llaman así por que el banco de datos está estructurado en
récords (registros) de formato fijo de varios tipos.

Cada récord tiene un número fijo de campos, que su vez son de largo fijo.

El uso de records de largo fijo facilita la implantación del nivel físico del
banco de datos.
4

los modelos lógicos basados en registros más conocidos son:
* modelo relacional
* modelo de red
* modelo jerárquico
Modelos físicos de datos

se usan para describir datos en el nivel más bajo, son poco usados

los más conocidos son:
* modelo unificador (introducido por Batory y Gotlied en 1982).
* modelo de elementos
5
Conceptos para el manejo de Bancos de datos
Definiciones:







Instancia - colección de información almacenada en el banco de datos en un
momento determinado.
Es parecido al concepto valor de una variable en lenguajes de
programación.
Esquema - diseño 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 definición de tipo de un lenguaje de
programación como Pascal.
Los sistemas de bancos de datos tienen varios esquemas, divididos de
acuerdo con los niveles de abstracción que vimos anteriormente..
El nivel más bajo es el esquema físico, en el nivel intermedio es el esquema
conceptual y el nivel más alto es el subesquema.
Independencia de datos

Independencia de datos - la capacidad de modificar la definición de un
esquema en un nivel sin afectar la definición del esquema en el nivel
superior.
Tipos de independencias:
* independencia física
* independencia lógica
Independencia física


Independencia física - es la capacidad de modificar el esquema físico sin
provocar que se vuelvan a escribir los programas de aplicación.
Estas modificaciones a veces son necesarias para mejorar el funcionamiento
del banco de datos.
Independencia lógica


Independencia lógica - es la capacidad de modificar el esquema conceptual
sin provocar que se vuelvan a escribir los programas de aplicación.
Estas modificaciones son necesarias cuando se altera la estructura lógica del
banco de datos.
6


La independencia lógica es más difícil de lograr que la física, por que los
programas de aplicación dependen fuertemente de la estructura lógica de
los datos.
El concepto independencia de datos es parecido al concepto de tipos
abstractos de datos en los lenguajes de programación por que le ocultan
detalles de implantación a los usuarios permitiéndole a éstos preocuparse
por la estructura general, en vez de los detalles de implantación de bajo
nivel.
DDL-Data Definition Languaje
Lenguaje de definición de datos (DDL) - permite especificar un esquema del
banco de datos por medio de un conjunto de definiciones.


El resultado de la compilación 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 métodos de acceso usados por los sistemas de bancos de
datos.

El resultado de la compilación de estas definiciones es un conjunto de
instrucciones que especifican los detalles de implantación de los esquemas
que se le esconden al usuario.
DML-Data Manipulation Languaje

Lenguaje de manipulación de datos - (DML) es un lenguaje que capacita a
los usuarios a acceder o manipular los datos según estén organizados por el
modelo de datos.

Por manipulación se entiende:
*recuperar datos (query)
*insertar datos (insert)
*suprimir datos (delete)
*modificar datos (update)
7
Tipos de DML
Hay dos tipos de DML:
*procedural - el usuario especifica los datos que necesita y cómo obtenerlos.
* nonprocedural - el usuario especifica los datos que necesita sin especificar
cómo obtenerlos.

Query (consulta) - es una instrucción que solicita la recuperación de datos o
información.

Query Languaje - parte del DML que implica recuperación de datos o
información.
DBM-Data Base Manager

Manejador de base de datos (DBM) - es un módulo de programa que
proporciona la interfaz entre los datos de bajo nivel almacenados en el
banco de datos y los programas de aplicación 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 recuperación y actualización de los datos
en el banco de datos.
Implantación de la integridad
8
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 violación de restricción, de ser así, debe tomar la acción
apropiada.
Implantación 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 recuperación
EL DBM debe detectar fallos y restaurar el banco de datos al estado que
existía 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.
9
Bases de datos relacionales






El concepto modelo relacional se basa en el concepto matemático de
relación.
Una relación 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 colección de relaciones.
Cada relación se trata como una tabla de valores.
Componentes de una base de datos relacional:
Consiste de tres componentes:
* Data structure - esquema de relación.
* Data integrity - reglas semánticas 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
físico.
Podemos decir que una base de datos relacional consiste de un conjunto de tablasrelaciones relevantes.
Relation schema

El “relation schema” se usa para describir una relación o “relation instance”.

Ejemplos:
Cliente(Nombre,Calle,Ciudad, Número de cuenta)
Cuenta(Número de cuenta, saldo)
10

Es el concepto relación matemática R sobre unos conjuntos de valores
(dominio) D1, D2, D3...Dn .

Las columnas, en el ejemplo Nombre, Calle, Ciudad, Número de cuenta, se
les llama atributos.

Cada atributo es el nombre que se le da sobre el dominio D en el esquema
de relación.
Atributos claves (key)

Es el conjunto mínimo de atributos cuyos valores le dan una identificación
única al tuplo en la relación.

El “key”(K) debe cumplir con:
(1) para cualesquiera dos tuplos t1, t2 de cualquier instancia de la relación 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. También se define
como atributo o combinación de atributos que le dan identificación única a
cada entidad en una tabla.

Candidate Key - cuando un esquema tiene más de un key, cada key es un
candidate key. También se dice que es el superkey mínimo, 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 relación. Es el
candidate key que es seleccionado para dar identificación única a todos los
otros atributos en una fila dada. No puede contener entradas nulas.

Secondary Key- un atributo (o combinación de atributos) que se usan
estrictamente para propósitos de recuperación. También se le llama
Alternative Key.

Foreign Key- atributo (o combinación de atributos) en una tabla cuyos
valores tiene que parear con el primary key en otra tabla o ser valor nulo. Su
función principal es la de establecer la relación con otra entidad y no la de
describir el objeto o entidad que lo contiene.
11
Reglas de integridad

Entity integrity
No habrá entradas nulas en el primary key y todas las entradas serán
ú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 relación.
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 añadir un tuplo en la relación.
Eliminar (delete)- consiste en quitar un tuplo de la relación.
Modificar- consiste en cambiar un tuplo en la relación.
Consultar (Query) -consiste en recuperar datos.
Algebra y Cálculo relacional









El álgebra relacional fue desarrollada en 1970 y el cálculo relacional en 1971
por Codd.
El álgebra relacional es un lenguaje “procedural” para la manipulación de
relaciones.
En esta se especifica paso por paso la respuesta a una consulta de los datos
contenidos en una relación.
El cálculo relacional es un “non procedural language”.
En el cálculo relacional una consulta se resuelve en un solo paso.
El álgebra y el cálculo relacional proveen una forma teórica de manipular
una base de datos relacional.
Codd demostró que el álgebra relacional y el cálculo relacional son
lógicamente equivalentes.
El álgebra relacional es importante por que contribuyó a establecer un
vocabulario común que encontramos en los lenguajes de bases de datos
comerciales, tales como SELECT, PROJECT, etc.
El cálculo relacional es importante por que:
12
(1) está basado en lógica de predicados (con ello es más fácil determinar la
veracidad de una oración).
(2) varios lenguajes relacionales comerciales están basados en éste.
Algebra relacional


Manipula relaciones produciendo nuevas relaciones.
Consiste de nueve operaciones que alguna de ellas son tomadas de la
matemática, otras del lenguaje relacional y otras de lenguajes de
programación comunes.
Operaciones en Algebra relacional

Las de origen matemático son:
(1) Unión
(2) Intersección
(3) Diferencia de conjuntos
(4) Producto Cartesiano

La del lenguaje de programación es:
(5) Asignación

Las de lenguaje relacional son:
(6) Proyección
(7) Selección
(8) “Divide” o “Quotient”
(9) “Join”
Unión

La unión de las relaciones R y S es el conjunto de tuplos que están en R o en
S o en ambos.
13

Sólo se aplica a relaciones que tienen el mismo “arity” y los componentes de
los tuplos tienen igual dominio.
Intersección
 La interseccón de las relaciones R y S es el conjunto de tuplos que están en R
y en S.
 Sólo 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 están en R,
pero que no están en S.
 Sólo 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 próximos k2
componentes pertenecen a S.
Proyección
 Una proyección sobre una relación 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 relación R.
Selección
 Una selección sobre una relación R toma todos los tuplos cumplen con una
condición establecida por medio de una oración lógica en ciertos
componentes del tuplo.
 Esta condición se establece usando operadores relacionales (>, <, =) y
operadores lógicos (AND, OR, NOT)
 Se denota por ?c (R)
donde c es una oración lógica.
Asignación
 Con esta operación se le da un nombre a una relación que es resultado de
otras operaciones.
 Se denota con el símbolo :=.
 Por ejemplo Q := R X S.
14
“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
están en R y parean con tuplos en S.
“Join”
Esta operación recibe diferentes nombres específicos dependiendo del
resultado a obtener.
 Entre estos están “Natural Join”, “??Join” y “Outer Join”.
 Muchos dicen que esta operación es el corazón 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 operación 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 añadirle 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 añadirle 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
añadirle 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 añadirle a R los componentes que parean en R y en S y tuplos que no
parean de la relación derecha (R).
“Left Outer Join”

15


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
añadirle a R los componentes que parean en R y en S y tuplos que no parean
de la relación izquierda (S).
16
Bases de Datos Relacionales
EL MODELO RELACIONAL
Codd propone un modelo de datos basados en la teoría de las relaciones, en
donde los datos se estructuran lógicamente en forma de relaciones TABLAS -, siendo un objetivo fundamental del modelo: mantener la
independencia de esta estructura lógica respecto al modo de
almacenamiento y a otras características de tipo físico
El modelo relacional fue presentado por Codd de la empresa IBM a fines de
los años 60.
Objetivos del Modelo Relacional





Independencia Física
Independencia lógica
Flexibilidad
Uniformidad
Sencillez
Objetivos:
Independencia Física:
es decir, que el modo en que se almacenan los datos no influya en su manipulación
lógica y, por tanto, los usuarios que acceden a esos datos no tengan que modificar
sus programas por cambios en el almacenamiento físico.
Independencia Lógica:
esto es, que el añadir, eliminar o modificar objetos de la base de datos no repercuta
en los programas y/o usuarios que están 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:
17
las estructuras lógicas de los datos presentan un aspecto uniforme, lo que facilita la
concepción y manipulación de la base de datos por parte de los usuarios.
Sencillez:
las características anteriores, así como unos lenguajes de usuario muy sencillos,
producen como resultado que el modelo de datos relacional sea fácil de
comprender y de utilizar por parte del usuario final.
Para cumplir los objetivos citados se introduce el concepto de RELACION
(TABLA) como estructura básica del modelo.
Todos los datos de una base de datos se representan en forma de relaciones cuyo
contenido varía en el tiempo. Formalmente una relación es un conjunto de filas en
terminología relacional.
Para la manipulación de estas tablas (dinámica), se propone un conjunto de
operadores. Alguno de ellos clásicos de la teoría de conjuntos y otros introducidos
por el modelo relacional. Estos operadores forman el ALGEBRA RELACIONAL.
Definiciones relacionales:
Existe una serie de términos utilizados en el modelo relacional que se
requiere definir :
o
Relación : 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 número de tuplas se
denomina cardinalidad.
o
Atributo : Se refiere a una columna de esa tabla. La cantidad de
atributos determina el grado de la relación.
Definiciones relacionales

Clave Primaria : Identificador único para la tabla. Se compone de una
columna o de una combinación de ellas. Nunca existen dos filas de la misma
tabla con el mismo valor de clave primaria.

Dominio : Es una colección de valores, de los cuales uno o más atributos
obtienen sus valores reales.
18
Dominios

Se define dominio como “un conjunto de valores escalares de donde extraen
sus valores los atributos de una relación”. Los valores escalares representan
la menor unidad semántica de información.
¿ Cuál es la importancia de los dominios ?
Los dominios tienen una importancia semántica, puesto que restringen las
comparaciones. Los dominios no sólo definen los valores permitidos, sino
además las comparaciones “permitidas”.
Ejemplo : cantidad = peso
Relación
 La cabecera está compuesta por un conjunto fijo de atributos, o en términos
más 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 relación 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 varía 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.
19
Propiedades de las relaciones
Las propiedades de las relaciones son una consecuencia de su definición:




No existen tuplas repetidas . Por tratarse, el cuerpo de una relación, de un
conjunto matemático estos no admiten elementos repetidos. Como elemento
principal aparece la clave primaria.
Las tuplas no están ordenadas (de arriba hacia abajo).
Los atributos no están ordenados (de izquierda a derecha)
Todos los valores de los atributos son atómicos. Es equivalente a decir las
relaciones no contienen grupos repetitivos y en este caso estarían
normalizadas.
Tablas Base
Son tablas creadas vía un comando del lenguaje de definición de datos, los
datos asociados a estas tablas son almacenados permanentemente en
memoria secundaria.
Tablas Derivadas
Constituyen derivaciones de las tablas básicas, obtenidas mediante la
utilización de comandos de un lenguaje de manipulación 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 también se denominan tablas virtuales. Las tuplas que
compondrán las vistas serán generadas cada vez que la vista requiera ser
utilizada.
Los datos que componen una vista provienen de la ejecución de algunos
comandos del lenguaje de manipulación 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.
20
Existen dos razones principales para utilizar Vistas:
- Calcular valores en función 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 foránea debe
tener su correspondencia con un valor de clave primaria en la relación
referenciada.
Reglas de Integridad
Base de datos relacional (Definición)

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 más utilizados
y que presenta una fuerte base teórica.
21


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
o
o
Estructura de datos (Relación)
Integridad
Manipulación
Componentes de un SABDR

Un Sistema Administrador de Base de Datos (SABD) posee diversos
componentes entre los que se cuentan:
o Catálogo del sistema
o Un lenguaje de datos (definición y manipulación)
Lenguaje de datos relacional



El modelo relacional considera un lenguaje de datos que permite la
definición y manipulación de datos.
La porción de lenguaje de manipulación de datos (DML) permite la
obtención de información (consultas), mediante operadores de consulta que
se basan en el álgebra relacional.
A su vez, el lenguaje de definición de datos (DDL) permite la definición de
esquemas relacionales (Creación 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 relación de salida.
COOD DEFINE UN CONJUNTO DE OCHO OPERADORES
CLASIFICADOS EN DOS GRUPOS:
a)Las operaciones tradicionales de conjuntos unión, intersección,
diferencia y producto cartesiano.
b)Los operadores especiales de restricción, proyección, reunión y
división
22
A) LAS OPERACIONES TRADICIONALES DE CONJUNTOS UNION,
INTERSECCION, DIFERENCIA Y PRODUCTO CARTESIANO.




Unión: Construye una relación formada por todas las tuplas que aparecen
en cualquiera de las dos relaciones especificadas
Intersección :Construye una relación formada por aquellas tuplas que
aparezcan en las dos relaciones especificadas
Diferencia: Construye una relación formada por todas aquellas tuplas de la
primera relación que no aparezcan en la segunda de las dos relaciones
especificadas
Producto cartesiano: A partir de dos relaciones especificadas, construye una
relación que contiene todas las combinaciones posibles de tuplas, una de
cada una de las relaciones.
B) LOS OPERADORES ESPECIALES DE RESTRICCIÓN, PROYECCIÓN,
REUNIÓN Y DIVISIÓN




Restricción: Extrae las tuplas especificadas de una relación dada (restringe la
relación solo a las tuplas que satisfagan una condición especificada)
Proyección: Extrae los atributos especificados de una relación dada
Reunión: A partir de dos relaciones especificadas, construye una relación
que contiene todas las posibles combinaciones de tuplas, una de cada una
de las dos relaciones, tales que las dos tuplas participantes en una
combinación dada satisfagan alguna condición especificada
División: Toma dos relaciones, una binaria y una unaria y construye una
relación formada por todos los valores de una atributo de la relación binaria
que concuerdan (en el otro atributo) con todos los valores de la relación
unaria.
Lenguaje de Consulta Estructurado (SQL)



SQL (Structured Query Language) es un lenguaje que permite la definición
y la manipulación de una base de datos relacional.
Se ha establecido como el lenguaje estándar de bases de datos relacionales,
utilizándose en la mayoría de los SABDR como Oracle, Informix, Sybase,
DB2, SQLServer, etc.
Aunque las versiones de SQL utilizadas en productos difiere en aspectos del
lenguaje, podría hablarse de la existencia de un estándar.
23
SQL (Características)


SQL se puede usar en forma interactiva o inmerso en lenguajes de
programación de propósito general como Cobol, C , Power Builder, Visual
Basic, etc.
SQL se compone de :
o
o
DDL (lenguaje de definición de datos) : Define y modifica esquemas
relacionales, crear tablas, crear vistas, definir accesos, etc.
DML (lenguaje de manipulación de datos ) : Basado en el álgebra
relacional permite la recuperación de información.
Definición de datos (Ejemplo)
La siguiente es la definición 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 );
Manipulación 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 cláusula FROM.
Consultas (Ejemplo)
24
Consultas (Forma General)

La forma general de una consulta en SQL es :
Select columna1, columna2, ….
From tabla1.tabla2, …
Where condición de restricción
Group By Columna(s) de agrupación
Having condición_restricción_sobre_grupo
Order By especificación de orden
Otras cláusulas 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 condición;
DELETE : Elimina tuplas de la tabla que cumplan con la condición.
Delete
From nombre_tabla
Where condición;
GRANT : Concede privilegios de acceso a los datos a los usuarios.
Grant privilegio On Table nombre_tabla
To identificación_usuario;
25
Diseño de base de datos


Una de las formas de diseñar una base de datos relacional es comenzar con
un modelo E/R.
El modelo entidad relación es un modelo semántico 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 relación.
o Toda interrelación N:M se transforma en una relación.
o Toda interrelación 1:N se traduce en el fenómeno de propagación de
claves o se crea una nueva relación.
(“Concepción y Diseño de Base de Datos “, Adoración de Miguel,
Mario Piattini)
Modelo Entidad/Relación (Ejemplo).
Del modelo E/R al Relacional


En este caso se trata de una relación de 1:N por lo que la relación
“Pertenece” desaparece y se produce una propagación de clave.
El esquema relacional queda de la siguiente manera:
Alumno (Rut, Nombre, Fecha_nac,Carrera)
Carrera (Cod_carrera, Nombre, departamento)
26
Del modelo E/R al Relacional


En este caso se trata de una relación de N:N, por lo que la interrelación
“Inscribe” pasa a ser una relación 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, Créditos)
Esquema relacional
Carrera (Cod_carrera, nombre, departamento)
Alumno (Rut, nombre, fecha_nac, carrera)
Inscribe (Rut, Asignatura)
Asignatura (Cod_asignatura, nombre, créditos)
Normalización



La teoría de normalización apoya el diseño de bases de datos relacionales
buscando una forma más deseables para las relaciones del modelo (en
términos de mantener la integridad).
Se dice que una relación está en una determinada forma normal si satisface
un cierto número de restricciones.
El modelo relacional considera como obligatoria sólo la Primera Forma
Normal, las formas normales superiores persiguen un fin de optimización.
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 más antiguos se encuentran los modelos de Red y
Jerárquicos (prerelacionales).
Uno de los modelos más 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
27
Conclusiones

El modelo relacional se presenta como uno de los modelos más utilizados
para la construcción de bases de datos.

Su poderío se centra en que utiliza una sola estructura de datos, la relación,
lo que le otorga gran flexibilidad, uniformidad y sencillez.

SQL es el lenguaje estándar 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 edición. McGraw-Hill.
Ullman, J.D. (1980). Principles of Database Systems. Computer Science
Press.
28