You are on page 1of 6

ESTRUCTURA DEL PROYECTO INTEGRADOR

I. DATOS GENERALES
1.1. Título del proyecto integrador 1.2. Período
académico
DISEÑO DE LA BASE DE DATOS PARA LA EMPRESA X 42

1.3. Docente:

BEATRIZ EUGENIA LOPEZ PORRERO

1.4 Carrera:

INGENIERIA EN SISTEMAS DE LA INFORMACION

1.5 Estudiante(s) responsable(s) de la elaboración del PI:

1.7. Competencia específica a la que tributa la asignatura:

La asignatura Administración de bases de datos II da continuidad al estudio de las tecnologías de las


bases de Datos

1.8. Problema profesional que pretende solucionar:


Proporcionar sólidos conocimientos referidos al análisis y diseño avanzado de sistemas de bases de datos
que permitan modelar conceptualmente un fenómeno de la realidad desde el punto de vista de la
información y representarlo a través del modelo lógico global de los datos.
II. DATOS ESPECÍFICOS

2.1. Resumen Ejecutivo

Revisaremos un ejercicio planteado y lo resolveremos aplicando conocimientos anteriormente adquiridos,


la empresa está organizada en departamentos. Cada uno tiene un nombre único, un número único y un
administrador que es un empleado de la empresa y se necesita controlar de los administradores le fecha
de en qué el administrador comenzó a ejercer esa función. Un departamento puede tener varias
ubicaciones.
Un departamento controla una cierta cantidad de proyectos, cada uno de los cuales tiene un nombre único,
un número único y se desarrolla en una sola localización geográfica.
De cada empleado se necesita registrar el nombre, el documento nacional de identidad, la dirección
(especificándose en esta la calle, el número de la casa, la ciudad, el municipio y la provincia), el sueldo, el
sexo, la fecha de nacimiento y el supervisor que lo atiende que es otro empleado. Un empleado está
asignado a un departamento, pero puede trabajar en varios proyectos, de los proyectos se tiene la
información de un código que lo identifica unívocamente en la empresa, su título, fecha de aprobación y
fecha de terminación y el presupuesto asignado para el año actual desglosado por meses. Los proyectos
no están controlados necesariamente por el mismo departamento al que el empleado está asignado y es
necesario recoger la información del número de horas semanales promedio que un empleado trabaja en
cada proyecto.
La empresa está interesada en mantener, por cuestiones del seguro, los datos de las personas a cargo de
cada empleado, por cada persona a cargo, se registrará su nombre de pila, sexo, fecha de nacimiento y su
relación de dependencia con el empleado que solo puede tomar los valores hijo, cónyuge, suegro y padre.

2.2. Introducción

Nuestro ejercicio ya está planteado y resolveremos mediante varios procesos, tomaremos partes de los
cuales iremos resolviendo.

Departamento (numerod, nombred, ubicacion)


Empleado (cedula, nombree, dirección, sueldo, sexo, fechanac, supervisor, numerod,
supervisor es clave ajena que referencia a la relación Empleado,
numerod es clave ajena que referencia a la relación Departamento
Proyecto (codigop, título, fechaaprob, fechaterminacion, presupuesto, localización)
EmpleadoProyecto(cedula, codigop, promediohs)
cedula es clave ajena que referencia a la relación Empleado
codigop es clave ajena que referencia a la relación Proyecto
Personaacargo (cedula, nombrepila, sexo, fechanac, reldependencia)
cedula es clave ajena que referencia a la relación Empleado

2.3 Problematización

Como problematización tenemos varios ítems.

a) Identifique a través del análisis de requisitos y el esquema propuesto:


a. La definición de al menos un campo para los que se pueda definir un dominio e
implemente en PostgreSQL dicho dominio.
b. La definición de al menos un tipo de datos enumerativo e impleméntelo en PostgreSQL.
c. La definición de un tipo de datos compuesto e impleméntelo en PostgreSQL.
d. La definición de tipos arreglos e indique que campos necesitan definirse como arreglos
b) Una vez definidos e implementados los tipos de datos, implemente las tablas de la base de datos,
usando los dominios y los tipos definidos por Ud. en el inciso anterior.
c) Introduzca datos en cada una de las tablas de la base de datos.
d) Defina una vista que le permita mostrar el nombre del empleado, el nombre del departamento y el
nombre de su supervisor.
e) Implemente una función que permita parametrizar la vista de forma tal que su resultado sea una
tabla con los nombres de los empleados y el nombre de su supervisor de los empleados que
trabajan en un departamento cuyo nombre se pase por parámetro.
f) Defina una función que permita obtener todos los datos de los empleados que trabajan más de 5
proyectos.
g) Defina una regla que controle que un supervisor controle solamente a 3 empleados.
h) Defina un disparador que controle que en un proyecto no pueden trabajar más de 10 empleados.

2.4. Justificación

