base de datos normalización primera forma normal segunda forma normal tercera forma normal prof....

17
Base de Datos Base de Datos Normalización Normalización Primera Forma Normal Primera Forma Normal Segunda Forma Normal Segunda Forma Normal Tercera Forma Normal Tercera Forma Normal Prof. Limett Prof. Limett Lugo Lugo

Upload: eustaquio-urquidez

Post on 11-Apr-2015

128 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Base de Datos Normalización Primera Forma Normal Segunda Forma Normal Tercera Forma Normal Prof. Limett Lugo

Base de DatosBase de Datos

NormalizaciónNormalizaciónPrimera Forma NormalPrimera Forma NormalSegunda Forma NormalSegunda Forma NormalTercera Forma NormalTercera Forma Normal

Prof. Limett LugoProf. Limett Lugo

Page 2: Base de Datos Normalización Primera Forma Normal Segunda Forma Normal Tercera Forma Normal Prof. Limett Lugo

COMO REDUCIR UN PROBLEMA DETERMINADO A UN COMO REDUCIR UN PROBLEMA DETERMINADO A UN DISEÑO DE BASE DE DATOSDISEÑO DE BASE DE DATOS

Revisar cada uno de los pasos que se realizan para llevar a cabo Revisar cada uno de los pasos que se realizan para llevar a cabo la tarea o proceso en estudio.la tarea o proceso en estudio.

Evaluar en cual de los pasos se presenta el problema y estudiar Evaluar en cual de los pasos se presenta el problema y estudiar las posibilidades para solventarlo, ya que no siempre se ameritará las posibilidades para solventarlo, ya que no siempre se ameritará desarrollar un sistema para ello.desarrollar un sistema para ello.

Si se ha determinado que se debe solventar mediante el desarrollo Si se ha determinado que se debe solventar mediante el desarrollo de una aplicación computarizada se debe realizar lo siguiente.de una aplicación computarizada se debe realizar lo siguiente.

Definir cual es el proceso que se desea automatizar.Definir cual es el proceso que se desea automatizar. En base a lo anterior, debe definir cuales serán los datos que el En base a lo anterior, debe definir cuales serán los datos que el

usuario deberá introducir al sistema para poder generar este la usuario deberá introducir al sistema para poder generar este la información deseada, a estos datos se le denomina información deseada, a estos datos se le denomina determinación determinación de requerimientos de entrada.de requerimientos de entrada.

Luego, deberá definir cual los procesos a los cuales serán sometidos Luego, deberá definir cual los procesos a los cuales serán sometidos los datos que el usuario introducirá al sistema, es decir, si solo se los datos que el usuario introducirá al sistema, es decir, si solo se almacenarán, si se realizarán calculos con estros, entre otros. A este almacenarán, si se realizarán calculos con estros, entre otros. A este paso de le denomina paso de le denomina Definición de requerimientos de Definición de requerimientos de procesamiento.procesamiento.

Page 3: Base de Datos Normalización Primera Forma Normal Segunda Forma Normal Tercera Forma Normal Prof. Limett Lugo

Seguidamente, definirá cuales serán los reportes por pantalla e Seguidamente, definirá cuales serán los reportes por pantalla e impreso que amerita que el sistema emita, y a esto se le impreso que amerita que el sistema emita, y a esto se le denomina denomina Definición de requerimientos de salidasDefinición de requerimientos de salidas..

Una vez evaluados los requerimientos, se hace un listado con los Una vez evaluados los requerimientos, se hace un listado con los requerimientos de entrada.requerimientos de entrada.

Agrupa los requerimientos de entrada por tema, área, o Agrupa los requerimientos de entrada por tema, área, o simplemente los que considere que guarden relación entre si.simplemente los que considere que guarden relación entre si.

Por cada grupo de requerimientos de entrada elabore una tabla y Por cada grupo de requerimientos de entrada elabore una tabla y asignele un nombre a la misma de acuerdo a los datos que esta asignele un nombre a la misma de acuerdo a los datos que esta contenga, este nombre no debe llevar espacios en blanco.contenga, este nombre no debe llevar espacios en blanco.

