Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Fundamentos Base de Datos
Fundamentos Base de Datos
Base de datos
La relacin entre una tabla padre y un hijo se lleva a cabo por medio de las
claves primarias y ajenas (o forneas).
Las claves primarias son la clave principal de un registro dentro de una tabla y
stas deben cumplir con la integridad de datos.
Las claves ajenas se colocan en la tabla hija, contienen el mismo valor que la
clave primaria del registro padre; por medio de stas se hacen las relaciones.
Atomicidad
Algunas definiciones de 1NF, ms notablemente la de E.F. Codd, hacen referencia al
concepto de atomicidad. Codd indica que "se requiere que los valores sean atmicos con
respecto al DBMS en los dominios en los que cada relacin es definida".Codd define un
valor atmico como uno que "no puede ser descompuesto en pedazos ms pequeos por
el DBMS (excepto ciertas funciones especiales).
Base de datos
B es funcionalmente dependiente de A.
Una dependencia funcional es una conexin entre uno o ms atributos. Por ejemplo si se conoce el valor
de DNI tiene una conexin con Apellido o Nombre.
Las dependencias funcionales del sistema se escriben utilizando una flecha, de la siguiente manera:
FechaDeNacimiento
Edad
De la normalizacin (lgica) a la implementacin (fsica o real) puede ser sugerible tener stas
dependencias funcionales para lograr la eficiencia en las tablas.
Base de datos
Jones
Mecanografa
Jones
Taquigrafa
Jones
Tallado
Roberts
Ellis
Alquimia
73 Industrial Way
Ellis
Malabarismo
73 Industrial Way
Harrison
Solucionado
Habilidades de los empleados
Empleados
Empleado
Jones
Roberts
73 Industrial Way
Ellis
Harrison
Empleado Habilidad
Jones
Mecanografa
73 Industrial Way
Jones
Taquigrafa
73 Industrial Way
Jones
Tallado
Roberts
Limpieza ligera
Ellis
Alquimia
Ellis
Malabarismo
Harrison
Limpieza ligera
Base de datos
Ganadores del torneo
Torneo
Ao Ganador
28 de septiembre de 1968
Ao Ganador
Fecha de nacimiento
Las anomalas de actualizacin no pueden ocurrir en estas tablas, las cuales estn en
3NF.
Base de datos
Ejemplo :
Referencia cruzada de Tutor/Estudiante
ID Tutor Nmero de seguro social del tutor ID Estudiante
1078
088-51-0074
31850
1078
088-51-0074
37921
1293
096-77-4146
46224
1480
072-21-2223
31850
Por lo tanto los tres atributos de la tabla son atributos primarios, es decir, los tres
atributos pertenecen a las claves candidatas.
Recuerde que la 2NF prohbe dependencias funcionales parciales de atributos noprimarios en las claves candidatas, y la 3NF prohbe dependencias funcionales
transitivas de atributos no-primarios en claves candidatas. Dado que la tabla de arriba
carece de cualquier atributo no-primario, est en 2NF y 3NF.
La FNBC es ms rigurosa que la 3NF en que no permite ninguna dependencia funcional
en la cual el conjunto determinante de atributos no sea una clave candidato (o
superconjunto de eso). La dependencia de ID Tutor en Nmero de seguro social del
tutor es ese tipo de dependencia. Por consiguiente, la tabla de arriba no est en FNBC
Cualquier tabla que sea insuficiente en FNBC ser vulnerable a inconsistencias lgicas.
En la tabla de arriba poda ser representada una combinacin inconsistente de ID Tutor
y Nmero de seguro social del tutor.
En este caso, corregir el problema sera una simple cuestin de usar solo un esquema de
identificacin para los tutores: o el ID, o el nmero del seguro social, pero no ambos.
ID Tutor ID Estudiante
1078
31850
1078
37921
1293
46224
1480
31850
O bien:
Nmero de seguro social del tutor ID Estudiante
088-51-0074
31850
088-51-0074
37921
Base de datos
096-77-4146
46224
072-21-2223
31850
Esquema renta_equipos
nombre_tienda
ciudad_tienda
capital
nombre_cliente
num_contrato
mensualidad
Galeras
Pachuca
250000
Vargas
tel-01
1000
Gran patio
Pachuca
150000
Escamilla
tel-13
560
Satlite
DF
300000
Muoz
tel-31
320
Centro Histrico
DF
350000
Prez
tel-22
560
Tulancingo Centro
Tulancingo
100000
Jurez
tel-14
1500
Galeras
Pachuca
250000
Escamilla
tel-99
540
Satlite
DF
300000
Muoz
tel-29
2000
Centro Histrico
DF
350000
Cortes
tel-95
1700
Satlite
DF
300000
Gutirrez
tel-43
360
Tulancingo Centro
Tulancingo
100000
Cern
tel-70
850
ciudad_tienda
capital
nombre_cliente
Galeras
Pachuca
250000
Vargas
Gran patio
Pachuca
150000
Escamilla
Base de datos
Satlite
DF
300000
Muoz
Centro Histrico
DF
350000
Prez
Tulancingo Centro
Tulancingo
100000
Jurez
Galeras
Pachuca
250000
Escamilla
Satlite
DF
300000
Muoz
Centro Histrico
DF
350000
Cortes
Satlite
DF
300000
Gutirrez
Tulancingo Centro
Tulancingo
100000
Cern
Cliente-renta
nombre_cliente
num_contrato
mensualidad
Vargas
tel-01
1000
Escamilla
tel-13
560
Muoz
tel-31
320
Prez
tel-22
560
Jurez
tel-14
1500
Escamilla
tel-99
540
Muoz
tel-29
2000
Cortes
tel-95
1700
Gutirrez
tel-43
360
Cern
tel-70
850
De esta descomposicin podemos observar que para el caso de que un cliente tenga
contratos en ms de una tienda, las tuplas no permiten determinar que prstamo es de
qu sucursal provocando una prdida de informacin que nos lleva a una
descomposicin de reunin con prdida.
Sin embargo podemos descomponer nuestro esquema en los siguientes sub-esquemas
sin perder informacion:
Esquema-tienda
nombre_tienda
ciudad_tienda
capital
Galeras
Pachuca
250000
Gran patio
Pachuca
150000
Satlite
DF
300000
Centro
Histrico
DF
350000
Tulancingo
Centro
Tulancingo
100000
Esquema-contrato
nombre_tienda
nombre_cliente
num_contrato
mensualidad
Galeras
Vargas
tel-01
1000
Base de datos
Gran patio
Escamilla
tel-13
560
Satlite
Muoz
tel-31
320
Centro Histrico
Prez
tel-22
560
Tulancingo Centro
Jurez
tel-14
1500
Galeras
Escamilla
tel-99
540
Satlite
Muoz
tel-29
2000
Centro Histrico
Cortes
tel-95
1700
Satlite
Gutirrez
tel-43
360
Tulancingo Centro
Cern
tel-70
850
Springfield
Shelbyville
Springfield
Shelbyville
Elite Pizza
Corteza fina
Capital City
Elite Pizza
Corteza rellena
Capital City
A1 Pizza
Corteza gruesa
Springfield
Base de datos
A1 Pizza
Corteza gruesa
Shelbyville
A1 Pizza
Corteza gruesa
Capital City
A1 Pizza
Corteza rellena
Springfield
A1 Pizza
Corteza rellena
Shelbyville
A1 Pizza
Corteza rellena
Capital City
Cada fila indica que un restaurante dado puede entregar una variedad dada de pizza a un
rea dada.
Note que debido a que la tabla tiene una clave nica y ningn atributo no-clave, no viola
ninguna forma normal hasta el BCNF. Pero debido a que las variedades de pizza que un
restaurante ofrece son independientes de las reas a las cuales el restaurante enva, hay
redundancia en la tabla: por ejemplo, nos dicen tres veces que A1 Pizza ofrece la
Corteza rellena, y si A1 Pizza comienza a producir pizzas de Corteza de queso entonces
necesitaremos agregar mltiples registros, uno para cada una de las reas de envo de
A1 Pizza. En trminos formales, esto se describe como que Variedad de pizza est
teniendo una dependencia multivalor en Restaurante.
Para satisfacer la 4NF, debemos poner los hechos sobre las variedades de pizza
ofrecidas en una tabla diferente de los hechos sobre reas de envo:
Variedad de pizza
Restaurante
rea de envo
Corteza fina
Elite Pizza
Capital City
A1 Pizza
Springfield
A1 Pizza
Shelbyville
A1 Pizza
Capital City
Corteza rellena
Corteza gruesa
Corteza rellena
Base de datos
en 5NF si y solo si est en 4NF y cada dependencia de unin (join) en ella es implicada
por las claves candidato.
Psiquiatra-para-Asegurador-para-Condicin
Psiquiatra
Asegurador
Condicin
Dr. James
Healthco
Ansiedad
Dr. James
Healthco
Depresin
Dr. Kendrick
FriendlyCare OCD
Dr. Kendrick
FriendlyCare Ansiedad
Dr. Kendrick
FriendlyCare Depresin
Ansiedad
Demencia
Condicin
Dr. James
Ansiedad
Dr. James
Depresin
Dr. Kendrick
OCD
Dr. Kendrick
Ansiedad
Dr. Kendrick
Depresin
Psiquiatra-para-Asegurador
Psiquiatra
Asegurador
Dr. James
Healthco
Dr. Kendrick
FriendlyCare
Trastorno de
conversin
11
Base de datos
Asegurador-para-Condicin
Asegurador
Condicin
Healthco
Ansiedad
Healthco
Depresin
Healthco
Demencia
FriendlyCare OCD
FriendlyCare Ansiedad
FriendlyCare Depresin
FriendlyCare Trastorno emocional
FriendlyCare Esquizofrenia
Victorian Life Trastorno de conversin
Reglas de Integridad
Regla de integridad de unicidad de la clave primaria
La regla de integridad de unicidad est relacionada con la definicin de clave primaria que establece que
toda clave primaria que se elija para una relacin no debe tener valores repetidos por lo que el conjunto de
atributos CP es la clave primaria de una relacin R, entonces la extensin de R no puede tener en ningn
momento dos tuplas con la misma combinacin de valores para los atributos de CP.
12
Base de datos
modificar ningn atributo de la clave primaria de una tupla si tiene una clave primaria referenciada por
alguna clave fornea.
Actualizacin en cascada
La actualizacin en cascada consiste en permitir la operacin de actualizacin de la tupla, y en efectuar
operaciones compensatorias que propaguen en cascada la actualizacin a las tuplas que la referenciaban;
se acta de este modo para mantener la integridad referencial. La actualizacin en cascada en caso de
borrado consiste en permitir el borrado de una tupla t que tiene una clave primaria referenciada, y borrar
tambin todas las tuplas que referencian t y la actualizacin en cascada en caso de modificacin consiste
en permitir la modificacin de atributos de la clave primaria de una tupla t que tiene una clave primaria
referenciada, y modificar del mismo modo todas las tuplas que referencian t.
Anulacin
La anulacin consiste en permitir la operacin de actualizacin de la tupla y en efectuar operaciones
compensatorias que pongan valores nulos a los atributos de la clave fornea de las tuplas que la
referencian; esta accin se lleva a cabo para mantener la integridad referencial. Los SGBD relacionales
permiten establecer que un determinado atributo de una relacin no admite valores nulos, slo se puede
aplicar la poltica de anulacin si los atributos de la clave fornea s los admiten. Ms concretamente, la
anulacin en caso de borrado consiste en permitir el borrado de una tupla t que tiene una clave referenciada
y, adems, modificar todas las tuplas que referencian t, de modo que los atributos de la clave fornea
correspondiente tomen valores nulos y la anulacin en caso de modificacin consiste en permitir la
modificacin de atributos de la clave primaria de una tupla t que tiene una clave referenciada y, adems,
modificar todas las tuplas que referencian t, de modo que los atributos de la clave fornea correspondiente
tomen valores nulos.
La primera condicin consiste en que un valor no nulo de un atributo Ai debe pertenecer al dominio del
atributo Ai; es decir, debe pertenecer a dominio(Ai). Esta condicin implica que todos los valores no
nulos que contiene la base de datos para un determinado atributo deben ser del dominio declarado
para dicho atributo.
La segunda condicin sirve para establecer que los operadores que pueden aplicarse sobre los valores
dependen de los dominios de estos valores; es decir, un operador determinado slo se puede aplicar
sobre valores que tengan dominios que le sean adecuados.
13