15
Trabajo Final Diseño de Base de Datos Caso: Zoológico Grupo: Elvis Prado Quintana, Paolo García Ramos, Pedro Javier Ruíz, Alicia Canta Pandal TRABAJO FINAL DISEÑO DE BASE DE DATOS ZOOLÓGICO

Trabajo de ejemplo

Embed Size (px)

Citation preview

Trabajo Final Diseño de Base de Datos

Caso: Zoológico

Grupo: Elvis Prado Quintana, Paolo García Ramos, Pedro Javier Ruíz, Alicia Canta Pandal

TRABAJO FINAL

DISEÑO DE BASE DE DATOS

ZOOLÓGICO

Trabajo Final Diseño de Base de Datos

Caso: Zoológico

Grupo: Elvis Prado Quintana, Paolo García Ramos, Pedro Javier Ruíz, Alicia Canta Pandal

2 Ingeniería de Sistemas | Curso Diseño de Base de Datos

Índice

1. Integrantes del Grupo

2. Presentación

3. Objetivos del Trabajo

4. Descripción del Caso

5. Reglas de Negocio

6. Tabla de Atributos y Descripción

7. Diagrama de Dependencias Funcionales

8. Procedimiento de Normalización

9. Relación de entidades

10. Responsabilidades

11. Modelo lógico

12. Modelo relacional

Ingeniería de Sistemas

Curso: Diseño de Base de Datos

Trabajo Final Diseño de Base de Datos

Caso: Zoológico

Grupo: Elvis Prado Quintana, Paolo García Ramos, Pedro Javier Ruíz, Alicia Canta Pandal

3 Ingeniería de Sistemas | Curso Diseño de Base de Datos

1. INTEGRANTES DEL GRUPO Los integrantes del grupo son los siguientes:

Nombres Código

2. PRESENTACIÓN El presente trabajo se centra en el estudio del procedimiento de normalización de datos que se debe aplicar para obtener el mejor diseño a implementar en una futura base de datos; cumpliendo con todas las reglas del negocio que sea preciso implementar, tomadas implícita y explícitamente en base a la información ofrecida.

3. OBJETIVOS DEL TRABAJO

El objetivo del presente trabajo es presentar una lista de atributos que nacen de las reglas de negocio presentadas en el caso planteado Zoológico, con el fin de implementar un diagrama funcional de la misma, así como sus relaciones cumpliendo con todas las normas teóricas de forma normal aplicadas en clase.

Trabajo Final Diseño de Base de Datos

Caso: Zoológico

Grupo: Elvis Prado Quintana, Paolo García Ramos, Pedro Javier Ruíz, Alicia Canta Pandal

4 Ingeniería de Sistemas | Curso Diseño de Base de Datos

4. DESCRIPCION DEL CASO

ZOOLÓGICO El Zoológico Municipal de Huachipa ante las nuevas tendencias en lo referente al funcionamiento de este tipo de centros culturales, está realizando una modificación total en su organización, funcionamiento y estructura.

Por esa razón desea desarrollar un sistema de información para el seguimiento del cuidado de cada uno de los animales a su cuidado, el personal dedicado a estas labores y los espacios físicos o hábitat destinados para su conservación.

El zoológico cuenta con una serie de empleados, clasificados en tres categorías profesionales, principalmente:

Cuidadores, encargados del cuidado de los animales, su alimentación, aseo, etc.

Veterinarios, encargados del cuidado de la salud de los animales del zoológico.

Mantenimiento, encargados del mantenimiento y cuidado de las instalaciones.

Además, naturalmente, existen otros tipos de empleados encargados de las labores de administración, vigilancia, gerencia, etc.

El zoológico está dividido geográficamente en una serie de zonas, las cuales tienen un nombre único asignado. En cada zona se encuentra una serie de especies de animales, las cuales se encuentran en un hábitat común.

Los animales están clasificados en especies y éstas en subespecies (por ejemplo, los elefantes: Africanos y Asiáticos). Todos los animales de una misma subespecie, se encuentran en una misma zona del zoológico y, dentro de ésta, en un único hábitat, aunque en cada Zona puede existir varios hábitat diferentes.

Cada animal del zoológico es identificado por un código único y se guarda su nombre y un conjunto de información adicional. El código es único en todo el zoológico, pues lleva implícita la especie y subespecie así como la identificación del propio animal. El nombre del animal puede repetirse de una especie a otra, aunque no dentro de la misma especie/subespecie.

