Proyecto Base de Datos

REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN SUPERIOR UNIVERSIDAD NACIONAL EXPERIME

Views 194 Downloads 42 File size 678KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN SUPERIOR UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA SISTEMA DE BASES DE DATOS I SECCIÓN 01

SISTEMA WEB PARA LOS SERVICIOS DEL LABORATORIO

UNEG

PROFESOR

INTEGRANTE

Avendaño, Víctor

Abril del 2016

Índice Introducción…………………………………………………………………. Planteamiento del Problema………………………………………………. Herramientas de Diseño …………………………………………………... Requerimientos……………………………………………………………… Análisis……………………………………………………………………….. Modelo Entidad-Relación.………………………………………………. Descripción Del Modelo Entidad/Relación……………………….. Entidades..…………………………………………………………… Inter-relaciones. …………………………………………………….. Atributos.…………………………………………………………….. Modelo relacional………………………………………………………… Descripción de las entidades………………………………………. Descripción de las Inter-Relaciones………………………………. Descripción de los atributos……………………………………….. Estandarización de la Base de Datos (tablas)…..…………………… Normalización de Bases de Datos…………………………………….. Tiempo de respuesta de la base de datos……………………………. Estandarización de las pantallas………………………………………. Resultados…………………………………………………………………… Conclusiones………………………………………………………………… Bibliografía……………………………………………………………………

Página 1 3 5 6 7 7 8 8 8 8 9 10 10 11 12 12 12 13 14 21

Introducción Dentro del proceso de formación de los ingenieros en informática el desarrollos de sistemas web son parte de las bases del aprendizaje, esté tipo de asignaciones se utilizan para instruir al estudiante sobre los procesos básicos dentro del desarrollo de software, el modelado de sistemas y su implantación, a través de ellas se desarrollan las habilidades necesarias para complementar la formación del ingeniero. El presente informe tiene como objetivo principal desarrollar teóricamente el proceso de desarrollo de un software, basado en un sistema web completo, lo que implica la aplicación del desarrollo y creación de base de datos, utilización y manejo.Una base de datos se diseña, construye y rellena con datos para un propósito específico. Su propósito general es almacenar, mantener y recuperar información, con el fin de representar aspectos del mundo real. Al presentar una propuesta de diseño para el manejo de una base de datos se desarrollan modelos y diagramas para una mejor comprensión del sistema. A continuación se presenta un modelo Entidad-Relación con su Modelo Relacional debidamente normalizado, una vez conforme con los modelos antes planteados se procede a implementar la codificación de un lenguaje para la administración de todos los datos; en el caso actual se utilizó SQL, el cual es un lenguaje muy completo para el desarrollo de bases de datos, por medio de este se puede tabular los datos a través de la creación de tablas y dominios, hacer consultas, actualizar o eliminar información específica, entre otros con el fin de tener un control amplio de todos los aspectos de la base de datos (Mini Mundo / Universo de Discurso). El proyecto en estudio presenta un sistema web para el control y administración del flujo de información referente a las unidades curriculares de la Universidad de Guayana. Para la ejecución del problema planteado, se procede a desarrollar un análisis de todos los datos, identificando las entidades que interactúan con sus respectivo atributos junto con las relaciones que hay entre ellas, para elaborar un modelo de Entidad-Relación que englobe toda la información requerida por el sistema. Luego se registra cada una de las entidades junto con sus atributos mediante un modelo relacional, el cual debe estar normalizado para que el sistema tenga una mejor comprensión de la información.

1

Por último se realiza la codificación utilizando las herramientas HTML para la estructura principal de la página, PHP para el intercambio de datos entre la aplicación web y la base de dato JAVASCRIPT para aplicaciones internas funcionales en tiempo real (procesos) CSS para el diseño creado anteriormente en HTML y para el manejador de la base de datos PHPMyAdmin por su interface amigable.

2

Planteamiento del Problema Actualmente los laboratorios de computación de la UNEG se encuentran en proceso de remodelación. Se instalarán nuevas máquinas que permitirán utilizar herramientas más avanzadas. De ello nace la necesidad de mayor acceso a la información relacionada con estas nuevas herramientas. Para tal fin es necesario desarrollar un sistema de información WEB que permita el manejo de contenidos sobre materias. 

Descripción de la materia



Semestre en que se dicta



Código de la materia



Contenido programático de la materia



Material relacionado con la materia



Profesores que dictan la materia



Modelos de examen / proyecto



Modelos de planes de evaluación



Libros o manuales en PDF relacionados con la materia



Videos explicativos de los objetivos de la materia



Láminas y presentaciones de la materia