Una vez que tenga las tablas, proceda a normalizar cada tabla.Una vez que tenga las tablas, proceda a normalizar cada tabla. Luego, deberá definir que tablas deben relacionarse para poder Luego, deberá definir que tablas deben relacionarse para poder

generar la información definida en los requerimientos de salida.generar la información definida en los requerimientos de salida. Debe especificar los campos claves por cada tabla.Debe especificar los campos claves por cada tabla.

COMO REDUCIR UN PROBLEMA DETERMINADO A UN COMO REDUCIR UN PROBLEMA DETERMINADO A UN DISEÑO DE BASE DE DATOSDISEÑO DE BASE DE DATOS

Page 4: Base de Datos Normalización Primera Forma Normal Segunda Forma Normal Tercera Forma Normal Prof. Limett Lugo

El siguiente paso es, establecer la restricción de asignaciones por El siguiente paso es, establecer la restricción de asignaciones por cada relación existente entre las tablas de la base de datos.cada relación existente entre las tablas de la base de datos.

Luego, deberá definir el tipo de valor que contendrá cada campo de Luego, deberá definir el tipo de valor que contendrá cada campo de cada tabla, tomando en cuenta que los campos por los cuales se cada tabla, tomando en cuenta que los campos por los cuales se relacionarán las tablas deberán ser del mismo tipo para asegurar relacionarán las tablas deberán ser del mismo tipo para asegurar que la relación sea efectiva.que la relación sea efectiva.

Una vez relacionadas las tablas de la base de datos, y definido los Una vez relacionadas las tablas de la base de datos, y definido los tipos de datos, se puede decir que usted, ha realizado el diseño de tipos de datos, se puede decir que usted, ha realizado el diseño de una base de datos.una base de datos.

Una vez concluido el diseño, deberá seleccionar un sistema Una vez concluido el diseño, deberá seleccionar un sistema manejador de base de datos para elaborar el diseño anteriormente manejador de base de datos para elaborar el diseño anteriormente efectuado y realizar los formularios o pantallas a través de las efectuado y realizar los formularios o pantallas a través de las cuales los usuarios introducirán los datos al sistemas –cuales los usuarios introducirán los datos al sistemas –Requerimientos de entrada-, las consultas -Requerimientos de Requerimientos de entrada-, las consultas -Requerimientos de salidas-, la programación de los procedimientos necesarios –salidas-, la programación de los procedimientos necesarios –Requerimientos de procesamiento-, y los informes o reportes-Requerimientos de procesamiento-, y los informes o reportes-Requerimientos de salidas-.Requerimientos de salidas-.

COMO REDUCIR UN PROBLEMA DETERMINADO A UN COMO REDUCIR UN PROBLEMA DETERMINADO A UN DISEÑO DE BASE DE DATOSDISEÑO DE BASE DE DATOS

Page 5: Base de Datos Normalización Primera Forma Normal Segunda Forma Normal Tercera Forma Normal Prof. Limett Lugo

ClavesClaves

CLAVES.CLAVES. Super Clave.Super Clave. Es un conjunto de uno o más atributos que Es un conjunto de uno o más atributos que

considerados conjuntamente, permite identificar de forma única a considerados conjuntamente, permite identificar de forma única a una entidad en un conjunto de entidades.una entidad en un conjunto de entidades.

Claves candidatas.Claves candidatas. Son las diferentes opciones de Son las diferentes opciones de superclaves mínimas que con las que se disponen en una tabla superclaves mínimas que con las que se disponen en una tabla para hacerla clave principal.para hacerla clave principal.

Clave primaria.Clave primaria. Es un conjunto de uno o más atributos Es un conjunto de uno o más atributos que, tomados colectivamente, permiten identificar de forma única que, tomados colectivamente, permiten identificar de forma única una entidad en el conjunto de entidades y una relación en el una entidad en el conjunto de entidades y una relación en el conjunto de relaciones, esta clave surge de las claves candidatas. conjunto de relaciones, esta clave surge de las claves candidatas. Se usa el termino de clave principal para denotar una clave Se usa el termino de clave principal para denotar una clave candidata que elige el diseñador de la base de datos como el candidata que elige el diseñador de la base de datos como el medio principal de identificar entidades dentro de un conjunto de medio principal de identificar entidades dentro de un conjunto de entidades.entidades.

