Guía 3
Guía 3
Guía 3
Del estudiante
E-mail jromero@uniminuto.edu
Web aulas.uniminuto.edu
DATOS DE IDENTIFICACIÓN
E-mail david.vargas-c@uniminuto.edu
Web http://aulas.uniminuto.edu
Preguntas Generadoras
¿Qué es el proceso de normalización?
ACTIVIDAD
NORMALIZACION
Especiali Fech Tarjeta Num Num Fecha Código Pis Alérgi Observaci
dad a de profesion ero ero de de o y co ones
Ingre al y de de Ingreso Identifica Ca
so y observaci Ingre Histo ción ma
cargo ones so ria
Pediatra 01/05 2587- 1 0001 05/10/2 01P 4,2 Penicil Alergia
/02 Urb., En 004 01 ina
Licencia
2.500.000 Dermatologia
Solución:
Historia clínica:
N° de historia -llave primaria
CC.
Datos medico:
Especialidad
Tarjeta profesional
Código de identificación-llave primaria
Datos de ingreso:
Fecha de ingreso
Numero de ingreso-llave primaria
Piso y cama
CC.
Código de identificación
Diagnostico:
Observaciones
Alérgico
Costo del tratamiento
Diagnostico-llave primaria
CC.
Código de identificación
INDICADORES
Comprender el proceso de normalización.
Claves
Clave ajena
Clave candidata
Clave alternativa
Clave simple
Clave compuesta
Formas Normales
Reglas de Codd
MARCO TEÓRICO DE
FORMACIÓN
3. Unidad de Trabajo: BASES DE DATOS
El proceso de normalización de una base de datos consiste en aplicar una serie de reglas a
las relaciones obtenidas tras el paso del modelo E-R (entidad-relación) al modelo
relacional.
En el modelo relacional es frecuente llamar tabla a una relación, aunque para que una
tabla bidimensional sea considerada como una relación tiene que cumplir con algunas
restricciones:
Todos los datos en una columna deben ser del mismo tipo.
Terminología equivalente
entidad = tabla o archivo
tupla = registro, fila o renglón
clave = llave
RDBMS = del inglés Relational Data Base Manager System que significa, Sistema
Gestor de Bases de Datos Relacionales
Dependencia funcional
Una dependencia funcional son conexiones entre uno o más atributos. Por ejemplo si
conocemos el valor de FechaDeNacimiento podemos conocer el valor de Edad.
FechaDeNacimiento->Edad
Clave ajena
Cuando se tienen dos tablas o más, una clave ajena es aquella columna de una tabla que
hace referencia a una clave primaria de otra tabla. Supongamos que tenemos una base de
datos con las dos tablas. Como podemos ver en la tabla de la figura 4.0 la columna
NumeroCliente hace de clave primaria, pero en la tabla de la figura 5.0 la columna de
NumeroCliente hace de clave externa. La clave primaria NumeroCliente de la figura 4.0
hace referencia a toda la fila, evitando así errores tipográficos y ahorrando espacio físico.
La base de datos no debe contener valores de clave ajena sin concordancia. Así como los
valores de clave primaria representan identificadores de entidades, las claves ajenas
representan referencia a entidades.
Surgen los siguientes dos puntos: - La integridad referencial exige concordancia en las
claves ajenas, con las claves primarias, no con la claves alternativas. - Los conceptos de
clave ajena e integridad referencial se definen uno en termino del otro.
Clave candidata
Si tenemos al atributo ID_empleado como clave primaria, aunque podemos ver que
tenemos a otro atributo llamado Seguro Social que también lo podemos utilizar de clave
primaria, puesto que se supone que éste sea unívoco para cada persona, entonces
decimos que tanto ID_empleado como Seguro Social son claves candidatas. Por lo general
la forma más eficiente y segura para escoger o hacer la clave primaria es poniendo un
número y aumentando éste a medida que se van añadiendo filas, pero si de casualidad se
diera el caso de que existan varias claves candidatas de las cuales se deba escoger la clave
primaria, esta elección se hace utilizando el sentido común.
Clave alternativa
Son aquellas claves candidatas que no han sido elegidas. En el ejemplo anterior Seguro
Social pasaría a ser una clave alternativa en caso de no ser elegida como clave primaria.
Clave simple
Clave compuesta
Formas Normales
Las primeras tres formas normales son suficientes para cubrir las necesidades de la
mayoría de las bases de datos. El creador de estas 3 primeras formas normales (o reglas)
fue Edgar F. Codd, éste introdujo la normalización en un artículo llamado A Relational
Model of Data for Large Shared Data Banks Communications of the ACM, Vol. 13, No. 6,
June 1970, pp. 377-387[1].
Una relación está en Primera Forma Normal si y sólo si todos los dominios son atómicos.
Un dominio es atómico si los elementos del dominio son indivisibles.
Por ejemplo:
La Relación:
Una columna no puede tener multiples valores. Los datos estan atomicos (Si a cada valor
de X le pertenece un valor de Y, entonces a cada valor de Y le pertenece un valor de X).
La regla de la Primera Forma Normal establece que las columnas repetidas deben
eliminarse y colocarse en tablas separadas
Está en cuarta forma normal y toda dependencia-join viene implicada por claves
candidatas.
Reglas de Codd
Codd se dio de cuenta que existían bases de datos en el mercado las cuales decían ser
relacionales, pero lo único que hacían era guardar la información en las tablas, sin estas
tablas estar literalmente normalizadas; entonces éste publicó 12 reglas que un verdadero
sistema relacional debería de tener, en la práctica algunas de ellas son difíciles de
realizar.Un sistema podrá considerarse "más relacional" cuanto más siga estas reglas.
Cualquier cosa que no exista en una tabla no existe del todo. Toda la información,
incluyendo nombres de tablas, nombres de vistas, nombres de columnas, y los
datos de las columnas deben estar almacenados en tablas dentro de las bases de
datos. Las tablas que contienen tal información constituyen el Diccionario de
Datos.
Esto significa que dado un nombre de tabla, dado el valor de la clave primaria, y
dado el nombre de la columna requerida, deberá encontrarse uno y solamente un
valor. Por esta razón la definición de claves primarias para todas las tablas es
prácticamente obligatoria.
"Debe haber al menos un lenguaje que sea integral para soportar la definición de
datos, manipulación de datos, definición de vistas, restricciones de integridad, y
control de autorizaciones y transacciones".
Esto significa que debe haber por lo menos un lenguaje con una sintaxis bien
definida que pueda ser usado para administrar completamente la base de datos.
La mayoría de las RDBMS permiten actualizar vistas simples, pero deshabilitan los
intentos de actualizar vistas complejas.
"La capacidad de manejar una base de datos con operandos simples aplica no solo
para la recuperación o consulta de datos, sino también para la inserción,
actualización y borrado de datos".
Esto significa que las cláusulas SELECT, UPDATE, DELETE e INSERT deben estar
disponibles y operables sobre los registros, independientemente del tipo de
relaciones y restricciones que haya entre las tablas.
2. Para cada valor de clave foránea deberá existir un valor de clave primaria
concordante. La combinación de estas reglas aseguran que haya Integridad
referencial.
"El sistema debe poseer un lenguaje de datos que pueda soportar que la base de
datos esté distribuida físicamente en distintos lugares sin que esto afecte o altere a
los programas de aplicación".
El soporte para bases de datos distribuidas significa que una colección arbitraria de
relaciones, bases de datos corriendo en una mezcla de distintas máquinas y
distintos sistemas operativos y que esté conectada por una variedad de redes,
pueda funcionar como si estuviera disponible como en una única base de datos en
una sola máquina.
"Si el sistema tiene lenguajes de bajo nivel, estos lenguajes de ninguna manera
pueden ser usados para violar la integridad de las reglas y restricciones expresadas
en un lenguaje de alto nivel (como SQL)".
Algunos productos solamente construyen una interfaz relacional para sus bases de
datos No relacionales, lo que hace posible la subversión (violación) de las
restricciones de integridad. Esto no debe ser permitido.
Tras ser postulados sus fundamentos en 1970 por Edgar Frank Codd, de los laboratorios
IBM en San José (California), no tardó en consolidarse como un nuevo paradigma en los
modelos de base de datos.
El modelo relacional para la gestión de una base de datos es un modelo de datos basado
en la lógica de predicado y en la teoría de conjuntos.
Este modelo considera la base de datos como una colección de relaciones. De manera
simple, una relación representa una tabla, en que cada fila representa una colección de
valores que describen una entidad del mundo real. Cada fila se denomina tupla o registro
y cada columna campo.
1. Estructura de datos
2. Integridad de datos
3. Manipulación de datos
Estructura de datos
Elmasri, Ramez, "Fundamentos de sistemas de bases de datos", Madrid [etc.] Pearson Educación
2002.
Pérez López, César, "Oracle 9i administración y análisis de bases de datos", Madrid Ra-Ma D.L.
2002.
Luque Ruiz, Irene, "Bases de datos desde Chen hasta Codd con Oracle", Madrid Ra-Ma D.L. 2001.
Miguel Castaño, Adoración de, "Concepción y diseño de bases de datos del modelo E/R al modelo
relacional", Madrid Ra-ma D.L. 1993.
Miguel Castaño, Adoración de, "Diseño de bases de datos relacionales", Madrid RA-MA D.L. 1999.
Ullman, Jeffrey D., "Introducción a los Sistemas de Bases de Datos", México [etc.] Prentice Hall
1999.
Enlaces de interés:
http://es.wikipedia.org/wiki/Normalizaci%C3%B3n_de_bases_de_datos
http://support.microsoft.com/kb/283878/es
http://www.eet2mdp.edu.ar/alumnos/MATERIAL/MATERIAL/info/infonorma
.pdf
http://www.lsi.upc.edu/~bcasas/docencia/pfc/NormalitzacioBD.pdf