Escolar Documentos
Profissional Documentos
Cultura Documentos
CÓDIGO: 301125A_611
Presentado a:
Luis Ernesto Bonilla
Entregado por:
Grupo: 301125_29
Oferta Académica
Número de asignaturas
Año
Semestre
Numero de sección
Profesor
Horarios
Aulas
Estudiantes
Numero identificación
Nombre
Departamento
Titulo
ID Oferta Académica
Asignatura-estudiante
Id Estudiante
Id Asignatura
Nota
ii. Descripción de las columnas
Nombre: asignatura
Descripción: Contendrá información de cada una de las
asignaturas.
Campo Tipo Tamaño Descripción
id Numérico 12 Clave de la
asignatura
(Auto
incrementable)
numero Numérico 12 Número de la
asignatura
titulo Carácter 150 Título de la
asignatura
programa Carácter 200 Programa de la
asignatura
prerrequisitos Carácter 200 Prerrequisitos
de la
asignatura
Nombre: oferta_academica
Descripción: Contendrá información de las ofertas
académicas.
Campo Tipo Tamaño Descripción
id Numérico 12 Clave primaria
de la oferta
académica
(Auto
incrementable)
num_asignaturas Numérico 12 Número de
asignaturas de
la oferta
académica
year Numérico 4 Año de la
oferta
académica
semestre Carácter 50 Semestre de la
oferta
académica
num_seccion Numérico 4 Numero de
sección de la
oferta
académica
profesor Carácter 200 Profesor de la
oferta
académica
horarios Carácter 200 Horarios de la
oferta
académica
aulas Carácter 200 Aulas de la
oferta
académica
Nombre: estudiantes
Descripción: Contendrá información de cada una de los
estudiantes
Campo Tipo Tamañ Descripción
o
id Numéric 12 Clave de
o estudiante
(Auto
incrementable
)
num_identificacion Numéric 12 Número de
o identificación
del estudiante
nombre Carácter 200 Nombre del
estudiante
departamento Carácter 200 Departamento
del estudiante
titulo Carácter 200 Título del
estudiante
id_oferta_academic Numeric 12 Clave foránea
a o del estuante
con la oferta
académica
Nombre: asignatura_estudiante
Descripción: Contendrá información de las asignaturas
correspondientes a cada estudiante y su nota
Campo Tipo Tamaño Descripción
id_estudiante Numérico 12 Identificador
único del
estudiante(Campo
Clave)
id_asignatura Numérico 12 Identificador de la
asignatura(Campo
Clave)
nota Carácter 50 Nota del
estudiante en esa
asignatura
Tabla asingatura
Tabla oferta_academica
Tabla estudiantes
Tabla asignatura_estudiante
Estos 2 lenguajes son empleados por los Sistemas de Gestión de Bases de Datos (SGBD)
basándose en sintaxis SQL o de otros tipos, con el objetivo de generar una base de datos
relacional e interactuar con los datos que ésta contenga. La diferencia entre ellos radica en que el
Lenguaje de definición de datos (DDL) define la organización de la base de datos y sus
componentes como las tablas, atributos y restricciones. Mientras que el lenguaje de manipulación
de datos (DML) se encarga de gestionar la información a manera de consultas y cambios en los
registros de la base de datos.
El lenguaje de definición de datos utiliza sentencias en forma de verbo como son CREATE,
SHOW, DROP, ALTER, etc., aplicadas a objetos como DATABASE, TABLE, INDEX, etc.
El lenguaje de modificación de datos emplea sentencias tales como SELECT, INSERT,
DELETE, UPDATE, para realizar los cambios respectivos en las tablas ya definidas y utilizando
los campos como criterio de modificación en los registros.
18
IV. Descripción de cada una de las relaciones teniendo en cuenta las opcionalidades, cardinalidades, grado, transferibilidad y si ayuda o
no resolver debilidades en las entidades participantes y las restricciones propias de cada relación. (Formato 4)
Pregunta para
determinar Rta
Cardinalidad
Ayuda a
Pregunta para Relación es
Rta Card Transferible Identificar
Relación Entidades 1 Rol Entidad 2 determinar Grado Observación / Restricciones /Atributos
Opc entidades
Opcionalidad (Si/No)
Participantes
(Preguntar
CUANTO )
19
B. La siguiente etapa consiste en realizar el diseño de la base de datos relacional, acorde a las características del caso de
estudio, para ello, se debe efectuar la entrega del Modelo Relacional, el cual se logra adelantando las siguientes tareas:
estudiantes
Identificación de estudiante nombre departamento titulo
matrícula
Identificación de matricula Identificación de asignatura Identificación de estudiante titulo nombre
notas
Identificación de nota puntuación Identificación de asignatura titulo nombre Identificación de estudiante
asignaturas
titulo Número de asignaturas programa prerrequisito
20
II. Transforme las Relaciones 1:1 o 1:M en Llaves Foráneas, implementando el concepto de la Integridad Referencial --
oferta académica
Identificación de oferta cantidad de asignaturas año semestre Numero de sección profesor horario aulas
estudiantes
Identificación de estudiante nombre departamento titulo
matrícula
Identificación de matricula Identificación de asignatura Identificación de estudiante titulo nombre Identificación de oferta
notas
Identificación de nota puntuación Identificación de asignatura titulo nombre Identificación de estudiante
asignaturas
titulo Número de asignaturas programa prerrequisito Identificación de oferta
21
III. Aplicar técnicas de normalización
OFERTA_ACADÉMICA
ID_OFERTA Q_ASIGNATURAS AÑO SEMESTRE NUMERO_SECCIÓN PROFESOR HORARIO AULAS
ESTUDIANTES
ID_ESTUDIANTE NOMBRE DEPARTAMENTO TITULO
MATRÍCULA
ID_MATRICULA ID_ASIGNATURA ID_ESTUDIANTE TITULO NOMBRE ID_OFERTA
NOTAS
ID_NOTA PUNTUACIÓN ID_ASIGNATURA TITULO NOMBRE ID_ESTUDIANTE
ASIGNATURAS
ID_ASIGNATURA TITULO PROGRAMA PRERREQUISITO ID_OFERTA
22
C. En la etapa final se efectúa el desarrollo de la base de datos relacional atendiendo el
caso de estudio propuesto, por tanto, se debe entregar:
23
Creación de tabla ESTUDIANTES: create table ESTUDIANTES(ID_ESTUDIANTE
int,NOMBRE varchar(30),DEPARTAMENTO varchar(30), TITULO
varchar(30),constraint ESTUDIANTES_pk PRIMARY KEY(ID_ESTUDIANTE));
24
Creación de tabla ASIGNATURAS: create table
ASIGNATURAS(ID_ASIGNATURA int,TITULO varchar(30),PROGRAMA
varchar(30),PRERREQUISITO varchar(50),ID_OFERTA int,constraint
ASIGNATURAS_pk PRIMARY KEY(ID_ASIGNATURA),constraint
ASIGNATURAS_FK FOREIGN KEY(ID_OFERTA) REFERENCES
OFERTA_ACADÉMICA(ID_OFERTA));
25
Creación de tabla NOTAS: create table NOTAS(ID_NOTA int,PUNTUACIÓN
int,ID_ASIGNATURA int,TITULO varchar(30), NOMBRE
varchar(30),ID_ESTUDIANTE int,constraint NOTAS_pk PRIMARY
KEY(ID_NOTA),constraint NOTAS_FK FOREIGN KEY(ID_ASIGNATURA)
REFERENCES ASIGNATURAS(ID_ASIGNATURA),constraint NOTAS2_FK
FOREIGN KEY(ID_ESTUDIANTE) REFERENCES
ESTUDIANTES(ID_ESTUDIANTE));
26
Creación de tabla MATRÍCULA: create table MATRÍCULA(ID_MATRICULA
int,ID_ASIGNATURA int,ID_ESTUDIANTE int, TITULO varchar(30),NOMBRE
varchar(30),ID_OFERTA int,constraint MATRÍCULA_pk PRIMARY
KEY(ID_MATRICULA), constraint MATRÍCULA_FK FOREIGN
KEY(ID_ASIGNATURA) REFERENCES
ASIGNATURAS(ID_ASIGNATURA),constraint MATRÍCULA2_FK FOREIGN
KEY(ID_ESTUDIANTE)REFERENCES ESTUDIANTES(ID_ESTUDIANTE),constraint
MATRÍCULA3_FK FOREIGN KEY(ID_OFERTA)REFERENCES
OFERTA_ACADÉMICA(ID_OFERTA));
27
II. Programación con el lenguaje SQL del script DML para poblar las tablas de
la base de datos (especialmente las tablas maestras o de referencia o tablas de
códigos)
28
Insertar datos en la tabla OFERTA_ACADÉMICA: insert all into
OFERTA_ACADÉMICA(ID_OFERTA, Q_ASIGNATURAS, AÑO, SEMESTRE,
NUMERO_SECCIÓN, PROFESOR, HORARIO, AULAS) values (1,'52','02/02/2019'',1,
10, 'Alejandro Montaño', '8 am - 1 pm', '3c - 4a')
29
Insertar datos en la tabla ASIGNATURAS: insert all into
ASIGNATURAS(ID_ASIGNATURA, TITULO, PROGRAMA, PRERREQUISITO,
ID_OFERTA) values (1001,'Microbiologia','Doctor','Biologia',1)
into ASIGNATURAS(ID_ASIGNATURA, TITULO, PROGRAMA, PRERREQUISITO,
ID_OFERTA) values (1002,'Vector','Diseñador','Dibujo',2)
into ASIGNATURAS(ID_ASIGNATURA, TITULO, PROGRAMA, PRERREQUISITO,
ID_OFERTA) values (1003,'Psicopatología','Psicologo','Neurofisiología',3)select* from
dual;
30
Insertar datos en la tabla MATRÍCULA: insert all into
MATRÍCULA(ID_MATRICULA, ID_ASIGNATURA, ID_ESTUDIANTE, TITULO,
NOMBRE,ID_OFERTA) values (1,1001,1088864256,'Doctor','Mario Aguirre',1)
into MATRÍCULA(ID_MATRICULA, ID_ASIGNATURA, ID_ESTUDIANTE, TITULO,
NOMBRE,ID_OFERTA) values (2,1002,1086375912,'Diseñador','Alberto Pelaez',2)
into MATRÍCULA(ID_MATRICULA, ID_ASIGNATURA, ID_ESTUDIANTE, TITULO,
NOMBRE,ID_OFERTA) values (3,1003,1089632773,'Psicologo','Martin Velez',3) select*
from dual;
31
III. Programación con el lenguaje SQL el Scripts DCL para otorgar los
permisos sobre los objetos de la base de datos a otros usuarios/Esquemas de la
base de datos.
REVOKE: Permite eliminar permisos a un usuario sobre un objeto especificado
REVOKE ALL PRIVILEGES ON NOTAS FROM PAOLA;
32
IV Diligencie cinco registros en la base de datos y con esta información realice
cinco consultas simples sobre las tablas de la base de datos
insert all into
NOTAS(ID_NOTA,PUNTUACIÓN,ID_ASIGNATURA,TITULO,NOMBRE,
ID_ESTUDIANTE) values (1,3.0,1001,'Doctor','Mario Aguirre',1088864256)
into NOTAS(ID_NOTA,PUNTUACIÓN,ID_ASIGNATURA,TITULO,NOMBRE,
ID_ESTUDIANTE) values (2,2.0,1002,'Diseñador','Alberto Pelaez',1086375912)
into NOTAS(ID_NOTA,PUNTUACIÓN,ID_ASIGNATURA,TITULO,NOMBRE,
ID_ESTUDIANTE) values (3,5.0,1003,'Psicologo','Martin Velez',1089632773)
into NOTAS(ID_NOTA,PUNTUACIÓN,ID_ASIGNATURA,TITULO,NOMBRE,
ID_ESTUDIANTE) values (4,2.5,1003,'Psicologo','Martin Velez',1089632773)
into NOTAS(ID_NOTA,PUNTUACIÓN,ID_ASIGNATURA,TITULO,NOMBRE,
ID_ESTUDIANTE) values (5,1.0,1003,'Psicologo','Martin Velez',1089632773)select* from
dual;
33
Seleccionar datos filtrados de la tabla NOTAS: select * from NOTAS where
ID_ESTUDIANTE=1086375912;
34
Actualizar la puntuaciòn de una persona en la tabla NOTAS: update NOTAS set
PUNTUACIÓN = 0.0 where ID_ESTUDIANTE=1088864256;
35
Borrar una fila o registro de la tabla NOTAS: delete from NOTAS where ID_NOTA=5;
36
Insertar una fila o registro a la tabla NOTAS: insert into
NOTAS(ID_NOTA,PUNTUACIÓN, ID_ASIGNATURA,TITULO,NOMBRE,
ID_ESTUDIANTE) values (5,1.0,1003,'Psicologo','Martin Velez',1089632773);
37
Aporte Eddie Enrique Leudo
38
La oficina de Registro y Control de la UNAD requiere ejecutar el proyecto de análisis, diseño y desarrollo de su Base de Datos,
para lo cual se deben tener en cuenta las siguientes entidades: Asignaturas, incluyendo el número, título, programa y
prerrequisitos. Oferta académica, incluyendo número de asignaturas, año, semestre, número de sección, profesores, horarios y
aulas. Estudiantes, incluyendo número de identificación, nombre, departamento y título. Además, la matrícula de los estudiantes
en asignaturas y las notas concedidas a estudiantes en cada asignatura en la que están matriculados se deben modelar
adecuadamente.
Para el desarrollo del proyecto se contrata a un grupo de 5 ingeniero de sistemas que para desarrollar el proyecto deben:
Realiza la etapa de análisis, teniendo en cuenta los siguientes requerimientos:
Formato 1 – Descripción de Entidades
Tabla 1 Descripción de entidades
Entidad o Tipo de Justificación, explicación Ejemplo de Extensión Intención
Entidad de su existencia en el Ejemplares
Mundo del Problema (Instancias)
39
Formato 2 - Descripción de atributos y sus restricciones naturales (Tipo de Dato) y restricciones adicionales, Dominios (Lista de
Valores, Rangos de Valores y Restricciones generales)
Tabla 2 Descripción de atributos y sus restricciones
Nombre Atributos Identificador Nombre Tipo de Tamaño Obligatoriedad Cardinalidad Restricciones adicionales
Entidad Único (UID) dominio Dato (Si/No) (1 o Lista de Rango Restricción
(Texto, Muchos) Valores de general
Número, Valores
Fecha)
Asignatura Número de Id x Número de Id N 20 Si 1 -- -- --
título título T 10 Si 1 -- -- --
programa programa T 40 Si 1 -- -- --
prerrequisitos prerrequisitos T 20 Si 1 -- -- --
Oferta N° X N° N 20 Si 1 -- -- --
académica Asignatura Asignatura
Año Año T 20 Si 1 -- -- --
Semestre Semestre N 10 Si 1 -- -- --
40
N° sección N° sección N 20 Si 1
Profesor Profesor T 20 Si 1 -- -- --
Horarios Horarios T 20 Si 1 -- -- --
Aulas Aulas T 10 Si 1 -- -- --
Estudiantes Numero de Id X N 20 Si 1 -- -- --
Nombre T 20 Si 1 -- -- --
Departamento T 20 Si 1 -- -- --
Título T 20 Si 1 -- -- --
41
María Fernanda Piedrahita
interrogante 5.
¿Que son las formas normales y cual es su finalidad?
Las formas normales son técnicas que se crearon para prevenir anomalías que
pueden aparecer cuando se crean relaciones entre las tablas, problemas como;
redundancia de datos, perdida de información e inconsistencia los datos, entre
otros; como resultado de estos problemas se diseñaron las formas normales, para
realizar una normalización y tener unas relaciones más estructuradas, teniendo
como objetivo tener una base de datos donde la redundancia sea nula, con tal fin
se definieron tres formas normales:
Ejemplo:
Base Datos1 Base Datos2 (1FN)
Teléfonos: 31232323233, 44567773 Teléfono 1 31232323233
Teléfono 2 44567773
42
a. Realiza la etapa de análisis, teniendo en cuenta los siguientes requerimientos:
43
Tipo de Cardinalidad Restricciones adicionales
Dato
Nombre Identificador Obligatoriedad
Atributos Nombre dominio (Texto, Tamaño
Entidad Único (UID) (Si/No)
Número, (1 o Lista de
Rango
Restricción
de
Fecha) Muchos) Valores
Valores
de Control
ID_Asignatura X ID_Asignaturas N 20 Si
Asignaturas
Cod_Asignatura codigos N 20 SI
Nombre_Asignatura Titulos T 50 SI
Programa Programas T 50 Si
Prerrequisito Prerrequisitos T 50 Si
Cod_Asignatura X Cod_Asignatura N 20 Si
Oferta
académica Año Años F 20 Si
Semestre Semestres N 20 Si
Numero_Sección Numero_Secciones N 20 SI
Profesor Profesores T 30 SI
Horario Horarios F 20 Si
Aulas Aulas T 30 SI
ID_Estudiante X ID_Estudiantes N 20 Si
Estudiantes
Nombre Nombres T 40 Si
Departamento Departamentos T 40 SI
Programa Programas T 40 SI
No_Registro x Registros N 20 Si
Matricula ID_Estudiante ID_Estudiantes N 20 Si
Cod_Asignatura Cod_Asignatura N 20 Si
Nota Notas N 5 Si
44
Matriz de Relaciones
Asignaturas Oferta Académica Estudiantes Matricula
Asignaturas R2 R3
Oferta Académica R2
Estudiantes R1
Matricula R3 R1
Formato 4 – Descripción ampliada de las relaciones determinadas en la Matriz de Relaciones (Análisis de Roles, Cardinalidad/Opcionalidad, Grado, Cualidad de identificación, Transferibilidad)
Pregunta para
determinar Rta
Cardinalidad Ayuda a
Pregunta para Relación es
Rta Identificar
Relación Entidades 1 Rol Entidad 2 determinar Transferible Grado Observación / Restricciones /Atributos
Opc Card entidades
Opcionalidad (Si/No)
Participantes
(Preguntar
CUANTO )
45
¿Una asignaturas
¿Una Asignatura
cuantas veces
Asignatura Hace parte Oferta_Academica deberán ser NO M Si 1:M
podrá ser
ofertada ?
ofertada?
Una asignatura podrá ser ofertada un N
R2 1:1
veces.
¿ Cuantas
¿Una oferta
asignaturas puede
Oferta_Academica Contiene Asignatura académica depende Si 1 Si
tener una
una asignatura ?
oferta_academica?
¿Una matrícula
¿Un matricula
cuantas
Matricula tiene Asignatura deberá tener una Si 1 Si 1:1
asignaturas puede
asignatura ?
tener?
Un estudiante podrá realizar solo una
R2 1:1 matrícula de x asignatura.
¿ Una asignatura
¿Es indispensable
cuantas veces
Asignatura Hace parte Matricula matricular una si 1 Si
podrá ser
asignatura?
matriculada ?
46
B. Llaves primarias (UID) de cada tabla
Nombre
Atributos
Entidad
#ID_Asignatura
Asignaturas
(FK) Cod_Asignatura
Nombre_Asignatura
Programa
Prerrequisito
#Cod_Asignatura
Oferta
académica Año
Semestre
Numero_Sección
Profesor
Horario
Aulas
#ID_Estudiante
Estudiantes
Nombre
Departamento
Programa
#No_Registro
Matricula ID_Estudiante
Cod_Asignatura
Nota
Trasforme las relaciones 1:1 o 1:M en llaves foráneas, implementando el
concepto de la integridad referencial
CONCLUSIONES