You are on page 1of 27

BASES DE DATOS BASICO

FASE FINAL – PROYECTO FINAL

FLOR

GRUPO:

TUTOR:

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

DICIEMBRE DE 2018

1
TABLA DE CONTENIDO

INTRODUCCION .............................................................................................................................. 3
OBJETIVOS ...................................................................................................................................... 4
Objetivo General ......................................................................................................................... 4
Objetivos Específicos ............................................................................................................... 4
TABLA CON ENLACE A GOOGLE DRIVE.................................................................................. 4
RESULTADO DE LA ACTIVIDAD ................................................................................................. 5
Descripción general del proyecto .......................................................................................... 5
Fase Análisis – Modelo Entidad-Relación ........................................................................... 5
Modelo Entidad - Relación: ..................................................................................................... 7
Fase Diseño – Modelo Relacional .......................................................................................... 7
Llaves primarias (UID) de cada tabla. ................................................................................... 7
Técnicas de normalización...................................................................................................... 8
Diccionario DataModeler ....................................................................................................... 11
Modelo Relacional: ................................................................................................................. 20
Fase - Desarrollo - Construcción del Modelo Físico (DDL, DML, DCL) ..................... 20
Programación con el lenguaje SQL del Script DDL .......................................................... 20
Programación con el lenguaje SQL del script DML .......................................................... 21
Programación con el lenguaje SQL el Scripts DCL .......................................................... 22
Generación de Consultas simples sobre las tablas de la base de datos ...................... 24
CONCLUSIONES ........................................................................................................................... 26
BIBLIOGRAFIA ........................................................................................................................... 27

2
INTRODUCCION

En este trabajo se lleva a cabo la formulación de un problema de forma individual


el cual consiste en identificar una empresa junto con una problemática a
solucionar, luego dependiendo de las propuestas planteadas en el foro del trabajo
colaborativo se escogerá una de ellas y se ampliará el análisis del mismo
enfocándose en relación a los contenidos desarrollados en el curso y mediante el
análisis de los datos de entidad relación y herramientas como SQL le daremos
solución al mismo.

En este caso dentro del primer momento se define la situación del caso a trabajar,
se realiza el planteamiento del mismo como problema, se plantea una justificación
y finalmente se concretan unos objetivos, para después de esto poderlo llevar a
cabo mediante el análisis de bases de datos relacional en el siguiente momento
del trabajo colaborativo.

Luego de la elaboración y aprobación por parte del grupo del anteproyecto se


continúa con la resolución de los objetivos mediante un levantamiento de la
información, en este caso verbal y ocular, el desarrollo de un modelo lógico, para
pasar al modelo relacional y finalmente la base de datos del área de Recursos
Humanos del Colegio Nacional Abierto y a Distancia Cundinamarca – Bogotá D.C.

3
OBJETIVOS
Objetivo General

Analizar, diseñar y realizar una base de datos relacional que permitan obtener un
control de registro de actividades de los operarios del Colegio Nacional Abierto y a
Distancia Cundinamarca – Bogotá D.C. de una manera clara precisa y organizada

Objetivos Específicos

 Identificar claramente el manejo de control y registros de actividades en las


operaciones de esta empresa mediante la realización de algunas
entrevistas a los trabajadores y gerencia
 Plantear una solución con la mejor manera de poder realizar el control de
registro de las actividades diarias de los operarios, tipificando actividades y
organizando la información relacionada a estas.
 Dar solución del manejo de control de actividades a la empresa mediante la
implementación de una base de datos relacional, en este caso con la
herramienta de gestión de bases de datos SQL.

TABLA CON ENLACE A GOOGLE DRIVE

Nombre Estudiante Enlace (Bitácora Individual)

4
RESULTADO DE LA ACTIVIDAD

Descripción general del proyecto


Descripción general del proyecto
Nombre de la empresa y Ubicación Colegio Nacional Abierto y a Distancia
Cundinamarca – Bogotá D.C.
Actividad económica de la empresa Educación publica
Área que se quiere estudiar Recursos humanos
(Administrativa o financiera o
estratégica u operativa) Seleccione
únicamente una.
Descripción general de la problemática Se requiere centralizar la información de
o del proceso que tiene problemas con la empresa objeto de estudio con el fin
los datos (por ejemplo, Compras, de mantener integridad en la
Ventas, Logísticas, Nómina, etc.). información que se requiere para los
procesos misionales, operativos, etc
que permitan el cumplimiento de los
objetivos y naturaleza de la empresa
Justificación de por qué es interesante Es interesante trabajar esta
trabajar esa problemática problemática, por que ayudan a las
personas encargadas de la unidad de
recursos humanos a centralizar los
datos de los trabajadores del colegio, y
también para que puedan ver los datos
de los trabajadores de una forma mas
simple y rápida.

