Sunteți pe pagina 1din 61

DISEO DE BASES DE DATOS

Conceptos,
operaciones,
Terminologa bsica
BASE DE DATOS : est formada por uno o varios bloques de
informacin llamados TABLAS (inicialmente denominados
FICHEROS o ARCHIVOS) que normalmente tendrn alguna
caracterstica en comn.

TABLA O ARCHIVO DE DATOS: Es un conjunto conexo de


informacin del mismo tipo; por ejemplo, en una base de datos de una
biblioteca, una tabla estar constituida por la informacin relativa a todos
los libros de la misma, otra tabla contendr informacin sobre los lectores,
etc.
REGISTROS. Un registro es la unidad elemental de
informacin de la tabla o fichero (en un archivo clsico no
automatizado un registro se corresponde con lo que suele
llamarse ficha). estara constituido por la informacin
correspondiente a cada libro concreto, con su ttulo, autor,
rea, editorial, etc.

UN CAMPO: Es cada una de las informaciones que interesa


almacenar en cada registro y es, por tanto, la unidad
elemental de informacin del registro. En el ejemplo anterior,
un campo sera el ttulo del libro; otro campo, su autor, etc.
ESTRUCTURA DE LAS BASES DE DATO
Los sistemas de gestin de base de datos SGBD,
Organizan y estructuran los datos de tal modo que
puedan ser manipulados por usuarios y programas de
aplicacin. Las estructuras de los datos y las tcnicas
de acceso proporcionadas por un DBMS particular se
denominan modelo de datos. El modelo de datos
determina la personalidad de un DBMS y las
aplicaciones para las cuales est particularmente bien
conformado.
Tipos de estructuras de bases de datos

Bsicamente podemos distinguir tres tipos de


estructuras de bases de datos:

Jerrquica
Red
Relacional .
BD JERARQUICA
se basa en el establecimiento de jerarquas o niveles
entre los distintos campos de los registros, basndose
en el criterio de que los campos de mayor jerarqua
sean los mas genricos y tienen una estructura
arborescente, donde los nodos del mismo nivel
corresponden a los campos y cada rama a un registro.
Para acceder a un campo que se encuentra en un
determinado nivel, es preciso localizarlo partiendo del
nivel superior y descendiendo por las ramas hasta
llegar al mismo.
Tomemos como ejemplo la base de datos de una
biblioteca y situemos como nivel superior el cdigo de
materia y el ttulo de la materia, y supongamos que
tomamos como campo maestro el ttulo de la materia. En
un segundo nivel de la jerarqua se incluyen las tablas de
autores asociados a cada materia en un tercer nivel
tendramos por ejemplo, las tablas correspondientes a los
autores y sus respectivos ttulos de libros y as hasta el
ltimo nivel en el que incluimos ttulo, referencia, ao de
edicin, nmero de ejemplares o cualquier otro dato
individual referente al libro buscado.
BASES DE DATOS
EN RED
Para resolver el problema de lentitud de la organizacin
jerrquica se utiliza la organizacin en RED, que
corresponde a una estructura de grafos, donde existe
mas de una conexin entre los nodos y los diversos
niveles de modo que puedan recorrerse por distintos
caminos sin necesidad de recurrir a la raz, con lo cual
la bsqueda es mas flexible, desapareciendo el
concepto de jerarqua entre campos, pues un campo
puede ser descendiente de su antecesor por un camino
de la red y ascendente por otro.
Si se crean conexiones entre nodos de igual nivel, el acceso
a campos de determinado nivel se lograr mas rpidamente,
as, por ejemplo en el caso de la base de datos de la
biblioteca, se podrn listar los ttulos de los distintos libros a
partir de un titulo dado sin acceder cada vez a los autores.

Un registro participa en mltiples relaciones padre/hijo se


conocen como conjuntos, el inconveniente es que usa mucha
cantidad de memoria al tener que almacenar en cada nodo
las posiciones de los campos siguientes, mediante
apuntadores.
Las bases de datos en red tenan varias ventajas entre las
que se pueden destacar las siguientes:

Flexibilidad: las mltiples relaciones padre/hijo permitan a


una base de datos en red
representar datos que no tuvieran una estructura jerrquica
sencilla.

Normalizacin: el estndar CODASYL reforz la