Sobre cada animal interesa conocer su lugar de origen: continente y país, edad, si nació en cautividad o no, y los nombres de los padres si se conocen, más aún si los padres son también animales del zoológico. Además, interesa conocer información histórica de:

Enfermedades que ha padecido, tratamiento que ha llevado y veterinario tratante.

Alimentación que ha seguido a lo largo de su vida.

Descendencia e historial sobre la misma.

Cada veterinario puede tener a su cargo una serie de animales que podrán pertenecer a una o varias especies/subespecies. Por otro lado, un animal sólo es tratado por un único veterinario.

Los veterinarios preparan las dietas de los animales, que están formadas por tomas diarias (de 1 a 3) en las que están presentes uno o un conjunto de alimentos en una proporción determinada.

Trabajo Final Diseño de Base de Datos

Caso: Zoológico

Grupo: Elvis Prado Quintana, Paolo García Ramos, Pedro Javier Ruíz, Alicia Canta Pandal

5 Ingeniería de Sistemas | Curso Diseño de Base de Datos

Las dietas son seguidas por todos los animales de una subespecie. Si bien, y excepcionalmente, a algún animal particularmente se le puede aplicar otra dieta. Cada dieta tiene un día de inicio y un día de fin (para todos los animales) en el que se pone en marcha otra dieta nueva.

Cada subespecie tiene asignado un único cuidador. Si bien un cuidador se puede encargar de varias subespecies correspondientes a la misma especie o a otra diferente.

El personal de mantenimiento tiene asignado una zona del zoológico, o un hábitat dentro de una zona. Una zona del zoológico está asignada a varias personas y una persona puede encargarse de varias zonas, aunque los hábitat dentro de las zonas tienen un único empleado de mantenimiento responsable.

5. REGLAS DE NEGOCIO

El zoológico cuenta con una serie de empleados, clasificados en tres categorías

profesionales, principalmente:

Cuidadores, encargados del cuidado de los animales, su alimentaci ón, aseo, etc.

Veterinarios, encargados del cuidado de la salud de los animales del zoológico.

Mantenimiento, encargados del mantenimiento y cuidado de las instalaciones.

Además, naturalmente, existen otros tipos de empleados encargados de las labores de administración, vigilancia, gerencia, etc.

El zoológico está dividido geográficamente en una serie de zonas, las cuales tienen un nombre único asignado. En cada zona se encuentra una serie de especies de animales, las cuales se encuentran en un hábitat común.

Los animales están clasificados en especies y éstas en subespecies (por ejemplo, los elefantes: Africanos y Asiáticos). Todos los animales de una misma subespecie, se encuentran en una misma zona del zoológico y, dentro de ésta, en un único hábitat, aunque en cada Zona puede existir varios hábitat diferentes.

Cada animal del zoológico es identificado por un código único y se guarda su nombre y un conjunto de información adicional. El código es único en todo el zoológico, pues lleva implícita la especie y subespecie así como la identificación del propio animal. El nombre del animal puede repetirse de una especie a otra, aunque no dentro de la misma especie/subespecie.

Sobre cada animal interesa conocer su lugar de origen: continente y país, edad, si nació en cautividad o no, y los nombres de los padres si se conocen, más aún si los padres son también animales del zoológico. Además, interesa conocer información histórica de:

Enfermedades que ha padecido, tratamiento que ha llevado y veterinario tratante.

Alimentación que ha seguido a lo largo de su vida.

Descendencia e historial sobre la misma.

Trabajo Final Diseño de Base de Datos

Caso: Zoológico

Grupo: Elvis Prado Quintana, Paolo García Ramos, Pedro Javier Ruíz, Alicia Canta Pandal

6 Ingeniería de Sistemas | Curso Diseño de Base de Datos

Cada veterinario puede tener a su cargo una serie de animales que podrán pertenecer a una o varias especies/subespecies. Por otro lado, un animal sólo es tratado por un único veterinario.

Los veterinarios preparan las dietas de los animales, que están formadas por tomas diarias (de 1 a 3) en las que están presentes uno o un conjunto de alimentos en una proporción determinada.

Las dietas son seguidas por todos los animales de una subespecie. Si bien, y excepcionalmente, a algún animal particularmente se le puede aplicar otra dieta. Cada dieta tiene un día de inicio y un día de fin (para todos los animales) en el que se pone en marcha otra dieta nueva.