Fase Análisis – Modelo Entidad-Relación

Fase Análisis
- Definición y descripción de tablas Entidades definidas en el contexto del
proyecto:
Empleados
Cargos
Departamentos
- Descripción de las columnas (atributos) - Empleados
Empleado_id
P_Nombre
S_Nombre
P_Apellido
S_Apellido

5
Fecha_Ingreso
Fecha_Nacimiento
Estado_Civil
Salario
Correo
Sexo
- Cargo
Cargo_id
Nombre_Cargo
- Departamentos
Departamento_id
Nombre_Departamenoto
- Definición de las relaciones requeridas y En la entidad Empleados se evidencia la
pertinentes en la matriz de relaciones necesidad de establece una relación entre el
atributo Empleado_id y el atributo Cargo_id
de la entidad cargos el cual se va a guardar
en la tabla Empleado como una clave
foránea con el nombre de Cargo_Cargo_id
También se evidencia la necesidad de
guardar el Departamento_id de la tabla
Departamento como una clave foránea en la
tabla Empleado con el nombre de
Departamento_Departamento_id.

- Descripción de cada una de las Todo empleado solo puede estar asociado a
relaciones teniendo en cuenta las un único cargo en tiempo real, de acuerdo
opcionalidades, cardinalidades, grado, con lo expuesto por Jimenez (2014) una
transferibilidad y si ayuda o no resolver relación 1:1 quiere decir que los atributos de
debilidades en las entidades participantes ambas entidades se relacionan de 1 a 1 en
y las restricciones propias de cada relación ambos sentidos.

6
Modelo Entidad - Relación:

Fase Diseño – Modelo Relacional

Llaves primarias (UID) de cada tabla.

Para la entidad Cargo se define como llave primaria Cargo_id, para la entidad
Departamento se define la llave primaria Departamento_id, y para la entidad Empleado se
define como llave primaria el atributo Empleado_id

- Transforme las Relaciones 1:1 o 1:M en Llaves Foráneas, implementando el concepto


de la Integridad Referencial

Hay una relación de 1:M entre las tablas Empleado y Cargo, ya que un empleado puede
tener un cargo, pero un cargo puede tener a varios empleados; donde se le agrega la
llave foránea a la tabla Empleado con el atributo con nombre de Cargo_Cargo_id.

Tambien hay otra relación de 1:M entre las tablas Empleado y Departamento, ya que un
Empleado pertenece a un solo Departamento, pero un Departamento puede tener varios
Empleados; donde se agrega la clave foránea en la tabla Empleado con el nombre de
Departamento_Departamento_id

7
Técnicas de normalización

Sin Normalizar

Empleado
Estado
Empleado_id P_Nombre S_Nombre P_Apellido S_Apellido F_Ingreso F_Nacimiento Salario Correo Sexo Departamento Cargo
Civil
Daniel.prada Profesor
1 Jean Carlos Prada Araque 10/25/2010 02/08/1990 Soltero 1200000 M Sistemas
@gmail.com Asociado
Diana.cardona
2 Diana Cardona Florez 01/20/2010 11/25/1990 Casado 100000 F Telecomunicaciones Monitor
@gmail.com
Primera Forma Normal (1FN)

Al aplicar la primera forma normal hemos generado un identificador para cada alumno,
también dividimos los nombres y los apellidos en dos, se ha conservado la integridad de
las columnas de la información lo que es más óptimo que sin la normalización, sin
embargo, se puede mejorar con la segunda forma normal.

Segunda Forma Normal (2FN)

Empleado
Estado
Empleado_id P_Nombre S_Nombre P_Apellido S_Apellido F_Ingreso F_Nacimiento Salario Correo Sexo Departamento_id Cargo_id
Civil
Daniel.prada
1 Jean Carlos Prada Araque 10/25/2010 02/08/1990 Soltero 1200000 M 1 2
@gmail.com
Diana.cardona
2 Diana Cardona Florez 01/20/2010 11/25/1990 Casado 100000 F 2 1
@gmail.com

