Title: INTRODUCCIN A LAS BASES DE DATOS'
1INTRODUCCIÓN A LAS BASES DE DATOS.
- Bases de datos relacionales (F. Codd, 1970)
constituyen la 2ª generación de Bases de Datos.
En este tipo de bases de datos, se ven los
datos como un conjunto de Tablas que constan de
un conjunto de renglones, que son los registros,
y cada renglón consta de un conjunto de columnas,
que son los campos. La relación entre las tablas
sólo se establece por nombres de atributos
(campos) comunes. - Ejemplo Almacén con tablas de proveedores y
artÃculos que suministran
2BASES DE DATOS RELACIONALES
- 1.- Componentes de las bases de datos tablas,
campos y relaciones - Una Base de datos relacional consiste en un
conjunto de tablas a las que se les asigna un
nombre único. - Conceptos básicos
- Relación tabla con columnas y filas.
- Atributo o campo nombre de una columna de una
relación. Debe ser único en una relación. - Tupla o registro fila de una relación.
- Por lo que una relación se representa
gráficamente como una tabla bidimensional en la
que las filas corresponden a registros
individuales o tuplas y las columnas corresponden
a los campos o atributos de esos registros. - Ejemplo En la siguiente figura se muestra una
relación, a la que llamamos PERSONAS, que
contiene información de la gente de una Empresa y
almacena el IDENTIFICADOR DE LA PERSONA, NOMBRE,
FECHA DE NACIMIENTO, PROVINCIA DONDE NACIO y
CIUDAD DONDE NACIO.
3BASES DE DATOS RELACIONALES
- En esta relación, por tanto, los atributos o
campos son ID_PERSONA, NOMBRE, FECHA, PROVINCIA
y CIUDAD. - La primera tupla o registro contiene la
información de una persona cuya identificación es
P1, se llama MarÃa y nació el 3 de marzo de 1961
en la provincia de Castellón y en la ciudad de
Castellón.
4BASES DE DATOS RELACIONALES
- Las relaciones tienen las siguientes
caracterÃsticas - Cada relación tiene un nombre y éste es distinto
del nombre de todas las demás. - En cada tupla, cada atributo toma un solo valor,
por lo que se dice que las relaciones están
normalizadas. - No puede haber dos atributos de una relación con
el mismo nombre. - El orden en que coloquemos los atributos no
importa. - No puede haber dos tuplas idénticas.
- El orden de las tuplas no importa.
5BASES DE DATOS RELACIONALES
- 2.- Propiedades de los campos.
- TIPOS DE DATOS Los atributos pueden ser de
diferentes tipos - Texto
- Número
- Fecha-hora
- Memo
- HipervÃnculo
- Etc
6BASES DE DATOS RELACIONALES
- EJERCICIO
- Un usuario desea hacer una base de datos para
gestionar su agenda personal de direcciones. El
usuario quiere guardar información sobre el el
nombre, apellidos, domicilio, código postal,
población, provincia, dirección electrónica,
página web, relación que tiene con ellos
(familiar, amistad o profesional) y foto de las
diferentes personas. Establecer la relación
PERSONA para introducir los datos. - En la misma base de datos, al usuario le interesa
saber los diferentes teléfonos de las personas de
su agenda, asà como el número de teléfono, tipo
(casa, móvil, trabajo o familiar) y la fecha de
alta. Establecer la relación TELEFONO.
7BASES DE DATOS RELACIONALES
8BASES DE DATOS RELACIONALES
9BASES DE DATOS RELACIONALES
- CLAVES Tal y como se dijo anteriormente, en una
relación no puede haber tuplas repetidas,
pudiéndose identificar cada tupla de modo único
mediante los valores de sus atributos. - Una superclave es un atributo o conjunto de
atributos que identifican de modo único las
tuplas de una relación. - Una clave candidata es una superclave en la que
ninguno de sus atributos es una superclave de la
relación. Un atributo o conjunto de atributos de
la relación es una clave candidata si y sólo si
satisface las siguientes propiedades - Unicidad nunca hay dos tuplas en la relación con
el mismo valor para este atributo. - Irreducibilidad ningún atributo de la clave
candidata tiene la propiedad de unicidad, es
decir, no se pueden eliminar componentes de la
clave candidata sin destruir la unicidad de la
misma. - Cuando una clave candidata está formada por más
de un atributo, se dice que es una clave
compuesta. - Una relación puede tener varias claves candidatas.
10BASES DE DATOS RELACIONALES
- Por ejemplo, en la relación OFICINA, el atributo
Poblacion no es una clave candidata pues puede
haber varias oficinas en una misma población. Sin
embargo, como la empresa asigna un código único a
cada oficina, el atributo Onum sà es una clave
candidata de la relación OFICINA. También podrÃan
ser claves candidatas Teléfono y Fax, pues cada
oficina tendrá un número distinto del de las
demás. - El único modo de identificar las claves
candidatas es conociendo el significado real de
los atributos, ya que esto nos permite saber si
es posible que aparezcan valores repetidos o no. - La CLAVE PRIMARIA o PRINCIPAL de una relación es
aquella clave que se escoge para identificar sus
tuplas de modo único. Como en una relación no
puede haber dos tuplas repetidas, siempre habrá
una clave candidata que será la clave primaria. - Las claves candidatas que no son escogidas como
clave primaria de la relación se denominan CLAVES
ALTERNATIVAS. Por ejemplo, la clave primaria de
la relación OFICINA es el atributo Onum, mientras
que Telefono y Fax son dos claves alternativas.
11BASES DE DATOS RELACIONALES
- Una CLAVE AJENA o EXTERNA es un atributo o
conjunto de atributos de una relación cuyos
valores coinciden con los valores de la clave
primaria de alguna otra relación. Una clave
externa representa una referencia a la fila que
contiene el mismo valor en la tabla en la que la
clave externa es la clave principal. - EJEMPLO Supongamos que queremos llevar la
facturación de una empresa. Como una factura está
formada por varias lÃneas de factura,
necesitaremos dos tablas, una en la que
introduciremos los datos de las facturas, y otra
en la que introduciremos los datos de las lÃneas
de cada factura. La relación entre ambas se
realizará mediante el atributo Cod_factura, que
será la clave principal en la tabla FACTURAS y
clave externa en la tabla LINEAS DE FACTURA. - Tabla FACTURA
12BASES DE DATOS RELACIONALES
13BASES DE DATOS RELACIONALES
- EJEMPLO Supongamos que queremos almacenar datos
sobre unos libros, de forma que además del
tÃtulo, autor, año de edición y precio, queremos
almacenar información sobre la editorial en las
que podemos encontrar ese libro. En este caso,
necesitaremos dos tablas una tabla a la que
llamaremos LIBROS en la que almacenaremos los
datos de los libros, y otra EDITORIALES, en la
que almacenaremos los datos de las editoriales.
La relación entre ambas se realizará mediante el
atributo Cod_editorial, que es clave principal en
la tabla EDITORIAL, y clave externa en la tabla
LIBROS. - Tabla LIBROS
14BASES DE DATOS RELACIONALES
15BASES DE DATOS RELACIONALES
- 3.- Reglas de integridad
- Cuando se desconoce un atributo en una tupla, se
dice que es un NULO. Un nulo no representa el
valor cero ni la cadena vacÃa. El nulo implica
ausencia de información, bien porque al insertar
la tupla se desconocÃa la información, o bien
porque para dicha tupla el atributo no tiene
sentido. - Al definir cada atributo sobre un dominio pueden
imponerse restricciones sobre el conjunto de
valores permitidos para cada atributo,
conociéndose estas restricciones como
RESTRICCIONES DE DOMINIOS. - Los datos almacenados en una tabla deben cumplir
unas reglas para garantizar que sean correctos,
conociéndose estas reglas como REGLAS DE
INTEGRIDAD. - Existen además dos reglas de integridad que son
restricciones que deben cumplirse en todas las
bases de datos relacionales - Regla de integridad de entidades ninguno de los
atributos que componen la clave primaria puede
ser nulo. - Regla de integridad referencial los valores de
la clave externa deben coincidir con los valores
de la clave primaria a la que hace referencia o
ser nulos. Para cada clave externa hay que
contestar a 3 preguntas
16BASES DE DATOS RELACIONALES
- Regla de los nulos La clave externa puede
aceptar nulos? - Regla de lo borrado Qué ocurre si se intenta
borrar la tupla referenciada por la clave
externa? - Restringir no se permite borrar la tupla
referenciada. - Propagar se borra la tupla referenciada y se
propaga el borrado a las tuplas que la
referencian mediante la clave externa. - Anular se borra la tupla referenciada y las
tuplas que la referenciaban ponen a nulo la clave
externa (sólo si acepta nulos). - Regla de modificación Qué ocurre si se intenta
modificar el valor de la clave principal de la
tupla referenciada por la clave externa? - Restringir no se permite modificar el valor de
la clave primaria de la tupla referenciada. - Propagar se modifica el valor de la clave
primaria de la tupla referenciada y se propaga la
modificación a las tuplas que la referencian
mediante la clave externa. - Anular se modifica la tupla referenciada y las
tuplas que la referencian ponen a nulo la clave
externa (sólo si acepta nulos).
17BASES DE DATOS RELACIONALES
- En Access, se establecen las reglas de integridad
referencial cuando se establece la relación entre
dos tablas mediante el Cuadro de Diálogo
Relaciones.
18BASES DE DATOS RELACIONALES
- Si se activa la Casilla de Verificación Exigir
integridad referencial, se tendrá que tener en
cuenta que - No se podrá introducir un valor en el campo de
clave externa de la tabla relacionada que no
exista en la clave principal de la tabla
principal, pero podrá introducirse un valor Nulo
en la clave externa (si éste lo permite). - No se puede eliminar un registro de la tabla
principal si existen tuplas referenciadas por la
clave externa en las tablas relacionadas. - No se puede cambiar un valor de clave principal
en la tabla principal si esa tupla tiene tuplas
referenciadas por la clave externa en las tablas
relacionadas. - Si se activa la Casilla de Verificación
Actualizar en cascada los campos relacionados,
el cambio de un valor de la clave principal en la
tabla principal actualizará automáticamente el
valor de las claves externas en todas las tuplas
relacionadas. - Si se activa la Casilla de Verificación Eliminar
en cascada los registros relacionados, la
eliminación de una tupla en la tabla principal
eliminará todas las tuplas relacionadas en las
tablas relacionadas.