Poder comprender la forma de funcionamiento de nuestra base de datos a través de la herramienta


PostgreSQL. El cual utilizaremos algunos comandos (funciones, reglas, dominios, disparadores, vistas).
Definiremos un dominio e implementaremos en PostgreSQL con el cual utilizaremos algunos comandos,
definiremos tipos de datos enumerativos para luego implementarlo en PostgreSQL, definiremos tipos de
datos compuestos, haremos unos arreglos en la base de datos, crearemos vistas, crearemos una función
que nos permita parametrizar la vista, crearemos reglas para nuestra base de datos y disparadores para
que nuestra base de datos quede más dinámica y poder usarla con mayor facilidad.

2.5. Objetivos
2.5.1. Objetivo general:

Aprender a crear y ejecutar comandos (dominio, vista, función, disparador y regla) orientados a cumplir
con los ejercicios propuestos.

2.5.2. Objetivos específicos

 Definir un dominio e implementar en PostgreSQL dicho dominio

 Definir un tipo de datos enumerativo e impleméntelo en PostgreSQL.

 Definir un tipo de datos compuesto e impleméntelo en PostgreSQL

 Definir tipos arreglos e indique que campos necesitan definirse como arreglos

 Implementar las tablas de la base de datos, usando los dominios y los tipos definidos

 Introducir los datos en cada una de las tablas de la base de datos.

 Definir una vista

 Implementar una función que permita parametrizar la vista

 Definir una regla

 Definir un disparador
2.7. Fundamentación teórica o Marco referencial

Uno de los pasos cruciales en la construcción de una aplicación que maneje una base de datos, es sin
duda, el diseño de la base de datos, en donde lo más importante son los modelos de datos. Si los
modelos no son definidos apropiadamente, podemos tener muchos dolores de cabeza al momento de
ejecutar consultas a la base de datos para tratar de obtener algún tipo de datos. No importa si nuestra
base de datos tiene sólo 20 registros, o algunos cuantos miles, es importante asegurarnos que nuestra
base de datos está correctamente diseñada para que tenga eficiencia y que se pueda seguir utilizando
por largo del tiempo. En este TEMA se mencionarán algunos principios básicos del diseño de base de
datos y se tratarán algunas reglas que se deben seguir cuando se crean bases de datos. Dependiendo
de los requerimientos de la base de datos, el diseño puede ser algo complejo, pero con algunas reglas
simples que tengamos en la cabeza será mucho más fácil crear una base de datos perfecta para nuestro
siguiente proyecto
Sistema de administración de bases de datos: consiste en un conjunto de programas utilizados para
definir, administrar y procesar una base de datos y sus aplicaciones. A los sistemas de administración de
bases de datos también se les llama Sistemas de Gestión de Bases de Datos (SGBD). Un sistema de
administración de bases de datos es una herramienta de propósito general que permite crear bases de
datos de cualquier tamaño y complejidad y con propósitos específicos distintos.

Una base de datos es un conjunto de datos almacenados en memoria externa que están organizados
mediante una estructura de datos. Cada base de datos ha sido diseñada para satisfacer los requisitos de
información de una empresa u otro tipo de organización, como por ejemplo, una universidad o un
hospital. Una base de datos se puede percibir como un gran almacén de datos que se define y se crea
una sola vez, y que se utiliza al mismo tiempo por distintos usuarios. Antes de existir las bases de datos,
los programas debían manejar los datos que se encontraban almacenados en ficheros desconectados y
con información redundante. En una base de datos todos los datos se integran con una mínima cantidad
de duplicidad. De este modo, la base de datos no pertenece a un solo departamento sino que se
comparte por toda la organización. Además, la base de datos no sólo contiene los datos de la
organización, también almacena una descripción de dichos datos. Esta descripción es lo que se
denomina metadatos, se almacena en el diccionario de datos o catálogo y es lo que permite que exista lo
que se denomina independencia de datos lógica–física, de la que se hablará más adelante.

Sistema de gestión de bases de datos


El sistema de gestión de la base de datos (en adelante SGBD) es una aplicación que permite a los
usuarios definir, crear y mantener la base de datos, además de proporcionar un acceso controlado a la
misma. Se denomina sistema de bases de datos al conjunto formado por la base de datos, el SGBD y
los programas de aplicación que dan servicio a la empresa u organización. El modelo seguido con los
sistemas de bases de datos, en donde se separa la definición de los datos de los programas de
aplicación, es muy similar al modelo que se sigue en la actualidad para el desarrollo de programas con
lenguajes orientados a objetos, en donde se da una definición interna de un objeto y una definición
externa separada. Los usuarios del objeto sólo ven la definición externa y no se deben preocupar de
cómo se define internamente el objeto y ni cómo está implementado. Una ventaja de este modelo,
conocido como abstracción de datos, es que se puede cambiar la definición interna de un objeto sin
afectar a sus usuarios ya que la definición externa no se ve alterada. Del mismo modo, los sistemas de
bases de datos separan la definición de la estructura de los datos, de los programas de aplicación y
almacenan esta definición en la base de datos. Si se añaden nuevas estructuras de datos o se modifican
las ya existentes, los programas de aplicación no se ven afectados si no dependen directamente de
aquello que se ha modificado. Todo esto es gracias a la existencia del SGBD, que se sitúa entre la base
de datos y los programas de aplicación.

