Base de Datos Normalización Primera Forma Normal Segunda Forma Normal Tercera Forma Normal Prof....
-
Upload
eustaquio-urquidez -
Category
Documents
-
view
128 -
download
1
Transcript of Base de Datos Normalización Primera Forma Normal Segunda Forma Normal Tercera Forma Normal Prof....
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
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.
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
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
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.
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
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)
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)
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.
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,
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
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
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
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.
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.
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
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.