Cada subespecie tiene asignado un único cuidador. Si bien un cuidador se puede encargar de varias subespecies correspondientes a la misma especie o a otra diferente.

El personal de mantenimiento tiene asignado una zona del zoológico, o un hábitat

dentro de una zona. Una zona del zoológico está asignada a varias personas y una persona puede encargarse de varias zonas, aunque los hábitat dentro de las zonas tienen un único empleado de mantenimiento responsable.

Trabajo Final Diseño de Base de Datos

Caso: Zoológico

Grupo: Elvis Prado Quintana, Paolo García Ramos, Pedro Javier Ruíz, Alicia Canta Pandal

7 Ingeniería de Sistemas | Curso Diseño de Base de Datos

6. Tabla de Atributos y Descripción

Ítem Atributo Descripción Tipo de Dato Rango Valores

Restringidos

1 Co_Empleado Código de empleado NUMERIC

2 No_Empleado Nombre del empleado VARCHAR(250)

3 Co_Tipo_Empleado Código de tipo de empleado NUMERIC

4 No_Tipo_Empleado Nombre de tipo de empleado VARCHAR(20)

5 No_Zona Nombre de la zona VARCHAR(30)

6 Co_Zona Código de zona NUMERIC

7 Co_Habitat Código de habitat NUMERIC

8 No_Habitat Nombre de hábitat VARCHAR(30)

9 Co_Especie Código de especie CHAR(4)

10 No_Especie Nombre de especie VARCHAR(30)

11 Co_Subespecie Código de subespecie CHAR(4)

12 No_Subespecie Nombre de subespecie VARCHAR(30)

13 Co_Animal Código de animal CHAR(12)

14 No_Animal Nombre del animal VARCHAR(20)

15 Fl_Nacido_En_Cautividad Nacido en cautividad CHAR(1) Y, N

16 Co_Padre (Co_Animal) Código de padre CHAR(12)

17 Co_Madre (Co_Animal) Código de madre CHAR(12)

18 Qt_Edad Edad NUMERIC

19 Fl_Sexo Sexo CHAR(1) M, H

20 Co_Enfermedad Código de enfermedad NUMERIC

21 No_Enfermedad Nombre de enfermedad VARCHAR(30)

22 Co_Pais Código de país NUMERIC

23 No_Pais Nombre del país VARCHAR(30)

24 Co_Continente Código de continente NUMERIC

25 No_Continente Nombre del continente VARCHAR(15)

26 Co_Alimento Código de alimento NUMERIC

27 No_Alimento Nombre del alimento VARCHAR(15)

28 Co_Unidad_De_Medida Código de unidad de medida NUMERIC

29 No_Unidad_De_Medida Nombre de unidad de medida VARCHAR(15)

30 No_Abreviatura_Unidad_De_Medida Nombre de abreviatura de unidad de medida VARCHAR(4)

31 Co_Dieta Código de dieta NUMERIC

32 Qt_Tomas_Diarias Cantidad de tomas diarias NUMERIC

33 Fe_Inicio Fecha inicio de dieta DATE

34 Fe_Fin Fecha fin de dieta DATE

35 Qt_Cantidad_Alimento Cantidad de alimento NUMERIC

36 Fe_Fecha_Diagnostico Fecha de registro de enfermedad DATE

37 Tx_Tratamiento Tratamiento que el animal ha llevado TEXT

Trabajo Final Diseño de Base de Datos

Caso: Zoológico

Grupo: Elvis Prado Quintana, Paolo García Ramos, Pedro Javier Ruíz, Alicia Canta Pandal

7. DIAGRAMA DE DEPENDENCIAS FUNCIONALES

Trabajo Final Diseño de Base de Datos

Caso: Zoológico

Grupo: Elvis Prado Quintana, Paolo García Ramos, Pedro Javier Ruíz, Alicia Canta Pandal

8. PROCEDIMIENTO DE NORMALIZACION

A PARTIR DEL DIAGRAMA OBTENEMOS

1. Determinantes: (Co_Empleado, Co_Tipo_Empleado, Co_Zona, Co_Habitat, Co_Especie,

Co_Subespecie, Co_Animal, Co_Enfermedad, Co_Pais, Co_Continente, Co_Alimento,

Co_Dieta, Co_Unidad_De_Medida, Fe_Fecha_Diagnostico)