En general, un SGBD proporciona los siguientes servicios: Permite la definición de la base de datos
mediante un lenguaje de definición de datos. Este lenguaje permite especificar la estructura y el tipo de
los datos, así como las restricciones sobre los datos. Permite la inserción, actualización, eliminación y
consulta de datos mediante un lenguaje de manejo de datos. El hecho de disponer de un lenguaje para
realizar consultas reduce el problema de los sistemas de ficheros, en los que el usuario tiene que
trabajar con un conjunto fijo de consultas, o bien, dispone de un gran número de programas de
aplicación costosos de gestionar. Hay dos tipos de lenguajes de manejo de datos: los procedurales y los
no procedurales. Estos dos tipos se distinguen por el modo en que acceden a los datos. Los lenguajes
procedurales manipulan la base de datos registro a registro, mientras que los no procedurales operan
sobre conjuntos de registros. En los lenguajes procedurales se especifica qué operaciones se deben
realizar para obtener los datos resultado, mientras que en los lenguajes no procedurales se especifica
qué datos deben obtenerse sin decir cómo hacerlo. El lenguaje no procedural más utilizado es el SQL
(Structured Query Language) que, de hecho, es un estándar y es el lenguaje de los SGBD relacionales.
Proporciona un acceso controlado a la base de datos mediante: • Un sistema de seguridad, de modo que
los usuarios no autorizados no puedan acceder a la base de datos. • Un sistema de integridad que
mantiene la integridad y la consistencia de los datos. • Un sistema de control de concurrencia que
permite el acceso compartido a la base de

2.8. Metodología del PI

La metodología utilizada es aplicativa ya que se ha proporcionado mediante los requerimientos,


solicitados una solución acorde al problema planteado para un correcto desenvolvimiento de la solución
de manera que al momento de aplicar esta solución cubra con todos los puntos requeridos por el
problema planteado haciendo de este un método eficaz de resolver las necesidades que requiere cada
punto en concreto.

2.9. Recursos y Presupuesto

Recursos utilizados para cumplir con nuestro objetivo fue el PgAdmin y postgres 9.6 y recursos económicos no
fueron necesarios en la realización de este proceso.

2.10. Cronograma de actividades:

Semana 1 Semana 2
Planteamiento de problema Ejecución de soluciones
Definición de grupos Pruebas
Análisis del problema Documentación
Propuestas para soluciones Entrega del proyecto

2.12 Propuesta de solución al problema

Nuestras propuestas para la solución de problemas fueron las siguientes

 Resolveremos cada ítem mostrando resultados satisfactorios

 Primero analizaremos el tipo de datos a utilizar y como resultado obtendremos uno o varios tipos
de dato nuevos, que los trabajaremos con un dominio

 Ya definido implementaremos las tablas con los requisitos descritos anteriormente

 Ingresaremos datos a las tablas

 Definir una vista combinando dos tablas


 Implementaremos una función que permita parametrizar la vista de forma tal que su resultado sea
una tabla con los nombres y las horas semanales de los empleados que trabajan en un proyecto
cuyo título se pase por parámetro.

 Definiremos una función que permita obtener todos los datos de los proyectos en los que trabajan
más de 5 proyectos.

 Definiremos un disparador que controle que un supervisor controle solamente a 3 empleados.

 Crearemos una regla que controle que en un proyecto no pueden trabajar más de 10 empleados.

2.13 Conclusiones

Luego de haber concluido con la creación y diseño de nuestra base de datos fueron muchos los esfuerzos
y conocimientos adquiridos durante dicha elaboración.

Algunos de los aspectos aprendidos y que de gran peso de la base de datos fueron sus funciones, reglas,
disparadores, vistas etc.

En cuanto al requerimiento podemos decir que utilizamos varias funciones para la creación de nuestra
base de datos.

Otro aspecto importante fue el diseño y creación de la base de datos, el cual utilizamos algunas reglas,
funciones y disparadores para hacerla más interesante a nuestra base de datos.

2.13. Recomendaciones

Principalmente vemos la necesidad de conocer cada día más el entorno de las bases de datos. Aprender
de manera didáctica y autodidactica.

Es necesario conocer que la implementación del código el cual debe estar bien estructurado para evitar
algunas redundancias innecesarias.

Conocer las especificaciones que nos presenta cuando estructuramos las tablas de cada base de datos,
realizando nuestro trabajo más práctico y sencillo.

You might also like