CHAPTER 1 INTRODUCTION 1
1.8 Contributions to Knowledge 21
• La teoría de normalización consiste en realizar un conjunto de restricciones para evitar:
La redundancia de los datos: repetición de datos en un sistema.
La anomalías de actualización 3,las cuales son:
o Anomalías de inserción: imposibilidad de adicionar datos en la base de datos debido a la ausencia de otros datos.
o Anomalías de eliminación: pérdidas no intencionadas de datos debido a que se han borrado otros datos.
3
Un ejemplo de cada anomalía de actualización se presenta en el capítulo 14 del libro-texto: Fundamento de sistemas de Bases de datos.
o Anomalías de modificación: inconsistencias de los datos como resultado de datos redundantes y actualizaciones parciales.
• La teoría de normalización tiene como fundamento el concepto de
formas normales y estas son definidas como las técnicas empleadas para prevenir las anomalías en las relaciones (tablas). Dependiendo de su estructura, una relación (tabla) puede estar en primera forma normal, segunda forma normal o en cualquier otra, pero siempre cumpliendo ciertas condiciones preestablecidas. Por ejemplo decimos que una relación está en segunda forma normal (2FN) si y solo si está en primera forma normal (1FN) y estará en tercera forma normal si y solo si está en 2FN.
Relación entre las formas normales:
9.- A continuación se presentan algunos ejemplos para ilustrar las formas normales, cuando se aplica operaciones de Normalización:
Ejemplo 5.1
Primera forma normal (1FN):
Se dice que una relación se encuentra en primera forma normal (1FN) si y solo si cada uno de los dominios de un atributo contiene solo valores atómicos es decir, los elementos del dominio solo son unidades simples e indivisibles. Por ejemplo consideremos el siguiente esquema de relación CURSO:
CÓDIGO-PARTICIPANTE NOMBRE-PARTICIPANTE NOMBRE-CURSO
1 Marcos Inglés
2 Lucas Contabilidad,
Informática
3 Marta Inglés, Contabilidad
Se puede observar que el registro código 1 si cumple la primera forma normal, cada atributo del registro contiene un único dato, pero no ocurre así con la tupla
2 y 3 ya que el atributo NOMBRE-CURSO contiene másde un dato cada uno. La solución en este caso es crear dos tablas del siguiente modo:
Como se puede comprobar ahora todos los registros de ambas tablas contienen valores únicos en sus atributos, por lo tanto ambas tablas cumplen la Primera Forma Normal (1FN).
Una vez normalizada la tabla en 1FN, podemos pasar a la segunda forma normal.
Ejemplo 5.2 Segunda forma normal (2FN)
Una relación R se encuentra en Segunda Forma Normal, cuando cumple con las reglas de la primera forma normal y todos sus atributos que no son claves dependen por completo de la clave definida.
Antes de proceder a realizar el proceso de normalización a una relación (tabla) lo primero que se debe definir es la clave, esta clave deberá contener un valor único para cada registro (no podrán existir dos valores iguales en toda la tabla) y podrá estar formado por un único atributo o por un grupo de atributos. Si todos los atributos de la entidad dependen directamente de la clave se dice que la relación está en 2FN.
Supongamos que construimos una tabla con los años que cada empleado ha estado trabajando en cada departamento de una empresa:
Tabla A CÓDIGO-PARTICIPANTE NOMBRE-PARTICIPANTE 1 Marcos 2 Lucas 3 Marta Tabla B CÓDIGO-PARTICIPANTE NOMBRE-CURSO 1 Inglés 2 Contabilidad 2 Informática 3 Inglés 3 Informática
CÓDIGO-EMPLEADO CÓDIGO-DPTO. NOMBRE DEPARTAMENTO AÑOS 1 6 Juan Contabilidad 6 2 3 Pedro Sistemas 3 3 2 Sonia Venta 1 4 3 Verónica Sistemas 10 2 6 Pedro Contabilidad 5
Tomando como punto de partida que la clave de esta tabla está formada por los atributos CÓDIGO-EMPLEADO y CÓDIGO-DPTO y podemos observar que la tabla se encuentra en primera forma normal, por tanto vamos a estudiar la 2FN:
El atributo NOMBRE no depende funcionalmente de toda la clave, sólo depende del CÓDIGO-EMPLEADO.
El atributo DEPARTAMENTO no depende funcionalmente de toda la clave, sólo del CÓDIGO-DPTO.
El atributo AÑOS (representa el número de años que cada empleado ha trabajado en cada departamento) depende funcionalmente de la clave CÓDIGO-EMPLEADO y del CÓDIGO-DPTO
Por tanto, al no depender de la clave todos los atributos, la tabla no está en segunda forma normal, la solución es la siguiente:
Tabla A CÓDIGO-EMPLEADO NOMBRE 1 Juan 2 Pedro 3 Sonia 4 Verónica Tabla B CÓDIGO-DPTO DEPARTAMENTO 2 Ventas 3 Sistemas 6 Contabilidad Tabla C
CÓDIGO-EMPLEADO CÓDIGO-DPTO AÑOS
1 6 6
2 3 3
3 2 1
4 3 10
Podemos observar que ahora si se encuentran las tres tabla en segunda forma normal, considerando que la tabla A tiene como clave el campo CÓDIGO- EMPLEADO, la tabla B CÓDIGO-DPTO y la tabla C una clave compuesta por los atributos CÓDIGO-EMPLEADO y CÓDIGO-DPTO.
Ejemplo 5.3 Tercera Forma Normal (3FN)
Se dice que una tabla está en tercera forma normal si y solo si está en 2FN y los atributos de la tabla dependen únicamente de la clave, dicho en otras palabras los atributos de las tablas no dependen unos de otros. Tomando como referencia el primer ejemplo, supongamos que cada alumno sólo puede realizar un único curso a la vez y que deseamos guardar en que aula se imparte el curso, se puede plantear la siguiente estructura:
CÓDIGO-ESTUDIANTE NOMBRE-ESTUDIANTE NOMBRE-CURSO AULA
1 Marcos Informática Aula A
2 Lucas Inglés Aula B
3 Marta Contabilidad Aula C
Estudiemos la dependencia de cada campo con respecto a la clave CÓDIGO- ESTUDIANTE:
NOMBRE-ESTUDIANTE depende directamente del CÓDIGO-ESTUDIANTE. NOMBRE-CURSO depende de igual modo del CÓDIGO-ESTUDIANTE.
El AULA, aunque en parte también depende del CÓDIGO-ALUMNO, está mas ligado al NOMBRE-CURSO que el estudiante está realizando.
Por esta última razón se dice que la tabla no está en 3FN. La solución sería la siguiente:
Tabla A
CÓDIGO-ESTUDIANTE NOMBRE-ESTUDIANTE NOMBRE-CURSO
1 Marcos Informática
2 Lucas Inglés
Tabla B
NOMBRE-CURSO AULA Informática Aula A
Inglés Aula B Contabilidad Aula C
Una vez conseguida la Segunda Forma Normal (2FN), se puede estudiar la cuarta forma normal (4FN).
Ejemplo 5.4 Cuarta forma normal (4FN)
Una tabla está en 4FN si y sólo si para cualquier combinación clave - atributo no existen valores duplicados. Veamos con un ejemplo:
Geometría
FIGURA COLOR TAMAÑO Cuadrado Rojo Grande Cuadrado Azul Grande Cuadrado Azul Mediano
Círculo Blanco Mediano Círculo Azul Pequeño Círculo Azul Mediano
Comparemos ahora la clave FIGURA con el atributo TAMAÑO, podemos observar que Cuadrado y Grande están repetidos; igual pasa con Círculo y Azul, entre otras. Estas repeticiones son las que se deben evitar para tener una tabla en 4NF.
Ahora si tenemos nuestra base de datos en 4FN.
8.- Si desea profundizar en los aspectos involucrados en esta unidad 5, se sugiere que consulte los siguientes textos que se encuentran en la biblioteca de la UNA:
Consulta de libros
• Fundamentos de bases de datos (1998). Tercera edición, de Henry F. Korth, S. Sudarshan y Abraham Silberschatz..
• Introducción a los Sistemas de bases de datos (1998), Quinta edición, C. J. Date.
9.- Una vez culminado el estudio de la unidad 5, proceda a realizar el siguiente ejercicio, luego compruebe sus respuestas con la dada en la “Respuesta a los Ejercicios de Autoevaluación”, en caso de no coincidir, estudie nuevamente el tópico en el cual desacertó.
Ejercicio de autoevaluación
Suponga que se tiene la siguiente relación para una base de datos, la cual corresponde al registro de vuelo de una agencia de viaje:
VUELO
NÚMEROV CÓDIGOA CÓD-AVIÓN NOMBREA UBICACIÓNA CLASEA SIGLAA HORAP HORALL
Donde:
NÚMEROV = número de vuelo CÓDIGOA = Código del aeropuerto CÓD-AVIÓN = Código del Avión NOMBREA = Nombre del aeropuerto UBICACIÓNA = Ubicación del aeropuerto
Tamaño FIGURA TAMAÑO Cuadrado Grande Cuadrado Mediano Círculo Mediano Círculo Pequeño Color FIGURA COLOR Cuadrado Rojo Cuadrado Azul Círculo Blanco Círculo Azul
CLASEA = Clase de Avión SIGLAA = Sigla del avión HORAP = Hora de partida HORALL = Hora de llegada
Aplique la técnica de normalización y lleve la siguiente relación a la segunda forma normal (2FN): Muestre los esquemas de las relaciones resultantes. Especifique los atributos claves de cada relación
10.- Resuelva la actividad propuesta que se presenta a continuación:
Ejercicio o actividad propuesta
Considere la relación para libros publicados:
LIBRO (Título-libro, NombreAutor, Tipo-libro, ListaPrecios, Afil-autor, Editor) Afil-autor se refiere a la afiliación del autor, suponga que se dan las siguientes dependencias:
Título-libro → Editor, Tipo-libro Tipo-libro → ListaPrecio NombreAutor → Afil-autor
a) Aplique la normalización hasta que ya no puedan descomponerse las relaciones, Explique las razones para cada descomposición.
Respuesta al Ejercicio de autoevaluación VUELO
144444244444443
AEROPUERTO
CÓDIGOA NOMBREA UBICACIÓNA 14243 CLAVE AVIÓN 14243 CLAVE NÚMEROV CÓDIGOA CÓD- AVIÓN HORAP HORALL
CÓD-AVIÓN CLASEA SIGLAA
UNIDAD 6: Seguridad e Integridad
Los datos que se encuentran en una base de datos deben ser protegidos contra usuarios no autorizados o autorizados, por lo que se debe garantizar que estos usuarios tengan permiso al acceso de cierta o toda información, asegurando que el manejo de esta información se haga en forma correcta. En esta unidad se presentarán varias estrategias que se pueden utilizar para proteger la base de datos de alteraciones intencionada o daños accidentales, es decir lo concerniente a la Seguridad y Autorización4 de los datos en una base de datos.
Objetivo de la Unidad 6: Resolver en situaciones dadas, problemas de Seguridad y/o Integridad en bases de datos relacional.
Contenido de la Unidad 6: El contenido de la unidad contempla el estudio de los siguientes puntos:
Introducción a los problemas de seguridad en las bases de datos.
Control de acceso discrecional basado en concesión o revocación de privilegios.
Control de acceso obligatorio para seguridad multinivel.
Introducción a la seguridad en las bases de datos estadísticas.
Seguridad y Autorización.
Recomendación para el estudio del contenido de la unidad 6
1.- En esta sección se comenzará por dar una introducción a los problemas de seguridad, luego se estudiarán mecanismos utilizados para conceder y revocar privilegios en los sistemas de base de datos relacionales y en SQL, seguidamente se expondrán los mecanismos para imponer múltiples niveles de seguridad (Control de acceso obligatorio), de igual manera se estudia el problema de controlar el acceso a las bases de datos estadísticas. Por último se examinará el modo en que se pueden utilizar mal los datos, hacerlos inconsistentes de manera intencionada, así como una explicación de los mecanismos y limitaciones para la definición de autorizaciones que proporciona el lenguaje SQL.
2.- A continuación se presenta la tabla 6.1, en ella puede ubicar en el material de referencia, los tópicos referentes a la unidad 6.
4
TEMA MATERIAL DE REFERENCIA
CÁPI-
TULO CIÓNSEC- TÍTULO PÁGINAS
Seguridad y Autorización en base de datos Libro-Texto: “Fundamentos de Sistemas de Bases de