Se necesita que los usuarios puedan realizar comentarios sobre las materias, realizando sugerencias y tips.Es necesario crear un panel administrador que nos permita conocer a través de REPORTES y/o CONSULTAS y GRÁFICAS, la siguiente información: 

Cantidad de visitas diarias



Cantidad de visitas por mes



Tiempo de permanencia promedio de los usuarios



Contenidos más descargados



Contenidos mejor puntuados según categoría

El panel administrador debe permitir realizar las operaciones básicas: 

Agregar



Eliminar



Modificar 3



Respaldar

De igual manera debe cumplir los siguientes requerimientos: 

El sistema necesita la opción de “loguearse” como administrador o como usuario normal.



Debe existir la opción de buscar contenidos.



Cada contenido digital tendrá una imagen relacionada y su descripción correspondiente.



El sistema debe contar con la seguridad necesaria para establecer diversos niveles de acceso al mismo. Se debe tener un nivel de alta prioridad que permita realizar todas las operaciones necesarias.



El sistema debe mantener la seguridad necesaria y la validación de aquellos campos que lo requieran (Fechas, Nombres solo con letras, edades, etc.)



Se deben generar reportes generales que usted considere necesarios (por lo menos tres).



Deben contar con un conjunto de datos válidos y que sean coherentes al momento de la defensa del proyecto.



Deben establecerse estándares de rendimiento en lo que respecta a respuesta entre pantallas, señalización de errores, mensajes, etc.

4

Herramientas de Diseño 

StarUML: es una herramienta para el modelamiento de software basado en los estándares UML (UnifiedModelingLanguage) y MDA (ModelDrivenArquitecture). Es fácil de usar, debido a la simplicidad y rápida percepción de sus objetos, funciones y características, otra característica fundamental es que su código es compatible con lenguajes como C++ y Java. Fue seleccionado como herramienta de desarrollo UML por capacidad de generar código a partir de los diagramas y viceversa, actualmente funcionando para los lenguajes c++, c# y java.



NetBeans IDE: es un entorno de desarrollo integrado libre, hecho principalmente para el lenguaje de programación Java. Existe además un número importante de módulos para extenderlo. NetBeans IDE es un producto libre y gratuito sin restricciones de uso. La plataforma ofrece servicios reusables comunes para las aplicaciones de escritorio, permitiendo a los desarrolladores centrarse en la lógica de sus aplicaciones.



XAMPP: es un servidor independiente de plataforma, software libre, que consiste principalmente en el sistema de gestión de bases de datos MySQL, el servidor web Apache y los intérpretes para lenguajes de script: PHP y Perl.

5

Requerimientos Requerimientos del Sistema a desarrollar:

6

Análisis 1. Modelo Entidad-Relación

Figura 1. Diagrama Entidad-Relación del Sistema 7

1.2 Descripción Del Modelo Entidad/Relación 1.2.1

Entidades:El nombre de las entidades está representado por letras mayúsculas y en singular:

 MATERIAL.

 PROFESOR.

 VIDEO.

 SUGERENCIA.

 LAMINA.

 USUARIO.

 PDF.

 ADMINISTRADOR.

 MOD_PRUEBA.

 VISITA

 MATERIA. 1.2.2

Inter-relaciones. Los identificadores de las inter-relaciones tienen el formato: primera letra en mayúscula y son todos verbos:

 Entre MOD_PRUEBA y MATERIA (Aplica).  Entre MATERIA y PROFESOR (Imparte).  Entre MATERIAL y MATERIA (Tiene).  Entre MATERIAL y VIDEO, LAMINA, PDF (Es).  Entre SUGERENCIA y MATERIA (Hace).  Entre MATERIAL y USUARIO (Descarga).  Entre SUGERENCIA y USUARIO (Sugiere).

8

1.2.3

Atributos. El nombre de los atributosestá compuesto por las primeras tres letras de la característica en minúscula, menos el atributo identificador “id”, seguido del carácter piso “_” y luego el nombre de la entidad a la cual representan:

 MOD_PRUEBA: id_mod_prueba, tip_mod_prueba, nom_mod_prueba.  MATERIA:

id_materia,

nom_materia,

sem_materia,

des_materia.

con_materia.  PROFESOR: id_profesor, nom_profesor, est_profesor.  MATERIAL: id_material, nom_material.des_material.  VIDEO: id_material,nom_material, obj_video.  PDF: id_material, nom_material.  LAMINA: id_material, nom_material.  USUARIO:id_usuario,ced_usuario,tel_usuario,sex_usuario,nom_usuario

