proyecto de base de datos
TRANSCRIPT
![Page 1: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/1.jpg)
Universidad de PanamáFacultad de Informática, Electrónica y Comunicación
BASE DE DATOSLabor Social
Curso: Análisis y Diseño de SistemasII Semestre 2011
![Page 2: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/2.jpg)
Elaborado por: Solineth Batista ySamuel Rodríguez
![Page 3: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/3.jpg)
Agenda
Introducción
Planteamiento del semestre anterior
Requerimientos del sistema
¿Qué hicimos el semestre pasado?
Resumen del trabajo anterior
¿Qué hizo falta?
¿Qué se agregó?
Diseño Conceptual
Diseño Lógico
Diseño Físico
Normalización
Documentación
Conclusiones
Recomendaciones
![Page 4: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/4.jpg)
Introducción
• El trabajo que presentaremos a continuación tiene como objetivos principales hacer énfasis en las fases de diseño de una base de datos relacional y destacar la importancia que tienen estas etapas en la elaboración de una base de datos estructurada, cuya integridad podremos comprobar a través de las consultas que ejecutemos en ella.•El semestre pasado nos correspondió cursar la materia de Base de Datos, en donde se nos impartieron los principios de las bases de datos relacionales, las operaciones de álgebra, y la normalización a la que debe ser sometida cada relación que se haya formado.
Inicio
![Page 5: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/5.jpg)
IntroducciónA través de un proyecto sencillo, hemos buscado clarificar cada etapa del diseño de base de datos y su desarrollo, es preciso destacar que debe seguirse cada paso sin pasarlo por alto, asegurando así que nuestra asociación de los datos sea bastante eficiente.
Luego de la experiencia de haber elaborado el proyecto anterior, hemos reedificado cada paso, analizando las fallas y proponiendo soluciones a nuestro sistema de base de datos. Esta dinámica nos permitirá desarrollar la destreza de identificar errores, relaciones redundantes, entre otras cosas
Inicio
![Page 6: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/6.jpg)
Planteamiento del Semestre Anterior
En el curso de Base de Datos del semestre anterior se nos asignó realizar un proyecto final que consistiera en una base de datos que satisficiera una necesidad común y una interfaz gráfica que nos permitiera consultar información dentro de la base de datos (lenguaje de programación libre de elección) tampoco se exigió un SGBD específico, para ello trabajamos en grupos de cuatro estudiantes. El tema para nuestra base de datos era libre, cada grupo podía escoger que tipo de administración manejaría la base de datos.
Inicio
![Page 7: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/7.jpg)
No se nos exigió visitar comercios o instituciones públicas o privadas para comprobar requerimientos del sistema.Entre los puntos que debíamos definir en nuestro proyecto final estaban los siguientes:
•Presentar el modelo relacional previo a la presentación.•Realizar una presentación del trabajo final que consistía en: la base de datos completa con datos y la realización de consultas SQL para comprobar su integridad.•Requería de los respectivos procesos de normalización (1FN-2FN-3FN), sin embargo, no se pidió detalle de cómo realizamos la misma en nuestra base de datos. Solamente hacerla sin evaluación.•Un trabajo escrito con los objetivos de dicho sistema, el diccionario de datos, algunas consultas de inserción en SQL, el modelo relacional.
Inicio
![Page 8: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/8.jpg)
Requerimientos del Sistema
1.- ¿Qué es lo que se hace? El sistema de administración de labor social guarda información de los estudiantes que realizan labor social, sean estos datos personales o académicos, permite consultarlos y modificarlos en el momento necesario. Además incluye los datos de contacto de las instituciones que han sido asignadas como lugares propicios para realizar dicha labor.
Inicio
![Page 9: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/9.jpg)
2.- ¿Cómo se hace? Cada una de estas funciones: guardar, consultar y modificar las realiza a través de un SGBD. Esta es capaz de adaptarse a diversas plataformas de sistemas operativos. Debe capacitarse al personal para que se encargue del mantenimiento periódico y manejo de este sistema, además cada facultad de la Universidad de Panamá debe contar con él. La interfaz que se diseñe en un futuro que conecte con esta base de datos debe ser lo suficientemente apropiada y de fácil uso para los colaboradores.
Inicio
![Page 10: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/10.jpg)
3.- ¿Con que frecuencia se presenta? La frecuencia con la que se presenta la necesidad de realizar dichas funciones (almacenamiento, consulta y modificación) es baja actualmente ya que la resolución que declara la labor social obligatoria para todos los estudiantes de la Universidad de Panamá se da apenas el año pasado en 2010. Sin embargo, a medida que estos estudiantes inicien su labor social, será necesario documentar todo esto, y será mucho más fácil mediante una base de datos manejada a través de una aplicación, a la vez que el tiempo que la demanda sea baja permitirá a la vez someter el sistema a pruebas constantes y concordar con el personal que se encargará de manejarlos qué tipo de cosas les gustaría que la aplicación manejara.
Inicio
![Page 11: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/11.jpg)
4.- ¿Qué tan grande es el volumen de transacciones o de decisiones? El volumen de decisiones que contemplará la aplicación no es grande, pues las funciones principales como almacenamiento, por ejemplo, solo requieren que el estudiante proporcione dichos datos. La consulta permitirá visualizar el avance que cada estudiante lleva en su labor social, de acuerdo a este se evaluará si este requisito para graduarse ha sido completado, de lo contrario deberá completarlo. La modificación de información permitirá depurar errores humanos al ingresar los datos de algún estudiante, por supuesto, este proceso debe ser constatado con pruebas reales.
Inicio
![Page 12: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/12.jpg)
5.- ¿Cuál es el grado de eficiencia con el que se efectúan las tareas? El grado de eficiencia con que se realizan las tareas actualmente no es el mayor ya que se maneja a través de un sistema de archivos, y hemos constatado que este carece de integridad.
6.- ¿Existe algún problema? El problema actual es que manejar esta información de manera manual sería una tarea sumamente tediosa, complicada, sujeta a pérdida y alteración de los datos manejados.
7.- Si existe un problema, ¿Qué tan serio es? Este problema en escala de prioridades es serio porque realizar la labor social representa para los estudiantes que ingresaron a partir del 2010 un requisito para obtener su diploma, por ello es que surge la necesidad de documentar esta información en el momento necesario y para futuras consultas.
8.- Si existe un problema, ¿Cuál es la causa que lo origina? El problema de manejar información manualmente son las consecuencias que esta actividad trae, pérdida de información, alteración de documentos, entre otras.
Inicio
![Page 13: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/13.jpg)
¿Qué hicimos el semestre pasado?
Plantear el modelo relacional previo a la presentación final:
Inicio
![Page 14: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/14.jpg)
modelo relacional anterior
Inicio
![Page 15: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/15.jpg)
Base de Datos completa con datos y consultas SQL
Inicio
![Page 16: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/16.jpg)
CREATE TABLE INFO_PERSONAL(IDEN CHAR(18) NOT NULL,NOMBRE VARCHAR(45) NOT NULL,SEG_NOMBRE VARCHAR(45) NULL,APELLIDO VARCHAR(45) NOT NULL,SEG_APELLIDO VARCHAR(45) NULL,TEL_RESIDEN VARCHAR(25) NULL,TEL_CELL VARCHAR(20) NULL,EMAIL VARCHAR(65) NOT NULLPRIMARY KEY(IDEN));
CREATE TABLE INFO_URGENCIA(IDEN CHAR(18) NOT NULL,TIPO_SANGRE VARCHAR(45) NOT NULL,PARENTEZCO VARCHAR(45) NULL,ACUDIENTE VARCHAR(45) NOT NULL,TEL_ACUDIENTE VARCHAR(45) NULL,ENFERMEDADES VARCHAR(25) NULL,FOREIGN KEY (IDEN) REFERENCES INFO_PERSONAL (IDEN));
Algunas sentencias SQL de creación e inserción de datos
Inicio
![Page 17: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/17.jpg)
INSERT INTO INFO_ACADEMICA VALUES (‘8-837-1611’ , ‘FIEC’ , ‘INFORMATICA’ , ‘15/FEB/10’);INSERT INTO INFO_ACADEMICA VALUES (‘8-818-215’ , ‘FIEC’ , ‘INFORMATICA’ , ‘10/ENE/10’);INSERT INTO INFO_ACADEMICA VALUES (‘8-630-208’ , ‘FIEC’ , ‘INFORMATICA’ , ‘01/JUL/12’);INSERT INTO INFO_ACADEMICA VALUES (‘8-878-645’ , ‘FIEC’ , ‘INFORMATICA’ , ‘23/DEC/11’);
INSERT INTO INFO_LABORSOCIAL VALUES (‘8-837-1611’ , ‘CASA DE JUBILADOS’ , ‘100’ , ‘15/FEB/2010’ , ‘16/MAR/2010’ );INSERT INTO INFO_LABORSOCIAL VALUES (‘8-298-551’ , ‘CASA ESPERANZA’ , ‘100’ , ‘15/OCT/2010’ , ‘16/FEB/2010’ );INSERT INTO INFO_LABORSOCIAL VALUES (‘8-877-2107’ , ‘HACIENDA DE AMOR’ , ‘11’ , ‘20/FEB/2010’ , ‘28/OCT/2010’ );INSERT INTO INFO_LABORSOCIAL VALUES (‘4-592-23641’ , ‘ESCUELA BUEN PASTOR’ , ‘26’ , ‘28/MAY/2010’ , ‘30/NOV/2011’ );
Inicio
![Page 18: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/18.jpg)
Resumen del trabajo anteriorA principios del año 2010 se aprobó en Consejo Universitario la realización de Labor o Servicio Social por parte de todos los estudiantes que ingresen desde la fecha de publicación en Gaceta Oficial (Marzo – Mayo de 2010) en adelante.De aquí nace la necesidad de llevar un Control Interno de todos los Servicios Sociales que realicen los estudiantes de la Facultad de Informática, Electrónica y Comunicación, por medio de sus respectivas Escuelas.En el siguiente proyecto utilizaremos los recursos aprendidos en clases sobre las bases de datos, para resolver esta necesidad dentro de nuestra propia Facultad.
Inicio
![Page 19: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/19.jpg)
De aquí, que los objetivos generales de nuestro proyecto son:
•Facilitar a los administrativos de la Facultad el tratamiento del tema de Labor Social.•Facilitar a los estudiantes el registro de sus horas de Labor Social.•Implementar este Sistema permanentemente en esta y en todas las demás Facultades que así lo necesiten para el Registro de sus estudiantes.
Inicio
![Page 20: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/20.jpg)
La tabla info_personal recoge toda la información personal del estudiante
Atributo Descripción Restricciones
Iden Cédula del estudiante Primary key (PK), not null
Nombre Primer nombre del estudiante No nulo
Seg_nombre Segundo nombre del estudiante No nulo
Apellido Primer apellido del estudiante No nulo
Seg_apellido Segundo apellido del estudiante No nulo
Tel_residen Teléfono de residencia del estudiante No nulo
Tel_cell Teléfono celular del estudiante No nulo
email Correo electrónico del estudiante No nulo
Diccionario de Datos
Inicio
![Page 21: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/21.jpg)
La tabla info_académica recoge toda la información académica del estudiante (en qué facultad estudia y su fecha de ingreso a la carrera)
Atributo Descripción Restricciones
Iden Cédula del estudiante Foreign key (FK) referencia a info_personal(iden), not null
Facultad Nombre de la facultad del estudiante
No nulo
Carrera Carrera que cursa el estudiante
No nulo
Fecha_ingreso Fecha de ingreso del estudiante
No nulo
Inicio
![Page 22: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/22.jpg)
La tabla info_urgencia recoge toda la información de contacto del responsable del estudiante, en caso de urgencia
Atributo Descripción Restricciones
Iden Cédula del estudiante Foreign key (FK) referencia a info_personal(iden), not null
Tipo_sangre Tipo de sangre del estudiante No nulo
Parentesco Parentesco que tiene con el estudiante No nulo
Acudiente Nombre del acudiente No nulo
Tel_acudiente Teléfono de contacto del acudiente No nulo
enfermedades
Campo donde se nombra si el estudiante padece alguna enfermedad o es alérgico a algún alimento,
medicina u otro
No nulo
Inicio
![Page 23: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/23.jpg)
La tabla info_urgencia recoge toda la información de contacto del responsable del estudiante, en caso de urgencia
Atributo Descripción Restricciones
Iden Cédula del estudiante Foreign key (FK) referencia a info_personal(iden), not null
Tipo_sangre Tipo de sangre del estudiante No nulo
Parentesco Parentesco que tiene con el estudiante No nulo
Acudiente Nombre del acudiente No nulo
Tel_acudiente Teléfono de contacto del acudiente No nulo
enfermedades Campo donde se nombra si el estudiante padece alguna enfermedad o es alérgico a algún alimento,
medicina u otro
No nulo
Inicio
![Page 24: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/24.jpg)
La tabla info_laborsocial recoge toda la información relativa a la realización de su Labor Social
Atributo Descripción Restricciones
Iden Cédula del estudiante Foreign key (FK) referencia a info_personal(iden), not null
horas Cantidad de horas que se obtendrán por el Servicio Social
No nulo
Fecha_ini Fecha de inicio del Servicio Social No nulo
Fecha_fin Fecha de Cierre del Servicio Social No nulo
Id_lugar Código de lugar sea: orfanato, asilo, comedor, escuela, indicando el nombre de institución.
Primary Key (PK), not null
Id_tipo Código de tipo de lugar (categorías) Primary Key (PK), not null
Inicio
![Page 25: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/25.jpg)
¿Qué hizo falta?La Base de Datos de Control de Horas de Labor Social requería de información de contacto con los lugares donde se realiza la Labor Social, permitiendo de alguna manera comprobar que en efecto el estudiante estuvo allí y realizo su trabajo.
Para realizar todo este proceso de cambio de la base de datos necesitamos definir cada una de las etapas de diseño de base de datos que conforman el modelo relacional, ya que la estructura se modifica por completo.
Cada una de estas fases no se realizaron en el proceso anterior por lo tanto, la redefinición de cada una de las relaciones que conforman esta pequeña base de datos nos permitirán comprobar si en efecto contaba con las fases de normalización requeridas.
Inicio
![Page 26: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/26.jpg)
¿Qué se agregó?Antes que nada, iniciamos con las etapas de diseño de base de datos. Primero, el diseño conceptual de nuestras entidades involucradas.
Inicio
![Page 27: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/27.jpg)
DISEÑO CONCEPTUAL
Inicio
![Page 28: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/28.jpg)
Entidades IdentificadasInfo_personal
Info_laborsocial
Info_lugares
Info_academica
Info_urgencia
Info_tipos
Info_tipos e info_lugares tendrá información referente a los lugares donde se hace la labor social, han sido añadidas.
Inicio
![Page 29: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/29.jpg)
Info_tiposInfo_academica
Info_laborsocial
Info_urgencia
Info_lugares
Info_personal
Se clasifican
Realiza
contiene
Pueden tener
Tiene
Inicio
![Page 30: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/30.jpg)
Info_personal
iden
nombre
seg_nombre
apellido
seg_apellido
cedula
dirección
tel_resid
tel_cel
e_mailInfo_urgencia
Iden
Tipo_sangre
Parentezco
acudiente
Tel_acudiente
enfermedades
Info_academica
iden
Facultad
Carrera
Fecha_ingreso
Total_horas
Pueden tener
Tiene
Info_laborsocial
iden
Lugar
Horas
Fecha_i
Fecha_f
Id_lugar
Id_tipo
Realiza
Inicio
![Page 31: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/31.jpg)
Info_lugares
Id_lugar
Nombre
dirección
teléfono
Id_tipo
Info_laborsocial
iden
Lugar
Horas
Fecha_i
Fecha_f
Id_lugar
Id_tipo
Info_tipos
Id_tipo
Tipos
Se clasifican
contiene
Inicio
![Page 32: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/32.jpg)
Info_personal
Iden
Nombre
seg_nombre
Apellido
seg_apellido
Cedula
Dirección
tel_resid
tel_cel
e_mailInfo_urgencia
iden
Tipo_sangre
Parentezco
acudiente
Tel_acudiente
enfermedades
Info_academica
iden
Facultad
Carrera
Fecha_ingreso
Total_horas
Pueden tener
Tiene
Info_laborsocial
iden
Lugar
Horas
Fecha_i
Fecha_f
Id_lugar
Id_tipo
Realiza
Claves primarias
Claves foráneas
Inicio
![Page 33: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/33.jpg)
Info_lugares
Id_lugar
Nombre
dirección
teléfono
id_tipo
Info_laborsocial
iden
Lugar
Horas
Fecha_i
Fecha_f
Id_lugar
Id_tipo
Info_tipos
Id_tipo
Tipos
Se clasifican
contiene
Claves primarias
Claves foráneas
Inicio
![Page 34: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/34.jpg)
DISEÑO LOGICO
Inicio
![Page 35: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/35.jpg)
MODELO RELACIONAL
Existen tres reglas básicas para convertir un modelo conceptual al modelo relacional, éstas son:1.Todo tipo de entidad se convierte en una relación.
Inicio
![Page 36: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/36.jpg)
Info_personal
IDEN NOMBRE SEG_NOMBRE APELLIDO SEG_APELLIDO CEDULA TEL_RESID TEL_CEL E_MAIL
Inicio
![Page 37: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/37.jpg)
2. Todo tipo de interrelación n:n se transforma en una relación.En este caso, no existen relaciones n:n
Inicio
![Page 38: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/38.jpg)
3. Para todo tipo de interrelación 1:n se realiza lo que se denomina propagación de clave (regla general),o se crea una nueva relación.
Inicio
![Page 39: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/39.jpg)
Info_academica
Info_personal
Tiene
Modelo Relacional
Info_personal (iden)Info_academica (iden)
Inicio
![Page 40: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/40.jpg)
Info_urgencia
Info_personal
Pueden tener
Modelo Relacional
Info_personal (iden)Info_urgencia (iden)
Inicio
![Page 41: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/41.jpg)
Info_laborsocial
Info_personal
Realiza
Modelo Relacional
Info_personal (iden)Info_laborsocial (iden)
Inicio
![Page 42: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/42.jpg)
Info_laborsocial
Info_lugares
contiene
Modelo Relacional
Info_laborsocial (iden, id_lugar)Info_lugares (id_lugar, id_tipo)
Inicio
![Page 43: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/43.jpg)
Info_tipos
Info_lugares
Se clasifican
Modelo Relacional
Info_lugares (id_lugar, id_tipo)Info_tipos (id_tipo)
Inicio
![Page 44: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/44.jpg)
Diseño Lógico: modelo relacional actual
Inicio
![Page 45: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/45.jpg)
DISEÑO FÍSICO: QUERIES
Utilizaremos un SGBD para implementar el diseño lógico y este será el diseño
físico, el mismo ha sido modificado ya que agregamos dos tablas
Inicio
![Page 46: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/46.jpg)
CREATE TABLE `info_lugares` ( `id_lugar` int(11) NOT NULL AUTO_INCREMENT, `nombre` varchar(45) NOT NULL, `dirección` varchar(45) NOT NULL, `teléfono` varchar(45) NOT NULL, `info_tipos_idinfo_tipos` int(11) NOT NULL, PRIMARY KEY (`id_lugar`,`info_tipos_idinfo_tipos`), KEY `fk_info_lugares_info_tipos1` (`info_tipos_idinfo_tipos`), CONSTRAINT `fk_info_lugares_info_tipos1` FOREIGN KEY (`info_tipos_idinfo_tipos`) REFERENCES `info_tipos` (`idinfo_tipos`) ON DELETE NO ACTION ON UPDATE NO ACTION)
CREATE TABLE `info_tipos` ( `idinfo_tipos` int(11) NOT NULL AUTO_INCREMENT, `tipo` varchar(45) NOT NULL, PRIMARY KEY (`idinfo_tipos`))
Inicio
![Page 47: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/47.jpg)
NORMALIZACIÓN
Inicio
![Page 48: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/48.jpg)
Primera forma normal
• Eliminar grupos repetidos en tablas individuales.• Crear una tabla diferente para cada conjunto de datos relacionados.• Identificar cada conjunto de datos relacionados mediante una clave principal. No utilizar varios campos en una única tabla para almacenar datos similares.
Inicio
![Page 49: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/49.jpg)
Crear una tabla diferente para cada conjunto de datos relacionados.
Info_academica
iden
Facultad
Carrera
Fecha_ingreso
Total_horas
1. El atributo total_horas es información relativa a la labor social más no a la información académica. Se elimina
Info_laborsocial
iden
Lugar
Horas
Fecha_i
Fecha_f
Id_lugar
Id_tipo
2. El atributo lugar corresponde a la información de lugares donde se realiza la laborsocial, se elimina ya que se identificara mediante codigo de lugar.
Inicio
![Page 50: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/50.jpg)
Identificar cada conjunto de datos relacionados mediante una clave principal. No utilizar varios campos en una única tabla para
almacenar datos similares.Info_personal
iden
nombre
seg_nombre
apellido
seg_apellido
cedula
dirección
tel_resid
tel_cel
e_mail
3. La tabla info_personal contiene dos códigos como clave, lo cual es innecesario, para esto eliminamos cedula, y el campo iden tendrá este dato, y servirá de clave principal única.
Inicio
![Page 51: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/51.jpg)
Info_academica
iden
Facultad
Carrera
Fecha_ingreso
Info_laborsocial
iden
Horas
Fecha_i
Fecha_f
Id_lugar
Id_tipo
Info_personaliden
nombre
seg_nombre
apellido
seg_apellido
dirección
tel_resid
tel_cel
e_mail
1, 2, 3. así quedan las tablas
Inicio
![Page 52: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/52.jpg)
Segunda forma normal
• Crear tablas independientes para conjuntos de valores que se apliquen a varios registros.• Relacionar dichas tablas mediante una clave externa.Los registros tan sólo deben depender de la clave principal de una tabla (si es necesario, puede ser una clave compuesta).
Inicio
![Page 53: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/53.jpg)
Todos los atributos que no son clave principal deben depender únicamente de la clave principal
Info_laborsocial
iden
Lugar
Horas
Fecha_i
Fecha_f
Id_lugar
Id_tipo
Info_lugares
Id_lugar
Nombre
dirección
teléfono
Id_tipos
Info_tipos
Id_tipo
Tipos
Ejemplo: en la tabla lugares el nombre, dirección y teléfono dependen del código de lugar y de tipo de lugar a la hora de realizar una consulta SQL.
Inicio
![Page 54: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/54.jpg)
Tercera forma normal
• Eliminar los campos que no dependan de la clave. Los valores de un registro que no forman parte de la clave de dicho registro no pertenecen a esa tabla. En general, siempre que el contenido de un grupo de campos se puede aplicar a más de un registro de la tabla, debe tener en cuenta la posibilidad de incluir dichos campos en una tabla independiente.• EXCEPCIÓN: No es práctico siempre cumplir la forma tercera normal teóricamente conveniente. Si tiene una tabla Clientes y desea eliminar todas las posibles dependencias entre campos, debe crear tablas independientes para ciudades, códigos postales, representantes de ventas, clases de clientes y cualquier otro factor que pueda aparecer duplicado en varios registros. En teoría, la normalización merece la pena. Sin embargo, la utilización de un gran número de tablas pequeñas puede perjudicar el rendimiento o superar la capacidad de memoria y de archivos abiertos del sistema.
Inicio
![Page 55: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/55.jpg)
Después de normalizar
Inicio
![Page 56: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/56.jpg)
DOCUMENTACIÓN
Inicio
![Page 57: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/57.jpg)
•El sistema de base de datos de los estudiantes que realizan labor social almacena información personal, académica y relacionada a la labor social particular de cada uno.
•La base de datos cuenta con datos de los estudiantes actualizados que pueden ser consultados mediante sentencias SQL, además pueden aplicársele modificaciones de ser necesario.
•La base de datos realiza todo esto ya que se presenta la necesidad dentro de la Universidad de Panamá de llevar un registro eficiente de toda esta actividad y facilitar el proceso de recolección de requisitos para los estudiantes graduandos
•De esta base de datos de labor social primero se elaboraron los correspondientes modelos E-R y relacional a través del SGBD de MySQL “MySQL Workbench que también nos sirvió para crear posteriormente la base de datos.
Inicio
![Page 58: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/58.jpg)
•Previo a todo lo anterior mencionado se había creado una base de datos similar en la que se manejaron detalles de los estudiantes y su labor social, mas no se tomó en cuenta las instituciones involucradas en la actividad de labor social. Además la base de datos contaba con una aplicación sencilla que permitía ingresar nuevos datos y consultarlos, sin embargo por circunstancias inesperadas actualmente no contamos con ella.•En este momento, contamos con una nueva base de datos que incluye los detalles obviados en el análisis anterior
Inicio
![Page 59: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/59.jpg)
ConclusionesLuego de realizar un trabajo previo sobre base de datos, contando con los conocimientos que se nos brindaron en el curso de base de datos, nos pudimos percatar de que no seguimos las etapas de diseño de una base de datos relacional; no elaboramos un diseño conceptual previo, además nuestro diseño lógico estuvo incompleto, porque solamente elaboramos el modelo relacional obviando las relaciones 1:n y n:n entre las entidades.
Nuestro diseño físico que consta de las consultas necesarias para insertar datos, modificarlos y borrarlos si se realizaron en nuestro proyecto, partiendo del modelo relacional, sin embargo, quedaron muchos vacíos sin llenar porque la normalización requerida no fue aplicada a nuestro primer modelo relacional. Nuestros conocimientos previos sobre normalización de base de datos relacionales aún estaban pobres.
Inicio
![Page 60: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/60.jpg)
Conclusiones
Una vez que lidiamos con otras experiencias como el proyecto de “Facturación” hemos podido afianzar en qué consiste el proceso de normalización, y de esta manera hemos podido avanzar aplicando las 3 primeras formas normales a nuestro nuevo modelo relacional, cuya estructura fue modificada debido a que había información que no había sido considerada para nuestro modelo anterior.
Inicio
![Page 61: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/61.jpg)
Recomendaciones•Se recomienda a todos los estudiantes de cursos como el de base de datos y análisis y diseño de sistemas que a la hora de elaborar proyectos o tareas relacionadas, tomen en cuenta lo siguiente:
•El modelo relacional permite obtener una base de datos libre de redundancias y óptima a través del proceso de normalización.
•Es propicio seguir cada paso en el diseño de datos de una base de datos relacional: diseño conceptual, diseño lógico, diseño físico.
•Una vez efectuados cada uno de los pases de cada diseño, elaborar entonces el modelo Entidad-Relación (E-R) y el modelo relacional, ya sea a mano o con una herramienta que facilite confeccionar estos diagramas
Inicio
![Page 62: Proyecto de Base de Datos](https://reader036.vdocuments.co/reader036/viewer/2022062514/5588ff51d8b42aaa3f8b476a/html5/thumbnails/62.jpg)
Recomendaciones
•Cuando se hayan pasado cada una de estas etapas, entonces realizaremos el proceso de normalización (1FN-FN-3FN) tomando en cuenta conceptos como la dependencia funcional.
•Tomemos en cuenta las características con las que cuenta una base de datos normalizadas, una vez hecho esto, podremos entonces elaborar una interfaz gráfica en alguno de los lenguajes de programación conocidos hasta ahora para conectar nuestra base de datos y consultar datos más rápido de manera eficiente.
Inicio