Page 6: Base de Datos Normalización Primera Forma Normal Segunda Forma Normal Tercera Forma Normal Prof. Limett Lugo

DefinicionesDefiniciones Atributos:Atributos: Unidad mínima de Unidad mínima de

datos, Campos de las tablas, es un datos, Campos de las tablas, es un dato simple sin sentido por si solos, dato simple sin sentido por si solos, como por ejemplo: Edad, Nombre, como por ejemplo: Edad, Nombre, Cédula, Dirección, teléfono.Cédula, Dirección, teléfono.

Tupla:Tupla: es la unidad mínima de es la unidad mínima de información, se denomina al información, se denomina al conjunto de atributos relacionados conjunto de atributos relacionados entre si que caracterizan a una entre si que caracterizan a una entidad u objeto. Representa al entidad u objeto. Representa al registro en una tabla.registro en una tabla.

Afinidad:Afinidad: es la denominación que es la denominación que se le da a un conjunto de entidades se le da a un conjunto de entidades o relaciones, representa una tabla, o relaciones, representa una tabla, y es una base de información sobre y es una base de información sobre un objeto específico. Ejemplo:un objeto específico. Ejemplo:

CEDULACEDULA NOMBRENOMBRE DIRECCIÓNDIRECCIÓN EDADEDAD TELEFONOTELEFONO

10.223.310.223.33333

LUIS LUIS PEREZPEREZ

CALLE CALLE ZAMORAZAMORA

3434 04142345550414234555

2.346.782.346.7899

MARIA MARIA SALASSALAS

AV. BOLIVARAV. BOLIVAR 6060 04123453450412345345

AFINIDAD: EMPLEADO

TABLA: EMPLEADO

Tupla o registroTupla o registro

Atributo o Atributo o campocampo

Page 7: Base de Datos Normalización Primera Forma Normal Segunda Forma Normal Tercera Forma Normal Prof. Limett Lugo

Tipos de datosTipos de datosDatos Numéricos:

Permiten representar valores escalares de forma numérica, esto incluye a los números enteros y los reales. Este tipo de datos permiten realizar operaciones aritméticas comunes.

Byte: 0 – 256, Enteros (Cortos, Largos), simple, doble, decimal..

Datos lógicos:

Son aquellos que solo pueden tener dos valores (cierto o falso) ya que representan el resultado de una comparación entre otros datos (numéricos o alfanuméricos). (Sí/No, Verdadero/Falso o Activado/desactivado).

Datos alfanuméricos (string):

Es una secuencia de caracteres alfanuméricos que permiten representar valores identificables de forma descriptiva, esto incluye nombres de personas, direcciones, etc. Es posible representar números como alfanuméricos, pero estos pierden su propiedad matemática, es decir no es posible hacer operaciones con ellos. Este tipo de datos se representan encerrados entre comillas. (Memos, texto)

Page 8: Base de Datos Normalización Primera Forma Normal Segunda Forma Normal Tercera Forma Normal Prof. Limett Lugo

Tipos de datosTipos de datos

Fecha-Hora:Fecha-Hora: Permite Valores de fecha y hora para los años del 100 al 9999.ocupa 8 bytes.

Moneda:Moneda: Valores de moneda y datos numéricos utilizados en cálculos matemáticos en los que estén implicados datos que contengan entre uno y cuatro decimales. La precisión es de hasta 15 dígitos a la izquierda del separador decimal y hasta 4 dígitos a la derecha del mismo.8 bytes

Autonumérico:Autonumérico: Número secuencial (incrementado de uno a uno) único, o número aleatorio que Microsoft Access asigna cada vez que se agrega un nuevo registro a una tabla. Los campos Autonumérico no se pueden actualizar. Si desea más información, vea el tema de la propiedad Nuevos valores.4 bytes (16 bytes si el valor de la propiedad Tamaño del campo es Id. la réplica).

Objeto OLE:Objeto OLE: Objeto (como por ejemplo una hoja de cálculo de Microsoft Excel, un documento de Microsoft Word, gráficos, sonidos u otros datos binarios) vinculado o incrustado en una tabla de Microsoft Access. ocupa Hasta 1 gigabyte (limitado por el espacio disponible en disco)

