You are on page 1of 25

Pgina 1 de 25

Unidad 1
Base de Datos: Coleccin de datos interrelacionados almacenados en conjunto, sin
redundancias perjudiciales o innecesarias, su finalidad es servir a una aplicacin o ms, de
la mejor manera posible; los datos se almacenan de forma que resulten independientes de los
programas que los usan; se emplean mtodos bien determinados para incluir nuevos datos y para
modificar o extraer los datos almacenados
Dato: son los hechos conocidos que se pueden grabar y que tienen un signiicado
impl!cito.
Una base de datos representa alg"n aspecto del mundo real, lo que en ocasiones se
denomina minimundo o universo de discurso. Los cambios introducidos en el minimundo se
reflejan en la base de datos.
Un sistema de administracin de datos DB#$: Es una coleccin de programas que permite a
los usuarios crear y mantener una base de datos. Es una interfaz entre los usuarios y los datos. e
encargan de ocultar las complejidades de la implementacin de una !". El "!# es un sistema de
soft$are de propsito general que facilita los procesos de deinicin, construccin,
manipulacin, y comparticin de base de datos entre varios usuarios y aplicaciones.
Deinir una base de datos implica especificar los tipos de datos , estructuras y
restricciones de los datos que se almacenaran en la base de datos. La definicin o
informacin descriptiva de una base de datos tambin se almacena en esta %ltima
en forma de cat&logo o diccionario de la base de datos, llamada metadato.
Construccin de la base de datos es el proceso consistente en almacenar los
datos en alg%n medio de almacenamiento controlado por el "!#.
#anipulacin de una base de datos incluye funciones como la consulta de la base
de datos para recuperar datos espec'ficos, actualizar la base de datos para reglejar
los cambios introducidos en el minimundo y generar informes a partir de los datos
Compartir, una base de datos permite que varios usuario y programas accedan a
la base de datos de forma simult&nea.
(na aplicacin accede a la base de datos enviando consultas o solicitudes de datos al "!#.
(na consulta normalmente provoca la recuperacin de algunos datos.
(na transaccin puede provocar la lectura o la escritura de algunos datos de forma simult&nea.
%roteccin: incluye la proteccin del sistema contra el funcionamiento defectuoso del )ard$are o
el soft$are, y la proteccin de la seguridad contra el acceso no autorizado o malintencionado.
#antenimiento: (na gran base de datos t'pica puede tener un ciclo de vida de muc)os a*os, por
lo que el "!# debe ser capaz de mantener el sistema de base de datos permitiendo que el
sistema evolucione seg%n cambias los requisitos con el tiempo.
Un sistema de base de datos es la combinacin de &ard'are ($ervidores, etc)*,
$ot'are(DB#$*, Usuarios(DB+, usuarios inales*, Datos(tablas, relaciones*)
Pgina 2 de 25
Caracter!sticas de la metodolog!a de bases de datos
En la metodolog'a de bases de datos se mantiene un %nico almacn de datos, que se define una
sola vez y a la que acceden varios usuarios.
Las principales caracter'sticas de la metodolog'a de bases de datos frente a la metodolog'a del
procesamiento de arc)ivos son las siguientes+
1) ,aturale-a auto descriptiva de un sistema de base de datos)
.s una caracter!stica undamental el que el sistema de base de datos no solo contiene la
propia base de datos sino una completa deinicin de la estructura de la base de datos y
sus restricciones) .sta deinicin se almacena en el catalogo DB#$, que contiene
informacin como la estructura de cada arc)ivo, el tipo y el formato de almacenamiento de cada
elemento de datos y distintas restricciones de los datos) /a inormacin almacenada en un
catlogo se denomina metadatos y describe la estructura de la base de datos principal)
El soft$are "!# y los usuarios de la base de datos utilizan el catalogo cuando necesitan
informacin sobre la estructura de la base de datos.
0) +islamiento entre programas y datos, abstraccin de los datos)
Los programas que acceden a un "!# no necesitan cambios en la estructura de programa, en la
mayor'a de los casos. La estructura de los arc)ivos de datos se almacena en el catalogo "!#,
independientemente de los programas de acceso, esto se denomina independencia de
programa1datos)
En un sistema orientado a objetos, los usuarios pueden definir operaciones sobre los datos como
parte de las definiciones de la base de datos. (na ,peracin se puede especificar de dos formas+
la interfaz de una operacin, incluye el nombre de la operacin y los tipos de datos de sus
argumentos y la implementacin de la operacin se especifica separadamente y puede modificarse
sin que la interfaz se vea afectada. Las aplicaciones de usuario pueden operar sobre los datos
invocando estas operaciones por sus nombres y argumentos, independientemente de cmo estn
implementadas las operaciones. .sto se denomina independencia programa operacin.
Las caracter'sticas que permite la independencia programa-datos y la independencia programa-
operacin se denomina abstraccin de datos.
(n "!# proporciona a los usuarios una representacin conceptual de los datos que no incluye
muc)os de los detalles de cmo est&n almacenados los datos o de cmo est&n implementadas las
operaciones. Un modelo de datos es un tipo de abstraccin de datos se utili-a para
proporcionar esa representacin conceptual. El modelo de datos utiliza conceptos lgicos,
Pgina 3 de 25
como los conceptos de almacenamientos. .or ello, el modelo de datos oculta los detalles del
almacenamiento y de la implementacin que no resultan interesantes a la mayor'a de los usuarios
de base de datos.
El proceso de abstraccin no solo incluye la estructura de datos sino tambin las operaciones sobre
los datos, proporcionando una abstraccin de las actividades del minimundo normalmente
entendidas por los usuarios.
2) $oporte para varias vistas de Datos)
(na vista puede ser un subconjunto de la base de datos o puede contener datos virtuales
derivados de los arc)ivos de la base de datos pero que no est&n expl'citamente almacenados.
3) Comparticin de datos y procesamiento de transacciones multiusuarios)
Un DB#$ multiusuario, debe permitir que varios usuarios puedan acceder a la base de
datos al mismo tiempo. Esto es esencial si los datos destinados a varias aplicaciones ser&n
integrados y mantenidos en una solo a base de datos. El "!# debe incluir soft$are de control de
concurrencia para que esos varios usuarios que intentan actualizar los mismos datos, lo )agan de
un modo controlado para que el resultado de la actualizacin sea correcto.
Estos tipos de aplicaciones se denominan aplicaciones de procesamiento de transacciones en l'nea
,L/..
Una transaccin es un programa en ejecucin o un proceso que incluye uno o ms
accesos a la base de datos, como la lectura o la actuali-acin de los registros de la
misma. El "!# debe implementar varias propiedades de transaccin, como la de aislamiento
que garantiza que parezca que cada transaccin se ejecuta de forma aislada de otras
transacciones y la de atomicidad que garantiza que se ejecuten o todas o ninguna de las
operaciones de bases de datos de una transaccin.
+ctores
1) +dministradores de Base de Datos El administrador de los recursos es
denominado "!0, el "!0 es el responsable del acceso autorizado a la base de
datos, de la coordinacin y monitorizacin de uso, y de adquirir los recursos
soft$are y )ard$are necesarios. El "!0 tambin es responsable de problemas
como la brec)as de seguridad o de unos tiempos de respuesta pobres.
0) Dise4adores de Base de Datos
on los que identifican que datos ser&n los que se almacenaran en la base de datos. 1 de elegir las
estructuras apropiadas para representar y almacenar esos datos. "ebe comunicarse con los
principales usuarios de la base de datos para conocer sus requisitos.
2) Usuarios 5inales
Usuarios inales casuales+ acceden ocasionalmente, pueden necesitar
informacin diferente en cada momento, usan sofisticado lenguaje de consulta, son
administradores de nivel medio.
Usuarios inales principiantes o param6tricos+ su labor principal giran en
torno a la consulta y actualizacin constantes de la base de datos, utilizando tipos
de consultas y actualizaciones est&ndar que se )an programado y probado.
2transacciones enlatadas3
Usuarios inales soisticados+ se encuentran los ingenieros, los cient'ficos, los
analistas comerciales y los otros muc)os que est&n familiarizados con el "!# a
fin de implementar sus aplicaciones.
Usuarios inales independientes+ mantienen bases de datos personales
utilizando paquetes de programas confeccionados que proporcionan unas interfaces
Pgina 4 de 25
f&ciles de usar.
3) +nalistas de sistemas y programadores de aplicaciones
Los analistas de sistemas determinan los requisitos de los usuarios finales, especialmente de los
usuarios finales principiantes y paramtricos, as' como las especificaciones de desarrollo para las
transacciones en latadas que satisfacen esos requisitos. Los programadores de aplicaciones
implementan esas especificaciones.
4entajas de la /ecnolog'a de "!#
Control de redundancia+ la redundancia resultante de almacenar los mismos datos
varias veces conduce a serios problemas, como actualizaciones constantes, lo que lleva a
muc)o esfuerzo y tiempo, o llegar a un grado de inconsistencia cuando no se )an realizado
las tareas de actualizacin adecuadamente.
7estriccin de acceso no autori-ado+ un "!# debe proporcionar seguridad y un
subsistema de autorizacin, que el "!0 utiliza para crear cada cuenta y especificar las
restricciones de las mismas. "espus el "!# debe implementar autom&ticamente esas
restricciones.
+lmacenamiento persistente para los objetos del programa+ las bases de datos se
pueden utilizar para proporcionar almacenamiento persistente a los objetos de programa y
las estructuras de datos, siendo estos los orientados a objetos.
$uministro de estructuras de almacenamiento para un procesamiento eica- de
las consultas+ los sistemas de base de datos deben proporcionar capacidades para
ejecutar eficazmente consultas y actualizaciones. .ara ello arc)ivos auxiliares denominados
'ndices, que est&n basados casi siempre en el &rbol de estructuras de datos o en las
estructuras de datos dispersas, convenientemente modificados para la b%squeda en disco.
El modulo de procesamiento de optimizacin de consultas del "!# es el responsable de
elegir un plan eficaz de ejecucin de consultas para cada consulta bas&ndose en la
estructuras de almacenamiento existentes.
Copia de seguridad y recuperacin+ un "!# debe ofrecer la posibilidad de
recuperarse ante fallos del )ard$are o del soft$are. El subsistema de copia de seguridad y
recuperacin del "!# es el responsable de la recuperacin.
$uministro de varias interaces de usuario: un "!# debe proporcionar varias
interfaces para diferentes usuarios+ 5nterfaz de consulta, interfaz de programacin,
formulario y cdigo de comandos, interfaces por men%s.
7epresentacin de relaciones complejas entre los datos: un "!# debe ser capaz de
representar las relaciones complejas entre los datos, definir las nuevas relaciones que
surgen, y recuperar y actualizar f&cil y eficazmente los datos relaciones.
8mplementacin de las restricciones de integridad: restricciones de integridad mas
simple es especificar un tipo de dato por cada elemento de datos, otro tipo especifica la
unicidad en los valores del elemento de datos. ,tras restricciones pueden ser las reglas de
negocio.
8nerencia y acciones usando reglas+ algunos sistemas ofrecen la posibilidad de definir
reglas de deduccin para inferir informacin nueva a partir de los )ec)os guardados en la
base de datos. Estos sistemas se denominan sistemas de base de datos deductivos. Los
triggers y procedimientos almacenados.
8mplicaciones adicionales:
%otencial para implementar estndares: la metodolog'a de base de
datos permite al "!0 definir e implementar est&ndares entre los usuarios
de la base de datos en una empresa grande.
9empo de desarrollo de aplicaciones reducido: se necesita muy poco
tiempo para desarrollar una aplicacin nueva.
5le:ibilidad: los "!# modernos permiten ciertos tipos de cambios
evolutivos en la estructura de la base de datos.
Disponibilidad de inormacin actuali-ada
Pgina 5 de 25
.conom!as de escala)
Conceptos y arquitectura de los sistemas de bases de datos
#odelo de datos, esquemas e instancias
/a abstraccin de datos se refiere generalmente a la supresin de detalles de la organizacin y
el almacenamiento de datos y a la relevancia de las caracter'sticas fundamentales para un
conocimiento mejorado de los datos.
Un modelo de datos proporciona los medios necesarios para conseguir esa abstraccin.
.structura de una base de datos se refiere a los tipos de datos, relaciones y restricciones que
deben mantenerse para los datos. La mayor'a de los modelos de datos incluye un conjunto de
operaciones b&sicas para especificar las recuperaciones y actualizaciones en la base de datos.
0dem&s de las operaciones b&sicas, se incluyen conceptos en el modelo de datos para especificar
aspecto din&mico o de comportamiento de una aplicacin de base de datos 2en modelo de base de
datos relacional son los procedimientos almacenados3.
#odelo de Datos Coleccin de Conceptos describe una estructura de Base de Datos
Categor!a de #odelo de Datos
6. /os modelos de datos conceptuales, los modelos de alto nivel o conceptuales ofrecen
conceptos muy cercanos a como muc)os usuarios perciben los datos, llevan los conceptos de
entidades, atributos y relaciones.
7. /os modelos de datos representativos o de implementaciones, ofrecen conceptos que
los usuarios finales pueden entender pero que no est&n demasiado alejados de cmo se
organizan los datos; son los m&s utilizados en los "!# comerciales y tradicionales.
7epresentan los datos mediante estructuras de registro y por tanto se los conoce a
veces como modelos de datos basados en registros.
8. /os modelos de datos !sicos ofrecen conceptos que describen los detalles de cmo se
almacenan los datos en el computador. Los conceptos ofrecidos por los modelos de datos de
bajo nivel est&n pensados principalmente para los especialistas en computadoras, no para
usuarios finales normales, describen como se almacenan los datos en el computador en forma
de arc)ivos, representado la informacin como formatos de registro, ordenacin de registro y
rutas de acceso.
.squema, instancias y estado de la base de datos
En cualquier modelo de datos es importante distinguir entre la descripcin de la base de datos y
la misma base de datos. /a descripcin de una base de datos se denomina esquema de
base de datos (el DB#$ lo almacena en el catlogo*, que se especifica durante la fase de
dise*o y no se espera que cambie con frecuencia. La mayor'a de los modelos de datos tienen
ciertas convenciones para la visualizacin de los esquemas a modo de diagramas. (n esquema
visualizado se denomina diagrama del esquema)
Los datos de una base de datos en un momento concreto se denominan estado de la base de
datos o snapshot, o conjunto actual de ocurrencias o instancias de la base de datos. En
un estado dado de la base de datos, cada estructura de esquema tiene su propio conjunto actual
de instancias. 2.l DB#$ debe garanti-ar que cada estado de la base de datos sea un
estado vlido3
9uando se define una nueva base de datos, solo se especifica el esquema al "!#, el estado de la
base de datos es el estado vacio, el estado inicial se da cuando sta se rellna por primera vez.
Pgina 6 de 25
El esquema recibe el nombre de intencin, y el estado de la base de datos extensin del esquema.
+rquitectura de tres esquemas e independencia de los Datos
El objetivo de la arquitectura de 8 esquemas es separar las aplicaciones de usuarios y las bases de
datos f'sicas.
6. ,ivel 8nterno, tiene un esquema interno, que describe la estructura de almacenamiento
f'sico de la base de datos. Utili-a un modelo de datos !sico y describe todos los detalles de
almacenamiento de datos y las rutas de acceso a la base de datos.
7. ,ivel Conceptual, tiene un esquema conceptual, describe la estructura de toda la base de
datos para una comunidad de usuarios. El esquema conceptual oculta los detalles de la
estructuras de almacenamiento f'sico y se concentran en describir las entidades, los tipos de
datos, las relaciones, las operaciones de los usuarios y las restricciones. El esquema
conceptual se describe con un modelo de datos representativo cuando se implementa un
sistema de bases de datos. Este esquema conceptual de implementacin se basa a menudo
ene un dise*o de esquema conceptual en el modelo de datos de alto nivel.
8. ,ivel de vista o e:terno, tiene una cierta cantidad de esquemas e:ternos o vistas de
usuario, describe la parte de la base de datos en la que un grupo de usuarios en particular est&
interesado y le oculta el resto de la base de datos. 9omo en el caso anterior, cada esquema
externo se implementa normalmente mediante un modelo de datos representativo,
posiblemente basado en un dise*o de esquema externo de un modelo de datos de alto nivel.
Los 8 esquemas son solo descripciones de datos, los datos que existen en realidad est&n en el
nivel f'sico. 9ada grupo de usuarios solo se refiere a su propio esquema externo. El "!# debe
transformar una solicitud especificada en el esquema externo en una solicitud contra el esquema
conceptual y esta a su vez en una solicitud contra el esquema interno. Estos procesos de
conversin de solicitudes se denominan mapeados.
8ndependencia de los Datos
/a independencia de los datos es la capacidad de cambiar el esquema de un nivel de un
sistema de bases de datos sin tener que cambiar el esquema en el siguiente nivel ms
alto.
6. 8ndependencia lgica de datos+ es la capacidad de cambiar el esquema conceptual sin
tener que cambiar los esquemas externos o los programas de aplicacin. Eso puede ser para
expandir la base de datos, cambiar restricciones, o para reducir la base de datos. olo es
necesario cambiar la definicin de la vista y los mapeados en un "!# que soporta
independencia lgica de datos.
7. 8ndependencia !sica de los datos+ es la capacidad de cambiar el esquema interno sin que
)aya que cambiar el esquema conceptual. .or lo tanto, tampoco es necesario cambiar
esquemas externos. .uede que )aya que realizar cambios en el esquema interno porque
algunos arc)ivos f'sicos fueran reorganizados de cara a mejorar el rendimiento de las
recuperaciones o las actualizaciones. i en la base de datos permanecen los mismos datos que
antes, no )ay necesidad de cambiar el esquema conceptual. Esto existe en la mayor'a de las
base de datos y de los entornos de arc)ivo en los que al usuario se le ocultan la ubicacin
exacta de los datos en el disco, los detalles de )ard$are de la codificacin del
almacenamiento, la colocacin, la compresin, la divisin, la fusin de registros, etc.
/enguajes e interaces de bases de datos
/enguajes DB#$:
Pgina 7 de 25
(na vez realizado el dise*o, se debe continuar con los esquemas conceptual e interno y el
mapeado entre los dos. En "!# donde no )ay una separacin estricta de niveles, el "!0 utiliza
el ""L, lenguaje de definicin de datos, para definir los dos esquemas. El "!# deber& tener un
compilador ""L para almacenar las descripciones en el catalogo.
En "!# donde )ay una clara separacin de niveles, se utiliza solo ""L para el esquema
conceptual, y para esquema interno se utiliza "L, lenguaje de definicin de almacenamiento. El
mapeado se puede especificar en cualquiera de los dos lenguajes. .ara conseguir una arquitectura
de 8 niveles, se necesita un tercer lenguaje para definir las vistas, "4L, lenguaje de definicin de
vistas, especifica las vistas del usuario y el mapeado al esquema conceptual.
"#L, lenguaje de manipulacin de datos, es utilizado para realizar las operaciones b&sicas sobre
los datos almacenados.
:ay dos tipos principales de "#L, el "#L de alto nivel o no procedimental para especificar de
forma concisa las operaciones complejas con las bases de datos mediante introduccin interactiva
desde el monitor o terminal. (n "#L de bajo nivel debe incrustarse en un lenguaje de
programacin de propsito general, normalmente recupera registros individuales y los procesa por
separado.
.ntorno de un sistema de bases de datos
#dulos componentes de un DB#$
Las bases de datos y el catalogo del DB#$ normalmente se almacenan en disco. El acceso al
disco esta principalmente controlado por el sistema operativo. Un modelo administrador de los
datos almacenados de alto nivel del "!# controla el acceso a la informacin del "!#
almacenada en el disco, sea parte de la base de datos o del cat&logo.
El personal "!0 utiliza sentencias ""L y otros comandos privilegiados, el compilador DD/
procesa las definiciones de esquema, especificadas en el ""L, y almacena las descripciones de los
Pgina 8 de 25
esquemas en el catalogo 2nombre y tama*os de los arc)ivos, informacin de mapeado entre
esquemas y las restricciones3 del "!#.
Los usuarios casuales interact%an con la interfaz de consulta interactiva. (n compilador de
consultas analiza estas consultas sint&cticamente para garantizar la correccin de las operaciones
de los modelos. El optimi-ador de consultas se ocupa de la reconfiguracin y la posible
reordenacin de las operaciones y genera un cdigo ejecutable que lleva a cabo las operaciones
necesarias para la consulta y realiza las llamadas al procesador runtime.
Los programadores de aplicaciones, escriben programas en un determinado lenguaje y son
llevados a un precompilador, ste extrae los comandos "#L y se los env'a al compilador D#/
generando un cdigo objeto, y as' poder acceder a la base de datos. Los comandos "#L
compilados junto con el resto del programa se enlazan, formando una transaccin enlatada
cuyo cdigo ejecutable incluye las llamadas al procesador de base de datos runtime.
El compilador de lenguaje &ost compila el programa y lo prepara para enlazar la transaccin.
.l procesador de base de datos runtime, trabaja con el diccionario del sistema y se puede
actualizar con estad'sticas. ;unciona con el administrador de datos almacenados, que a su vez
utiliza servicios b&sicos del sistema operativos para ejecutar operaciones de entrada y salida de
bajo nivel entre el disco y la memoria principal. e encarga de otros aspectos de la transferencia
de datos como la administracin de los b%feres en la memoria principal.
.rocesador de !" runtime+ recibe comandos "!0, consultas y transacciones enlazadas con
programas y se encarga de ejecutarlas accediendo a el diccionario de datos y comunic&ndose con
el .,. para efectuar las operaciones de entrada < salida de informacin. /ambin se encarga de la
administracin del buffer en la memoria de procesamiento, esta funcin puede o no compartirla
con el .,.
+rquitecturas al implementar
Centrali-ada
$ervidor de archivos 2servidores especializados3
Cliente1servidor de dos capa-+ 9omponentes de = entre los sistemas cliente y servidor
+rquitectura de 2 y n capas 2por aparicin de la $eb3+
o 9liente+ 9ontienen interfaz 2>(53 para mostrar y pedir datos-reglas comerciales
o ervidor intermedio+ .rocesa solicitud, env'a comandos al servidor !" y )acia el cliente
o ervidor de !"+ 0dministracin de los datos 2puede dividir en m&s servidores3
+lmacenamiento en Disco
La coleccin de datos que constituye una base de datos computarizada debe almacenarse
f'sicamente en un medio de almacenamiento. Los medios de almacenamiento se categori-an
jerarquicamente:
6. +lmacenamiento %rincipal+ medios en los cuales el 9.( puede operar, como la memoria
principal o la cac). .roporciona un acceso r&pido a los datos, pero tiene capacidad de
almacenamiento limitada.
En el extremo m&s alto se encuentra la memoria cac), que es normalmente utilizada por el
9.(.
Le sigue la memoria "?0#, denominadas memoria principal, es de bajo costo, pero su
desventaja es la volatilidad y baja velocidad comparada a la cac).
Pgina 9 de 25
7. +lmacenamiento $ecundario+ se refiere a los discos magnticos, pticos, y las cintas. Las
unidades de disco duro se consideran como secundarias, mientras que las unidades pticas,
medios removibles y cintas se consideran como terciarias.
Los programas residen y se ejecutan en la "?0#, por lo que las bases parmente mas grandes
residen en el almacenamiento secundario y las porciones de las bases de datos que se leen y se
escriben en los b%feres de la memoria principal seg%n se necesitan.
+lmacenamiento de Base de Datos: Las bases de datos almacenan grandes cantidades de
datos que pueden persistir largos periodos de tiempo. La mayor'a de las bases de datos se
almacenan en almacenamiento secundario de discos magnticos por las siguientes razones+
on demasiado grandes para entrar en la memoria principal
#enos frecuencia de prdida de datos en sistemas de almacenamiento secundario
Es costo de mantenimiento por unidad de datos es de un orden de magnitud inferior.
Las cintas magnticas se utilizan con frecuencia como medio de almacenamiento para )acer copias
de seguridad de las base de datos, porque el almacenamiento en cinta es muc)o menos costoso
que el de disco. .ero el acceso a los datos es muc)o m&s lento, acceso offline.
El proceso de dise*o fisco de la base de datos implica elegir las tcnicas de organizacin de datos
particulares que mejor se adapten a los requisitos de la aplicacin.
Las aplicaciones t'picas de bases de datos solo necesitan procesar una peque*a porcin de la base
de datos en cada momento. iempre que se necesita una determinada porcin de datos, debe
buscarse en el disco, copiarse en la memoria principal para su procesamiento y, despus,
reescribirse en el disco si los datos )an sido cambiados. Los datos en el disco se organizan como
icheros de registros. (n registro es una coleccin de valores de datos que pueden
interpretarse como )ec)os relacionados con las entidades, sus atributos y sus relaciones. Los
registros deben almacenarse en disco de un modo que )aga posible su localizacin de forma m&s
eficaz.
Ubicacin de los registros de ichero
7egistros y tipos de 7egistros
Los datos se almacenan en forma de registros. (n registro consta de una coleccin de valores o
elementos de datos relacionados, donde cada valor est& formado por uno o m&s bytes y
corresponde a un campo concreto del registro. Los registros normalmente describen entidades y
sus atributos.
(na coleccin de nombres de campos y sus correspondientes tipos de datos constituyen un tipo de
registro. (n tipo de dato, asociado a cada campo, especifica los tipos de valores que un campo
puede tomar.
El tipo de dato de un campo normalmente es uno de los tipos de datos est&ndar que se utilizan en
programacin; numrico, cadenas de caracteres, booleanos, etc.
5icheros, registros de longitud ija y registros de longitud variable)
(n fic)ero es una secuencia de registros. En muc)os casos, todos los registros de un fic)ero son
del mismo tipo de registro. i cada registro del fic)ero tiene exactamente el mismo tama*o, es un
registro de longitud fija. i en el fic)ero )ay registros que tienen tama*os diferentes, el fic)ero
est& compuesto por registros de longitud variable. 2La longitud variable se da cuando el fic)ero
tiene tipos de registros como ser el nombre de un empleado, es variable, o campos que son
opcionales, etc.3.
Pgina 10 de 25
9ada registro tiene los mismos campos, y las longitudes de campo son fijas, por lo que el sistema
puede identificar la posicin del byte inicial de cada campo relativa a la posicin inicial del registro.
Esto facilita la localizacin de los valores de campo por parte de los programas. 2solo registros de
longitud fija3
Bloque de 7egistros
7egistro e:tendidos y 7egistros no e:tendidos)
Los registros de un fic)ero deben asignarse a bloques de disco porque un bloque es la unidad de
transferencia de datos entre el disco y la memoria. 9uando el tama*o del bloque es mayor que el
tama*o del registro, un bloque puede contener varios registros, aunque algunos fic)eros pueden
tener registros que por su tama*o no entran en un bloque, por lo tanto, para utilizar el espacio
desaprovec)ado se puede almacenar parte de un registro en un bloque y el resto en otro. (n
puntero al final del primer bloque apunta al bloque que contiene el resto del registro, en caso de
que no sean bloques consecutivos en el disco. Esta organizacin se denomina e:tendida. i los
registros no tienen permitido sobrepasar el tama*o del bloque, se denomina no e:tendida)
+signacin de bloques de icheros en un disco
En una asignacin continua, los bloques del fic)ero se asignan a bloques de discos consecutivos.
"e este modo, la lectura del fic)ero entero es muc)o m&s r&pida mediante el buffer doble, pero se
complica para a*adir fic)eros. En una asignacin enlazada, cada bloque del fic)ero contiene un
puntero al siguiente bloque del fic)ero. Esto )ace m&s sencilla la expansin del fic)ero, pero m&s
lenta la lectura del fic)ero entero. (na combinacin de las dos asigna cl%steres de bloque de disco
consecutivos, y los cl%steres se enlazan. En ocasiones, los cl%steres se les denominan segmentos
de fic)eros o extensiones.
(na cabecera de fic)ero o descriptor del fic)ero contiene informacin sobre un fic)ero que los
programas del sistema necesitan para acceder a los registros. La cabecera incluye informacin
para determinar las direcciones de disco de los bloques del fic)ero y las descripciones de formato
de registro.
1) 5ichero de registro desordenado
Es el tipo de organizacin m&s sencillo y b&sico, seg%n el cual los registros se guardan en el fic)ero
en el mismo orden en que se insertan, es decir, los registros se insertan al final del fic)ero. Esta
organizacin se conoce como fic)ero )eap o pila.
La insercin de un registro nuevo es muy eficaz. El %ltimo bloque del disco del fic)ero se copia en
el b%fer se a*ade el registro nuevo y se reescribe el bloque de nuevo en el disco. La b%squeda de
un registro, implica una b%squeda lineal, bloque a bloque por todo el fic)ero. .ara eliminar un
registro, primero debe buscar su bloque, copiar el bloque en un b%fer, eliminar el registro del
b%fer, y por %ltimo reescribir el bloque en el disco, dejando espacio inutilizado.
La ordenacin es una operacin costosa si el fic)ero es grande, para ello se utilizan tcnicas
especiales de ordenacin externa.
En un fic)ero desordenado de registro de longitud fija que utiliza bloques extendidos y la
asignacin contigua, es inmediato el acceso a cualquier registro por su posicin en el fic)ero.
0) 5ichero de registro ordenado
Los registros de fic)ero se pueden ordenar f'sicamente en el disco en funcin de los valores de uno
de sus campos, denominado campo de ordenacin, esto conduce a un fic)ero ordenado o
secuencial. i el campo de ordenacin tambin es un campo clave 2garantiza un valor %nico en
cada registro3, entonces el campo se denomina clave de ordenacin del fic)ero. La ventaja de los
ordenados, es la lectura es eficaz. egundo, ventaja es encontrar el siguiente registro al actual
Pgina 11 de 25
seg%n el orden de la clave ordenacin normalmente no requiere acceder a bloques adicionales
porque el siguiente registro se encuentra en el mismo bloque que el actual. /ercero, el uso de una
condicin de b%squeda bas&ndose en el valor del campo clave de ordenacin ofrece un acceso
r&pido.
La insercin o eliminacin es costosa, ya que siempre deben permanecer los registros ordenados
f'sicamente. (na manera de facilitar la insercin es reservar algo de espacio sin usar en cada
bloque de cara a los registros nuevos. ,tra tcnica es utilizar el modo de desbordamiento.
(na opcin para que la insercin sea eficaz, es dejar especio sin usar en cada bloque de cara a los
registros nuevos. ,tro mtodo es crear un fic)ero temporal desordenado denominado fic)ero de
desbordamiento. El fic)ero ordenado actual se denomina fic)ero principal o maestros. Los registros
nuevos se insertan al final del fic)ero de desbordamiento. .eridicamente el fic)ero de
desbordamiento se ordena y mezcla con el maestro durante la reorganizacin del fic)ero.
3. 96cnicas de Dispersin.
.roporciona un acceso muy r&pido a los registros bajo ciertas condiciones de b%squeda. La
condicin de b%squeda debe ser una condicin de igualdad sobre un solo campo, denominado
campo de dispersin. Este campo tambin es un campo clave del fic)ero, en cuyo caso se nomina
clave de dispersin. La idea es proporcionar una funcin h, denominada funcin de dispersin, que
aplica el valor del campo de dispersin de un registro y produce la direccin del bloque de disco en
que est& almacenado el registro.
.structuras de 8nde:acin para los icheros
Las estructuras de 'ndice proporcionan rutas de acceso, que ofrecen formas alternativas de
acceder a los registros sin que se afecte la ubicacin f'sica de los registros en el disco. Es un
acceso eficaz a los registros bas&ndose en la indexacin de los campos que se utilizan para
construir el 'ndice. Es posible acceder a cualquier campo del fic)ero para crear un 'ndice y se
pueden construir varios 'ndices con diferentes campos en el mismo fic)ero.
9ipos de ;ndices
;ndices de un nivel)
5ichero ;ndice+ @ormalmente se define una estructura de 'ndice con un solo campo del fic)ero,
que se conoce como campo de inde:acin. El 'ndice almacena todos los valores del campo de
'ndice, junto con una lista de punteros a todos los bloques de disco que contienen los registros con
ese valor de campo. Los valores de 'ndice est&n ordenados de manera que se puede )acer una
b%squeda binaria. El fic)ero de 'ndice es muc)o mas peque*o que un fic)ero de datos, por lo que
la b%squeda en el 'ndice mediante una b%squeda binaria es razonablemente eficaz.
:ay varios tipos de 'ndices ordenados+
(n 'ndice principal o primario se especifica en el campo clave de ordenacin de un fic)ero
ordenado de registros. e utiliza un campo clave de ordenacin para ordenar f'sicamente los
registros del fic)ero en el disco, y cada registro tiene un valor de ordenacin %nico para ese
cambio.
i ese campo de ordenacin no es campo clave, es decir que varios fic)eros tiene el mismo valor
para el campo de ordenacin, se utiliza otro tipo de 'ndice denominado 'ndice agrupado.
(n fic)ero puede tener como m&ximo un campo de ordenacin f'sica, por lo que puede tener un
'ndice principal o un 'ndice agrupado, pero no ambos.
Pgina 12 de 25
(n tercer 'ndice es el 'ndice secundario, que se puede especificar sobre cualquier campo no
ordenado del fic)ero. (n fic)ero puede tener varios 'ndice secundarios adem&s de su mtodo de
acceso principal.
6. ;ndice %rincipal: es un fic)ero ordenado cuyos registros son de longitud fija con dos campos.
El primer campo es del mismo tipo de datos que el campo clave de ordenacin del fic)ero de
datos, el segundo campo es un puntero a un bloque del disco. En el fic)ero 'ndice )ay una
entrada de 'ndice por cada bloque del fic)ero de datos. 9ada entrada del 'ndice tiene dos
valores, el valor del capo clave principal para el primer registro de un bloque, y un puntero a
ese bloque. El primer registro de cada bloque del fic)ero de datos es el registro ancla del
bloque o simplemente ancla de bloque.
Los 'ndices se pueden clasificar+
a. Denso+ tiene una entrada de 'ndice por cada valor de clave de b%squeda del fic)ero de
datos.
b. .scaso o ,o Denso+ solo tiene entradas para algunos de los valores de b%squeda.
(n 'ndice principal es un 'ndice escaso, porque incluye una entrada por cada bloque de disco
del fic)ero de datos y las claves de su registro ancla. El 6er registro de cada bloque
La insercin y el borrado de registros supone un gran problema, ya que para insertar un
registro se debe mover los registros y )acer un lugar para el nuevo y luego cambiar las
entradas a los 'ndices. El uso de un fic)ero de desbordamiento puede minimizar el problema
7. ;ndice +grupado+ si los registros est&n ordenados fiscalmente por un campo no clave, este
campo se denomina campo agrupado. (n 'ndice agrupado tambin es un fic)ero ordenado con
dos campos, el primero es del mismo tipo que el campo agrupado del fic)ero de datos, y el
segundo es un puntero a un bloque. En el 'ndice agrupado )ay una entrada por cada valor
distinto del campo agrupado, que contiene el valor y un puntero al primer bloque del fic)ero de
datos que tienen un registro con ese valor para su campo agrupado. Este es otro ejemplo de
un 'ndice no denso porque tiene una entrada por cada valor distinto del campo de indexacin,
que no es una clave por definicin, y que por lo tanto, tiene valores duplicados en lugar de un
valor %nico por cada registro del fic)ero.
La insercin y el borrado provocan problemas ya que los registros est&n ordenados
f'sicamente. .ara alivianar el problema se suele reservar un bloque entero para cada valor del
campo agrupado. /odos los regiros con esos valores se agrupa en un mismo bloque.
8. ;ndices $ecundarios: proporciona un medio secundario de acceso a un fic)ero para el que ya
existe alg%n acceso principal. El 'ndice secundario puede ser un campo que es una clave
candidata y que tiene un valor %nico en cada registro, o puede ser una no clave con valores
duplicados. El 'ndice es un fic)ero ordenado con dos campos. El primero es del mismo tipo de
datos que alg%n campo no ordenado del fic)ero de datos que es un campo de indexacin. El
segundo campo es un puntero de bloque o un puntero de registro. .uede )aber muc)os
'ndices secundarios.
El campo clave tiene un valor distinto por cada registro, este recibe el nombre de clave
secundaria. En este caso, )ay una entrada de 'ndice por cada registro del fic)ero de datos, que
contiene el valor de la clave secundaria para el registro y un puntero al bloque en el que est&
almacenado el registro. "ic)o 'ndice es denso.
Es decir, si el 'ndice por campo no clave los valores del campo de indexacin se repiten, )ay 8
opciones+
a. >enerar un 'ndice denso con un registro por cada valor
b. Andice con registro de longitud variable con un campo repetitivo de puntero a
bloque.
c. Andice no denso, cada registro almacena punteros a bloque de punteros y estos
apuntan a registros.
(n 'ndice secundario proporciona una ordenacin lgica de los registros por el campo de
indexacin. i accedemos a los registros seg%n el orden de las entradas del 'ndice secundario, los
obtendremos ordenados por el campo de indexacin.
;ndice multinivel)
Pgina 13 de 25
(n 'ndice de multinivel considera el fic)ero 'ndice, al que a)ora nos referimos como primer nivel o
base del un 'ndice multinivel, como un fic)ero ordenado con un valor distinto por cada B2i3. por lo
tanto podemos crear un 'ndice principal para el primer nivel, este 'ndice al primer nivel se lo
denomina segundo nivel del 'ndice multinivel. 9omo el segundo nivel es in 'ndice principal,
podemos utilizar anclas de bloque de modo que el segundo nivel tenga una sola entrada por cada
bloque del primer nivel es el mismo que para el 'ndice de primer nivel porque todas las entradas
del 'ndice tiene el mismo tama*o, cada una con valor del campo y una direccin de bloque.
El esquema multinivel puede utilizarse con cualquier tipo de 'ndice, siempre y cuando el 'ndice de
primer nivel tenga valores distintos y entradas de longitud fija.
;ndices multinivel dinmicos utili-ando arboles B u B<
Los arboles ! y !C son casos especiales de estructuras de datos en forma de &rbol bien conocidas.
(n &rbol est& formado por nodos, un nodo que no tiene )ijos, se llama )oja, el nodo ra'z no tiene
padre.
(n sub&rbol de un nodo consta de ese nodo y de todos sus nodos descendientes.
(na forma de implementar un &rbol es con tantos punteros en cada nodo como nodos )ijos tiene
ese nodo. (n nodo normalmente contiene alg%n tipo de informacin almacenada. 9undo in 'ndice
multinivel se implementa como estructura de &rbol, esa informacin incluye los valores del campo
de indexacin del fic)ero que se utiliza para guiar la b%squeda de un determinado registro.
+rboles de b"squeda y +rboles B
.odemos usar un &rbol de b%squeda como mecanismo para buscar registros almacenados en un
fic)ero de disco. Los valores del &rbol pueden ser los valores de uno de los campos del registro, el
llamado campo de b%squeda. 9ada valor clave del &rbol est& asociado a un puntero de registro que
tiene ese valor en el fic)ero de datos. El &rbol de b%squeda en si puede almacenarse en disco,
asignando cada nodo del &rbol a un bloque del disco.
.l rbol B tiene restricciones adicionales que garantizan que el &rbol siempre estar& equilibrado y
que el espacio desperdiciado por la eliminacin nunca ser& excesivo. Los algoritmos para insertar y
eliminar son mas complejos para poder mantener las restricciones.
a3 0lgoritmos m&s complejos, cada valor del campo de b%squeda aparece vez con su puntero
b3 ?estricciones adicionales para asegurar equilibrio+
c3 9ada nodo interno con forma D.6,DB6,.r6E,.7,DB7,.r7E,F,DBq-6,.rq-6E,.qE
d3 "entro de cada nodo B6DB7DFDBq-6
e3 4alores del campo clave de b%squeda G del sub&rbol Bi-6DGDBi
f3 9ada nodo tiene a lo sumo p punteros de &rbol
g3 9ada nodo tiene por lo menos p<7 punteros de &rbol-?a'z tiene como m'nimo 7 punteros
de &rbol
)3 (n nodo con q punteros de &rbol tiene q-6 valores del campo clave de b%squeda
i3 /odos los nodos )ojas est&n en el mismo nivel y sus punteros de &rbol son nulos
.n un rbol B< los punteros a datos se almacenan solo en los nodos )oja del &rbol, la estructura
de los nodos )oja difiere de la de los nodos internos. Los nodos )oja tienen una entrada por cada
valor del campo de indexacin, junto con un puntero al registro si el campo de b%squeda es un
campo clave. En el caso de un campo no clave el puntero apunta a un bloque que contiene
punteros a los registros del fic)ero de datos, cre&ndose un nivel extra de indireccin.
a3 5mplementaciones comerciales usan esta estructura
b3 Los punteros a datos slo en nodos )oja
c3 Los punteros de los nodos )oja pueden ser al+
d3 ?egistro, si es campo clave
e3 !loque que contiene el registro con indireccin, si no es campo clave
f3 Los punteros en nodos internos son punteros de &rbol a bloque
Pgina 14 de 25
g3 Los nodos )oja se encadenan para obtener acceso ordenado a registros
Los nodos )oja de un &rbol !C normalmente est&n enlazados para ofrecer un acceso ordenado a
los registros a travs del campo b%squeda. Estos son parecidos al primer nivel de un 'ndice. Los
nodos internos del &rbol !C corresponden a los dem&s niveles de un 'ndice multinivel. Los
punteros en los nodos internos son punteros de &rbol a bloques que son nodos del &rbol, mientras
que los punteros de los nodos )ojas son punteros de datos a registros o bloques del fic)ero.
;ndices ordenados por varios atributos
(na ordenacin lexicogr&fica funciona de forma parecida para ordenar las cadenas de caracteres.
(n 'ndice en una clave compuesta por n atributos funciona de forma parecida a cualquier 'ndice.
Dispersin partida
La dispersin partida es una extensin de la dispersin externa est&tica que permite el acceso
sobre varias claves; solo resulta adecuada para comparaciones de igualdad, las consultas de rango
no est&n soportadas. En la dispersin partida, para una clave compuesta por n componentes, la
funcin de dispersin est& dise*ada para producir un resultado con n direcciones de dispersin
separadas. La direccin de cubo esta concatenacin de estas n direcciones. Entonces es posible
buscar por la clave de b%squeda compuesta requerida buscando los cubos adecuados que
coinciden con las partes de la direccin en la que estamos interesados.
(na ventaja de la dispersin partida es que puede extenderse f&cilmente a cualquier n%mero de
atributos. Las direcciones de cubo pueden dise*arse para que los bits de orden superior de las
direcciones correspondan a los atributos a los que se accede con mas frecuencia.
5ichero rejillas
i queremos acceder a un registro con dos claves, podemos construir una array rejilla con una
escala lineal por cada uno de los atributos de b%squeda. Las escalas se )acen en cierto modo para
lograr una distribucin uniforme sobre ese atributo. Este mtodo es %til para consultas de rango
que se mapear'an en un conjunto n de celdas correspondientes a un grupo de valores a lo largo de
escalas lineales. El array rejilla permite as' una particin del fic)ero a lo largo de las dimensiones
de los atributos clave de b%squeda y proporciona un acceso mediante combinaciones de valores a
lo largo de esas dimensiones. Los fic)eros rejilla funcionan bien para reducir el tiempo de acceso
por clave m%ltiple.
$eguridad en las Bases de Datos
9ipos de $eguridad
0spectos legales y ticos en relacin con el derec)o de acceso a determinada informacin.
2leyes3
/emas de pol'ticas a nivel gubernamental, institucional o de empresas en relacin con los
tipos de informacin que no deber'a estar disponible p%blicamente. 2crditos3
@iveles del sistema, reforzando funciones de seguridad. 2)ard$are, soft$are, "!#3
@ecesidad dentro de la organizacin.
+mena-as a las bases de datos: las amenazas a las bases de datos tienen como consecuencia
la perdida o la degradacin de todos o de algunos de los siguientes objetivos de seguridad
com%nmente aceptados+
1) %erdida de integridad+ tiene relacin con el requisito a cumplir que la informacin se
encuentre protegida frente a modificaciones inadecuadas.
0) %erdida de disponibilidad: tiene relacin con que los objetos estn disponibles para un
usuario )umano o para un programa que tenga los derec)os correspondientes.
Pgina 15 de 25
2) %erdida de conidencialidad: tiene relacin con la proteccin de los datos frente al
acceso no autorizado.
El "!# debe proporcionar tcnicas que permitan a determinados usuarios o grupos de usuarios el
acceso a partes concretas de una base de datos sin tener acceso al resto. (n "!# incluye un
subsistema de autorizaciones y seguridad de base de datos responsable de garantizar la seguridad
de partes de una base de datos frente accesos no autorizados.
Controles para evitar estas amena-as:
1) Control de acceso: restringir el acceso al sistema de base de datos en su totalidad.
0) Control de inerencias: restringir el acceso a cierta informacin detallada.
2) Control de lujos: prevenir que la informacin fluya a usuarios no autorizados.
3) Control de cirado: es una medida para proteger datos confidenciales.
(n "!# incluye un subsistema de autorizaciones y seguridad en bases de datos responsable de
garantizar la seguridad de partes de una base de datos frente a accesos no autorizados.
DB+
Es el responsable principal de la gestin de un sistema de base de datos. Entre las
responsabilidades del "!0 es la concesin y retirada de privilegios a los usuarios que necesitan
utilizar el sistema.
1) Creacin de cuentas)
0) Concesin de privilegios
2) 7etirada de privilegios
3) +signacin del nivel de seguridad)
%roteccin de acceso, cuentas de usuarios, auditorias de base de datos
El sistema de base de datos debe seguir el rastro de todas las operaciones en la base de datos que
un usuario determinado realice durante cada sesin, que comprende toda la secuencia de
interacciones realizadas por este. Es importante seguir el rastro a las operaciones de actualizacin
que se realicen sobre la base de datos, de modo que el "!0 pueda determinar que usuario
provoc el da*o. En caso de una operacin malintencionada se realiza una auditoria de base de
datos, que consiste en la revisin del arc)ivo de registro para examinar todos los accesos y
operaciones realizadas sobre la base de datos durante un determinado periodo de tiempo.
#ecanismos de $eguridad:
6. Discrecionales+ se utilizan para conceder permisos a usuarios, incluyendo la capacidad de
acceso a determinados arc)ivos de datos, registros o campos en un modo concreto.
Control de acceso discrecional: para reforzarlo, se basa en la concesin y revocacin de
privilegios.
9ipos de privilegios discrecionales:
En HL7, el concepto de identificador de autorizacin se utiliza para referirse a una cuenta de
usuarios.
El "!# debe proporcionar acceso selectivo a cada relacin de la base de datos bas&ndose en
cuentas determinadas. Existen dos niveles de asignacin de privilegios de uso del sistema de base
de datos+
6. .l nivel de cuenta+ el "!0 especifica los privilegios en particular que posee cada cuenta,
independientemente de las relaciones existentes en lavase de datos. e aplican a las
funcionalidades de la propia cuenta y pueden incluir el privilegio para crear un esquema o una
relacin base.
Pgina 16 de 25
7. .l nivel de relacin. En este nivel el "!0 puede controlar el privilegio de acceso a cada
relacin o vista individual en la base de datos. /ipos de privilegio+
i. .rivilegio de seleccin
ii. .rivilegio de modificacin
iii. .rivilegio de referencia
La concesin y revocacin de privilegios sigue un modelo de autorizaciones para los privilegios
discrecionales conocidos como modelo de matriz de acceso, en el que las filas de una matriz #
representan los sujetos 2usuarios, cuentas, programas3 y las columnas representan los objetos
2relaciones, registros, columnas, vistas, operaciones3. 9ada posicin # 2i,j3 de la matriz representa
los tipos de permisos 2lectura, escritura, actualizacin3 que posee el sujeto i sobre el objeto j.
.ara controlar la concesin y revocacin de privilegios de una relacin, a cada relacin ? de una
base de datos se le asigna una cuenta propietario que es la cuenta que se le utilizo cuando se creo
la relacin por primera vez. 0l propietario se le conceden todos los privilegios.
7evocacin de privilegios: tiene el propsito de retirar privilegios, algunos casos se determina
los privilegios temporales a algunos usuarios.
7. =bligatorios+ reforzar la seguridad a varios niveles mediante la clasificacin de los datos y de
los usuarios en varias clases de seguridad, para despus implementar la pol'tica de seguridad
adecuada a la organizacin. Las clases t'picas son+
a* +lto secreto (9$*
b* $ecreto ($*
c* Conidencial (C*
d* ,o clasiicado (U*
El modelo utilizado )abitualmente para la seguridad a varios niveles, conocido como modelo
!ell-La.adula, clasifica cada sujeto y objeto en una de las clases t'picas, llamadas nivel de
autorizacin, surgen estas dos reglas+
6. 0 un sujeto no se le permite el acceso de lectura un objeto , a menos que la
clase 23 E I clase 2,3. propiedad de seguridad simple. @ing%n sujeto puede leer
un objeto cuya clasificacin de seguridad sea m&s alta que el nivel de autorizacin
del sujeto.
7. 0 un sujeto no se le permite escribir un objeto , a menos que la clase 23 D I
clase 2,3. esto se conoce como propiedad estrella. 5mpide que un sujeto escriba un
objeto que se encuentre en una clasificacin de seguridad menor que el nivel de
autorizacin del sujeto. .or ejemplo, un sujeto con un nivel de autorizacin /
puede )acer una copia de un objeto de clasificacin / y despus guardarlo como
un nuevo objeto de clasificacin (, )aciendo que de este modo pase a ser visible
en todo el sistema.
Control de +cceso basado en roles
Es una alternativa viable a los controles de acceso discrecionales y obligatorios tradicionales,
garantiza que solo los usuarios autorizados tienen acceso a determinados datos o recursos. Los
usuarios crean sesiones durante las cuales pueden activar un subconjunto de roles a los que
pertenecen. 9ada sesin se puede asignar a muc)os roles, pero se corresponde con un %nico
usuarios o sujeto.
DB#$ Distribuidos
(n sistema de computacin distribuido consiste en un n%mero de elementos de procesamiento, no
necesariamente )omogneos, interconectados mediante una red de computadoras y que cooperan
para la realizacin de ciertas tareas asignadas.
La viabilidad econmica de este planteamiento procede de dos razones+ una mayor potencia de
computacin, y cada elemento de procesamiento autnomo pueda ser administrado de manera
independiente.
Pgina 17 de 25
(na ""! es una coleccin de m%ltiples bases de datos distribuidas interrelacionadas de forma
lgica sobre una red de computadoras, y un ""!# como el soft$are encargado de administrar la
base de datos distribuida mientas )ace la distribucin trasparente para el usuario.
>entajas
63 +dministracin de datos distribuidos con distintos niveles de transparencia. (n "!#
distribuido debe ser una distribucin transparente en el sentido de ocultar los detalles de
dnde est& f'sicamente ubicado cada fic)ero dentro del sistema
a* 9ransparencia de 7ed o de distribucin+ )ace referencia a la autonom'a del usuario de
los detalles operacionales de la red.
i3 de locali-acin+ el comando usado para realizar una tarea es independiente de la
ubicacin de los datos y del sistema que ejecuto dic)o comando.
ii3 de denominacin+ implica que una vez transferido un nombre, puede accederse a los
objetos nombrados sin ambigJedad.
b* 9ransparencia de replicacin: puede replicarse informacin en varios lugares para
mayor disponibilidad.
c* 9ransparencia de 5ragmentacin
d* 9ransparencia de dise4o y ejecucin: )ace referencia a la libertad de saber como est&
dise*ada la base de datos distribuida y donde ejecuta una transaccin.
73 8ncremento de la iabilidad y la disponibilidad: la fiabilidad est& definida ampliamente
como la probabilidad de que un sistema est funcionando en un momento del tiempo. La
disponibilidad es la probabilidad de que el sistema est continuamente disponible durante un
intervalo de tiempo. La distribucin aumenta la fiabilidad y disponibilidad del sistema, y se
realiza replicacin de dato, a%n m&s.
83 7endimiento mejorado: un ""!# fragmenta la base de datos manteniendo la informacin
lo m&s cerca posible del punto donde es mas necesaria.
3* .:pansin ms sencilla
%roblemas
63 #%ltiples copias de datos
73 ;allo de sitios
83 ;alla de enlace
K3 .roblemas de comunicacin
L3 Estancamiento distribuido
5unciones +dicionales de la BD distribuidas
63 $eguimiento de los datos+ capacidad de controlar la distribucin de los datos.
73 %rocesamiento de consultas distribuidas+ posibilidad de acceder a sitios remotos y de
transmitir consultas y datos a lo largo de todos esos sitios mediante una red de comunicacin
83 +dministracin de transacciones distribuidas+ estrategias de ejecucin de consultas y
transacciones
K3 +dministracin de datos replicados+ capacidad de decidir que copia de datos acceder y de
mantener replicado
L3 7ecuperacin de una BD distribuida+ facultad de recuperarse de las ca'das de una
localizacin individual.
?* $eguridad
M3 +dministracin del directorio 2cat&logo3 distribuido
96cnicas de Dise4o
5ragmentacin de Datos
5ragmentacin &ori-ontal: de una relacin es un subconjunto de las tuplas de esa relacin. Las
tuplas pertenecientes al fragmento )orizontal se especifican mediante una condicin sobre uno o
m&s atributos de la relacin. "ivide a la relacin )orizontalmente agrupando filas para crear
subconjuntos de tuplas cada uno de ellos con un cierto significado lgico. Estos fragmentos pueden
asignarse entonces a diferentes sitios del sistema distribuido. La fragmentacin )orizontal derivada
aplica el particionamiento de una relacin primaria a otras relaciones secundarias que est&n
relacionadas con aquella a travs de una clave externa. .ara reconstruir una relacin fragmentada
)orizontalmente se necesita aplicar la operacin (@5,@.
Pgina 18 de 25
5ragmentacin >ertical: divide a la relacin por columnas. (n fragmento vertical de una relacin
solo mantiene ciertos atributos de la misma. Esta fragmentacin es necesario incluir la clave
primaria o alguna otra clave candidata, en cada fragmento vertical de modo que nos permita
reconstruir la relacin completa a partir de ellos. .ara reconstruir una relacin fragmentada
verticalmente se necesita aplicar la operacin ,(/E? (@5,@ o ;(LL ,(/E?@ N,5@.
5ragmentacin #i:ta: utiliza los dos tipos de fragmentacin.
(n esquema de fragmentacin de una base de datos es un conjunto de fragmentos que incluyen
todos los atributos y tuplas de esa base de datos y que satisface la condicin de que es posible
reconstruirla en su totalidad aplicando alguna secuencia de operaciones. .ara reconstruir una
relacin fragmentada en forma mixta se necesita aplicar la operacin (@5,@ y ,(/E? (@5,@ o
,(/E? N,5@ en el orden apropiado.
(n esquema de ubicacin describe la colocacin de los fragmentos en sitios del "!!, es un mapa
que indica, por cada fragmento, el o los sitio<s en el que est& almacenado. i un fragmento se
encuentra en m&s de un sitio, est& replicado.
7eplicacin y ubicacin de los datos
Es %til para mejorar la disponibilidad de los datos. En el caso m&s extremo es la replicacin de toda
la base de datos en cada sitio del sistema distribuido, siendo esta una base de datos distribuida
totalmente replicada. :acia el lado opuesto a esto, es la no replicacin, o sea fragmentacin.
(n punto intermedio es la replicacin parcial de datos, esto es, fragmentos de la base de datos
pueden replicarse mientras que otros no. El n%mero de copias de cada fragmento puede oscilar
desde una )asta el n%mero total de sitios del sistema distribuido.
Dierencias a nivel de &ard'are entre BDD y Centrali-ada
Existen m%ltiples equipos llamados sitios o nodos
Los sitios deben estar conectados por alg%n tipo de red
La conexin puede ser a travs de+
?ed de &rea local
red de &rea expandida
e pueden usar diferentes topolog'as
Unidad 0
#odelo de Datos es un conjunto de herramientas conceptuales )
(n modelo de datos es b&sicamente una OdescripcinO de algo conocido como contenedor de
datos 2algo en donde se guarda la informacin3, as' como de los mtodos para almacenar y
recuperar informacin de esos contenedores. Los modelos de datos no son cosas f'sicas+ son
abstracciones que permiten la implementacin de un sistema eficiente de base de datos; por lo
general se refieren a algoritmos, y conceptos matem&ticos.
#odelo /gicos Basados en 7egistros (se utilizan para describir datos en los niveles
conceptuales y f'sicos*
Los modelos lgicos basados en registros se utilizan para describir los datos en los modelos
conceptual y f'sico. 0 diferencia de los modelos lgicos basados en objetos, se usan para
especificar la estructura lgica global de la !" y para proporcionar una descripcin a nivel m&s alto
de la implementacin.
Los modelos basados en registros se llaman as' porque la !" est& estructurada en registros de
formato fijo de varios tipos. 9ada tipo de registro define un n%mero fijo de campos, o atributos, y
cada campo normalmente es de longitud fija. La estructura m&s rica de estas !!"" a menudo
lleva a registros de longitud variable en el nivel f'sico.
Pgina 19 de 25
e clasifican+
1* @errquicos+ Pstas son bases de datos que, como su nombre indica, almacenan su
informacin en una estructura jer&rquica. En este modelo los datos se organizan en una forma
similar a un &rbol 2visto al revs3, en donde un nodo padre de informacin puede tener
varios )ijos. El nodo que no tiene padres es llamado ra'z, y a los nodos que no tienen )ijos se
los conoce como )ojas. Las bases de datos jer&rquicas son especialmente %tiles en el caso de
aplicaciones que manejan un gran volumen de informacin y datos muy compartidos
permitiendo crear estructuras estables y de gran rendimiento. (na de las principales
limitaciones de este modelo es su incapacidad de representar eficientemente la redundancia de
datos.
0* 7ed+ Pste es un modelo ligeramente distinto del jer&rquico; su diferencia fundamental es la
modificacin del concepto de nodo+ se permite que un mismo nodo tenga varios padres
2posibilidad no permitida en el modelo jer&rquico3. ;ue una gran mejora con respecto al
modelo jer&rquico, ya que ofrec'a una solucin eficiente al problema de redundancia de datos;
pero, aun as', la dificultad que significa administrar la informacin en una base de datos de red
)a significado que sea un modelo utilizado en su mayor'a por programadores m&s que por
usuarios finales.
2* 7elacional: Pste es el modelo utilizado en la actualidad para modelar problemas reales y
administrar datos din&micamente. /ras ser postulados sus fundamentos por Edgar ;ranQ 9odd,
, no tard en consolidarse como un nuevo paradigma en los modelos de base de datos. u idea
fundamental es el uso de OrelacionesO. Estas relaciones podr'an considerarse en forma lgica
como conjuntos de datos llamados OtuplasO. Esto es pensando en cada relacin como si fuese
una tabla que est& compuesta por registros 2las filas de una tabla3, que representar'an las
tuplas, y campos 2las columnas de una tabla3. En este modelo, el lugar y la forma en que se
almacenen los datos no tienen relevancia 2a diferencia de otros modelos como el jer&rquico y
el de red3. Esto tiene la considerable ventaja de que es m&s f&cil de entender y de utilizar para
un usuario espor&dico de la base de datos. La informacin puede ser recuperada o almacenada
mediante OconsultasO que ofrecen una amplia flexibilidad y poder para administrar la
informacin.
#odelo /gicos Basados en =bjetos: se utili-an para describir datos en los niveles
conceptuales y e:ternos)
Los modelos lgicos basados en objetos se usan para describir datos en el nivel conceptual y el
externo. e caracterizan porque proporcionan capacidad de estructuracin bastante flexible y
permiten especificar restricciones de datos. Los modelos m&s conocidos son el modelo entidad-
relacin y el orientado a objetos.
.ntidad 7elacin: se basan en la percepcin del mundo real que consiste en una coleccin de
objetos llamados entidades y sus relaciones, una entidad es un objeto distinguible de otro por
medio de un conjunto espec'fico de atributos. 0tributos clave+ minimalidad y unicidad
=rientado a =bjeto: Este modelo, bastante reciente, y propio de los modelos inform&ticos
orientados a objetos, trata de almacenar en la base de datos los objetos completos 2estado y
comportamiento3.
(na base de datos orientada a objetos es una base de datos que incorpora todos los conceptos
importantes del paradigma de objetos+
.ncapsulacin - .ropiedad que permite ocultar la informacin al resto de los objetos,
impidiendo as' accesos incorrectos o conflictos.
&erencia - .ropiedad a travs de la cual los objetos )eredan comportamiento dentro de una
jerarqu'a de clases.
%olimorismo - .ropiedad de una operacin mediante la cual puede ser aplicada a distintos
tipos de objetos.
En bases de datos orientadas a objetos, los usuarios pueden definir operaciones sobre los datos
como parte de la definicin de la base de datos. (na operacin 2llamada funcin3 se especifica en
Pgina 20 de 25
dos partes. La interfaz 2o signatura3 de una operacin incluye el nombre de la operacin y los tipos
de datos de sus argumentos 2o par&metros3. La implementacin 2o mtodo3 de la operacin se
especifica separadamente y puede modificarse sin afectar la interfaz. Los programas de aplicacin
de los usuarios pueden operar sobre los datos invocando a dic)as operaciones a travs de sus
nombres y argumentos, sea cual sea la forma en la que se )an implementado. Esto podr'a
denominarse independencia entre programas y operaciones.
#odelo 7elacional
Caracter!sticas o %ropiedades de las relaciones:
6. Las tuplas no est&n ordenadas -conjunto matem&tico-
7. Los atributos en las tuplas no est&n ordenados -conjunto matem&tico-
8. Los valores en los atributos deben ser atmicos Rrelaciones normalizadas-
K. @o )ay tuplas repetidas R)ec)os diferentes del mundo real-
Este modelo utiliza el concepto de una relacin matem&tica, como su bloque de construccin
b&sico, y tiene su base terica en la teor'a de conjuntos y la lgica del predicado de primer orden.
?epresenta la base de datos como una coleccin de relaciones, cada una de estas relaciones se
parece a una tabla de valores o, de forma algo m&s extensa, aun fic)ero plano de registros.
9uando una relacin est& pensada como una tabla de calores, cada fila representa una coleccin
de valores relacionados. 9ada fila de la tabla representa un )ec)o que se corresponde con una
relacin o entidad real. El nombre de la tabla y de las columnas se utiliza para ayudar a interpretar
el significado de cada uno de los valores de las filas. (na fila recibe el nombre de tupla, una
columna es un atributo y el nombre de la tabla una relacin.
Dominio+ un dominio " es un conjunto de valores atmicos. .or atmico se entiende que cada
valor de un dominio es indivisible en lo que al modelo relacional se refiere.
(n dominio cuenta con un nombre, tipo de dato y un formato. /ambin puede facilitarse
informacin adicional para interpretacin de sus valores.
(n esquema relacin o dise*o de relacin ? 206, 07, F, 0n3est& constituido por el nombre de la
relacin ? y una lista de atributos 06, 07, F, 0n. 9ada atributo 0i es el nombre de un papel jugado
por alg%n dominio " en el esquema de relacin ?. se dice que " es el dominio de los atributos 0i,
"om 20i3. un esquema de relacin se utiliza para describir una relacin, se dice que ? es el nombre
de la misma. El grado de una relacin es el n%mero de atributos de la misma.
(na relacin r del esquema ? 206, 07, F, 0n3, r20i3, es un conjunto de n-tuplas r I S t6, t7, F,
tn T. 9ada tupla es una lista ordenada de n valores, t I D v6, v7, F, vn E. Es decir, una relacin
r2?3 es una relacin matem&tica de grado n en los dominios de dom20n3 que es un subconjunto
del producto cartesiano que definen a ?.
El producto cartesiano especifica todas las posibles combinaciones de valores de los dominios
subyacentes.
El n%mero de atributos en la relacin se llama grado de la relacin. El n%mero de tuplas en la
relacin se llama cardinalidad de la relacin. La cardinalidad de una relacin cambia con el tiempo,
el grado no.
7estricciones de Dominio
7estricciones de clave y restricciones de >alores ,ull
(na relacin est& definida como un conjunto de tuplas. /odos los elementos de un conjunto son
distintos, todas las tuplas en una relacin tambin deben serlo. Esto significa que dos tuplas no
pueden tener la misma combinacin de valores para todos sus atributos, unicidad.
Pgina 21 de 25
9ualquier conjunto de atributos B recibe el nombre de superclave del esquema de relacin ?. (na
superclave espec'fica una restriccin de exclusividad por la que dos tuplas distintas en cualquier
estado r de ? puede tener el mismo valor para B. (na clave no tiene redundancia, una clave B de
un esquema de relacin ? es una superclave de ? con la propiedad adicional que eliminando
cualquier atributo 0 de B deja un conjunto de atributos BU que ya no es una superclave de ?. por lo
tanto una clave satisface dos restricciones+
63 "os tuplas diferentes en cualquier estado de la relacin no pueden tener valores idnticos para
todos los atributos de la clave. unicidad
73 Es una superclave m'nima, de la cual no podemos eliminar ning%n atributo y seguiremos
teniendo almacenada la restriccin de exclusividad de la condicin 6. #inimalidad.
8ntegridad de entidad, integridad reerencial y oreign Aeys
Las restricciones de integridad de entidad declaran que el valor de ninguna clave principal puede
ser @ull. Esto se debe a que dic)a clave de emplea para identificar tuplas individuales en una
relacin. i se permitiera este valor, significar'a que no se podr'an identificar ciertas tuplas.
Las restricciones de integridad referencial est&n especificadas entre dos relaciones y se utilizan
para mantener la consistencia entre las tuplas de dos relaciones. Las restricciones de integridad
referencial suelen originarse a partir de las relaciones entre las entidades representadas por los
esquemas de relacin.
;oreign Qeys, un valor de clave ajena o for&nea representa una referencia a la tupla donde se
encuentra el valor correspondiente a la clave primaria. La regla de integridad referencia determina
que una base de datos no debe contener valores de referencia sin concordancia.
?eglas de actualizacin 2compensacin3 para "ELE/E<(."0/E
9asos+ @ull, ?estringir, .or "efecto, 9ascada.
7estricciones (constraints* en valores:
6. 5mpl'citas o basadas en el modelo Rcaracter'sticas o propiedades de las relaciones
7. Expl'citas o basadas en el esquema R""L-a. 4alores atmicos. 9ondiciones de 9lave+
1. (nicidad+ no puede )aber 7 tuplas con el mismo valor en todos los atributos
2. #inimalidad+ debe ser el menor conjunto de atributos 2superclave-clave3
8. ?eglas de negocio Rtriggers, aserciones, aplicaciones
K. Expl'citas o basadas en el esquema R""L-
+lgebra 7elacional
El conjunto de operaciones b&sicas del modelo relacional es el &lgebra relacional, el cual permite al
usuario especificar las peticiones fundamentales de recuperacin. El resultado de una recuperacin
es una nueva relacin, la cual puede estar constituida por una o m&s relaciones. .roporciona un
fundamento formal para las operaciones del modelo relacional. e utiliza como base para la
implementacin y optimizacin de consultas en los ?"!#. Los c&lculos relacionales ofrecen una
notacin declarativa de alto nivel para especificar las consultas relacionales. (na expresin de
c&lculo relacional crea una nueva relacin, la cual esta especificada en trminos de variables que
engloban filas de las relaciones almacenadas en la base de datos o columnas de las relaciones
almacenadas.
=peraciones Unarias
$eleccin
Pgina 22 de 25
e emplea para seleccionar un subconjunto de tuplas de una relacin que satisface una condicin
de seleccin. La seleccin es unaria, se aplica a una sola relacin. 0dem&s no pueden implicar a
m&s de una tupla. El grado de la relacin resultante es el mismo que el de ?.
BD,8C3(.#%/.+D=*
%royeccin
elecciona ciertas columnas de la tabla y descarta las otras. El resultado de esta operacin puede
visualizarse como una particin vertical de la relacin en otras dos. (na que contiene las columnas
necesarias, y otra las descartadas. El n%mero de tuplas de una relacin resultante de una
operacin de proyeccin es siempre menor o igual que el de las contenidas en ?.
D
se:o,sueldo
(.#%/.+D=*
7enombrar
Es un operador unario. ?enombra tanto la relacin, atributos o ambos.
/E#.VE#. D
se:o,sueldo
(.#%/.+D=*
=peraciones de Conjunto
9uando se refieren a las bases de datos relacionales, las relaciones sobre las que se aplican estas
tres operaciones deben tener el mismo tipo de tuplas. Esta condicin se denomina compatibilidad
de unin.
1. Unin+ el resultado de esta operacin es una relacin que incluye a todas las
tuplas que est&n tanto en ? como en , o en ambas.
2. 8nterseccin+ el resultado de esta operacin es una relacin que incluye todas
las tuplas que est&n en ? y en
3. Dierencia de conjuntos+ el resultado de esta operacin, es una relacin que
incluye todas las tuplas que est&n en ? pero no en .
%roducto Cartesiano
e trata de una operacin binaria. .roduce un nuevo elemento combinando cada tupla de una
relacin con los de la otra. Es %til cuando va seguida por una seleccin que correlacione los valores
de los atributos procedentes de las relaciones componentes.
=peraciones Binarias
Concatenacin
e emplea para combinar tuplas relacionadas de dos relaciones en una sola. Esta operacin es
muy importante para cualquier base de datas relacional que cuente con m&s de una relacin, ya
que nos permite procesar relaciones entre relaciones.
9oncatenacin EH(5N,5@+ es aquella que supone el uso de conexin solo por comparaciones
de igualdad.
9oncatenacin @0/(?0L+ elimina los atributos superfluos de una comparacin. Equipara todos
los pares de atributos que tengan el mismo nombre en las dos relaciones.
9oncatenacin Externa+ es una operacin que puede usarse cuando se desea mantener en el
resultado todas las tuplas independientemente si tienen correspondecias o no con la otra
realcion.
Pgina 23 de 25
a3 Externa 5zquierda, se mantiene todas las tuplas de la primera relacin.
b3 Externa "erec)a, se mantienen todas las tuplas de la segunda relacin.
c3 Externa 9ompleta, se mantienen todas las tuplas de las dos relaciones.
Divisin
7(E* 1 $(F* donde F est incluido en E) permite G C E H F, por lo tanto E C F U G
La divisin es %til para cierto tipo de consultas que a veces se realizan aplicaciones de base de
datos. El resultado de una divisin es una relacin /213 que incluye una tupla t si las tuplas tr
aparecen en ? con trW1X I t, y con trWGX I ts para cada tupla ts en . esto es para que una tupla t
aparezca en el resultado / de la divisin, los valores de aquella deben aparecer en ? en
combinacin con cada tupla en .
Unidad 2
8ntroduccin
El procedimiento de normalizacin consiste en la aplicacin de una serie de comprobaciones de las
relaciones para cumplir con unos requisitos cada vez m&s restrictivos y descomponer las relaciones
cuando sea necesario.
Dependencia 5uncional)
(na dependencia funcional es una restriccin que se establece entre dos conjuntos de atributos de
la base de datos.
(na dependencia funcional, denotada por G1, entre dos conjuntos de atributos G e 1 que son
subconjuntos de ?, especifica una restriccin en las posibles tuplas que pueden formar un estado
de la relacin r en ?. La restriccin dice que dos tuplas t6 y t7 en r cumplen que t6WGX I t7WGX,
deben cumplir que t6W1X I t7W1X.
Esto es, que los valores del componente 1 de una tupla de r dependen de, o est&n determinados
por, los valores del componente G; alternativamente, los valores del componente G de una tupla
%nicamente, funcionalmente, determinan los valores del componente 1. "ecimos que tambin que
existe una dependencia funcional de G )acia 1, o que 1 es funcionalmente dependiente de G. .or lo
tanto, G determina el funcionamiento de 1 si para toda instancia de r del esquema de relacin ?,
no es posible que r tenga dos tuplas que coincidan en los atributos de G y no lo )agan en los
atributos de 1.
i una restriccin de ? indica que no puede )aber m&s de una tupla con un valor G
concreto en cualquier instancia de relacin r2?3, es decir, que G es una clave candidata de
?, se cumple que G1 para cualquier subconjunto de atributos de 1 de ?.
i G1 en ?, esto no supone que 1G en ?.
Es una propiedad de la sem&ntica o del significado de los atributos.
El conjunto de todas las dependencias que influyen ;, junto con las dependencias que pueden
inferirse de ;, reciben el nombre de clausuras de ;.
5ormas normales basadas en claves principales
,ormali-acin de las 7elaciones
Pgina 24 de 25
El proceso de normalizacin )ace pasar un esquema de relacin por una serie de comprobaciones
para certificar que satisface una determinada forma normal.
La normalizacin de los datos puede considerarse como un proceso de an&lisis de un esquema de
relacin, basado en sus "; y sus claves principales, para obtener las propiedades deseables de
minimizar la redundancia y minimizar las anomal'as de insercin, borrado y actualizacin.
Claves: si un esquema de relacin tiene m&s de una clave, cada una de ellas se denomina clave
candidata. (na de ellas se elige arbitrariamente como calve principal, mientras que el resto son
claves secundarias.
%ropiedades de las Claves Candidatas:
63 (nicidad+ En un momento dado, no existen dos tuplas en la relacin con el mismo valor de
clave candidata.
73 #inimalidad+ i la clave candidata es compuesta, no es posible destruir ning%n elemento de
esta clave, sin destruir su unicidad.
(n atributo del esquema de relacin de ? recibe el nombre de atributo primo de ? si es miembro
de algunas de las claves candidatas de ?. un atributo es no primo si no es miembro de ninguna
clave candidata.
%rimera 5orma ,ormal
La primera forma normal pro)'be tener un conjunto de valores, una tupla de valores o una
combinacin de ambos como valor de un atributo para una tupla individual. .ro)'be las relaciones
dentro de las relaciones o las relaciones como valores de atributo dentro de las tuplas. Los %nicos
valores de atributo permitidos por la 6ra forma normal son los atmicos.
$egunda 5orma ,ormal
Est& basada en el concepto de dependencia funcional total. (na dependencia funcional es total si
G1 es total si la eliminacin de cualquier atributo 0 de G implica que la dependencia funcional
deje de ser v&lida.
(n esquema de relacin de ? est& en segunda funcional si todo atributo no primo de 0 en ? es
completa y funcionalmente dependiente de la clave principal ?.
9ercera 5orma ,ormal
e basa en el concepto de dependencia transitiva. (na dependencia funcional G1 en un esquema
de relacin ? es una dependencia transitiva si existe un conjunto de atributos Y que ni es clave
candidata ni un subconjunto de ninguna clave de ?, y se cumple tanto GY como Y1.
(n esquema est& en 8ra forma normal si satisface la 7da forma normal y ning%n atributo no primo
de ? es transitivamente dependiente en la clave principal.
5orma ,ormal BoyceICodd
;orma @ormal de !oyce-9odd 2o ;@!93 + Es una versin ligeramente m&s fuerte de la 28;@3.
?equiere que no existan dependencias funcionales no triviales de los atributos que no sean un
conjunto de la clave candidata.
/odos los determinantes de la tabla son clave candidata.
"efinicin ;ormal+ (na tabla est& en ;@!9 si y solo si est& en 8;@ y cada dependencia funcional
no trivial tiene una clave candidata como determinante.
Cuarta 5orma ,ormal
Pgina 25 de 25
La cuarta forma normal 2K@;3 La definicin de la K@; se basa en el concepto de dependencia
multivalor. La dependencia multivalor es una donde la existencia de dos o m&s relaciones
independientes muc)os a muc)os causa redundancia; y esa redundancia es la que es removida
por la cuarta forma normal.
"efinicin+ (na relacin ? est& en K;@ con respecto a un conjunto " de dependencias
funcionales y de valores m%ltiples s', para todas las dependencias de valores m%ltiples en " de la
forma G-E-E1, donde GDI? y 1DI?, se cumple por lo menos una de estas condiciones+
Z G-E-E1 es una dependencia de valores m%ltiples trivial.
Z G es una superllave de la relacin ?.
Juinta 5orma ,ormal
Huinta forma normal 2L@;3+ Es un nivel de normalizacin de bases de datos designado para
reducir la redundancia en las bases de datos relacionales que guardan )ec)os multivalores
aislando relaciones m%ltiples relacionadas.
"efinicin+ (na tabla se dice que est& en L@; s' y slo si est& en K@; y cada dependencia de
unin 2join3 en ella es implicada por las claves candidatas.
9aracter'sticas+ La tabla puede dividirse en subtablas que no pueden reconstruirse.

You might also like