2. Eliminamos los determinantes que dependen funcionalmente de otros:

PK: (Co_Animal, Co_Alimento, Co_Dieta, Co_Enfermedad, Fe_Fecha_Diagnostico)

3. Primera Forma Normal:

R = (Co_Animal, Co_Alimento, Co_Dieta, Co_Enfermedad, Fe_Fecha_Diagnostico,

Co_Pais, Co_Empleado, No_Empleado, Co_Tipo_Empleado, No_Tipo_Empleado,

Co_Habitat, No_Habitat, Co_Zona, No_Zona, Co_Especie, No_Especie , Co_Subespecie,

No_Subespecie, No_Enfermedad, No_Pais, Co_Continente, No_Continente,

Tx_Tratamiento, Qt_Tomas_Diarias, Fe_Inicio, Fe_Fin, No_Alimento,

Co_Unidad_De_Medida, No_Unidad_De_Medida, No_Abreviatura_Unidad_De_Medida,

Qt_Cantidad_Alimento, No_Animal, Fl_Nacido_En_Cautividad, Co_Padre (Co_Animal),

Co_Madre (Co_Animal), Qt_Edad, Fl_Sexo)

4. Tratamiento de las Dependendias Multi Valor (DMV)

EMPLEADO_POR_ZONA = (Co_Zona, Co_Empleado)

DIETA_POR_ANIMAL = (Co_Animal, Co_Dieta)

Trabajo Final Diseño de Base de Datos

Caso: Zoológico

Grupo: Elvis Prado Quintana, Paolo García Ramos, Pedro Javier Ruíz, Alicia Canta Pandal

10 Ingeniería de Sistemas | Curso Diseño de Base de Datos

5. Tratamiento de las Dependencias Funcional Completa (DFC – 2 Forma Normal)

ENFERMEDAD_POR_ANIMAL: (Co_Animal, Co_Enfermedad, Fe_Fecha_Diagnostico, Co_Empleado, No_Empleado, Co_Tipo_Empleado, No_Tipo_Empleado, No_Enfermedad, Tx_Tratamiento) ALIMENTO_POR_DIETA: (Co_Alimento, Co_Dieta, Co_Unidad_De_Medida, No_Unidad_De_Medida, No_Abreviatura_Unidad_De_Medida, Qt_Cantidad_Alimento) ALIMENTO: (Co_Alimento, No_Alimento) ANIMAL: (Co_Animal, Co_Subespecie, Co_Empleado, No_Animal, Fl_Nacido_En_Cautividad, Co_Padre (Co_Animal), Co_Madre (Co_Animal), Fe_Fecha_Nacimiento, Fl_Sexo, Co_Pais, No_Pais, Co_Continente, No_Continente) DIETA = (Co_Dieta, Qt_Tomas_Diarias, Co_Subespecie, Fe_Inicio, Fe_Fin, Co_Empleado) SUBESPECIE: (Co_Subespecie, No_Subespecie, Co_Especie, No_Especie, Co_Habitat, No_Habitat, Co_Zona, No_Zona, Co_Empleado)

6. Tratamiento de las Dependencias Transitivas (DT – 3 Forma Normal)

EMPLEADO = (Co_Empleado, No_Empleado, Co_Tipo_Empleado) TIPO_EMPLEADO = (Co_Tipo_Empleado, No_Tipo_Empleado) ZONA = (Co_Zona, No_Zona) HABITAT = (Co_Habitat, No_Habitat, Co_Zona, Co_Empleado) EMPLEADO_POR_ZONA = (Co_Zona, Co_Empleado) ESPECIE = (Co_Especie, No_Especie) SUBESPECIE = (Co_Subespecie, No_Subespecie, Co_Especie, Co_Habitat, Co_Empleado) ANIMAL = (Co_Animal, No_Animal, Co_Pais, Fl_Nacido_En_Cautividad, Fe_Fecha_Nacimiento, Co_Padre (Co_Animal), Co_Madre (Co_Animal), Co_Empleado, Fl_Sexo) ENFERMEDAD = (Co_Enfermedad, No_Enfermedad) PAIS = (Co_Pais, No_Pais, Co_Continente) CONTINENTE = (Co_Continente, No_Continente) DIETA_POR_ANIMAL = (Co_Animal, Co_Dieta)

Trabajo Final Diseño de Base de Datos

Caso: Zoológico