popularidad del modelo de red, y los vendedores de
minicomputadores, tales como Digital Equipment
Corporation y Data General, implementaron bases de datos
en red.
Rendimiento: a pesar de su superior
complejidad, 1as bases de datos en reforzaron el
rendimiento aproximndolo al de las bases de
datos jerrquicos. Los conjuntos se representaron
mediante punteros a registros de datos fsicos y
en algunos sistemas, el administrador de la base
de datos poda especificar la agrupacin de datos
basada en una relacin de conjunto.
Las bases de datos en red tambin tenan sus desventajas.
Igual que las bases de datos jerrquicas.
resultaban muy rgidas. Las relaciones de conjunto y la
estructura de los registros tenan que ser especificadas de
antemano. Modificar la estructura de la base de datos
requera generalmente la reconstruccin de la base de datos
completa
BASES DE DATOS RELACIONALES

Quizs, el problema fundamental que suele


plantearse al realizar una base de datos real,
formada por varias tablas, es la repeticin de datos,
es decir, campos repetidos en diferentes tablas
(redundancia), lo cual va a dificultar su gestin, es
decir, la actualizacin, insercin, modificacin,
eliminacin, consulta, etc.
Para resolver estos problemas es necesario que exista
integracin entre las distintas tablas y que est controlada
la repeticin de datos. As surgen los llamados Sistemas de
Gestin de Bases de Datos relacionales que, en el caso de
los microordenadores, estn concebidos como un conjunto
de programas de propsito general que permiten controlar
el acceso y la utilizacin de las bases de datos de forma
que satisfagan las necesidades del usuario (programas de
usuario) y que acten con independencia de los datos, y
con ellos las llamadas Bases de Datos Relacionales que
pueden resolver, mejor que otras organizaciones, las
dificultades de redundancia y no la integracin de los
datos. En este tipo de bases de datos se suprimen las
jerarquas entre campos, pudindose utilizar cualquiera de
ellos como clave de acceso.
Las principales ventajas de la utilizacin de
bases de datos relacionales son:

1. Actan sobre las tablas en su conjunto, en


lugar de hacerlo sobre los registros como
ocurre en otros sistemas.
2. Se pueden realizar consultas complejas que
utilizan varias tablas de forma simple.
3. Son fciles de utilizar (la organizacin fsica
de los datos es independiente de su
tratamiento lgico).
El esquema que se muestra en la figura 2.3 presenta la tabla
del ejemplo de la base de datos de la biblioteca adaptado al
modelo relacional. La tabla tiene todos sus campos
relacionados, de forma que es posible tomar, por ejemplo,
como entrada, la materia y averiguar el nmero de
ejemplares, o bien obtener todos los libros editados en 1986
sin ms que consultar el campo correspondiente a ao de
edicin.
CARACTERISTICAS DE LAS BASES DE DATOS
RELACIONALES.

Para que la estructura de las tablas cumpla las leyes de la


teora relacional deben satisfacerse las siguientes
condiciones:

1. Todos los registros de la tabla deben tener el mismo


nmero de campos, aunque alguno de ellos est vaco,
deben ser registros de longitud fija.

2. Cada campo tiene un nombre o etiqueta que hay que


definir previamente a su utilizacin. No obstante, una vez
creado el fichero se podr ampliar o disminuir el nmero
4. La base de datos estar formada por muchas tablas, una
por cada tipo de registro. En el ejemplo de la biblioteca
podramos definir otras tablas, por ejemplo, con los
nombres de campo AUTOR, NACIONALIDAD, PROFESIN.

5. Dentro de una tabla cada nombre de campo debe ser


distinto, por ejemplo, en la de materias podra haber
Autor 1, Autor 2, pero no puede haber dos campos con el
nombre Autor, pues al referirnos con el gestor al nombre
de campo AUTOR no sabra cul utilizar.

6. Los registros de una misma tabla tienen que


diferenciarse, al menos, en el contenido de alguno de
sus campos, no puede haber dos registros "idnticos".
7. Los registros de una tabla pueden estar dispuestos en
cualquier orden El contenido de cada campo est
delimitado por un rango de valores posibles" En el
ejemplo del campo AO DE EDICIN no puede
ponerse MIL o M, ni cualquier otro carcter alfabtico,
e incluso ningn ao mayor que 2000, por no estar
dentro del rango definido de los aos posibles.

8. Permite la creacin de nuevas tablas a partir de las ya


existentes, relacionando campos de distintas tablas
anteriores. Esta condicin es la esencia de las bases
de datos relacionales, formando lo que se llama un
fichero "virtual" (temporalmente en memoria).
OPERACIONES RELACIONALES BASICAS