MATERIA,cor_usuario (id_materia, sem_materia, con_programatico)  SUGERENCIA: sug_sugerencia  VISITA: tie_visita,fec_visita

MOD_PRUEBA (id_prueba, nom_prueba, tip_prueba, id_materia) 1.3 Modelo Relacional

SUGERENCIA: (sug_sugerencia, id_materia)

PROFESOR (id_profesor, nom_profesor, est_profesor) IMPARTE (id_materia, id_profesor) MATERIAL (id_material, id_materia, nom_material, des_material) D:C / U:C

VIDEO (id_material, obj_video) D:C / U:C CHECK (EXIST MATERIAL OR EXIST VIDEO OR EXISTLAMINA OR EXISTPDF)

D:C / U:C

LAMINA (id_material) PDF (id_material)

USUARIO (id_usuario, ced_usuario, tel_usuario, sex_usuario, nom_usuario, cor_usuario) D:C / U:C

CHECK (EXIST USUARIO OR EXIST ADMINISTRADOR)

ADMINISTRADOR (id_usuario)

VISITA: (tie_visita, fec_visita, id_usuario)

Figura 2. Modelo Relacional del Sistema 

1.4 Descripción de las entidades

Nombre mod_prueb

Descripción @id_mod_prueba +tip_prueba

Descripción narrativa Evaluaciones que alguna

+nom_prueba @id_materia + nom_materia

materia haya realizado. Unidades curriculares que hay

+sem_materia +des_materia +

que aprobar para obtener un

profesor

con_materia @id_profesor + nom_profesor

grado Profesores de la UNEG que

material

+ est_profesor @id_material + nom_material

imparten las materias. Documentaciónde apoyo que

a materia

ayude a mejorar a un alumno video

pdf lamina

@id_material+nom_material +

en una materia. Videos relacionados a una

obj_video + tip_material

materia para ayudar a su

@id_material +

comprensión Pdf de una materia

nom_material + tip_material @id_material +

Lamina sobre una materia

nom_material + tip_material 1.5 Descripción de las Inter-Relaciones Nombr e aplica

Descripción

Descripción narrativa

Entidades que

@id_mod_prueba

Modelos de evaluación

interactúan MOD_PRUEBA +

+ @id_materia

que se pueden presentar

MATERIA

imparte

@id_materia +

en una materia. Materias en las que un

MATERIA +

tiene

@id_profesor @id_material +

profesor imparte clases Materiales de ayudantía

PROFESOR MATERIA +

@id_materia

que posee una materia

MATERIAL

1.6 Descripción de los atributos Nombre con_materia

Descripción Contenido de una

Dominio

Entidad

VARCHAR

perteneciente MATERIA

des_materia

materia Descripción de una

VARCHAR

MATERIA

est_profesor

materia Estado de un profesor,

VARCHAR

PROFESOR

id_mod_prueb

fijo o contratado Identificación de los

VARCHAR

MOD_PRUEBA

a id_materia

modelos de prueba Indentificacion de una

VARCHAR

MATERIA

id_profesor

materia Identificación de los

VARCHAR

PROFESOR

id_material

profesores Identificación del

VARCHAR

MATERIAL-

material nom_material

Nombre de algún

VIDEO- PDFVARCHAR

materia

LAMINA MATERIALVIDEO- PDF-

nom_profesor nom_materia

Nombre de un profesor Nombre de las

VARCHAR VARCHAR

LAMINA PROFESOR MATERIA

nom_prueba

materias Nombre de las

VARCHAR

MOD_PRUEBA

obj_video

pruebas Objetivos de un video

INT

VIDEO

informativo sobre una sem_materia

materia Semestre al que

INT

MATERIA

tip_prueba

pertenece una materia Tipo de prueba de los

VARCHAR

MOD_PRUEBA

modelos de prueba

2. Estandarización de la Base de Datos (tablas) 

Nombre de las tablas en singular y en minúscula.



Atributos en singular y en minúscula.



Atributos compuestos por primeras tres letras de la propiedad que los describe seguido del guion bajo “_” y el nombre de la tabla a la cual pertenece.



El atributo identificador siempre estará compuesto por id_ seguido del nombre de la tabla Ej: id_nombre.

3. Normalización de la Base de Datos En la forma en la que se presentó la base de datos del sistema todas las relaciones están normalizadas en tercera forma normal, ya que los atributos en su totalidad formarían parte de la clave y no hay dependencia entre ellos. Si tomamos en cuenta que una tabla de estudiantes o de materiales puede contener un volumen de millones de registros, al haberle aplicado las 3 formas normales nos estaremos ahorrando varios Gigabytes de tamaño en dicha tabla y por supuesto mejorado notablemente la eficiencia de respuesta.

