FUNDAMENTOS DE BASE DE DATOS MEJIA GUTIERREZ

Anuncio
FUNDAMENTOS DE BASE DE DATOS
MEJIA GUTIERREZ VIRIDIANA MONSERRAT
TIC´S 3ER SEMESTRE
TURNO VESP.
UNIDAD 3 MODELO RELACIONAL
3.1 ESTRUCTURA BÁSICA
Relación o tabla
Según el modelo relacional (desde que Codd lo enunció) el elemento fundamental es lo que se
conoce como relación, aunque más habitualmente se le llama tabla (o también array o matriz).
Codd definió las relaciones utilizando un lenguaje matemático, pero se pueden asociar a la idea
de tabla (de filas y columnas) ya que es más fácil de entender.
No hay que confundir la idea de relación según el modelo de Codd, con lo que significa una
relación en el modelo Entidad/Relación de Chen. No tienen nada que ver
Las relaciones constan de:
♦ Atributos. Referido a cada propiedad de los datos que se almacenan en la relación (nombre,
dni,...).
♦ Tuplas. Referido a cada elemento de la relación. Por ejemplo si una relación almacena
personas, una tupla representaría a una persona en concreto.
Puesto que una relación se representa como una tabla; podemos entender que las columnas
de la tabla son los atributos; y las filas, las tuplas.
Atributo 1
atributo 2
Valor 1,1
valor 1,2
Valor 2,1
valor 2,2
atributo 3
....
Atributo n
valor 1,3
....
Valor 1, n
tupla 1
valor 2,3
....
Valor 2, n
tupla 2
.....
.....
......
....
.....
Valor m, 1
valor m, 2
valor m, 3
....
Valor m, n
....
tupla m
La tabla superior representa la estructura de una relación según el modelo de
Codd.
TUPLA
Cada una de las filas de la relación. Se corresponde con la idea clásica de registro. Representa
por tanto cada elemento individual de esa relación. Tiene que cumplir que:
♦ Cada tupla se debe corresponder con un elemento del mundo real.
♦ No puede haber dos tuplas iguales (con todos los valores iguales).2º curso de administración
de sistemas informáticos
FUNDAMENTOS DE BASE DE DATOS
MEJIA GUTIERREZ VIRIDIANA MONSERRAT
TIC´S 3ER SEMESTRE
TURNO VESP.
DOMINIO
Un dominio contiene todos los posibles valores que puede tomar un determinado atributo. Dos
atributos distintos pueden tener el mismo dominio.
Un dominio en realidad es un conjunto finito de valores del mismo tipo. A los dominios se les
asigna un nombre y así podemos referirnos a ese nombre en más de un atributo.
La forma de indicar el contenido de un dominio se puede hacer utilizando dos posibles
técnicas:
♦ Intensión. Se define el nomino indicando la definición exacta de sus posibles valores. Por
intensión se puede definir el dominio de edades de los trabajadores como: números enteros
entre el 16 y el 65 (un trabajador sólo podría tener una edad entre 16 y 65 años).
♦ Extensión. Se indican algunos valores y se sobreentiende el resto gracias a que se
autodefinen con los anteriores. Por ejemplo el dominio localidad se podría definir por extensión
así: Palencia, Valladolid, Villamuriel de Cerrato,...
Además pueden ser:
♦ Generales. Los valores están comprendidos entre un máximo y un mínimo
♦ Restringidos. Sólo pueden tomar un conjunto de valores
GRADO
Indica el tamaño de una relación en base al número de columnas (atributos) de la misma.
Lógicamente cuanto mayor es el grado de una relación, mayor es su complejidad al manejarla.
CARDINALIDAD
Número de tuplas de una relación, o número de filas de una tabla.
SINÓNIMOS
Los términos vistos anteriormente tienen distintos sinónimos según la nomenclatura utilizada.
DEFINICIÓN FORMAL DE RELACIÓN
Una relación está formada por estos elementos:
♦ Nombre. Identifica la relación.
♦ Cabecera de relación. Conjunto de todos los pares atributo-domino de la relación:{(Ai Di)}
ni:=1donde n es el grado.
♦ Cuerpo de la relación. Representa el conjunto de m tuplas {t1, t2,... tn} que forman la
relación. Cada tupla es un conjunto de n pares atributo-valor {(Ai: V ij)}, donde Vij es el valor j
del dominio Di asociado al atributo Ai.
♦ Esquema de la relación. Se forma con el nombre R y la cabecera. Es decir {(Ai Di)} ni: =1
♦ Estado de la relación. Lo forman el esquema y el cuerpo.
Ejemplo:
Clientes
FUNDAMENTOS DE BASE DE DATOS
DNI
Nombre
Edad
12333944C
Ana
52
12374678G
Eva
27
28238232H
Martín
MEJIA GUTIERREZ VIRIDIANA MONSERRAT
TIC´S 3ER SEMESTRE
TURNO VESP.
33
Esquema: Cliente (DNI: DNI, Nombre: Nombre, Edad: Edad)
Cuerpo: {(DNI: “12333944C”, Nombre:”Ana”, Edad: 52), (DNI: “12374678G”,
Nombre:”Eva”, Edad; 52), (DNI: “28238232H”, Nombre:”Martín”, Edad: 33)}
PROPIEDADES DE LAS TABLAS (O RELACIONES)
♦ Cada tabla tiene un nombre distinto
♦ Cada atributo de la tabla toma un solo valor en cada tupla
♦ Cada atributo tiene un nombre distinto en cada tabla (aunque puede coincidir en tablas
distintas)
♦ Cada tupla es única (no hay tuplas duplicadas)
♦ El orden de los atributos no importa
♦ El orden de las tuplas no importa2º curso de administración de sistemas informáticos
TIPOS DE TABLAS
♦ Persistentes. Sólo pueden ser borradas por los usuarios:
• Bases. Independientes, se crean indicando su estructura y sus ejemplares. Contienen tanto
datos como metadatos.
• Vistas. Son tablas que sólo almacenan una definición de consulta, resultado de la cual se
produce una tabla cuyos datos proceden de las bases o de otras vistas e instantáneas. Si los
datos de las tablas base cambian, los de la vista que utiliza esos datos también cambia.
• Instantáneas. Son vistas (creadas de la misma forma) que sí que almacenan los datos que
muestra, además de la consulta que dio lugar a esa vista. Sólo modifican su resultado
(actualizan los datos) siendo refrescadas por el sistema cada cierto tiempo (con lo que tienen el
riesgo de que muestren algunos datos obsoletos.
♦ Temporales. Son tablas que se eliminan automáticamente por el sistema.
Pueden ser de cualquiera de los tipos anteriores. Las utiliza el SGBD como almacén intermedio
de datos (resultados de consultas, por ejemplo
3.2 ESQUEMA DE LAS BASES DE DATOS
(2.6.1) grafos relacionales
Es un esquema relacional en el que hay líneas que enlazan las claves principales con las
claves secundarias para representar mejor las relaciones. A veces se representa en forma de
nodos de grafos y otras se complementa el clásico.
FUNDAMENTOS DE BASE DE DATOS
MEJIA GUTIERREZ VIRIDIANA MONSERRAT
TIC´S 3ER SEMESTRE
TURNO VESP.
Ejemplo:
ESQUEMAS RELACIONALES DERIVADOS DEL MODELO ENTIDAD/RELACIÓN
Hay quien los llama esquemas entidad/relación relacionales. De hecho es una mezcla entre los
esquemas relacionales y los entidad/relación. Hoy en día se utiliza mucho, en especial por las
herramientas CASE de creación de diseños de bases de datos.
Las tablas se representan en forma de rectángulo que contiene una fila por cada atributo y una
fila inicial para la cabecera en la que aparece el nombre de la tabla. Después aparecen líneas
que muestran la relación entre las claves y su cardinalidad.
Uno de los más utilizados actualmente es éste:
Las cardinalidades se pueden mostrar en otros formatos, pero siempre se mostrarán en este
tipo de esquemas. En este caso el inicio de la línea (en la clave principal) se considera
cardinalidad 1 y en el extremo podemos tener un final de línea sin símbolos (cardinalidad 1,1),
acabado en varias ramas (cardinalidad 1, n) o con un círculo (cardinalidad mínima de 0)
Se ha hecho muy popular la forma de presentar esquemas relacionales del programa Microsoft
Access.
Ejemplo:
Es otra forma muy clara de representar relaciones y cardinalidades (aunque tiene problemas
para representar relaciones de dos o más atributos).
FUNDAMENTOS DE BASE DE DATOS
MEJIA GUTIERREZ VIRIDIANA MONSERRAT
TIC´S 3ER SEMESTRE
TURNO VESP.
Sin duda los esquemas más completos son los que reflejan no sólo las cardinalidades sino
también todas las restricciones (e incluso los tipos de datos, aunque esto ya es una
competencia del esquema interno). Véase el esquema de la Ilustración 11. En ese esquema los
símbolos funcionan de esta forma:
Además los campos que están el final de una flecha son claves secundarias.
Ilustración 40, Esquema relacional completo de la base de datos de un Video
Club. El programa Visio de Microsoft (y algunos otros más), representan las restricciones con
letras:
Ilustración 41, Esquema relacional del almacén según el programa Visio de Microsoft
En este caso los símbolos PK significan Primary Key (clave principal), FK es Foreign Key
(clave secundaria, los números sirven para distinguir unas claves de otras) y UK es Unique
(unicidad).
FUNDAMENTOS DE BASE DE DATOS
MEJIA GUTIERREZ VIRIDIANA MONSERRAT
TIC´S 3ER SEMESTRE
TURNO VESP.
3.3 CLAVES
CLAVE CANDIDATA
Conjunto de atributos que identifican unívocamente cada tupla de la relación. Es decir
columnas cuyos valores no se repiten en ninguna otra tupla de esa tabla.
Toda tabla en el modelo relacional debe tener al menos una clave candidata (puede incluso
haber más)
CLAVE PRIMARIA
Clave candidata que se escoge como identificador de las tuplas. Se elige como primaria la
candidata que identifique mejor a cada tupla en el contexto de la base de datos.
Por ejemplo un campo con el DNI sería clave candidata de una tabla de clientes, si esa tabla
tiene un campo de código de cliente, éste sería mejor candidato (y por lo tanto clave principal)
porque es mejor identificador para ese contexto.
CLAVE ALTERNATIVA
Cualquier clave candidata que no sea primaria.
CLAVE EXTERNA, AJENA O SECUNDARIA
Son los datos de atributos de una tabla cuyos valores están relacionados con atributos de otra
tabla. Por ejemplo en la tabla equipos tenemos estos datos:
Equipo
Nº Equipo
Real Madrid
1
F.C. Barcelona
2
Athletic Bilbao
3
En la tabla anterior la clave principal es el atributo nº equipo. En otra tabla tenemos:
Nº Jugador Jugador Nº Equipo
1
Karanka
3
2
Ronaldinho
2
3
Raúl
1
4
Beckham
1
El atributo Nº Equipo sirve para relacionar el Jugador con el equipo al que pertenece. Ese
campo en la tabla de jugadores es una clave secundaria.
3.4 LENGUAJES DE CONSULTA
Un lenguaje de consulta es un lenguaje con el que los usuarios solicitan información de la
BBDD.
Estos lenguajes suelen ser de nivel superior que el de los lenguajes de programación
habituales.
FUNDAMENTOS DE BASE DE DATOS
MEJIA GUTIERREZ VIRIDIANA MONSERRAT
TIC´S 3ER SEMESTRE
TURNO VESP.
Clasificación
Procedimentales
El usuario indica al sistema que lleve a cabo una serie de operaciones en la BBDD para
calcular el resultado.
No procedimentales
El usuario describe la información deseada sin dar un procedimiento concreto para obtener la
información.
Lenguajes Formales del Modelo Relacional
Se parte de los esquemas de relaciones y se define un lenguaje de manipulación de datos.
Dentro de estos lenguajes podemos encontrar
Álgebra Relacional (Procedimental)
Cálculo Relacional de Tuplas (No procedimental)
Cálculo Relacional de Dominios (No procedimental)
Estos lenguajes son estrictos y formales y han servido como base para los lenguajes
implementados en los SGBD comerciales que veremos posteriormente.
Álgebra Relacional
Lenguaje de consulta procedimental basado en álgebra de conjuntos.
Serie de operaciones que toman una o dos relaciones como entrada y generan una relación
como salida, pero siempre sin modificar los datos de la base de datos (es un lenguaje de
consulta).
Las operaciones son:
Selección
Proyección
Reunión (JOIN o producto cartesiano con condición)
División
Operaciones habituales de conjuntos: unión, intersección, resta y producto cartesiano.
El conjunto completo (conjunto de operaciones que permiten realizar todas las operaciones
posibles) en este lenguaje es:{unión, resta, producto cartesiano, selección, proyección
Descargar