Una base de datos relacional constar de varias


tablas con las que se pueden efectuar tres
operaciones fundamentales, llamadas operaciones
relacionales, que permiten la creacin de nuevas
tablas a partir de 1as ya existentes. Estas
operaciones
esenciales son la seleccin, la proyeccin y la
concatenacin
La seleccin consiste en la obtencin de una nueva
tabla (fichero) formada por algunas de las filas
(registros) seleccionadas de otra tabla previamente
existente. La seleccin utiliza algn criterio que
permita decidir qu registros de la tabla se incluyen
en la nueva tabla. En el ejemplo de la biblioteca
podemos seleccionar los libros cuyo autor sea R.
Tamames, con 1o que se obtendra una nueva tabla
con menor nmero de registros
La proyeccin

Consiste en 1a obtencin de una nueva tabla


(fichero) formada por algunas columnas (campos)
seleccionadas de otra tabla previamente
existente.
En el caso de que al elegir determinados campos
el resultado produzca registros idnticos, en la
nueva tabla slo figurar uno de los registros
repetidos. Normalmente pueden efectuarse
simultneamente la seleccin y la proyeccin.
La concatenacin

Consiste en la obtencin de una nueva tabla


(fichero) uniendo dos tablas ya existentes. Por lo
general, la unin de registros se efecta si en
ambas tablas coincide el contenido de un campo
prefijado de cada una de ellas. Cuando se produce
la coincidencia, se crea un registro en la nueva
tabla, aadiendo a los campos de la primera tabla
los de la segunda.
En el ejemplo de la biblioteca podemos realizar en
la tabla inicial una seleccin de los libros cuyas
materias son Economa y Estadstica y concatenar el
resultado con una nueva tabla con el mismo nmero
de registros y cuyos campos sean AUTOR,
NACIONALIDAD Y PROFESIN, con lo que se
obtendra una nueva tabla (figura 2-7) con mayor
nmero de campos pero con el mismo nmero de
registros que la inicialmente seleccionada. El
esquema siguiente ilustra la operacin
concatenacin.
Se observa que el campo autor no se ha repetido, aunque
figura en las dos tablas que se concatenan. Para
comprender mejor la operacin de concatenacin anterior
vamos a ver los pasos en que ha consistido el proceso:

1. Consultar el valor del campo del primer registro de la


primera tabla cuyo contenido se desee casar con la
segunda tabla (en nuestro ejemplo, Autor).
2. Compararlo con los valores del campo de cada uno de
los registros de la segunda tabla, cuyo contenido deba
coincidir (en nuestro caso, Autor).
3. Si hay correspondencia, se aadir una fila (registro) a la
fabla resultado, uniendo las filas de las tablas iniciales
(en horizontal).
ISEO DE UNA BASE DE DATOS RELACIONA

Lo primero que hay que tener presente a la hora de disear


una base de datos relacional es el propio concepto de
modelo relacional, que organiza los datos en una base
datos como una coleccin de tablas teniendo presente
inicialmente lo siguiente:

1. Cada tabla tiene un nombre que la identifica


unvocamente.
2. Cada tabla tiene una o ms columnas
nominadas, que estn dispuestas en orden
especfico de izquierda a derecha.
3. Cada tabla tiene cero o ms filas, conteniendo
cada una un nico valor en cada columna. Las
filas estn desordenadas.
4. Todos los valores de una columna determinada
tienen el mismo tipo de datos y stos estn
extrados de un conjunto de valores legales
llamado el dominio de la columna.
A su vez, las tablas estn relacionadas unas con otras por
los datos que contienen. El modelo de datos relacional
utiliza claves primarias y claves secundarias (externas o
forneas) para representar estas relaciones entre tablas. A
la hora de definir las claves primarias y secundarias es
necesario tener presente de entrada lo siguiente:

1. Una combinacin clave primaria/clave secundaria