4. Tiempo de respuesta del sistema 

Desde el manejador de la base de datos una consulta tarda en promedio 0.0001 segundos aproximadamente.



Desde el entorno la consulta tarda en promedio 1.0000 segundos aproximadamente.



Entre salto de paginas tarda en promedio 0.0100 segundos aproximadamente.

5. Estandarización de las pantallas 

Título: ubicado en la parte superior central.



Hora: ubicada del lado derecho bajo el título.



Menú izquierdo: ubicado en el centro izquierdo de la pantalla, presenta el menú de opciones que tiene el usuario a su disposición.



Panel central: en las pantallas principales está ocupado por un slider de presentación con imágenes, en la sesión de usuario/administrador se carga

con las tablas de datos correspondientes a los procesos de transformación de información.

Resultados

Figura 3. Pantalla principal de usuario

Figura 4. Pantalla principal del administrador

Módulo de reporte PDF Todos los reportes proporcionados en la aplicación MATARIAS_UNEG utilizan la librería “fpdf”

Figura 5. Reporte PDF que muestra las materias disponibles actualmente en el semestre junto a su código descripción y semestre al que pertenece.

Figura 6. Reporte PDF que muestra los archivos existentes en la base de datos del sistema junto con su extensión (tipo de archivo o formato).

Figura 7. Reporte PDF que muestra la relación entre las materias que imparte cada profesor actualmente en el semestre.

Figura 8. Reporte PDF que muestra los profesores con los que cuenta la universidad actualmente junto con su estado laboral “fijo/contratado”.

Modulo de reporte estadístico grafico Todas las graficas proporcionadas en la aplicación MATARIAS_UNEG utilizan la librería “jpgraph”

Figura 9. Reporte grafico de visitas diarias hechas por los usuarios.

Figura 10. Reporte grafico de visitas mensuales hechas por los usuarios

Figura 11. Reporte grafico de los archivos mas descargados por los usuarios

modelo_de_prueba Columna

Tipo

Nulo

id_prueba

int(99)

No

id_materia

int(99)

No

tip_prueba

int(99)

No

Predeterminad o

Enlaces a

materia ->id_materia

nom_prueb varchar(99 No a )

pdfs Columna

Tipo

id_materia int(99) l

No

id_pdf

No

int(99)

Predeterminad o

Nulo

Enlaces a material ->id_material

pro_mat Columna

Tipo

sem_materia int(99)

Nul o No

nom_profeso varchar(99 No r ) nom_materia

varchar(99 No )

profesor Columna id_profesor

Tipo int(99)

Nul o No

nom_profeso varchar(99 No r ) est_profesor

varchar(99 No )

sugerencia Columna

Tipo

Nulo

Predeterminad o

Enlaces a

id_materia int(99)

No

sugerenci int(99) a

No

materia ->id_materia

usuario Columna

Tipo

Nul Predeterminad o o

id_usuario

int(99)

No

nom_usuario

varchar(99 No )

ced_usuario

varchar(99 No )

sex_usuario

varchar(99 No )

cor_usuario

varchar(99 No )

tel_usuario

varchar(99 No )

con_usuario

varchar(99 Sí )

NULL

con_usuario varchar(99 Sí 2 )

NULL

videos Columna

Tipo

Nulo

id_materia int(11) l

No

id_video

No

int(11)

Predeterminad o

material ->id_material

visitas Nulo

Predeterminad o



NULL

num_visita int(99) s

No

0

tie_visitas

No

Columna fecha

Tipo date

int(99)

Enlaces a

mat_mat Columna id_material

Tipo

Nul Predeterminad o o

int(99)

No

sem_materia int(99)

No

nom_materia varchar(99 Sí l ) tip_material

varchar(99 No )

nom_materia

varchar(99 No )

0

NULL

Conclusiones Después de haber logrado los objetivos planteados en el desarrollo del sistema web del laboratorio se ha llegado a la conclusión de que las herramientas web son muy importantes para compartir información y mejorar la formación del ingeniero en informática. El modelo entidad relación nos ayuda a tener una visión plasmada del minimundo que queremos desarrollar en nuestras aplicaciones al igual que el modelo relacional nos Muestra un esquema de las tablas y de cómo se relacionan entre si. Finalmente si tomamos en cuenta que una tabla de cualquier tipo puede contener un volumen de millones de registros, al haberle aplicado las 3 formas normales nos estaremos ahorrando varios Gigabytes de tamaño en dicha tabla y por supuesto mejorado notablemente la performance.