Download DISENO RELACIONAL DE BASES DE DATOS

Document related concepts

Clave primaria wikipedia , lookup

Normalización de bases de datos wikipedia , lookup

Clave sustituta wikipedia , lookup

Integridad referencial wikipedia , lookup

Base de datos relacional wikipedia , lookup

Transcript
DISENO
RELACIONAL
DE BASES DE DATOS
3. DISEÑO RELACIONAL DE BASES DE DATOS.
El desarrollo de Bases de Datos es un enfoque TOP-DOWN, que transforma los requerimientos
de información en una base de datos operacional.
3.1. MODELO CONCEPTUAL DE DATOS.
El Modelo Conceptual de Datos es el primer paso del proceso TOP-DOWN para el desarrollo
de Bases de Datos. Se ejecuta durante la fase de análisis y estrategia en el Ciclo de Desarrollo de
Sistemas.
MODELO
CONCEPTUAL DE
DATOS
DISENO DE
BASE DE DATOS
CONSTRUCCI~N
DE LA BASE DE
DATOS
BASE DE DATOS OPERACIONAL
El objetivo del Modelo Conceptual de Datos, es desarrollar el Modelo Entidad - Relación
(E-R), que represente los requerimientos de información de las Empresas o Instituciones.
EJEMPLO:
El siguiente modelo Entidad
-
Relación
representa los requerimientos de información del
Departamento de Recursos Humanos.
(
EMPLEADO
#
Responsable de
*
*
número
nombre
* apellido
o empleo
* fecha de ingreso
o salario
o comisión
El gerente de
DEPARTAMENTO
....................................................
'I
Responsable de
Bajo las ordenes de
;
....
.............................
Componentes del Modelo Entidad - Relación:
a. Entidades.
Son los aspectos importantes acerca de los cuales se necesita información.
b. Relaciones.
Como se relacionan las entidades.
c. Atributos.
Información especifica, la cual necesita ser almacenada.
Un modelo Entidad - Relación *p+7Xes una forma efectiva de integrar y documentar requerimientos
de información de una organización.
COMUNICACIÓN DEL USUARIO.
Los usuarios pueden entender fácilmente la forma gráfica de un modelo E-R.
FÁCIL DE DESARROLLAR.
Un modelo E-R puede ser fácilmente desarrollado y refinado.
DEPINICI~NDEL ALCANCE.
Un modelo E-R provee una clara imagen del alcance de los requerirnientos de información de
las organizaciones.
INTEGRACION DE MULTIPLES APLICACIONES.
Un modelo E-R nos provee una estructura adecuada para la integración de múltiples
aplicaciones, desarrollar proyectos, y10 paquetes de aplicación adquiridos.
Notas Importantes:
u Hay que asegurarse de establecer completamente los requerimientos de la información de la
organización durante la etapa del modelo conceptual de datos.
o Los cambios de los requerimientos durante las etapas finales en el Ciclo de Vida de Desarrollo,
pueden ser extremadamente caros.
OTRAS DEFINICIONES DE ENTIDAD.
Un Objeto de interés para la Organización.
Una entidad es una clase o categoría de las cosas.
Una entidad es una cosa con un nombre (Sustantivo).
EJEMPLOS:
Los siguientes pueden ser aspectos importantes acerca de las necesidades de información de una
Organización:
EMPLEADO.
DEPARTAMENTO.
=
PROYECTO.
ATRIBUTOS DE ENTIDADES.
Los atributos describen entidades y son las piezas específicas de información, las cuales
necesitan ser conocidas.
EJEMPLOS:
Posibles atributos para la entidad EMPLEADO son:
* Número de clave, nombre, fecha de nacimiento y salario.
Posibles atributos para la entidad DEPARTAMENTO son:
* Nombre, número y localización.
ESTANDARES PARA LA DIAGRAMACIÓN DE ENTIDADES.
Cajas de cualquier dimensión con las esquinas redondeadas.
Un nombre único para cada entidad.
Nombre de la entidad en mayúscula y en singular.
Nombre de sinónimo, entre paréntesis (opcional).
Nombre de los atributos en minúscula.
EJEMPLOS:
f
i
EMPLEADO
(EMPLOYE)
.
7
número clave
nombre
fecha de nacimiento
salario
DEPARTAMENTO
número
nombre
localización
Notas:
o Un sinónimo es un nombre alternativo para una entidad.
o Los sinónimos son útiles cuando dos grupos de usuarios tienen diferentes nombres para el
mismo aspecto importante.
INSTANCIAS DE ENTIDADES.
Cada entidad debe tener múltiples ocurrencias o instancias.
EJEMPLOS:
m
La entidad EMPLEADO tiene una ocurrencia para cada empleado de la compañía.
o
Ricardo Figueroa, Marlene Chávez, Alirio Ramos y
Osbaldo Calderón son todas
ocurrencias de la entidad EMPLEADO.
m
La entidad DEPARTAMENTO tiene una ocurrencia para cada departamento de la compañia.
El departamento de Mantenimiento, el departamento de Administración y el departamento
de Desarrollo son todas instancias de la entidad DEPARTAMENTO.
Cada instancia de la entidad tiene valores específicos para cada atributo de la entidad.
EJEMPLO:
La entidad EMPLEADO tiene los atributos nombre, número de clave, fecha de nacimiento y salario.
El caso de Ricardo Figueroa. tiene los siguientes valores: nombre Ricardo Figueroa, número de
clave 1322, fecha de nacimiento 24-DIC-1950, y salario de $25,000.
NOTAS
u Es necesario distinguir entre entidad e instancia.
u Una entidad es una clase o categoría de "cosas", como por ejemplo EMPLEADO.
o Una ocurrencia o instancia es una "cosa" en específico, como por ejemplo el EMPLEADO
Ricardo Figueroa.
ASIGNAR IDENTIFICADORES ÚNICOS A ENTIDADES.
Cada instancia debe de ser identificada como única, de otras instancias de la misma entidad.
Un atributo o conjunto de atributos que identifican de manera única a una instancia dentro
de una entidad, son llamados Identificadores Unicos (UID).
EJEMPLOS:
En una organización cada ocurrencia de DEPARTAMENTO se identifica de manera única por el
número de departamento.
f
I
DEPARTAMENTO
#* número
* nombre
* localización
El UID para la entidad DEPARTAMENTO es el atributo número.
Para un pequeño teatro, cada boleto es identificado como único porque tiene la fecha de
presentación y el número de asiento.
BOLETO DE TEATRO
#* fecha de presentación
#* número de asiento
El UID para la entidad BOLETO DE TEATRO es la combinación de dos atributos: fecha de
presentación y número de asiento.
Notas Importantes:
o Ver los atributos que identifican de manera única una instancia dentro de una entidad.
o Si una entidad no puede tener un identificado1 único (UID), ésta definitivamente no puede ser
especificada como una entidad.
o Los atributos que identifican de manera única una entidad y pertenece a los UID de las
entidades, son precedidos por #*; a diferencia de los atributos no-UID obligatorios que los
precede un * y de los opcionales que los precede una O .
29
IDENTIFICAR Y MODELAR ENTIDADES
Mediante los siguientes pasos se puede llegar a identificar y modelar las entidades de un
conjunto de notas de entrevistas:
a. Examinar los sustantivos. ¿Son aspectos importantes?
b. Poner un nombre a cada entidad.
c. ¿Existe información de interés para la compañía acerca de la entidad?
d. ¿Cada instancia de la entidad es identificable de manera única? ¿Cuál o cuales atributos sirven
como UID?
e. Escribir la descripción de la entidad
"Un EMPLEADO tiene como significado ser un
EMPLEADO que trabaja para la compañia. Por ejemplo, Marlene Chávez y Alirio Ramos son
empleados".
f. Diagramar cada entidad y sus atributos.
Nota importante:
o No descalificar tan rápido una entidad candidata, ya que posteriormente algunos atributos
adicionales para la compañia pueden ser descubiertos.
3.1.2. RELACIONES.
Una relación es bidireccional y representa la asociación entre dos entidades. o entre
una entidad consigo misma.
Sintaxis de una relación:
Una o más
Debe ser
Cada entidad1
o
Puede ser
Nombre de la
relación
O
Una y solamente una
La relación entre un INSTRUCTOR y un CURSO es:
Cada curso puede ser enseñado por uno y solamente un instmctor.
Cada instructor puede ser asignado a uno o más cursos.
Entidad2
,,rq~==::~~"* 1 S »qSc
#i$?k,sgiwsaii.8fl~~Eiia,~#bR~j,
S
Cada dirección de una relación tiene:
Un nombre. Ej. Enseñado por o asignado a.
Una opción. Ej. Debe ser o puede ser.
Un grado. Ej. Uno y solamente uno, o uno o más.
Notas Importantes:
o Cardinalidad es un sinónimo para el grado.
o Un grado de O es etiquetado como puede ser.
ESTÁNDARES DE DIAGRAMACIÓN.
Una línea entre dos entidades
Nombres de relaciones en minúsculas
Opcionalidad.
---------------
Opcional (Puede ser)
Obligatoria (Debe ser)
Grado
f----
Una o más
Una y solamente una
GRADOS DE RELACIÓN.
Existen tres grados de relación:
1. Relaciones muchos a uno (M a 1 o M:l).
2. Relaciones muchos a muchos (M a M o M:M).
3. Relaciones uno a uno (1 a 1 o 1:l).
EJEMPLO:
Esta es una relación de M:l entre CLIENTE y REPRESENTANTE DE VENTAS
REPRESENANTE
ASIGNAW PARA WSITAR
Cada CLIENTE debe ser visitado por uno v solamente un REPRESENTANTE DE VENTAS.
Cada REPRESENTANTE DE VENTAS puede estar asignado para visitar a uno o más CLIENTES.
Una relación muchos a muchos, tiene el grado de uno o más en &direcciones.
EJEMPLO:
Esta es una relación de M:M entre ESTUDIANTE y CURSO.
Cada ESTUDIANTE puede estar registrado en uno o más CURSOS.
Cada CURSO puede ser tomado por uno o más ESTUDIANTES.
Una relación uno a uno, tiene el grado de uno y solamente uno en ambas direcciones.
EJEMPLO:
Esta es una relación de 1:l entre MICROCOMPUTADORA y MOTHERBOARD.
F
EL HOST PARA
------WCORF'ORADA DENTRO
J
\
1
MOTHERBOARD
MICROCOMPUTADORA
Cada MICROCOMPUTADORA debe de ser el host E a uno Y solamente un MOTHERBOARD.
Cada
MOTHERBOARD
puede
ser
incorporado
dentro
de
una
MICROCOMPUTADORA.
RELACIÓN RECURSIVA.
Una relación recursiva es la relación entre una entidad con ella misma.
EJEMPLO:
EMPLEADO
#
*
número
nombre
apellido
o empleo
* fecha de ingreso
o salario
o comisión
*
*
\
GERENTEDE
!,
Cada EMPLEADO puede estar bajo las ordenes de uno y sólo un EMPLEADO
Cada EMPLEADO puede ser gerente de uno o más EMPLEADOS.
y
solamente
una
"YA'i''
~ s ~ ~ ~'4"~ d" d" : "~' ! '~'4~1.8' ~ ~'WPa;~i?'
~ ~ l ~ : ~ &'8' d'"'''S'S~ b ~ ''.
d!b:~4:~,..2l~
Notas Importantes:
o El ciclo puede aparecer en cualquier lado de la caja de entidad pero utilizando la convención de
"Los cuervos siempre vuelan hacia el sur o hacia el este". Debemos colocar el ángulo en el
ángulo inferior derecho.
o Considerar representar una relación jerárquica como una relación recursiva. Por ejemplo la
Jerarquía de las organizaciones.
o Una sola entidad recursiva debe incluir todos los atributos de cada entidad individual.
Idealmente, las entidades en cada nivel de jerarquía deben tener los mismos atributos.
o El modelo de relación recursiva, puede fácilmente manejar la inclusión o eliminación de capas
en la organización.
o El modelo de relación recursiva, no puede manejar relaciones obligatorias. Si cada elemento de
la Organización debe estar dentro de otro elemento de la organización, la jerarquía de relación
debe ser infinita.
o La relación recursiva debe ser opcional en ambas direcciones.
* Todas las relaciones deben de representar los requerimientos de información y reglas de la
organización.
ANALIZAR Y MODELAR RELACIONES.
Mediante los siguientes pasos, puede analizar y modelar relaciones:
1 . Determinar si existe una relación.
2. Nombrar cada dirección de la relación.
3. Determinar la opcionalidad de cada dirección de la relación.
4. Determinar el grado de cada dirección de la relación
5. Leer en voz alta las relaciones para validarlas.
"" ~~~u<n,nu:
; ~ ~ ~ ~ ~ ~ t l @ i ~ l : g $ ~ ~ p J ~ # # j j # # # j ~ #~~ ~~ ~~#,,,PR.ji'
~i ~~w#I:'"~
~~ ,~~,","*,'
# #~"#+.'l'~, $@ @'U".t ~,~ 'dl~.Bi;,:. ~ ~ , d ~ ~
3.1.3. ATRIBUTOS.
Los atributos son información que se necesita conocer o tener acerca de una entidad.
Los atributos describen una entidad para calificar, identificar, clasificar, cuantificar o
expresar el estado de la misma.
EJEMPLO:
¿Cuáles son los atributos de la entidad EMPLEADO?
El número clave o número de nómina que identifica a un EMPLEADO.
El nombre y apellido califican a un EMPLEADO.
m
El tipo de nómina (ejemplo semanal), clasifica a un EMPLEADO.
m
El estatus de empleo (activo, abandonado o terminado), expresa el estatus de un EMPLEADO.
Los Atributos representan un tipo de descripción o detalle, mas no una instancia.
EJEMPLO:
777506 y 763 111, son valores del atributo número de clave
Marlene, es valor del atributo nombre del EMPLEADO
Notas Importantes:
Los nombres de los atributos deben ser claros para un usuario, mas no codificado para el
desarrollador.
El nombre de la entidad es siempre un calificador de atributos del nombre del atributo. Por
ejemplo: código de CURSO. Por lo tanto, los nombres de los atributos no deberían incluir el
nombre de la entidad.
Los nombres de los atributos deben ser específicos. Por ejemplo: en el caso de una cantidad, es
cantidad regresada o cantidad comprada.
Clarificar siempre la fecha de un atributo con una descripción o una frase. Por ejemplo: fecha de
contrato, fecha de orden.
Un atributo debe estar asignado a una sola entidad.
o Todos los atributos se deben descomponer hasta su mínimo componente con significado
E
PERSONA
nombre
l
PERSONA
apellido
nombre
1
o Los atributos que contienen fechas, horas, números de seguro social, códigos postales, etc. ,
generalmente no se descomponen.
o El nivel de la descomposición de atributos depende de los requerimientos de la organización.
o Se debe verificar que los atributos no sean derivados o calculados de los valores existentes de
otros atributos. No se incluyen en un modelo E-R.
ESTÁNDARES DE DIAGRAMACIÓN.
Los nombres de los atributos están en singular y se muestran en minúsculas.
0
Listar los nombres de los atributos en su caja de entidad.
IDENTIFICACIÓN DE ATRIBUTOS.
Identificar atributos examinando las notas de entrevistas y realizando preguntas al usuario:
¿Qué información se necesita almacenar u obtener acerca de la entidad x?.
¿Qué información se desea desplegar o imprimir acerca de la entidad x?
Los atributos pueden aparecer en las notas de entrevistas como:
Frases y palabras descriptivas.
Sustantivos.
Frases preposicionales (ejemplo: salario mensual por cada EMPLEADO).
Pronombres y sustantivos posesivos (ejemplo: nombre del EMPLEADO).
Notas:
m Si es posible, se debe examinar la documentación que existe de los procedimientos manuales o
sistemas automatizados, para descubrir atributos adicionales u omisiones.
o Cuidarse de los requerimientos obsoletos acarreados de los sistemas anteriores.
o Cuidarse de datos derivados.
3.1.4.
NORMALIZAR E L MODELO CONCEPTUAL DE DATOS.
Normalizar es un concepto de base de datos relaciona], pero sus principios se aplican al
Modelo Conceptual de Datos.
Validad cada atributo, usando las reglas de normalización.
REGLA DE FORMA NORMAL
Primera Forma Normal (IFN)
DESCRIPCION
Todos los aiributos deben tener un sólo valor para cada
instancia.
Segunda Forma Normal (ZFN)
Un atributo debe ser dependiente del identificador único
completo.
Tercera Forma Normal (3FN)
Ningún atributo no-UID puede ser dependiente de otro
atributo no-UlD.
Un modelo de datos entidad-relación normalizado, se traslada automáticamente dentro de un
diseño de base de datos.
NOTAS
o La tercera forma normal es un objetivo generalmente aceptado para eliminar redundancia en el
diseño de la base de datos.
o Formas normales arriba de la tercera forma normal no son comunmente utilizadas.
Notas Importantes:
Si un atributo tiene múltiples valores, se crea una entidad adicional y lo relaciona con la
entidad original mediante una relación M:l; indicando la dependencia de la entidad
adicional al lado de muchos mediante el corte de línea '7"
.
Si un atributo no es dependiente del UID completo, está fuera de lugar y deberá ser
movido a la entidad donde corresponda.
Si un atributo depende de otro atributo no-UID, es necesario mover ambos, el atributo
dependiente y el atributo del que depende, a una nueva entidad relacionada con la entidad
actual.
3.2. BASE DE DATOS RELACIONAL
Una Base de Datos Relacional es una base de datos que es percibida por el usuario como
una colección de relaciones o de tablas de dos dimensiones.
EJEMPLO:
La siguiente tabla relacional, contiene datos de Empleados:
TABLA (RELACI~N)
NOEMP
FILA (TUPLA)
+
APELLIDO
NOMBRE
NO-DEPTO
1O0
FIGUEROA
RICARDO
10
3 10
CHAVEZ
MARLENE
15
210
RAMOS
ALIRIO
10
405
CALDERON
OSBALDO
12
f
COLUMNA (ATRIBUTO)
NOTAS
o Las tablas de Base de Datos Relacional son sencillas pero disciplinadas.
o Una Base de Datos Relacional debe tener Integridad de Datos. Sus datos deben de ser precisos y
consistentes.
;;;,;$;;,,$ga
" U@?JW
b::, ,&g*d"
.. :-r."
.i,t\.:;,4;
3.2.1. LLAVES PRIMARIAS.
Una Llave Primaria (PK) es una columna o gmpo de columnas que identifican de
manera única a cada fila en una tabla. Cada tabla debe tener una llave primaria, y una llave
primaria debe de ser única.
EJEMPLO:
NO-EMP es la Llave Primaria de la tabla EMPLE ADO. Por lo tanto, NO-EMP debe ser defir
como NO NULA.
P
LLAVEP M A N A
NO-EMP
APELLLIDO
NOMBRE
NODEPTO
100
FIGUEROA
RICARDO
1O
310
CHAVEZ
MARLENE
15
210
RAMOS
ALlNO
1O
405
CALDERON
OSBALDO
12
TABLA
EMPLEADO
NOTAS
o Ninguna parte de la Llave Primaria puede ser NULA.
o No se aceptan duplicados en la Llave Primaria. La Llave Primaria debe de ser única.
o El valor de las Llaves Primarias, generalmente no se pueden cambiar.
o El UID de una entidad, irá de acuerdo con la Llave Primaria en su tabla correspondiente.
Una Llave Primaria que consta de múltiples columnas, se llama Llave Primaria Compuesta.
EJEMPLO:
La Llave Primaria Compuesta para la tabla CUENTA, consta de la combinación de las columnas
LLAVE PRIMARIA
r
NO-BANCO
NO-CUENTA
BALANCE
FECHAAPERTURA
104
77560
12,000.50
21-OCT-1989
104
77956
100.10
105
89570
55,775.00
105
76954
5.00
TABLA
CUENTA
15-ENE-1987
25-SEP-1991
NOTA
o Las columnas de una Llave Primaria Compuesta, deben de ser únicas en combinación. Las
columnas pueden tener duplicados en forma individual, pero en combinación, no se permiten
duplicados.
se refieren a una Llave Primaria en la misma o en otra tabla.
EJEMPLO:
i
LLAVE RIMARIA
LLAVE FORÁNEA
4
NO-EMP
APELLLIDO
NOMBRE
NO-DEPTO
NOMINA
100
FIGUEROA
RICARDO
1O
9710
310
MARLENE
CHAVEZ
15
8730
210
ALIRIO
RAMOS
1O
1157
405
OSBALDO
CALDERON
12
4477
10
DESARROLLO
15
INVESTIGACI~N
12
AUDITORIA
TABLA
EMPLEADO
TABLA
DEPARTAMENTO
NOTAS
o Las Llaves Foráneas son utilizadas para hacer "JOIN" (comunicación, unión) entre tablas.
o Las Llaves Foráneas se basan en los valores de los datos y son puramente lógicas.
o La Llave Foránea puede ser repetida y nula, excepto si es parte de una Llave Primaria.
La integridad de datos se refiere a la exactitud y consistencia de los datos.
CONSTRAINTS (REGLAS) DE INTEGRIDAD DE DATOS.
Los constraints de integridad de datos, definen el estado relaciona1 correcto de la base de datos.
m
Los constraints de integridad de datos, aseguran
que los usuarios realizarán únicamente
operaciones en las cuales dejarán a la base de datos en un estado correcto y consistente.
EXPLICACl6N
TIPO DE CONSTRAINT
Integridad de Entidades
Integridad Referencia1
1 Ninguna parte de la Llave Primaria puede ser NULA
Una Llave Foránea debe coincidir con un valor de una
Llave Primaria.
Integridad de Columnas
1 Una columna debe contener sólo
con el formato de datos definido para la columna.
Integridad definida por el Usuario
1
Los datos almacenados en la Base de Datos, deben
1 cumplir con las politicas de la Organización.
1
Todos los Constraints de Integridad de Datos deben ser forzados por el DBMS (Manejador de
Base de Datos) o por el Software de Aplicación.
NOTAS
P
Un dato es inconsistente si existen múltiples copias de un registro y no todas las copias han sido
actualizadas.
o Una Base de Datos inconsistente, puede proveer información incorrecta o contradictoria a los
usuarios.
REGLA DE LA FORMA NORMAL
Primera Forma Normal (1FN)
DESCRIPCION
1 La tabla debe tener un solo valor para cada linea. La
tabla no puede contener grupos repetitivos.
Segunda Forma Normal (2FN)
I
1
La tabla debe de estar en 1 FN. Cada columna que no es
llave, debe de ser dependiente de la llave primaria
1
completa.
Tercera Forma Normal (3FN)
1 La tabla debe de estar en 2FN. Una columna que no es
llave primaria, no debe depender de otra columna no
llave.
"Cada valor de una llave no primaria DEBE de depender únicamente de la llave completa,
sólo de ella y no de ningún otro campo".
¿Por qué hay que normalizar las tablas?
o
La normalización minimiza la redundancia de los datos. Un dato sin normalizar, es redundante.
o La redundancia de datos causa problemas de integridad. Las transacciones de actualización y
borrado pueden no ser consistentes en todas las copias de los datos, causando inconsistencia en
la Base de Datos.
o
La normalización ayuda a identificar entidades, relaciones y tablas mal diseñadas.
NOTAS
o La tercera forma normal es un objetivo normalmente aceptado para un diseño de Base de Datos,
para eliminar la redundancia.
o Las formas normales posteriores, ya no son utilizadas.
o Un dato sin normalizar, no cumple con ninguna regla de normalización.