crea una relacin padre/hijo entre las tablas que las
contienen.
2. Una clave primaria es una columna o
combinacin de columnas dentro de una
tabla cuyo(s) valor(es) identifica(n)
unvocamente a cada fila de la tabla. Cada
tabla tiene una nica clave primaria.
3. Una clave secundaria es una columna o
combinacin de columnas en una tabla
cuyo(s) valor(es) es(son) un valor de clave
primaria para alguna otra tabla. Una tabla
puede contener ms de una clave
secundaria, enlazndola a una o ms tablas.
INTEGRIDAD
El trmino integridad de datos se refiere a la
correccin y completitud de los Datos en una base
de datos. Cuando los contenidos de una base de
datos se modifican con sentencias INSERT
(insertar), DELETE (borrar) o UPDATE (actualizar),
la integridad de los datos almacenados puede
perderse de muchas maneras diferentes.
1. Pueden aadirse datos no vlidos a la base de
datos, tales como un pedido que especifica un
producto no existente.
2. Pueden modificarse datos existentes tomando un
valor incorrecto, como por ejemplo, si se reasigna
un vendedor a una oficina no existente.
3. Los cambios a la base de datos pueden perderse
debido a un error del sistema o a un fallo en el
suministro de potencia.
4. Los cambios pueden ser aplicados parcialmente,
como por ejemplo, si se aade un pedido de un
producto sin ajustar la cantidad disponible para
vender
Qu es la integridad de datos?

Para preservar la consistencia y correccin de los


datos almacenados, un DBMS relacional impone
generalmente una o ms restricciones de integridad
de
datos. Estas restricciones restringen los valores que
pueden ser insertados en la base de datos o creados
mediante una actualizacin de la base de datos. Varios
tipos diferentes de restricciones de integridad de datos
suelen encontrarse en las bases de datos relacionales,
incluyendo:
Datos requeridos: algunas columnas en una base de
datos deben contener un valor de dato vlido en cada fila,
es decir, no se permite que contengan valores NULL o que
falten. Pueden especificarse columnas requeridas cuando
se crea un tabla, en cuyo caso, el DBMS impedir los
valores NULL en esas columnas.

Chequeo de validez: cada columna de una base de


datos tiene un dominio, o sea, un conjunto de valores que
son legales para esa columna. EI DBMS puede ser
preparado
para impedir otros valores de datos en estas columnas.
Integridad referencial:

Una clave secundaria (externa o fornea) en una base de


datos relacional enlaza cada fila de la tabla hijo que contiene
la clave fornea con la fila de la tabla padre que contiene el
valor de clave primaria correspondiente. El DBMS puede ser
preparado para forzar esta restriccin de clave fornea/clave
primaria. Las restricciones de integridad referencial aseguran
que las relaciones entre entidades en la base de datos se
preserven durante las actualizaciones. En particular, la
integridad referencial debe incluir reglas que indiquen cmo
manejar la supresin de flas que son referenciadas mediante
otras filas.
Integridad de entidad:

La clave primaria de una tabla debe contener un


valor nico en cada fila, diferente de los valores de
todas las filas restantes. Los valores duplicados son
ilegales y el DBMS puede ser preparado para forzar
esta restriccin de valores nicos. Las restricciones
de integridad de entidad aseguran que la clave
primaria identifique unvocamente a cada entidad
representada en la base de datos.
Consistencia: muchas transacciones del mundo real
producen mltiples actualizaciones a una base de
datos. Las sentencias INSERT y UPDATE deben
ejecutarse de modo que la base de datos contine en
un estado correcto y consistente.

El DBMS puede ser preparado para forzar este tipo de


regla de consistencia o para soportar aplicaciones que
implementen tales reglas.
NORMALIZACION DE
LA
BASE DE DATOS
es un proceso que pone las cosas en su sitio,
hacindolas normales. El origen de esta palabra viene
del latn "norma", Que era una "escuadra de
carpintero" para conseguir el ngulo correcto. En
geometra, cuando una lnea est en ngulo recto con
otra se dice que estn en un ngulo "normal". En una
base de datos. el trmino tambin tiene un significado
matemtico especfico, realizando una separacin de
elementos de datos (tales como nombres, direcciones u
oficios) en grupos afines y definiendo las relaciones
normales o "correctas" entre ellos.
La normalizacin es una tcnica eficaz para el
diseo de bases de dato que puede aplicarse
tanto a sistemas relacionales como a otros
modelos. Con la tcnica de la normalizacin se
trata de evitar la dependencia entre inserciones,
actualizacin, y borrado de e1ementos de 1as
tablas de la base de datos. Tambin se reducen
operaciones de reorganizacin cuando hay que
incorporar nuevos datos la normalizacin tiene
tres etapas que transforman las relaciones no
normales en normalizadas y que se denominan
primera, segunda y tercera formas normales
Primera forma normal
El primer paso en la normalizacin es poner los
datos en la primera forma normal. Esto se hace
situando los datos en tablas separadas, de
manera que los datos de cada tabla sean de un
tipo similar, y dando a cada tabla una clave
primaria y un identificador o etiqueta nica. Esto
elimina los grupos repetidos de datos.
Supongamos que, inicialmente, tenemos toda la
informacin a incluir en una base de datos en una
sola tabla de nombre EMPLEADO cuyos campos
pueden ser Nombre, Edad, Alojamiento,
Responsable, Direccin, oficio1, oficio2 y oficio3.
Los usuarios de esta tabla tendrn problemas al
almacenar los datos de los empleados de la
compaa, puesto que al definir el oficio de los
empleados solo disponemos de tres posibilidades.

