Instructivo de Diseño de Bases de Datos y Normalización

Anuncio
Materia: Tecnología de la Información
Profesor: Ariana Rosenthal
Cátedra: Silvia Koklia
FCE – UBA
Tema: “Planeación y Modelado de Datos”
Autores:
Alejandro Markovic
Lic Ana Paula Vidal
Lic Ariana Rosenthal
F.C.E. – Universidad de Buenos Aires
Cátedra Lic. Silvia Koklia
Tecnología de la información
Prof. Lic. Ariana Rosenthal
Instructivo Diseño de bases de datos y
Normalización
Una base de datos es una colección ordenada de datos cuyo fin es ser utilizado
para diversas aplicaciones. Existen 3 tipos básicos de bases de datos:
Jerárquica Æ estructura ordenada en función a un orden de
jerarquías, como si fuera un organigrama. Su desventaja radica en
que no permite una relación de mucho a muchos.
Red Æ permite relaciones de muchos a muchos, pero son poco
eficientes y difícilmente administrables, sobre todo si se trata de
grandes bases de datos.
Relacional Æ se componen de tablas bidimensionales con campos y
registros, y la relación entre tablas se establece entre el contenido en
ellas (campos comunes).
En las clases de Tecnología de la Información, utilizaremos las bases de
datos relacionales.
BASES DE DATOS RELACIONALES
Elementos principales
Entidad Æ es un objeto de la realidad que posee características
(“atributos”). Físicamente se llama “tabla” a una entidad. Los
atributos de una entidad pueden tener distintos tipos de datos:
numéricos, alfanuméricos, fecha, moneda, etc. Los atributos de
una entidad, deberán tener coherencia entre ellos.
Cuando a los atributos de una entidad se les asigna un valor,
estamos frente a una ocurrencia (se completa el registro o fila).
Ejemplo: modelar los datos de un alumno de la Universidad.
ALUMNO
Nº de registro
Apellido
Nombre
Domicilio
Clave primaria Æ es el campo (columna) ó conjunto de campos
que permiten identificar unívocamente a un registro (fila). En el
diseño de una base de datos, es el/los atributo/s por el/los cual/es
podemos identificar a cada uno de los registros. La manera de
indicarlos en el diseño es subrayándolo/s.
Por lo general, la clave primaria es un dato numérico, con el fin de
servir más eficientemente a la identificación de un registro.
1
F.C.E. – Universidad de Buenos Aires
Cátedra Lic. Silvia Koklia
Tecnología de la información
Prof. Lic. Ariana Rosenthal
ALUMNO
Nº de registro
Apellido
Nombre
Domicilio
Clave primaria (con ella puedo identificar a cada alumno y sus
datos, dentro de la base de datos)
La clave primaria puede ser simple o compuesta.
Clave primaria compuesta o combinada o concatenada
Æ se necesitan de dos campos o más para identificar un
registro, dada la repetición de datos en distintos registros.
Ejemplo: Modelar los datos de un empleado que trabaja en
más de una empresa.
EMPLEADO_EMPRESA
CUIL
Cod. Empresa
Nombre
Nº Legajo
Domicilio part.
Clave foránea Æ campo utilizado para relacionar una tabla con otra
(se trata de uno o varios campos que son clave en una tabla A y que
para permitir la relación se agregan en la tabla B, sean o no claves en
la tabla B).
Celda Æ es una ocurrencia. Se trata de un campo con datos para
un registro determinado.
Relación Æ es la unión que existe entre dos entidades, que
seguramente esté dada por algún campo común entre ellas (a la hora
de diseñar una base de datos relacional, la relación entre dos o más
entidades estará dada porque la clave primaria completa de la tabla A
se encuentra en la tabla B, sin necesidad de ser clave en la tabla B).
2
F.C.E. – Universidad de Buenos Aires
Cátedra Lic. Silvia Koklia
EMPLEADO
CUIL
Nombre
Apellido
Domicilio part.
Tecnología de la información
Prof. Lic. Ariana Rosenthal
EMPLEADO_EMPRESA
CUIL
Cod. Empresa
Nº Legajo
Interno
EMPRESA
Cod. Empresa
Razón Social
Domicilio
Localidad
Teléfono
Normalización
Es un conjunto de reglas o “formas normales” que permite armar un diseño de
base de datos en forma más óptima (facilitar la actualización de los datos, ahorrar
espacio en el almacenamiento de ellos, facilitar el acceso y utilización de los datos
almacenados).
Las 3 formas normales, acumulativas, que utilizaremos a lo largo del curso son las
siguientes:
1º FORMA NORMAL
No debe haber grupos repetitivos en las entidades (cuando una
ocurrencia puede tomar más de un valor en un mismo atributo).
Ejemplo:
ALUMNO
Nº de registro
Apellido
Nombre
Teléfono
GRUPO REPETITIVO!!!
Si un alumno tiene más de un teléfono, este a
atributo podrá tomar más de un valor
SOLUCIÓN
ALUMNO
Nº de registro
Apellido
Nombre
Teléfono
TEL_ALUMNO
Nº de registro
Teléfono
Para solucionar un caso de grupo repetitivo, se saca el atributo repetitivo
de su entidad original y se genera una nueva entidad que tendrá una
clave primaria compuesta: la clave primaria de la entidad originaria más el
atributo repetitivo, ahora también como clave.
3
F.C.E. – Universidad de Buenos Aires
Cátedra Lic. Silvia Koklia
Tecnología de la información
Prof. Lic. Ariana Rosenthal
Tener en cuenta que si se decidiera registrar un único valor para el atributo Teléfono, no
habría grupo repetitivo y no sería necesaria la solución descripta.
Toda entidad debe tener clave primaria (ya sea simple o compuesta)
Los datos incluidos en las entidades deben ser atómicos (no pueden
abrirse en más de un “subdato” que nos interese consultar).
Ejemplo:
DOMICILIO
Según las necesidades del usuario, este dato
podría no ser atómico, porque puede abrirse en
más de un “subdato”:
• Calle
• Nro.
• Código postal
• Localidad
• Provincia
2º FORMA NORMAL
Debe cumplirse con la 1º forma normal
Debe existir dependencia funcional entre los atributos de una entidad:
todo dato no clave debe depender de la totalidad de la clave.
Ejemplo:
ALUMNO
Nº de registro
Teléfono
Apellido
Nombre
Los atributos “Nombre” y “Apellido”
dependen del número de registro (parte de
la clave de esta entidad) pero no del
teléfono del alumno.
3º FORMA NORMAL
Debe cumplirse con la 2º forma normal
No debe haber dependencia funcional transitiva: todo dato que no es
clave no puede depender de otro que tampoco lo sea.
4
F.C.E. – Universidad de Buenos Aires
Cátedra Lic. Silvia Koklia
Tecnología de la información
Prof. Lic. Ariana Rosenthal
Ejemplo:
ALUMNO
Nº de registro
Apellido
Nombre
Cod_Materia
Profesor
Suponiendo que el alumno puede hacer
sólo una materia, el atributo “Profesor”
dependería del atributo “Materia”, dado
que el profesor varía en función de la
materia y no del alumno.
Pasos a seguir a la hora de resolver un ejercicio de diseño de base de
datos
1º) Identificar los atributos que corresponden según el enunciado
2º) Identificar las entidades que engloban a los atributos listados en el paso
anterior.
3º) Ubicar los atributos en las entidades definidas
4º) Crear nuevas y necesarias entidades a fin de cumplir con las formas
normales
5º) Identificar los atributos que son claves primarias
6º) Establecer relaciones entre las entidades
7º) CONTROLAR EL CUMPLIMIENTO DE LAS FORMAS NORMALES
8º) Realizar el Diagrama Entidad Relación (DER), que reflejará
gráficamente lo diseñado en el modelado de datos. Se compone de dos
elementos:
√ Rectángulo Æ representa a cada entidad
√ Línea Æ representa las relaciones entre las entidades y la
cardinalidad en ellas.
Cardinalidad
Refleja la cantidad de ocurrencias que se comparten dentro de
cada relación:
• De uno a uno Æ
• De uno a mucho Æ
• De muchos a mucho Æ
5
F.C.E. – Universidad de Buenos Aires
Cátedra Lic. Silvia Koklia
Tecnología de la información
Prof. Lic. Ariana Rosenthal
Ejemplo:
Empleado
Empleado_Empresa
Esta relación de unos a muchos
indica que un “Empleado_Empresa”
se refiere siempre a un solo
“Empleado”; y un “Empleado” puede
trabajar en muchas empresas (en
cada una tendrá su número de legajo
y su interno, pero siempre referido a
un único CUIL).
Empresa
Esta relación de unos a muchos
indica que un “Empleado_Empresa”
se refiere siempre a una sola
“Empresa”; y un “Empresa” puede
repetirse dentro de todos los
empleados registrados.
CONSEJOS ÚTILES
NUNCA cardinalidad “muchos a muchos” Æ para solucionarlo se creará
una nueva entidad, que seguramente compartirá la clave de las entidades
originales: “entidad asociativa”
El Diagrama Entidad Relación debe reflejar el diseño de las entidades.
La cardinalidad “uno a uno” se da cuando dos entidades tienen la misma
clave.
Los datos que son predeterminados, limitados en su cantidad y
actualizables muy raramente es preferible preestablecerlos en el sistema,
dando origen a “entidades maestras”, que estarán compuestas, en general
por la clave primaria y por un campo “descripción”.
Los datos calculables no se reflejan como atributo en el modelado de
datos
6
F.C.E. – Universidad de Buenos Aires
Cátedra Lic. Silvia Koklia
Tecnología de la información
Prof. Lic. Ariana Rosenthal
Ejemplo:
LOCALIDAD
Cod. Localidad
Descripción
Cod. Localidad
Descripción
01
Capital Federal
02
Lanús
03
Avellaneda
04
Morón
05
Martínez
Prueba de escritorio
En este caso, se sabe de antemano que las empresas con las
cuales trabajaré estarán ubicadas en estas 5 localidades. Es por
eso que creo esta “entidad maestra” que facilitará la carga de
datos y el análisis de la información, codificando los datos que se
usarán.
7
Descargar