Page 9: Base de Datos Normalización Primera Forma Normal Segunda Forma Normal Tercera Forma Normal Prof. Limett Lugo

Tipos de datosTipos de datos

Hipervínculo:Hipervínculo: Texto o combinación de texto y números almacenada como texto y utilizada como dirección de hipervínculo. Una dirección de hipervínculo puede tener hasta tres partes: texto: el texto que aparece en un campo o control.dirección: ruta de acceso a un archivo (ruta UNC) o página (dirección URL).subdirección: posición dentro del archivo o página.información de pantalla: el texto que aparece como información sobre herramientas. El tipo de datos hipervínculo puede contener hasta 2048 caracteres.

Page 10: Base de Datos Normalización Primera Forma Normal Segunda Forma Normal Tercera Forma Normal Prof. Limett Lugo

NormalizaciónNormalizaciónNormalizaciónNormalización

Es un proceso que clasifica relaciones, objetos, formas de Es un proceso que clasifica relaciones, objetos, formas de relación y demás elementos en grupos, en base a las características relación y demás elementos en grupos, en base a las características que cada uno posee. Si se identifican ciertas reglas, se aplica una que cada uno posee. Si se identifican ciertas reglas, se aplica una categoría; si se definen otras reglas, se aplicará otra categoría. . categoría; si se definen otras reglas, se aplicará otra categoría. . Cuando las reglas de clasificación sean más y más restrictivas, Cuando las reglas de clasificación sean más y más restrictivas, diremos que la relación está en una forma normal más elevada. La diremos que la relación está en una forma normal más elevada. La relación que está en la forma normal más elevada posible es que relación que está en la forma normal más elevada posible es que mejor se adapta a nuestra necesidades debido a que optimiza las mejor se adapta a nuestra necesidades debido a que optimiza las condiciones que son de importancia para nosotros:condiciones que son de importancia para nosotros:

La cantidad de espacio requerido para almacenar los datos es la La cantidad de espacio requerido para almacenar los datos es la menor posible;menor posible;La facilidad para actualizar la relación es la mayor posible;La facilidad para actualizar la relación es la mayor posible;La explicación de la base de datos es la más sencilla posible,La explicación de la base de datos es la más sencilla posible,

Page 11: Base de Datos Normalización Primera Forma Normal Segunda Forma Normal Tercera Forma Normal Prof. Limett Lugo

Primera Forma NormalPrimera Forma NormalPrimera Forma NormalPrimera Forma NormalPara que una relación esté en primera forma normal (1 FN), debe ser Para que una relación esté en primera forma normal (1 FN), debe ser solamente una relación propia, una matriz m por n, donde:solamente una relación propia, una matriz m por n, donde:

1.1. Las celdas deben poseer valores simples y no permitir grupos, ni Las celdas deben poseer valores simples y no permitir grupos, ni arreglos repetidos.arreglos repetidos.

2.2. Todos los ingresos en cualquier columna (Atributos) van a tener un Todos los ingresos en cualquier columna (Atributos) van a tener un nombre único, sin importar el orden de estos.nombre único, sin importar el orden de estos.

3.3. Dos hileras de una tabla no deben ser iguales.Dos hileras de una tabla no deben ser iguales.

4.4. Cuando se presentan anomalías, se procede a dividir la tabla o afinidad y Cuando se presentan anomalías, se procede a dividir la tabla o afinidad y e inicia la segunda forma normale inicia la segunda forma normal

IDID ACTIVIDADACTIVIDAD CUOTACUOTA

10001000 ESQUISESQUIS 100100

15001500 NATACIONNATACION 200200

17501750 BEISBOLBEISBOL 100100

20002000 FUTBOLFUTBOL 100100

Afinidad: Actividad

Page 12: Base de Datos Normalización Primera Forma Normal Segunda Forma Normal Tercera Forma Normal Prof. Limett Lugo

Primera Forma NormalPrimera Forma NormalPrimera Forma NormalPrimera Forma Normal

PRESONASPRESONAS RESIDENCIARESIDENCIA

PEDRO PEREZPEDRO PEREZ

MARIA RUIZMARIA RUIZCIUDADCIUDAD F_CAMBIOF_CAMBIO