En lugar de fijar el nmero de oficios de cada trabajador a


tres como en la primera tabla, cada oficio del trabajador se
localizar en su propia tabla separada (tabla OFICIO), con
una fila por nombre, oficio y descripcin del oficio. De esta
forma se elimina la necesidad de un nmero variable de
"oficios" en la tabla EMPLEADOS (imposible de cualquier
manera en una base de datos automatizada). Y esta
solucin siempre es mejor que limitar el nmero de oficios
en la tabla EMPLEADO.
Lo siguiente que se debe hacer es definir una clave primaria
para cada tabla: aqulla que identificar de manera nica
los registros y servir para obtener una fila d informacin.
Por motivos de simplicidad, suponemos que los nombres de
1os trabajadores son nicos, as que el nombre del
trabajador ser la clave primaria de la tabla EMPLEADO.
Puesto que cada trabajador puede tener varias filas en la
nueva tabla OFICIO, el nombre y el oficio sern la clave
primaria completa de 1a tabla OFICIO (las dos partes
combinadas hacen el total). En la figura 2-18 se presentan
las dos nuevas tablas producto de la normalizacin de la
tabla EMPLEADO inicial a primera forma normal.
SEGUNDA FORMA NORMAL
El segundo paso, que es la segunda forma normal, se centra en
aislar los tatos que slo dependen de una parte de la clave" Para
obtener la segunda forma normal, se deben sacar Oficio y
Descripcin a una tercera fabla. La clave primaria de la tercera
tabla es Oficio y su larga descripcin aparece slo una vez. Si
echamos un vistazo a la tabla OFICIO de la primera forma
normal, las descripciones detalladas se repiten para cada
trabajador que tenga ese "oficio". Adems, cuando el ltimo
trabajador con conocimientos de herrero se marcha de la ciudad,
la descripcin del oficio de herrero se desvanece.
Con la segunda forma normal, tanto "oficio" como Su
descripcin permanecen en la base de datos, aunque en
ese momento no haya ningn trabajador con esos oficios.
Los "oficios" se pueden aadir incluso antes de que haya un
trabajador con esos oficios. Por lo tanto normalizamos en
segunda forma normal desdoblando la tabla OFICIO de la
primera forma normal en otras dos tablas de nombres
OFICIO-EMPLEADO (con los campos Oficio y Calificacin) y
OFICIO (con los campos Oficio y Descripcin). Vase figura
2-19.
Es obligado para que las tablas estn en segunda
forma normal que tambin estn previamente en
primera forma normal.
TERCERA FORMA NORMAL
El tercer paso, la tercera forma normal, implica deshacerse de cualquier
cosa de las tablas que no dependa nicamente de la clave primaria. La
informacin de los trabajadores sobre el alojamiento depende de dnde
estn viviendo (si se trasladan habr que actualizar la fila con el nuevo
nombre del alojamiento en el que vive), pero el patrn de la posada y su
direccin son independientes de si el trabajador vive ah o no. Por eso, la
informacin de alojamiento se lleva a una tabla separada de nombre
VIVIENDA y, por conveniencia, se usa una versin taquigrfica del
nombre de la casa de alojamiento como clave primaria y el nombre total
se guarda en el campo nombre figura 2-20 muestra las tablas en la
tercera forma normal y la figura 2-20 muestra grficamente las
relaciones que existen entre las tablas.
Una vez que los datos estn en tercera forma
normal, estn ya de manera automtica en la
primera y la segunda forma normal. Por tanto, el
proceso total se puede acabar de una manera
menos tediosa usando directamente la tercera
forma normal, que hacindolo forma a forma.
Simplemente, basta con organizar los datos para
que las columnas de cada tabla, aparte de la clave
primaria, dependan nicamente de toda la clave
primaria.

S-ar putea să vă placă și