Departamento
Departamento_id Nombre_Departamento
1 Sistemas
2 Telecomunicaciones

Cargo
Cargo_id Nombre_Cargo
1 Monitor
2 Profesor Asociado

8
Al aplicar la segunda forma normal, hemos separado la información de los empleados de
la relación que guardan con el cargo y con el departamento, generando una segunda
tabla (Departamento) y una tercera tabla (Cargo), sin embargo, dicha tabla puede
mejorarse con la tercera forma normal.

Tercera Forma Normal (3FN)

Esta base de datos ya tiene desarrollada la tercera forma normal, sin embargo para
mejorarla vamos a desarrollar la cuarta forma normal.

Cuarta Forma Normal (4FN)

Ya que la base de datos no tiene relaciones M:M no es necesario aplicar la cuarta forna
normal.

Quinta Forma Normal (5FN)

En síntesis, la quinta forma, nos dice que en modelos muy grandes donde tenemos
muchas relaciones y entidades, nos sugiere que una vez que hayamos terminado la
normalización de nuestro modelo, lo revisemos una vez más en busca de posibles errores
de lógica en la normalización, para efectos de nuestro ejemplo que es un modelo sencillo
no aplicaremos la quinta forma normal.

Nuestra normalización quedaría de la siguiente manera:

Empleado
Estado
Empleado_id P_Nombre S_Nombre P_Apellido S_Apellido F_Ingreso F_Nacimiento Salario Correo Sexo Departamento_id Cargo_id
Civil
Daniel.prada
1 Jean Carlos Prada Araque 10/25/2010 02/08/1990 Soltero 1200000 M 1 2
@gmail.com
Diana.cardona
2 Diana Cardona Florez 01/20/2010 11/25/1990 Casado 100000 F 2 1
@gmail.com

Departamento
Departamento_id Nombre_Departamento
1 Sistemas
2 Telecomunicaciones

Cargo
Cargo_id Nombre_Cargo

9
1 Monitor
2 Profesor Asociado

10
- Diccionario de Datos – Construir a partir del software Oracle Developer Data Modeler

Diccionario DataModeler

Design Name Alex_Marimon


Version Date 11.12.2018 01:23:31
Version Comment
Model Name Modelo_Relacional

11
Table Name Cargo

Functional Name
Abbreviation Cargo
Classification Type
Name
Object Type Name
MV Prebuilt
MV Query

Number Of Columns 3
Number Of Rows 0
Min.
Number Of Rows 9999999
Max.
Expected Number 0
Of Rows
Expected Growth 0
Growth Interval Year

12
Columns

DT Formula
No Column Name PK FK M Data Type Domain Name Security Abbreviation
kind (Default Value)
1 Cargo_id P Y Integer LT
2 Nombre_Cargo Y VARCHAR (25 LT
CHAR)
3 Empleado_id Y Integer LT

Indexes

Sort
Index Name State Functional Spatial Expression Column Name
Order
Cargo_PK PK Cargo_id ASC

Foreign Keys (referred from)

In Delete
Name Referred From Mandatory Transferable Columns Referred Columns
Arc Rule
Empleado_Cargo_FK Empleado Y Y Cargo_Cargo_id Cargo_id

13
Table Name Departamento

Functional Name
Abbreviation Departamento
Classification Type
Name
Object Type Name
MV Prebuilt
MV Query

Number Of Columns 2
Number Of Rows 0
Min.
Number Of Rows 9999999
Max.
Expected Number 0
Of Rows
Expected Growth 0
Growth Interval Year

14
Columns

DT Formula
No Column Name PK FK M Data Type Domain Name Security Abbreviation
kind (Default Value)
1 Departamento_id P Y Integer LT
2 Nombre_Departamento Y VARCHAR (25 LT
CHAR)

Indexes

Sort
Index Name State Functional Spatial Expression Column Name
Order
Departamento_PK PK Departamento_id ASC

Foreign Keys (referred from)

In Delete
Name Referred From Mandatory Transferable Columns Referred Columns
Arc Rule
Empleado_Departamento_FK Empleado Y Y Departamento_Departamento_id Departamento_id

15
Table Name Empleado

Functional Name
Abbreviation Empleado
Classification Type
Name
Object Type Name
MV Prebuilt
MV Query

Number Of Columns 14
Number Of Rows 0
Min.
Number Of Rows 9999999
Max.
Expected Number 0
Of Rows
Expected Growth 0
Growth Interval Year