SAN SAN FERNANDOFERNANDO

09-08-198909-08-1989

SAN CARLOSSAN CARLOS 07-11-199807-11-1998

BARINASBARINAS 12-12-200312-12-2003

CIUDADCIUDAD F_CAMBIOF_CAMBIO

MARACAYMARACAY 11-12-199911-12-1999

VALENCIAVALENCIA 15-03-200215-03-2002

CARACASCARACAS 20-10-200520-10-2005NO ES NO ES VALIDOVALIDO

Page 13: Base de Datos Normalización Primera Forma Normal Segunda Forma Normal Tercera Forma Normal Prof. Limett Lugo

Primera Forma NormalPrimera Forma NormalPrimera Forma NormalPrimera Forma NormalNOMBRENOMBRE CIUDADCIUDAD F_CAMBIOF_CAMBIO

PEDRO PEREZPEDRO PEREZ MARACAYMARACAY 11-12-199911-12-1999

PEDRO PEREZPEDRO PEREZ VALENCIAVALENCIA 15-03-200215-03-2002

PEDRO PEREZPEDRO PEREZ CARACASCARACAS 20-10-200520-10-2005

MARIA RUIZMARIA RUIZ SAN FERNANDOSAN FERNANDO 09-08-198909-08-1989

MARIA RUIZMARIA RUIZ SAN CARLOSSAN CARLOS 07-11-199807-11-1998

MARIA RUIZMARIA RUIZ BARINASBARINAS 12-12-200312-12-2003

COMO SE PUEDE OBSERVAR EXISTE DUPLICIDAD DE INFORMACIÓN, ASI COMO SE PUEDE OBSERVAR EXISTE DUPLICIDAD DE INFORMACIÓN, ASI QUE SE DEBE IR A LA SEGUNDA FORMA NORMALQUE SE DEBE IR A LA SEGUNDA FORMA NORMAL

Page 14: Base de Datos Normalización Primera Forma Normal Segunda Forma Normal Tercera Forma Normal Prof. Limett Lugo

Segunda Forma NormalSegunda Forma NormalSegunda Forma NormalSegunda Forma Normal Una afinidad esta en segunda forma normal, cuando está en primera Una afinidad esta en segunda forma normal, cuando está en primera

forma normal y todos sus atributo no claves dependen por completo de forma normal y todos sus atributo no claves dependen por completo de la clave principalla clave principal

CONTRATISTACONTRATISTA PRESU_PROYPRESU_PROY *PROYECTO*PROYECTO TIEMPO_EJE_PTIEMPO_EJE_P

S75S75 3232 P1P1 55

S75S75 4040 P2P2 33

S79S79 3232 P1P1 22

S79S79 2727 P3P3 77

S80S80 4040 P2P2 11

AFINIDAD: ASIGNACION

Si consideramos como clave el campo proyecto y verificamos si el resto de los campos que Si consideramos como clave el campo proyecto y verificamos si el resto de los campos que no son clase dependen por completo de la clave principal, podemos constatar que no son clase dependen por completo de la clave principal, podemos constatar que efectivamente el campo presupuesto depende directamente del proyecto, pero la contratista efectivamente el campo presupuesto depende directamente del proyecto, pero la contratista no depende del proyecto ni tampoco el tiempo_eje_p por que este depende es de la no depende del proyecto ni tampoco el tiempo_eje_p por que este depende es de la contratista, es por ello se hace necesario dividir la tabla. contratista, es por ello se hace necesario dividir la tabla.

Si consideramos como clave el campo proyecto y verificamos si el resto de los campos que Si consideramos como clave el campo proyecto y verificamos si el resto de los campos que no son clase dependen por completo de la clave principal, podemos constatar que no son clase dependen por completo de la clave principal, podemos constatar que efectivamente el campo presupuesto depende directamente del proyecto, pero la contratista efectivamente el campo presupuesto depende directamente del proyecto, pero la contratista no depende del proyecto ni tampoco el tiempo_eje_p por que este depende es de la no depende del proyecto ni tampoco el tiempo_eje_p por que este depende es de la contratista, es por ello se hace necesario dividir la tabla. contratista, es por ello se hace necesario dividir la tabla.

