diseño logico de datos - Angel Alberto Vargas Cano

Anuncio
Angel Alberto Vargas Cano
Diseño Lógico de Datos
Ingeniero de Sistemas
1.
DISEÑO LOGICO DE DATOS
El diseño lógico de la base de datos es el proceso que determina la estructura
lógica de datos necesaria para soportar los recursos de información en una
organización. Este proceso de diseño lógico ayuda a implementar la base de datos
para satisfacer los requerimientos del usuario.
En esta fase se aplica un diseño lógico botton-down, el cual esta soportado por
medio del análisis relacional de datos o normalización. El análisis relacional de
datos permite empezar por definir elementos de datos usados por la organización,
para luego normalizar las relaciones en que ellos participan y finalmente obtener
un nuevo diagrama lógico de datos (diagrama entidad-relación), el cual
validándolo con el obtenido en fase de análisis, servirá para generar el diseño
físico de la base de datos.
1.1.
AGRUPACION DE ELEMENTOS DE DATOS EN RELACIONES
PRIMARIAS
Una relación primaria es una lista de elementos de datos que es registrada o
grabada para que sea normalizada más tarde.
Basados en el modelo lógico de datos, se puede empezar por agrupar los
elementos de datos en relaciones primarias, o sea darle atributos a las entidades.
El diagrama del modelo lógico de datos ayuda a determinar que relaciones
primarias se necesita definir:
Cada entidad de datos en el modelo lógico de datos tiene una correspondencia
uno a uno con una relación primaria.
Identificar los elementos de datos asociados con cada entidad, como
elementos de datos de una relación primaria.
Crear una relación primaria para cada relación muchos a muchos en el
diagrama lógico de datos.
1.2.
NORMALIZACION DE DATOS
El proceso de normalización de datos consiste en aplicar rigurosas reglas de
dependencia de datos a los elementos de datos en el sistema. El resultado es un
conjunto de registros lógicos de la base de datos sin redundancia y no ambiguos.
Cada tipo de registro es identificado por una llave única y por elementos de datos
que son dependientes bajo esa llave.
La normalización es una técnica para descomponer estructuras de datos en
pequeñas unidades. Es estas pequeñas unidades, cada atributo depende
totalmente de la llave primaria de la entidad donde reside.
La normalización depende de la comprensión funcional de los datos en una
organización y como se relacionan entre ellos.
Manual de Diseño de Bases de Datos - Proceso de Normalización
Página 1 de 8
Angel Alberto Vargas Cano
Diseño Lógico de Datos
Ingeniero de Sistemas
Algunos de los beneficios de la normalización son los siguientes:
Ayuda al diseñador a entender mejor a la empresa.
Minimiza la inconsistencia de los datos y su redundancia.
Minimiza el impacto de los futuros cambios de los datos.
Minimiza el mantenimiento de los datos.
Previene de las modificaciones anómalas.
Antes de comenzar con la normalización de los datos se debe:
Conocer el negocio.
Conocer exactamente lo que los usuarios esperan que el sistema haga.
Entender a fondo la semántica de los elementos (datos) y los grupos afectados
en el diseño.
1.2.1. CONCEPTOS BASICOS DE NORMALIZACION
Llave: es el atributo o conjunto de atributos de una entidad que sirve de
identificador. También se le denomina llave primaria o clave.
Si una entidad posee varios atributos o conjuntos de los mismos, que
independientemente sirven para identificarla se tomará una llave según se desee y
las otras se ignoran.
Dependencia: es el estado de estar en función de otro.
Dependencia funcional: un atributo de una entidad es funcionalmente
dependiente de otro, si y solo si, cada valor del segundo determina el valor del
primero.
Dado los ítem de datos A y B , B es funcionalmente dependiente de A si para
cualquier valor de A existe uno y solamente un valor B asociado con A.
Este es el resultado deseado de la primera forma normal.
Ejemplo: el atributo B es funcionalmente dependiente de A si el valor de A
determina el valor de B. si conoces un nombre de empleado o su número, puede
determinar su dirección.
Determinante: un atributo es determinante si esta en la cara izquierda de una
dependencia funcional. De acuerdo con el anterior ejemplo, A es determinante de
B.
Dependencia funcional completa: un atributo es dependiente completamente de
un conjunto de atributos , si funcionalmente depende de la totalidad pero no de
cualquier parte de ellos.
Este es el resultado para la segunda forma normal.
Manual de Diseño de Bases de Datos - Proceso de Normalización
Página 2 de 8
Angel Alberto Vargas Cano
Diseño Lógico de Datos
Ingeniero de Sistemas
Independencia mutua: dos atributos de una entidad son mutuamente
independientes, si ninguno depende directamente del otro.
Dependencia transitiva: un atributo de una entidad tiene dependencia funcional
transitiva de la llave, si y solo si no depende directamente de esta. Es decir, que
es la dependencia de un atributo con otro que no sea la llave.
Dado A, B y C, si B es funcionalmente dependiente de A, y si C es funcionalmente
dependiente de B, entonces C es transitivamente dependiente de A.
La eliminación de las dependencias transitivas es el resultado deseado de la
tercera forma normal.
Llave única: es un ítem de datos o combinación de ítem de datos cuyo valor
identifica una única ocurrencia de una entidad.
Llave principal: es un ítem de datos que es usado para representar a la entidad
en la base de datos.
Una llave principal de una entidad, también es llave principal para su
correspondiente relación.
Llave secundaria: es un ítem de datos que se usa en ciertas funciones del
sistema para acceder a una ocurrencia de la entidad.
Llave extranjera: (foreign key) es un ítem de datos de una entidad que se usa
como llave principal de otra entidad. Una llave extranjera se usa para relacionar
dos entidades.
Llave compuesta: es una llave principal de una entidad, que se compone de dos
o más llaves extranjeras.
Una entidad que tiene una llave compuesta, es una típica entidad unión para
deshacer una relación de muchos a muchos (n:n).
Datos no llave: son todos los ítem de datos de una entidad que no son llaves
únicas, llaves principales, llaves secundarias o llaves extranjeras.
1.2.2. FORMAS NORMALES
1.2.2.1.
PRIMERA FORMA NORMAL (1FN)
Un registro esta en primera forma normal, si y solo si todos sus atributos son
unitarios, esto es, no repetitivos.
Es decir que una relación está en 1FN cuando todos sus archivos no son
descomponibles.
Para determinar si una entidad está en 1FN, se debe hacer la siguiente pregunta:
¿Están todos los atributos en la entidad relacionados uno a uno y están todos los
atributos dependientes de la llave primaria?.
Manual de Diseño de Bases de Datos - Proceso de Normalización
Página 3 de 8
Angel Alberto Vargas Cano
Diseño Lógico de Datos
Ingeniero de Sistemas
1.2.2.2.
SEGUNDA FORMA NORMAL (2FN)
Un registro esta en 2FN, si y solo si está en 1FN y cada atributo no llave es
funcionalmente dependiente de la llave primaria en su totalidad.
Para determinar si una entidad está en 2FN, se debe responder la siguiente
pregunta: ¿Está la entidad en la 1FN y están todos los atributos en la entidad
directamente dependientes de la llave de entrada?.
1.2.2.3.
TERCERA FORMA NORMAL (3FN)
Un registro esté es 3FN, si y solo si está es 2FN y para cada atributo no llave no
existe dependencia transitiva de la llave.
Para determinar si una entidad está en 3FN, se debe responder la siguiente
pregunta: ¿Está la entidad en la 2FN y están todos los atributos en tablas
independientes uno de otros?.
1.2.3. PROCESO DE NORMALIZACION A TERCERA FORMA NORMAL (3FN)
1.2.3.1.
PASO No.1: LISTA DE DATOS NO NORMALIZADOS
La lista de los atributos creados para satisfacer las funciones del negocio están en
entidades de datos no normalizados. Para listar las entidades no normalizadas,
efectuar los siguientes pasos:
1.
Listar atributos por cada entidad. Por cada entidad en el diagrama LDS, listar
todos los atributos.
2.
Identificar la llave primaria. Por cada entidad, elegir entre los atributos aquel
que identifique unívocamente a cada ocurrencia. Se identifica este atributo
como llave primaria. Si no hay atributo que identifique únicamente una
entidad, puede ser necesario combinar dos o más atributos para crear una
llave única.
3.
Borrar campos calculados. Elegir entre los atributos los campos calculados
que cambias cuando la base de datos es actualizada. Borrar estos atributos
en el diseño si se está seguro que su ausencia no va a incidir en la eficiencia
del proceso que los requiera. Sus valores serán calculados en la
programación.
1.2.3.2.
PASO No.2: LISTA DE DATOS EN PRIMERA FORMA NORMAL
La 1FN trata con los tipos de entidades. Todas las ocurrencias de un tipo de
entidad debe contener el mismo número de atributos.
Para normalizar entidades a 1FN, se deben borrar grupos repetitivos, así:
1.
Por cada grupo repetitivo identificado, crear una nueva entidad.
2.
Listar los atributos.
Manual de Diseño de Bases de Datos - Proceso de Normalización
Página 4 de 8
Angel Alberto Vargas Cano
Diseño Lógico de Datos
Ingeniero de Sistemas
3.
Identificar la llave primaria, generalmente conformada por la llave principal de
la entidad origen y el atributo o atributos que identifican el grupo repetitivo.
1.2.3.3.
PASO No.3: LISTA DE DATOS EN SEGUNDA FORMA NORMAL
La segunda y tercera forma normal tratan sobre las relaciones entre las llaves y
los atributos no llave. Un atributo no llave debe suministrar un hecho alrededor de
toda la llave.
Para la 2FN, se deben seguir los siguientes pasos:
1.
Identificar las entidades con las llaves compuestas de más de un atributo.
2.
Borrar atributos parcialmente dependientes, así:
2.1.
Localizar cualquier atributo que sea dependiente de solamente parte de
una llave compuesta.
2.2.
Borrar esos atributos y crear una nueva entidad. Crear una nueva
relación para relacionar la nueva entidad con la entidad desde la cual ha
sido borrado.
1.2.3.4.
PASO No.4: LISTA DE DATOS EN TERCERA FORMA NORMAL
La 3FN trata las relaciones entre los atributos no llave.
Para llevar a cabo la 3FN, se deben seguir los siguientes pasos:
1.
Examinar las relaciones entre las posibles combinaciones de atributos en la
entidad, buscando las posibles interdependencias de los datos.
2.
Borrar esos atributos y crear una nueva entidad.
3.
Marcar el atributo o atributos llave en la nueva entidad. El atributo o atributos
llave llegará a ser llave externa en la nueve entidad original.
1.2.3.5.
PASO No.5: TEST PARA LA TERCERA FORMA NORMAL
Antes de dar por finalizadas las entidades, se deben hacer dos preguntas:
1.
¿dado un valor para la llave de una entidad en 3FN hay solamente un posible
valor para un atributo de la llave?
2.
¿son todos los atributos directamente dependientes del valor de la llave?
1.2.4. VALIDACION DE RELACIONES NORMALIZADAS
La tarea de normalización está basada en principios matemáticos perfectos, sin
embargo, conocer los datos y el sentido y objetivo de la aplicación, contribuye a
una buena práctica.
Se pueden establecer errores en normalización, cuestionando a las siguientes
preguntas:
Manual de Diseño de Bases de Datos - Proceso de Normalización
Página 5 de 8
Diseño Lógico de Datos
Angel Alberto Vargas Cano
Ingeniero de Sistemas
1.
¿Para cada valor único de la llave, puede cada atributo poseer uno y
solamente un valor?
2.
¿Es el valor de cada atributo directamente dependiente de la llave?
3.
¿Los datos dependen solamente de la llave, o se presentan datos candidatos
a llaves?
2.
EJERCICIOS
2.1.
EJERCICIO No.1:
Normalizar los siguientes datos, usando el proceso de normalización a 3FN e
identificar las entidades y atributos:
IddeAlumno
Identificación del Alumno
NomAlumno
Nombre del alumno
DirAlumno
Dirección del alumno
TelAlumno
Teléfono del Alumno
Ciudad
Conformado (Iddeciudad, ciudad)
EstCivil
Conformado (IddeEstCivil, Estado civil)
IddeFamiliar
Identificación del familiar
NomFamiliar
Nombre del familiar
Parentesco
Conformado(IddeParentesco, parentesco)
Carrera
Carrera Profesional(IddeCarrera, Carrera)
Semestre
Semestre que esta cursando
Asignatura
Conformado (IddeAsignatura, Asignatura)
Nota1
Primera Nota
Nota2
Segunda Nota
Nota3
Tercera Nota
Examen
Examen final
Definitiva
Nota Definitiva
La base de datos diseñada debe permitir:
1.
Conocer las asignaturas vistas por el alumno con sus respectivas notas.
2.
Guardar la información de todos los familiares del alumno
3.
Guardar información de varios teléfonos del estudiante.
Manual de Diseño de Bases de Datos - Proceso de Normalización
Página 6 de 8
Diseño Lógico de Datos
Angel Alberto Vargas Cano
Ingeniero de Sistemas
4.
Es posible que un alumno esté cursando una o dos carreras y asignaturas de
varios semestres.
2.2.
EJERCICIO No.2:
Normalizar a 3FN e identificar las relaciones entre entidades para la siguiente lista
de atributos.
IddeLibro
Identificación del libro
NomLibro
Nombre o titulo del libro
Temas
Principales temas del libro
IddePropietario
Identificación del propietario
NomPropirtario
Nombre del propietario
IddeAutor
Identificación del autor
NomAutor
Nombre del autor
IddeEditorial
Identificación de la editorial
NomEditorial
Nombre de la Editorial
IddeUbicación
Identificación del estante de ubicación del libro dentro de la
biblioteca
Grupo
Grupo al que pertenece el libro (Ciencias, matemáticas,
física..etc.)
2.3.
EJERCICIO No.3:
Se desea crear una base de datos que permita almacenar la información
relacionada con la venta y facturación de productos en una empresa comercial.
Para ello se tiene la siguiente lista de atributos:
NumFactura
FecFactura
FecVencto
FecPago
VrTotFac
IddeEstFactura
Identificador estado de la factura
DesEstFactura
Descripción del estado de la factura
IddeCliente
Identificación del cliente
NomCliente
Nombre del cliente
Manual de Diseño de Bases de Datos - Proceso de Normalización
Página 7 de 8
Diseño Lógico de Datos
Angel Alberto Vargas Cano
Ingeniero de Sistemas
TelCliente
Teléfono del cliente
DirCliente
Dirección del cliente
IddeCiudad
Identificación de la ciudad
NomCiudad
Nombre de la ciudad
IddeArticulo
Identificación del articulo
NomArticulo
Nombre del articulo
CantFact
Cantidad a facturar por articulo
VrPrecio
Precio por unidad del articulo
VrTotArticulo
Valor total del articulo a facturar
IddeProveedor
Identificador del proveedor
NomProvee
Nombre del proveedor
TelProvee
Teléfono del proveedor
DirProvee
Dirección del proveedor
Y las siguientes reglas:
1.
Los clientes y los proveedores son compañías que se identifican a través de
un código, nombre, uno o varios teléfonos, dirección y ciudad.
2.
El estado de un factura en algún momento determinado puede ser: vigente,
anulada, cancelada (pagada).
3.
En una factura se pueden facturar varios artículos.
4.
El valor total por articulo corresponde al producto de la cantidad por el precio.
5.
El valor total de la factura corresponde a la suma de todos los valores
facturados por articulo para dicha factura.
6.
Se mantiene vigente un solo precio por articulo y puede ser modificado en
cualquier momento.
7.
El precio de venta de cada articulo se debe almacenar en cada factura.
8.
Un proveedor puede suministrar varios artículos y un articulo puede ser
provisto por varios proveedores.
Aplicar todo los pasos para normalizar la base de datos a 3FN
Manual de Diseño de Bases de Datos - Proceso de Normalización
Página 8 de 8
Descargar