16
Columns

Formula
DT
No Column Name PK FK M Data Type Domain Name (Default Security Abbreviation
kind
Value)
1 Empleado_id P Y Integer LT
2 P_Nombre Y VARCHAR (25 LT
CHAR)
3 S_Nombre VARCHAR (25 LT
CHAR)
4 P_Apellido Y VARCHAR (25 LT
CHAR)
5 S_Apellido Y VARCHAR (25 LT
CHAR)
6 F_ingreso Date LT
7 F_Nacimiento Y Date LT
8 Estado_Civil VARCHAR (7 LT
CHAR)
9 Salario Y DOUBLE LT
10 Correo Y VARCHAR (15 LT
CHAR)
11 Sexo Y VARCHAR (1 LT
CHAR)
12 Cargo_Cargo_id F Y Integer LT

17
Formula
DT
No Column Name PK FK M Data Type Domain Name (Default Security Abbreviation
kind
Value)
13 Departamento_Departamento_id F Y Integer LT
14 Empleado_Empleado_id F Y Integer LT

Indexes

Sort
Index Name State Functional Spatial Expression Column Name
Order
Empleado_PK PK Empleado_id ASC

Foreign Keys (referring to)

In Delete
Name Refering To MandatoryTransferable Columns Referred Columns
Arc Rule
Empleado_Empleado_FK Empleado Y Y Empleado_Empleado_id Empleado_id
Empleado_Cargo_FK Cargo Y Y Cargo_Cargo_id Cargo_id
Empleado_Departamento_FK Departamento Y Y Departamento_Departamento_id Departamento_id

Foreign Keys (referred from)

18
In Delete
Name Referred From Mandatory Transferable Columns Referred Columns
Arc Rule
Empleado_Empleado_FK Empleado Y Y Empleado_Empleado_id Empleado_id

19
Modelo Relacional:

Fase - Desarrollo - Construcción del Modelo Físico (DDL, DML, DCL)

El estudiante debe diseñar, desarollar y presentar el script en la herramienta Oracle


Application Express (APEX) que responda a los siguientes requisitos:

Programación con el lenguaje SQL del Script DDL


CREATE TABLE "CARGO"
( "CARGO_ID" NUMBER(*,0),
"NOMBRE_CARGO" VARCHAR2(25) NOT NULL ENABLE,
PRIMARY KEY ("CARGO_ID")
USING INDEX ENABLE
)
/
CREATE TABLE "DEPARTAMENTO"
( "DEPARTAMENTO_ID" NUMBER(*,0),
"NOMBRE_DEPARTAMENTO" VARCHAR2(25) NOT NULL ENABLE,
PRIMARY KEY ("DEPARTAMENTO_ID")
USING INDEX ENABLE
)
/
CREATE TABLE "EMPLEADO"
( "EMPLEADO_ID" NUMBER(*,0),
"P_NOMBRE" VARCHAR2(25) NOT NULL ENABLE,
"S_NOMBRE" VARCHAR2(25),
"P_APELLIDO" VARCHAR2(25) NOT NULL ENABLE,
"S_APELLIDO" VARCHAR2(25) NOT NULL ENABLE,
"F_INGRESO" DATE NOT NULL ENABLE,

20
"F_NACIMIENTO" DATE NOT NULL ENABLE,
"ESTADO_CIVIL" VARCHAR2(7),
"SALARIO" NUMBER NOT NULL ENABLE,
"CORREO" VARCHAR2(15) NOT NULL ENABLE,
"SEXO" VARCHAR2(1) NOT NULL ENABLE,
"CARGO_CARGO_ID" NUMBER(*,0) NOT NULL ENABLE,
"DEPARTAMENTO_DEPARTAMENTO_ID" NUMBER(*,0) NOT NULL ENABLE,
"EMPLEADO_EMPLEADO_ID" NUMBER(*,0),
PRIMARY KEY ("EMPLEADO_ID")
USING INDEX ENABLE
)
/
ALTER TABLE "EMPLEADO" ADD CONSTRAINT "EMP_CAR_FK" FOREIGN KEY ("CARGO_CARGO_ID")
REFERENCES "CARGO" ("CARGO_ID") ENABLE
/
ALTER TABLE "EMPLEADO" ADD CONSTRAINT "EMP_DEP_FK" FOREIGN KEY
("DEPARTAMENTO_DEPARTAMENTO_ID")
REFERENCES "DEPARTAMENTO" ("DEPARTAMENTO_ID") ENABLE
/
ALTER TABLE "EMPLEADO" ADD CONSTRAINT "EMP_EMP_FK" FOREIGN KEY ("EMPLEADO_EMPLEADO_ID")
REFERENCES "EMPLEADO" ("EMPLEADO_ID") ENABLE
/
Rem No function found to generate DDL.
CREATE UNIQUE INDEX "SYS_C0078770440" ON "CARGO" ("CARGO_ID")
/
CREATE UNIQUE INDEX "SYS_C0078770517" ON "DEPARTAMENTO" ("DEPARTAMENTO_ID")
/
CREATE UNIQUE INDEX "SYS_C0078770887" ON "EMPLEADO" ("EMPLEADO_ID")
/
Rem No package found to generate DDL.
Rem No procedure found to generate DDL.
Rem No sequence found to generate DDL.
Rem No synonym found to generate DDL.
Rem No trigger found to generate DDL.
Rem No view found to generate DDL.
Rem No database link found to generate DDL.
Rem No type found to generate DDL.
Rem No materialized view found to generate DDL.