Page 15: Base de Datos Normalización Primera Forma Normal Segunda Forma Normal Tercera Forma Normal Prof. Limett Lugo

Segunda Forma NormalSegunda Forma NormalSegunda Forma NormalSegunda Forma Normal

*PROYECTO*PROYECTO PRESU_PROYPRESU_PROY

P1P1 3232

P2P2 4040

P3P3 2727

*CONTRATISTA*CONTRATISTA *PROYECTO*PROYECTO TIEMPO_EJE_PTIEMPO_EJE_P

S75S75 P1P1 55

S75S75 P2P2 33

S79S79 P1P1 22

S79S79 P3P3 77

S80S80 P2P2 11

AFINIDAD: AFINIDAD: PROYECTO AFINIDAD:AFINIDAD: ASIGNACION

Como se puede observar ya se encuentran ambas afinidades en 2da FN,Como se puede observar ya se encuentran ambas afinidades en 2da FN,

*Campos que conforman la clave principal. *Campos que conforman la clave principal.

Page 16: Base de Datos Normalización Primera Forma Normal Segunda Forma Normal Tercera Forma Normal Prof. Limett Lugo

Una relación o tabla se encuentra en tercera forma normal (3fn) si no Una relación o tabla se encuentra en tercera forma normal (3fn) si no existen transitividades o dependencias transitivas entre sus atributos existen transitividades o dependencias transitivas entre sus atributos y si ya se encuentra en 2 fny si ya se encuentra en 2 fn

Tercera Forma NormalTercera Forma NormalTercera Forma NormalTercera Forma Normal

Afinidad:Afinidad: Vivencia (CI, Edificio, Cuota)

C.I.C.I. EDIFICIOEDIFICIO CUOTACUOTA

13.111.11113.111.111 CUMBOTOCUMBOTO 150150

11.234.23411.234.234 CATACATA 300300

15.345.76515.345.765 PINOPINO 200200

10.432.11110.432.111 PAOPAO 250250

EDIFICIO C.I.C.I.

CUOTA

En esta tabla VIVENCIA se registran las cedulas de las personas que viven en En esta tabla VIVENCIA se registran las cedulas de las personas que viven en un edificio y la cuota de condominio que deben pagar por vivir alli, los 3 un edificio y la cuota de condominio que deben pagar por vivir alli, los 3 campos se refieren a la vivencia de inquilinos en un edificio y esta en 1era, y campos se refieren a la vivencia de inquilinos en un edificio y esta en 1era, y 2daFN. Siendo la clave la CI. El campo edificio se relaciona con la cedula del 2daFN. Siendo la clave la CI. El campo edificio se relaciona con la cedula del inquilino que vive en ese edificio, sin embargo la cuota que es el monto de inquilino que vive en ese edificio, sin embargo la cuota que es el monto de condominio que pagan los inquilinos, se relacionan con el inquilino pero no condominio que pagan los inquilinos, se relacionan con el inquilino pero no depende de este directamente sino del edificio (relación transitiva), ya que de depende de este directamente sino del edificio (relación transitiva), ya que de acuerdo al edificio se define la cuotaacuerdo al edificio se define la cuota

Page 17: Base de Datos Normalización Primera Forma Normal Segunda Forma Normal Tercera Forma Normal Prof. Limett Lugo

Tercera Forma NormalTercera Forma NormalTercera Forma NormalTercera Forma Normal

C.I.C.I. EDIFICIOEDIFICIO

13.111.11113.111.111 CUMBOTOCUMBOTO

11.234.23411.234.234 CATACATA

15.345.76515.345.765 PINOPINO

10.432.11110.432.111 PAOPAO

EDIFICIOEDIFICIO CUOTACUOTA

CUMBOTOCUMBOTO 150150

CATACATA 300300

PINOPINO 200200

PAOPAO 250250

AFINIDAD: VIVENCIA AFINIDAD: EDIFICIO

Al existir una dependencia transitiva se hace necesario dividir la tabla vivencia y generar dos tablas, la tabla VIVENCIA con los campos CI y Edificio que se relacionan sin dependencias transitivas, y la tabla EDIFICIO que queda con los campos edificio y cuota.