Académique Documents
Professionnel Documents
Culture Documents
FLOR
GRUPO:
TUTOR:
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 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.
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
4
RESULTADO DE LA ACTIVIDAD
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:
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
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.
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.
Esta base de datos ya tiene desarrollada la tercera forma normal, sin embargo para
mejorarla vamos a desarrollar la cuarta forma normal.
Ya que la base de datos no tiene relaciones M:M no es necesario aplicar la cuarta forna
normal.
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.
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
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
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
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
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
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:
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.
21
INSERT INTO cargo values (3,'Profesor Asociado');
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.
22
GRANT ALL PRIVILEGES ON departamento TO ALEX
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;
24
select P_Nombre, S_Nombre, P_Apellido, S_Apellido, Salario from empleado where
Salario>=1500000;
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
26
BIBLIOGRAFIA
27