Programación con el lenguaje SQL del script DML


INSERT INTO departamento values(1,'Sistemas');

INSERT INTO departamento values(2,'Telecomunicaciones');

INSERT INTO departamento values(3,'Juridica');

INSERT INTO departamento values(4,'Financiera');

INSERT INTO departamento values(5,'Secretaria General');

INSERT INTO departamento values(6,'Despacho');

INSERT INTO cargo values (1,'Rector');

INSERT INTO cargo values (2,'Profesor Titular');

21
INSERT INTO cargo values (3,'Profesor Asociado');

INSERT INTO cargo values (4,'Vicerector');

INSERT INTO cargo values (5,'Monitor');

INSERT INTO empleado values (1,'Daniel','','Prada','Araque',TO_DATE('2010/10/25',


'yyyy/mm/dd'),TO_DATE('1990/02/08',
'yyyy/mm/dd'),'Soltero',1200000,'daniel.prada@gmail.com','M',3,1,null);

INSERT INTO empleado values


(2,'Jean','Carlos','Tierradentro','Barrera',TO_DATE('2008/10/15',
'yyyy/mm/dd'),TO_DATE('1985/06/09',
'yyyy/mm/dd'),'Casado',1500000,'jean.tierradentro@gmail.com','M',2,2,null);

INSERT INTO empleado values (3,'Diana','','Cardona','Florez',TO_DATE('2010/01/20',


'yyyy/mm/dd'),'TO_DATE('1980/11/25',
'yyyy/mm/dd'),'Casado',2200000,'diana.cardoma@gmail.com','F',5,1,1);

Programación con el lenguaje SQL el Scripts DCL

Nuestro nuevo usuario que creamos tiene como nombre de usuario ALEX

Con el siguiente código le vamos a otorgar todos los permisos sobre las tablas que
tenemos creadas.

GRANT ALL PRIVILEGES ON empleado TO ALEX;

22
GRANT ALL PRIVILEGES ON departamento TO ALEX

GRANT ALL PRIVILEGES ON cargo TO ALEX

A continuación, colocare un pantallazo donde se evidencia el ingreso con el usuario alex y


donde colocamos un código para ver los empleados que hay en la base de datos

23
Generación de Consultas simples sobre las tablas de la base de datos
select P_Nombre, S_Nombre, P_Apellido, S_Apellido from empleado;

select Nombre_Departamento from departamento;

24
select P_Nombre, S_Nombre, P_Apellido, S_Apellido, Salario from empleado where
Salario>=1500000;

select empleado_id, p_nombre, p_apellido, departamento_departamento_id from


empleado where departamento_departamento_id=1;

25
CONCLUSIONES
 Se diseñó y se realizó una base de datos relacional que permitió obtener un
control de registro de actividades de los operarios del Colegio Nacional
Abierto y a Distancia Cundinamarca – Bogotá D.C. de una manera clara
precisa y organizada

 Planteamos una solución con la mejor manera de poder realizar el control


de registro de las actividades diarias de los operarios, tipificando
actividades y organizando la información relacionada a estas.

 Se implementó una base de datos relacional para dar solución al manejo de


control de actividades a la empresa, con el sistema gestor de bases de
datos (SGBD) ápex de Oracle.

26
BIBLIOGRAFIA

27

You might also like