Grupo: Elvis Prado Quintana, Paolo García Ramos, Pedro Javier Ruíz, Alicia Canta Pandal

11 Ingeniería de Sistemas | Curso Diseño de Base de Datos

ALIMENTO = (Co_Alimento, No_Alimento) UNIDAD_DE_MEDIDA = (Co_Unidad_De_Medida, No_Unidad_De_Medida, No_Abreviatura_Unidad_De_Medida) DIETA = (Co_Dieta, Qt_Tomas_Diarias, Co_Subespecie, Fe_Inicio, Fe_Fin, Co_Empleado) ALIMENTO_POR_DIETA = (Co_Dieta, Co_Alimento, Co_Unidad_De_Medida, Qt_Cantidad_Alimento)

ENFERMEDAD_POR_ANIMAL = (Co_Animal, Co_Enfermedad, Fe_Fecha_Diagnostico, Tx_Tratamiento, Co_Empleado)

7. Conjunto resultante de relaciones

EMPLEADO

TIPO_EMPLEADO ZONA

HABITAT

EMPLEADOS_POR_ZONA ESPECIE

SUBESPECIE

ANIMAL ENFERMEDAD

PAIS

CONTINENTE DIETA_POR_ANIMAL

ALIMENTO

UNIDAD_DE_MEDIDA DIETA

ALIMENTO_POR_DIETA

ENFERMEDAD_POR_ANIMAL

Trabajo Final Diseño de Base de Datos

Caso: Zoológico

Grupo: Elvis Prado Quintana, Paolo García Ramos, Pedro Javier Ruíz, Alicia Canta Pandal

12 Ingeniería de Sistemas | Curso Diseño de Base de Datos

9. RELACIÓN DE ENTIDADES

ITEM ENTIDAD DESCRIPCIÓN

1 EMPLEADO Maestro para los empleados existentes

2 TIPO_EMPLEADO Detalle de los tipos de empleados que posee el Zoológico

3 ZONA Maestro para las zonas creadas

4 HABITAT Maestro para los hábitat existentes dentro de una o mas zonas

5 EMPLEADOS_POR_ZONA Relación de empleados por zona a la que han sido asignados

6 ESPECIE Maestro de las especies

7 SUBESPECIE Maestro de las subespecies

8 ANIMAL Maestro para los animales que tiene el Zoológico

9 ENFERMEDAD Maestro para las enfermedades

10 PAIS Maestro para los países de donde provienen los animales

11 CONTINENTE Maestro para los continentes al que pertenece un país

12 DIETA_POR_ANIMAL Relación de dietas llevadas por un animal

13 ALIMENTO Maestro de los alimentos que se brindan a los animales

14 UNIDAD_DE_MEDIDA Maestro para la unidad de medida de cada alimento

15 DIETA Maestro para las dietas de cada animal

16 ALIMENTO_POR_DIETA Relación de a limento por dieta

17 ENFERMEDAD_POR_ANIMAL Relación de enfermedad por animal

Trabajo Final Diseño de Base de Datos

Caso: Zoológico

Grupo: Elvis Prado Quintana, Paolo García Ramos, Pedro Javier Ruíz, Alicia Canta Pandal

13 Ingeniería de Sistemas | Curso Diseño de Base de Datos

10. RESPONSABILIDADES

INTEGRANTES RESPONSABILIDADES

Paolo García Ramos

EMPLEADO

TIPO_EMPLEADO

ZONA

HABITAT

Pedro Javier Ruiz

EMPLEADOS_POR_ZONA

ESPECIE

SUBESPECIE

ANIMAL

Al icia Canta Pandal

ENFERMEDAD

PAIS

CONTINENTE

DIETA_POR_ANIMAL

Elvis Prado Quintana

ALIMENTO

UNIDAD_DE_MEDIDA

DIETA

ALIMENTO_POR_DIETA

ENFERMEDAD_POR_ANIMAL

Trabajo Final Diseño de Base de Datos

Caso: Zoológico

Grupo: Elvis Prado Quintana, Paolo García Ramos, Pedro Javier Ruíz, Alicia Canta Pandal

11. MODELO LÓGICO

Trabajo Final Diseño de Base de Datos

Caso: Zoológico

Grupo: Elvis Prado Quintana, Paolo García Ramos, Pedro Javier Ruíz, Alicia Canta Pandal

15 Ingeniería de Sistemas | Curso Diseño de Base de Datos

12. MODELO RELACIONAL