SlideShare una empresa de Scribd logo
Universidad De Cartagena
Ingeniería De Software
ACTIVIDAD ACADÉMICA - UNIDAD 3
SERGIO LUIS ARRIETA GONZALEZ
COD: 7521920002
Docente: Jhon Arrieta
AGO 10-2022
Cartagena De Indias – Bolívar
Contenido
INTRODUCCION......................................................................................................................... 3
OBJETIVOS................................................................................................................................ 4
ENUNCIADO DEL PROBLEMA...................................................................................................... 5
DIAGRAMA ENTIDAD RELACIÓN................................................................................................. 5
MODELO RELACIONAL............................................................................................................... 6
SCRIPT SQL CON LAS SENTENCIAS DDL........................................................................................ 6
SCRIPT SQL CON LAS INSTRUCCIONES DML................................................................................. 9
DESARROLLO DE PUNTOS .........................................................................................................11
BIBLIOGRAFIA ..........................................................................................................................12
INTRODUCCION
De acuerdo a lo estipulado en tutorías sobre lo concerniente a las actividades académicas
evaluativas, a continuación se describe el desarrollo de la primera actividad, donde ustedes
como equipo deben tomar como base el mismo ejercicio desarrollado en B-1 (el caso
práctico elegido para desarrollar las actividades propuestas en la asignatura BD-1),
continuar con el desarrollo de latemática de la asignaturaBD-2,por lo que para esta tercera
actividad (Unidad 3) deben resolver los siguiente puntos sobre Funciones, Procedimientos
Almacenados y su aplicación en los motores de bases de datos relacionales
OBJETIVOS
• Analizar los diagramas relacionales descritos en la actividad para posteriormente
realizar los ejercicios correspondientes.
• Crear las bases de datos junto a las tablas mencionadas en la actividad.
• Desarrollar las consultas descritas en el enunciado de la actividad.
ENUNCIADO DEL PROBLEMA
Los profesores de la asignatura de Bases de Datos de una Escuela Universitaria deciden crear una
base de datosque contengalainformaciónde losresultadosde laspruebasrealizadasalosalumnos.
Para realizar el diseño se sabe que:
• Los alumnos están definidos por su n° de matrícula, nombre y el grupo al que asisten a clase.
• Dichos alumnos realizan dos tipos de pruebas a lo largo del curso académico:
o Exámenesescritos:cadaalumnorealizavariosalolargodel curso,y se definenporel n°de
examen,el n°de preguntasde que constaylafechade realización(lamismaparatodoslos
alumnosque realizanel mismoexamen).Evidentemente,esimportante almacenarlanota
de cada alumno por examen.
o Prácticas:se realizaunn°indeterminadode ellasduranteelcursoacadémico,algunasserán
en grupo y otras individuales. Se definenpor un código de práctica, título y el grado de
dificultad. En este caso los alumnos pueden examinarse de cualquier práctica cuando lo
deseen, debiéndose almacenar la fecha y nota obtenida.
• En cuanto a los profesores, únicamente interesa conocer (además de sus datos personales: CI y
nombre), quien es el qué ha diseñado cada práctica, sabiendo que en el diseño de una práctica
puede colaborar más de uno, y que un profesor puede diseñar más de una práctica. Interesa,
además, la fecha en que ha sido diseñada cada práctica por el profesor correspondiente.
DIAGRAMA ENTIDAD RELACIÓN
MODELO RELACIONAL
SCRIPT SQL CON LAS SENTENCIAS DDL
CREATE DATABASE GestionExamenes
GO
USE GestionExamenes
GO
CREATE TABLE alumno(
numero_matricula varchar(3) NOT NULL,
nombre varchar(20) NOT NULL,
PRIMARY KEY CLUSTERED
(
numero_matricula ASC
)
)
GO
CREATE TABLE examen(
numero_examen int NOT NULL,
numero_pregunta int NOT NULL,
fecha_realizada datetime NOT NULL,
PRIMARY KEY CLUSTERED
(
numero_examen ASC
)
)
GO
CREATE TABLE examen_alum(
numero_matricula varchar(3) NOT NULL,
numero_examen int NOT NULL,
nota int NOT NULL
)
GO
CREATE TABLE practicas(
codiGO_practicas varchar(3) NOT NULL,
titulo varchar(20) NOT NULL,
grado_dificultad varchar(20) NOT NULL,
PRIMARY KEY CLUSTERED
(
codiGO_practicas ASC
)
)
GO
CREATE TABLE profesor_practicas(
cedula_profesor varchar(10) NULL,
codiGO_practicas varchar(3) NOT NULL,
fecha_practicas datetime NOT NULL
)
GO
CREATE TABLE profesores(
cedula_profesor varchar(10) NOT NULL,
nombre varchar(20) NOT NULL,
PRIMARY KEY CLUSTERED
(
cedula_profesor ASC
)
)
GO
CREATE TABLE tipo_practica(
numero_matricula varchar(3) NOT NULL,
codiGO_practicas varchar(3) NOT NULL,
fecha datetime NULL,
nota_obtenida int NULL
)
GO
ALTER TABLE examen_alum WITH CHECK ADD FOREIGN KEY(numero_matricula)
REFERENCES alumno (numero_matricula)
GO
ALTER TABLE examen_alum WITH CHECK ADD FOREIGN KEY(numero_examen)
REFERENCES examen (numero_examen)
GO
ALTER TABLE profesor_practicas WITH CHECK ADD FOREIGN KEY(cedula_profesor)
REFERENCES profesores (cedula_profesor)
GO
ALTER TABLE profesor_practicas WITH CHECK ADD FOREIGN KEY(codiGO_practicas)
REFERENCES practicas (codiGO_practicas)
GO
ALTER TABLE tipo_practica WITH CHECK ADD FOREIGN KEY(codiGO_practicas)
REFERENCES practicas (codiGO_practicas)
GO
ALTER TABLE tipo_practica WITH CHECK ADD FOREIGN KEY(numero_matricula)
REFERENCES alumno (numero_matricula)
GO
ALTER TABLE alumno ADD direccion varchar(20)
GO
ALTER TABLE alumno ADD apellido varchar(20)
GO
ALTER TABLE alumno ADD telefono varchar(9)
GO
alter table profesores add apellido varchar(20)
GO
alter table profesores add direccion varchar(20)
GO
alter table profesores add telefono varchar(9)
GO
SCRIPT SQL CON LAS INSTRUCCIONES DML
insert alumno(numero_matricula,nombre,apellido,direccion,telefono)
values ('001','José','Sánchez','Cdla. Las Orquideas','093433578')
insert alumno(numero_matricula,nombre,apellido,direccion,telefono)
values ('002','Javier','Fernandez','Urdesa Central','095486972')
insert alumno(numero_matricula,nombre,apellido,direccion,telefono)
values ('003','Juan','Soto','Cdla. Huancavilca','098456792')
insert alumno(numero_matricula,nombre,apellido,direccion,telefono)
values ('004','Paul','Cucalon','Cdla. Alborada','094589786')
insert alumno(numero_matricula,nombre,apellido,direccion)
values ('005','Freddy','Garces','Cdla. Atarazana')
insert examen(numero_examen,numero_pregunta,fecha_realizada)
values (1,10,'2004−06−10')
insert examen(numero_examen,numero_pregunta,fecha_realizada)
values (2,20,'2005−10−14')
insert examen(numero_examen,numero_pregunta,fecha_realizada)
values (3,10,'2005−07−21')
insert examen(numero_examen,numero_pregunta,fecha_realizada)
values (4,15,'2005−08−28')
insert profesores(cedula_profesor,nombre,apellido,direccion,telefono)
values ('0922469878','Luis','Gomez','Cdla. Las Acacias','094254369')
insert profesores(cedula_profesor,nombre,apellido,direccion,telefono)
values ('0945369847','Carlos','Garcia','Los Almendros','094697815')
insert profesores(cedula_profesor,nombre,apellido,direccion,telefono)
values ('0925653438','Erick','Ramirez','Sauces 9','098264536')
insert profesores(cedula_profesor,nombre,apellido,direccion,telefono)
values ('0956421389','Henry','Marquez','Cdla. Las Fae','096457893')
insert profesores(cedula_profesor,nombre,apellido,direccion)
values ('0922468923','Marcelo','Silva','Geranios')
insert practicas(codigo_practicas,titulo,grado_dificultad)
values ('001','Calculo','Alta')
insert practicas(codigo_practicas,titulo,grado_dificultad)
values ('002','Comunicacion Social','Media')
insert practicas(codigo_practicas,titulo,grado_dificultad)
values ('003','Internet','Alta')
insert practicas(codigo_practicas,titulo,grado_dificultad)
values ('004','Ecologia','Baja')
insert profesor_practicas(cedula_profesor,codigo_practicas,fecha_practicas)
values ('0922469878','001','2005−06−12')
insert profesor_practicas(cedula_profesor,codigo_practicas,fecha_practicas)
values ('0945369847','002','2005−07−15')
insert profesor_practicas(cedula_profesor,codigo_practicas,fecha_practicas)
values ('0925653438','003','2005−08−19')
insert profesor_practicas(cedula_profesor,codigo_practicas,fecha_practicas)
values ('0956421389','004','2005−09−28')
insert tipo_practica(numero_matricula,codigo_practicas,fecha,nota_obtenida)
values('001','001','2005−04−15',20)
insert tipo_practica(numero_matricula,codigo_practicas,fecha,nota_obtenida)
values('002','002','2005−05−14',18)
insert tipo_practica(numero_matricula,codigo_practicas,fecha,nota_obtenida)
values('003','003','2005−06−10',19)
insert tipo_practica(numero_matricula,codigo_practicas,fecha,nota_obtenida)
values('004','004','2005−06−15',20)
insert examen_alum(numero_matricula,numero_examen,nota)
values ('001',1,20)
insert examen_alum(numero_matricula,numero_examen,nota)
values ('002',2,18)
insert examen_alum(numero_matricula,numero_examen,nota)
values ('003',3,19)
insert examen_alum(numero_matricula,numero_examen,nota)
values ('004',4,17)
DESARROLLO DE PUNTOS
INFORMACIÓN SOBRE LA ACTIVIDAD ACADÉMICA - UNIDAD 2
De acuerdo a lo estipulado en tutorías sobre lo concerniente a las actividades académicas
evaluativas, a continuación se describe el desarrollo de la primera actividad, donde ustedes
como equipo deben tomar como base el mismo ejercicio desarrollado en B-1 (el caso
práctico elegido para desarrollar las actividades propuestas en la asignatura BD-1),
continuar con el desarrollo de la temática de la asignatura BD-2, por lo que para esta
segunda actividad (Unidad 2) deben resolver los siguiente puntos sobre Validación de
Restricción de inconsistencia de entrada de datos en la BD (Comando Check), Vistas,
Transacciones y su aplicación en los motores de bases de datos relacionales
1. Investigar el objetivo del comando CHECK en la cláusula Create Table y en la
cláusula Alter Table.
El comandocheckes una restricciónque se usapara limitarel rangode un valorque se
puede agregara una columna.Porejemplo,puede serusadoal momentode crearuna
tablapara denominaraunacolumnaque permitaque lasedadesseanmayoresal número
a ingresary podemosusarlatambiénal momentode alterarparaagregar restriccionessi
no fueronhechasal momentode crearlas
2. Analice el Modelo Relacional del ejercicio que seleccionaron como Grupo de BD-1,
tomar al menos una tabla y cambiar su estructura usando el Comando ALTER
TABLE (en OracleSql, SQLServer y PostgreSQL), de tal manera que, la tabla ahora
tenga las siguientes restricciones de validación al momento de insertar algún
registro sobre ella:
a. Que al menos una columnas numéricas sólo puede aceptar valores
comprendidos entre X y Z. Por ejemplo: Que el descuento de un ítem de
venta solo pueda ser un valor comprendido entre 5% y 50%
alter table [dbo].[examen_alum] ADD CONSTRAINT CHK_nota check (nota
between 1 and 100);
b. Que al menos una columnas solo pueda recibir uno de varios posibles
valores (ValorA, ValorB, ValorC, ValorD, ValorN).Por ejemplo: que la
columna tipo de documento solo puede aceptar Tarjeta de Identidad,
Cedula de Ciudadania, Pasaporte, Cedula de Extranjería, etc.
alter table [dbo].[practicas] ADD CONSTRAINT CHK_titulo check (titulo
in ('Matematicas','Sociales','Calculo','Comunicacion
Social','Internet','Ecologia'));
c. Que al menos una columna de tipo Fecha solo pueda aceptar fechas iguales
o superiores a la fecha actual.
update [dbo].[profesor_practicas] set fecha_practicas=getdate()
alter table [dbo].[profesor_practicas] ADD CONSTRAINT CHK_fecha_practicas
check (convert(varchar(10),fecha_practicas,111)
>=convert(varchar(10),getdate(),111));
3. Qué es y qué problema resuelve el uso del concepto de Vistas en bases de datos
Relacionales o SQL
Las vistasenbase de datosson tablasvirtualesgeneradasapartirde unaejecuciónde
variastablasconsultassobre unao variastablas.Estotoma como resultadotodoslos
datosmostradosen unatabla unificada.Lafunciónde estasvistasespara realizar
consultasconmás facilidadysonmuy similaresalastablasasí que estastambién
permitenmodificaryeliminar
4. Analizar el Modelo Relacional del ejercicio que seleccionaron como Grupo de BD-1,
diseñar una consulta multitabla y probarla (en OracleSql, SQLServer y PostgreSQL).
Select *
From profesores A Inner Join profesor_practicas B
On A.cedula_profesor = B.cedula_profesor
1. Crear y probar al menos un vista que ejecute la consulta diseñada y probada en el
punto anterior.
create view vwprofesor_practicas as SELECT A.cedula_profesor, A.nombre,
A.apellido, A.direccion, A.telefono, B.cedula_profesor AS Expr1,
B.codiGO_practicas, B.fecha_practicas FROM profesores AS A INNER JOIN
profesor_practicas AS B ON A.cedula_profesor = B.cedula_profesor
go
select * from vwprofesor_practicas
2. Crear y probar al menos una vista que contenga la sentencia SQL de alguna de las
subconsultas diseñadas en la la actividad de la Unidad 1
create view vwprofesor_practicas_subconsulta as select * from profesor_practicas
where codigo_practicas IN ( SELECT codigo_practicas FROM tipo_practica WHERE
codigo_practicas=1)
go
select * from vwprofesor_practicas_subconsulta
3. Crear y probar al menos una vista que contenga la sentencia SQL de alguna de los
Inner Joins diseñados en la la actividad de la Unidad 1
create view vwprofesor_practicas_crossjoin as SELECT A.cedula_profesor,
A.nombre, A.apellido, A.direccion, A.telefono, B.cedula_profesor AS Expr1,
B.codiGO_practicas, B.fecha_practicas FROM profesores AS A CROSS JOIN
profesor_practicas AS B
go
select * from vwprofesor_practicas_crossjoin
Para el desarrollo de los siguientes puntos referentes al tema de Transacciones, ustedes
como grupo deben realizar las siguientes tareas sobre OracleSql, SQLServer y PostgreSQL:
1. Crear una base de datos llamada prueba_transacciones_grupoXYZ, siendo XYZ el
nombre del ejercicio que escogieron como equipo.
create database prueba_transacciones_grupo16EXAMENES
go
2. Mostrar la BD
3. Crear un usuario llamado tu_nombre_apellido
CREATE LOGIN Sergio_Arrieta
WITH PASSWORD = 'BD@123456';
GO
CREATE USER Sergio_Arrieta FOR LOGIN Sergio_Arrieta;
GO
4. Mostrar la el usuario
5. Asignar rol de SUPER ADMIN sobre la base de datos
prueba_transacciones_grupoXYZ.
ALTER ROLE db_owner
ADD MEMBER Sergio_Arrieta;
GO
6. Salir del Motor de BD
7. Volver a entrar el Motor de BD usando las credenciales de acceso del nuevo
usuario creado.
8. Mostrar las bd
9. Crear tablas Deudores(cc, clave, nombre, apellido, email). email es único, todos
son obligatorios
create table Deudores(id int not null, cc varchar(20) not null, clave
varchar(50) not null, nombre varchar(50) not null,apellido varchar(50) not
null, email varchar(50) not null unique)
10. Crear tablas Creditos(id, fecha, valor, cuotas, interes, estado, deudor_id), todos
son obligatorios, estado por defecto es Activo
create table Creditos(id int not null, fecha date not null, valor float not
null, cuotas int not null,interes float not null, estado varchar(20) not null
default 'Activo',deudor_id int not null)
11. Crear tablas Pagos(id, fecha, valor, credito_id). Todos son obligatorios. Use el
comando check para evitar que la columna valor solo puede aceptar valor positivos
mayores que 0 y la fecha del pago no puede ser mauyor que la fecha actual
create table Pagos(id int not null, fecha date not null
check(fecha<=getdate()),
valor float not null check(valor>0) , credito_id int not null)
12. Mostrar las tablas
13. Mostrar la estructura de cada tabla
14. aplicar las respectivas llave foráneas
ALTER TABLE deudores ADD CONSTRAINT pk_deudores_Id PRIMARY KEY (Id)
go
ALTER TABLE creditos
ADD FOREIGN KEY (deudor_id) REFERENCES Deudores(Id)
go
ALTER TABLE creditos ADD CONSTRAINT pk_creditos_Id PRIMARY KEY (Id)
go
ALTER TABLE pagos
ADD FOREIGN KEY (credito_id) REFERENCES creditos(Id)
Go
15. Mostrar el Diagrama Relacional generado desde el Cliente Gráfico usado para cada
motor de BD
16. Insertar un al menor un Deudor:
a. el primero con cc=123, calve=Abc, nombre = Fulanito, apellido=De tal,
email=fulanito1@gmail.com
insert into Deudores select id=1,cc='9149625', calve='1981', nombre =
'sergio',apellido='Arrieta', email='namtlakh@gmail.com'
go
17. Mostrar todos los Deudores insertados en la BD
select * from Deudores
18. Insertar al menos un Crédito:
a. id=1, fecha=hace un año, valor=100000, cuotas=5, interes_mes=40%,
deudor_id=123
insert into Creditos(id, fecha, valor, cuotas, interes, deudor_id)
select id=1,fecha=getdate()-365, valor=100000, cuotas=5, interes=40,
deudor_id=1
go
19. Mostrar todos los Créditos insertados en la BD
select * from Creditos
20. Insertar 5 pagos así (no modifique ningún valor del ejemplo, colocar las fechas
correspondientes, el formato de fecha correspondiente para bd):
a. id=1, fecha=un mes después del crédito, valor=28000, credito_id=1
b. id=2, fecha=un mes después de la fecha actual, valor=28000, credito_id=1
c. id=3, fecha=un mes después del primer pago, valor=28000, credito_id=1
d. id=4, fecha=un mes después del primer pago, valor=28000, credito_id=1
e. id=5, fecha=un mes después del primer pago, valor=-28000, credito_id=1
insert into pagos(id,fecha,valor,credito_id) select id=1, fecha=(select
dateadd(month,1,fecha) from creditos where id=1), valor=28000, credito_id=1
go
insert into pagos(id,fecha,valor,credito_id) select id=2, fecha=(select
dateadd(month,1,getdate()) from creditos where id=1), valor=28000,
credito_id=1
go
insert into pagos(id,fecha,valor,credito_id) select id=3, fecha=(select
dateadd(month,1,fecha) from pagos where id=1), valor=28000, credito_id=1
go
insert into pagos(id,fecha,valor,credito_id) select id=4, fecha=(select
dateadd(month,1,fecha) from pagos where id=1), valor=28000, credito_id=1
go
insert into pagos(id,fecha,valor,credito_id) select id=5, fecha=(select
dateadd(month,1,fecha) from pagos where id=1), valor=-28000, credito_id=1
go
21. Cambiar o actualizar el estado del Crédito con id=1, para que ahora sea Finalizado
update Creditos set estado='Finalizado' where id=1
go
22. Mostrar los datos del Crédito con id=1
select * from Creditos where id=1
23. Mostrar todos los Pagos insertados al Crédito con ID=1 insertados en la BD
select * from pagos where credito_id=1
24. Totalizar el total de valores pagados para el crédito con id=1, para que aparezca
así: TOTAL PAGOS: $140000
select 'TOTAL PAGOS: $'+ convert(varchar,SUM(valor)) from pagos where
Credito_id=1
25. Analice el resultado de cada una de las operaciones anteriores, comente y explique
el por que de cada uno.
Creamosuna base de datosde transaccioneslacual contiene lastablasdeudores,creditos
y pagosdichastablas creamossusllavesforáneasparalaconexiónde lasmismas,
ingresamosdatosdel deudorysucredito.Despuesagregamos5loscualesseriande cada
mesque tiene que pagarpara asi hacer untotal de 140.000
26. Elimine todos los pagos de crédito con ID: 1
delete from pagos where credito_id=1
27. Mostrar todos los pagos que existen para el crédito con id=1
28. inicie una TRANSACCION
begin tran
29. dentro de la transacción volver a insertar los mismo pagos anteriores:
a. id=1, fecha=un mes después del crédito, valor=28000, credito_id=1
b. id=2, fecha=un mes después de la fecha actual, valor=28000, credito_id=1
c. id=3, fecha=un mes después del primer pago, valor=28000, credito_id=1
d. id=4, fecha=un mes después del primer pago, valor=28000, credito_id=1
e. id=5, fecha=un mes después del primer pago, valor=-28000, credito_id=1
insert into pagos(id,fecha,valor,credito_id) select id=1,
fecha=(select top 1 dateadd(month,1,fecha) from creditos where id=1
order by id), valor=28000, credito_id=1
go
insert into pagos(id,fecha,valor,credito_id) select id=2,
fecha=(select top 1 dateadd(month,1,getdate()) from creditos where
id=1 order by id), valor=28000, credito_id=1
go
insert into pagos(id,fecha,valor,credito_id) select id=3,
fecha=(select top 1 dateadd(month,1,fecha) from pagos where id=1 order
by id), valor=28000, credito_id=1
go
insert into pagos(id,fecha,valor,credito_id) select id=4,
fecha=(select top 1 dateadd(month,1,fecha) from pagos where id=1 order
by id), valor=28000, credito_id=1
go
insert into pagos(id,fecha,valor,credito_id) select id=5,
fecha=(select top 1 dateadd(month,1,fecha) from pagos where id=1 order
by id), valor=-28000, credito_id=1
go
30. Cambiar o actualizar el estado del Crédito con id=1, para que ahora sea Finalizado
update Creditos set estado='Finalizado' where id=1
go
31. Mostrar los datos del Crédito con id=1
select * from Creditos where id=1
32. Mostrar todos los Pagos insertados al Crédito con ID=1 insertados en la BD
select * from pagos where credito_id=1
33. Totalizar el total de valores pagados para el crédito con id=1, para que aparezca
así: TOTAL PAGOS: $140000
select 'TOTAL PAGOS: $'+ convert(varchar,SUM(valor)) from pagos where
Credito_id=1
34. Cancelar la transaccion (rollblack)
rollback
35. Mostrar todos los Pagos insertados al Crédito con ID=1 insertados en la BD
select * from pagos where credito_id=1
36. Totalizar el total de valores pagados para el crédito con id=1, para que aparezca
así: TOTAL PAGOS: $140000
select 'TOTAL PAGOS: $'+ convert(varchar,SUM(valor)) from pagos where
Credito_id=1
37. Analice el resultado de cada una de las operaciones anteriores, comente y explique
el por que de cada uno.
Eliminamoslosregistrosde lastablasparadejarlabase de datosvacia.Despues
agregamosotra ves5 datosloscualesserían de cada mesque tiene que pagarcon la única
diferenciaque usamosmétodosde iniciarterminartransaccionesparaasi darun total de 0
ya q la transacciónal final fue cancelada
BIBLIOGRAFIA
Big data Sql check
https://bigdata-analytics.es/sql/check/?fbclid=IwAR3oTEOLe09gvvYV-
x894tIivUK_mC7Glkj14ujNwmBqVdFrfqrzzTKf_yM
consultado11/07/2022
2. vistassqlshack
https://www.sqlshack.com/es/las-vistastablasfunciones-de-sistema-de-sql-server-
preguntas-frecuentes-y-soluciones-a-problemas-de-la-vida-
real/?fbclid=IwAR2wsiOK8bTHXTY8GmqUB-coZikFsmgCONSp0Q1Z6qpZwpn_8c-
sccwHLRc#:~:text=Las%20vistas%20de%20sistema%20son,datos%20sus%20propias%20vis
tas/tablas
consultado11/07/2022
3.vistascodideep
https://codideep.com/blogpost/que-son-las-vistas-en-la-base-de-
datos?fbclid=IwAR3eNUb3HXnt_xfloxSBjIiy3e9_yEHldLNluy9URL1RS0EprLTn2vC2DU8
consultado11/07/2022

Más contenido relacionado

Similar a actividad_3_grupogestionexamenes_bd2_2021_SQLserver.docx

PROYECTO DE TESIS EN EDUCACION
PROYECTO DE TESIS EN EDUCACIONPROYECTO DE TESIS EN EDUCACION
PROYECTO DE TESIS EN EDUCACION
WILLLIAM RICARDO PAIRAZAMAN MATALLANA
 
PIZARRA DIGITAL INTERACTIVA
PIZARRA DIGITAL INTERACTIVAPIZARRA DIGITAL INTERACTIVA
PIZARRA DIGITAL INTERACTIVA
WILLLIAM RICARDO PAIRAZAMAN MATALLANA
 
Proyecto 2
Proyecto 2Proyecto 2
Proyecto 2
Proyecto 2Proyecto 2
Sub2 Gestor G4 Matematicas
Sub2 Gestor G4 MatematicasSub2 Gestor G4 Matematicas
Sub2 Gestor G4 Matematicas
cpedocentic
 
311_TP3_2024-1_JaidaryMejia_26881784.pdf
311_TP3_2024-1_JaidaryMejia_26881784.pdf311_TP3_2024-1_JaidaryMejia_26881784.pdf
311_TP3_2024-1_JaidaryMejia_26881784.pdf
JaidaryMejia1
 
Planificador de proyectos hasta el punto 7
Planificador de proyectos hasta el punto 7Planificador de proyectos hasta el punto 7
Planificador de proyectos hasta el punto 7
Paulita HR
 
RC Jose Guardo
RC Jose GuardoRC Jose Guardo
RC Jose Guardo
Jagmch
 
Rc jose guardo
Rc jose guardoRc jose guardo
Rc jose guardo
Jagmch
 
Rc jose guardo
Rc jose guardoRc jose guardo
Rc jose guardo
Jagmch
 
Planificadordeproyectosnuevaversin 140622122513-phpapp02
Planificadordeproyectosnuevaversin 140622122513-phpapp02Planificadordeproyectosnuevaversin 140622122513-phpapp02
Planificadordeproyectosnuevaversin 140622122513-phpapp02
Paulita HR
 
Planificador de proyectos nueva versión
Planificador de proyectos nueva versiónPlanificador de proyectos nueva versión
Planificador de proyectos nueva versión
difemen
 
Planificador de proyectos hasta el punto 7
Planificador de proyectos hasta el punto 7Planificador de proyectos hasta el punto 7
Planificador de proyectos hasta el punto 7
Paulita HR
 
Planificador de proyectos hasta el punto 7.4
Planificador de proyectos hasta el punto 7.4Planificador de proyectos hasta el punto 7.4
Planificador de proyectos hasta el punto 7.4
difemen
 
Planificador de proyectos hasta el punto 7
Planificador de proyectos hasta el punto 7Planificador de proyectos hasta el punto 7
Planificador de proyectos hasta el punto 7
Paulita HR
 
Planificadordeproyectoshastaelpunto7 140702172918-phpapp01
Planificadordeproyectoshastaelpunto7 140702172918-phpapp01Planificadordeproyectoshastaelpunto7 140702172918-phpapp01
Planificadordeproyectoshastaelpunto7 140702172918-phpapp01
Paulita HR
 
Planificador de proyectos nueva versión
Planificador de proyectos nueva versiónPlanificador de proyectos nueva versión
Planificador de proyectos nueva versión
difemen
 
Planificador de proyectos terminado
Planificador de proyectos terminadoPlanificador de proyectos terminado
Planificador de proyectos terminado
Paulita HR
 
Planificador de proyectos Terminado
Planificador de proyectos TerminadoPlanificador de proyectos Terminado
Planificador de proyectos Terminado
Paulita HR
 
Planificador de proyectos hasta el punto 11
Planificador de proyectos hasta el punto 11Planificador de proyectos hasta el punto 11
Planificador de proyectos hasta el punto 11
Paulita HR
 

Similar a actividad_3_grupogestionexamenes_bd2_2021_SQLserver.docx (20)

PROYECTO DE TESIS EN EDUCACION
PROYECTO DE TESIS EN EDUCACIONPROYECTO DE TESIS EN EDUCACION
PROYECTO DE TESIS EN EDUCACION
 
PIZARRA DIGITAL INTERACTIVA
PIZARRA DIGITAL INTERACTIVAPIZARRA DIGITAL INTERACTIVA
PIZARRA DIGITAL INTERACTIVA
 
Proyecto 2
Proyecto 2Proyecto 2
Proyecto 2
 
Proyecto 2
Proyecto 2Proyecto 2
Proyecto 2
 
Sub2 Gestor G4 Matematicas
Sub2 Gestor G4 MatematicasSub2 Gestor G4 Matematicas
Sub2 Gestor G4 Matematicas
 
311_TP3_2024-1_JaidaryMejia_26881784.pdf
311_TP3_2024-1_JaidaryMejia_26881784.pdf311_TP3_2024-1_JaidaryMejia_26881784.pdf
311_TP3_2024-1_JaidaryMejia_26881784.pdf
 
Planificador de proyectos hasta el punto 7
Planificador de proyectos hasta el punto 7Planificador de proyectos hasta el punto 7
Planificador de proyectos hasta el punto 7
 
RC Jose Guardo
RC Jose GuardoRC Jose Guardo
RC Jose Guardo
 
Rc jose guardo
Rc jose guardoRc jose guardo
Rc jose guardo
 
Rc jose guardo
Rc jose guardoRc jose guardo
Rc jose guardo
 
Planificadordeproyectosnuevaversin 140622122513-phpapp02
Planificadordeproyectosnuevaversin 140622122513-phpapp02Planificadordeproyectosnuevaversin 140622122513-phpapp02
Planificadordeproyectosnuevaversin 140622122513-phpapp02
 
Planificador de proyectos nueva versión
Planificador de proyectos nueva versiónPlanificador de proyectos nueva versión
Planificador de proyectos nueva versión
 
Planificador de proyectos hasta el punto 7
Planificador de proyectos hasta el punto 7Planificador de proyectos hasta el punto 7
Planificador de proyectos hasta el punto 7
 
Planificador de proyectos hasta el punto 7.4
Planificador de proyectos hasta el punto 7.4Planificador de proyectos hasta el punto 7.4
Planificador de proyectos hasta el punto 7.4
 
Planificador de proyectos hasta el punto 7
Planificador de proyectos hasta el punto 7Planificador de proyectos hasta el punto 7
Planificador de proyectos hasta el punto 7
 
Planificadordeproyectoshastaelpunto7 140702172918-phpapp01
Planificadordeproyectoshastaelpunto7 140702172918-phpapp01Planificadordeproyectoshastaelpunto7 140702172918-phpapp01
Planificadordeproyectoshastaelpunto7 140702172918-phpapp01
 
Planificador de proyectos nueva versión
Planificador de proyectos nueva versiónPlanificador de proyectos nueva versión
Planificador de proyectos nueva versión
 
Planificador de proyectos terminado
Planificador de proyectos terminadoPlanificador de proyectos terminado
Planificador de proyectos terminado
 
Planificador de proyectos Terminado
Planificador de proyectos TerminadoPlanificador de proyectos Terminado
Planificador de proyectos Terminado
 
Planificador de proyectos hasta el punto 11
Planificador de proyectos hasta el punto 11Planificador de proyectos hasta el punto 11
Planificador de proyectos hasta el punto 11
 

Último

3-Modelamiento de Procesos usando BPMN.ppt
3-Modelamiento de Procesos usando BPMN.ppt3-Modelamiento de Procesos usando BPMN.ppt
3-Modelamiento de Procesos usando BPMN.ppt
nahumrondanurbano
 
04 capital interes simple.pdf de la clase métodos cuantitativos
04 capital interes simple.pdf de la clase métodos cuantitativos04 capital interes simple.pdf de la clase métodos cuantitativos
04 capital interes simple.pdf de la clase métodos cuantitativos
MarcoPolo545324
 
e learning^.pptxdieguearmandozuñiga. Comhot
e learning^.pptxdieguearmandozuñiga. Comhote learning^.pptxdieguearmandozuñiga. Comhot
e learning^.pptxdieguearmandozuñiga. Comhot
diegozuniga768
 
LINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIO
LINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIOLINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIO
LINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIO
AaronPleitez
 
Encuesta CATI Verdad Venezuela abril 2024 (PÚBLICO).pdf
Encuesta CATI Verdad Venezuela abril 2024 (PÚBLICO).pdfEncuesta CATI Verdad Venezuela abril 2024 (PÚBLICO).pdf
Encuesta CATI Verdad Venezuela abril 2024 (PÚBLICO).pdf
DivergenteDespierto
 
Minería de Datos e IA Conceptos, Fundamentos y Aplicaciones.pdf
Minería de Datos e IA  Conceptos, Fundamentos y Aplicaciones.pdfMinería de Datos e IA  Conceptos, Fundamentos y Aplicaciones.pdf
Minería de Datos e IA Conceptos, Fundamentos y Aplicaciones.pdf
MedTechBiz
 
Informe de violencia mayo 2024 - Multigremial Mayo.pdf
Informe de violencia mayo 2024 - Multigremial Mayo.pdfInforme de violencia mayo 2024 - Multigremial Mayo.pdf
Informe de violencia mayo 2024 - Multigremial Mayo.pdf
Emisor Digital
 
MI CECTOR POSTE BLANCO - Paián .pdf
MI  CECTOR  POSTE  BLANCO - Paián   .pdfMI  CECTOR  POSTE  BLANCO - Paián   .pdf
MI CECTOR POSTE BLANCO - Paián .pdf
GustavoTello19
 
Obligaciones_de_los_Municipios_y_Departamentos_en_los_Determinantes_Ambiental...
Obligaciones_de_los_Municipios_y_Departamentos_en_los_Determinantes_Ambiental...Obligaciones_de_los_Municipios_y_Departamentos_en_los_Determinantes_Ambiental...
Obligaciones_de_los_Municipios_y_Departamentos_en_los_Determinantes_Ambiental...
defola5717
 
10 colonias - Análisis socio-demográfico 2024.pdf
10 colonias - Análisis socio-demográfico 2024.pdf10 colonias - Análisis socio-demográfico 2024.pdf
10 colonias - Análisis socio-demográfico 2024.pdf
IrapuatoCmovamos
 
sistema paralingüística fhdjsjsbsnnssnnsbs
sistema paralingüística fhdjsjsbsnnssnnsbssistema paralingüística fhdjsjsbsnnssnnsbs
sistema paralingüística fhdjsjsbsnnssnnsbs
SantiagoMejia99
 
Semana 09 - Tema 02 Dinámica de cuentas del plan contable.pdf
Semana 09 - Tema 02 Dinámica de cuentas del plan contable.pdfSemana 09 - Tema 02 Dinámica de cuentas del plan contable.pdf
Semana 09 - Tema 02 Dinámica de cuentas del plan contable.pdf
WendyMLaura
 
nombres de las unidades y situacion significativa 2024.docx
nombres de las unidades y situacion significativa 2024.docxnombres de las unidades y situacion significativa 2024.docx
nombres de las unidades y situacion significativa 2024.docx
silvanasotos
 
Plan Emergencia solicitado en obras de construccion
Plan Emergencia  solicitado en obras de construccionPlan Emergencia  solicitado en obras de construccion
Plan Emergencia solicitado en obras de construccion
christianllacchasand
 
Sistema informatico, power point asir 1 curso
Sistema informatico, power point asir 1 cursoSistema informatico, power point asir 1 curso
Sistema informatico, power point asir 1 curso
NereaMolina10
 
Comunidades virtuales de aprendizaje o educativas E-LEARNING.pdf
Comunidades virtuales de aprendizaje  o educativas E-LEARNING.pdfComunidades virtuales de aprendizaje  o educativas E-LEARNING.pdf
Comunidades virtuales de aprendizaje o educativas E-LEARNING.pdf
brayansangar73
 
vivienda segura concreto, construcción y métodos
vivienda segura concreto, construcción y métodosvivienda segura concreto, construcción y métodos
vivienda segura concreto, construcción y métodos
DilmerCarranza
 
contraguerrilla.pdf sobre anti emboscadas
contraguerrilla.pdf sobre anti emboscadascontraguerrilla.pdf sobre anti emboscadas
contraguerrilla.pdf sobre anti emboscadas
DieguinhoSalazar
 
DEFENSA NACIONAL.ppt muy fácil de entender
DEFENSA NACIONAL.ppt muy fácil de entenderDEFENSA NACIONAL.ppt muy fácil de entender
DEFENSA NACIONAL.ppt muy fácil de entender
mvargasleveau
 
REPORTE DE HOMICIDIO DOLOSO-MAYO 2024.pdf
REPORTE DE HOMICIDIO DOLOSO-MAYO 2024.pdfREPORTE DE HOMICIDIO DOLOSO-MAYO 2024.pdf
REPORTE DE HOMICIDIO DOLOSO-MAYO 2024.pdf
IrapuatoCmovamos
 

Último (20)

3-Modelamiento de Procesos usando BPMN.ppt
3-Modelamiento de Procesos usando BPMN.ppt3-Modelamiento de Procesos usando BPMN.ppt
3-Modelamiento de Procesos usando BPMN.ppt
 
04 capital interes simple.pdf de la clase métodos cuantitativos
04 capital interes simple.pdf de la clase métodos cuantitativos04 capital interes simple.pdf de la clase métodos cuantitativos
04 capital interes simple.pdf de la clase métodos cuantitativos
 
e learning^.pptxdieguearmandozuñiga. Comhot
e learning^.pptxdieguearmandozuñiga. Comhote learning^.pptxdieguearmandozuñiga. Comhot
e learning^.pptxdieguearmandozuñiga. Comhot
 
LINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIO
LINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIOLINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIO
LINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIO
 
Encuesta CATI Verdad Venezuela abril 2024 (PÚBLICO).pdf
Encuesta CATI Verdad Venezuela abril 2024 (PÚBLICO).pdfEncuesta CATI Verdad Venezuela abril 2024 (PÚBLICO).pdf
Encuesta CATI Verdad Venezuela abril 2024 (PÚBLICO).pdf
 
Minería de Datos e IA Conceptos, Fundamentos y Aplicaciones.pdf
Minería de Datos e IA  Conceptos, Fundamentos y Aplicaciones.pdfMinería de Datos e IA  Conceptos, Fundamentos y Aplicaciones.pdf
Minería de Datos e IA Conceptos, Fundamentos y Aplicaciones.pdf
 
Informe de violencia mayo 2024 - Multigremial Mayo.pdf
Informe de violencia mayo 2024 - Multigremial Mayo.pdfInforme de violencia mayo 2024 - Multigremial Mayo.pdf
Informe de violencia mayo 2024 - Multigremial Mayo.pdf
 
MI CECTOR POSTE BLANCO - Paián .pdf
MI  CECTOR  POSTE  BLANCO - Paián   .pdfMI  CECTOR  POSTE  BLANCO - Paián   .pdf
MI CECTOR POSTE BLANCO - Paián .pdf
 
Obligaciones_de_los_Municipios_y_Departamentos_en_los_Determinantes_Ambiental...
Obligaciones_de_los_Municipios_y_Departamentos_en_los_Determinantes_Ambiental...Obligaciones_de_los_Municipios_y_Departamentos_en_los_Determinantes_Ambiental...
Obligaciones_de_los_Municipios_y_Departamentos_en_los_Determinantes_Ambiental...
 
10 colonias - Análisis socio-demográfico 2024.pdf
10 colonias - Análisis socio-demográfico 2024.pdf10 colonias - Análisis socio-demográfico 2024.pdf
10 colonias - Análisis socio-demográfico 2024.pdf
 
sistema paralingüística fhdjsjsbsnnssnnsbs
sistema paralingüística fhdjsjsbsnnssnnsbssistema paralingüística fhdjsjsbsnnssnnsbs
sistema paralingüística fhdjsjsbsnnssnnsbs
 
Semana 09 - Tema 02 Dinámica de cuentas del plan contable.pdf
Semana 09 - Tema 02 Dinámica de cuentas del plan contable.pdfSemana 09 - Tema 02 Dinámica de cuentas del plan contable.pdf
Semana 09 - Tema 02 Dinámica de cuentas del plan contable.pdf
 
nombres de las unidades y situacion significativa 2024.docx
nombres de las unidades y situacion significativa 2024.docxnombres de las unidades y situacion significativa 2024.docx
nombres de las unidades y situacion significativa 2024.docx
 
Plan Emergencia solicitado en obras de construccion
Plan Emergencia  solicitado en obras de construccionPlan Emergencia  solicitado en obras de construccion
Plan Emergencia solicitado en obras de construccion
 
Sistema informatico, power point asir 1 curso
Sistema informatico, power point asir 1 cursoSistema informatico, power point asir 1 curso
Sistema informatico, power point asir 1 curso
 
Comunidades virtuales de aprendizaje o educativas E-LEARNING.pdf
Comunidades virtuales de aprendizaje  o educativas E-LEARNING.pdfComunidades virtuales de aprendizaje  o educativas E-LEARNING.pdf
Comunidades virtuales de aprendizaje o educativas E-LEARNING.pdf
 
vivienda segura concreto, construcción y métodos
vivienda segura concreto, construcción y métodosvivienda segura concreto, construcción y métodos
vivienda segura concreto, construcción y métodos
 
contraguerrilla.pdf sobre anti emboscadas
contraguerrilla.pdf sobre anti emboscadascontraguerrilla.pdf sobre anti emboscadas
contraguerrilla.pdf sobre anti emboscadas
 
DEFENSA NACIONAL.ppt muy fácil de entender
DEFENSA NACIONAL.ppt muy fácil de entenderDEFENSA NACIONAL.ppt muy fácil de entender
DEFENSA NACIONAL.ppt muy fácil de entender
 
REPORTE DE HOMICIDIO DOLOSO-MAYO 2024.pdf
REPORTE DE HOMICIDIO DOLOSO-MAYO 2024.pdfREPORTE DE HOMICIDIO DOLOSO-MAYO 2024.pdf
REPORTE DE HOMICIDIO DOLOSO-MAYO 2024.pdf
 

actividad_3_grupogestionexamenes_bd2_2021_SQLserver.docx

  • 1. Universidad De Cartagena Ingeniería De Software ACTIVIDAD ACADÉMICA - UNIDAD 3 SERGIO LUIS ARRIETA GONZALEZ COD: 7521920002 Docente: Jhon Arrieta AGO 10-2022 Cartagena De Indias – Bolívar
  • 2. Contenido INTRODUCCION......................................................................................................................... 3 OBJETIVOS................................................................................................................................ 4 ENUNCIADO DEL PROBLEMA...................................................................................................... 5 DIAGRAMA ENTIDAD RELACIÓN................................................................................................. 5 MODELO RELACIONAL............................................................................................................... 6 SCRIPT SQL CON LAS SENTENCIAS DDL........................................................................................ 6 SCRIPT SQL CON LAS INSTRUCCIONES DML................................................................................. 9 DESARROLLO DE PUNTOS .........................................................................................................11 BIBLIOGRAFIA ..........................................................................................................................12
  • 3. INTRODUCCION De acuerdo a lo estipulado en tutorías sobre lo concerniente a las actividades académicas evaluativas, a continuación se describe el desarrollo de la primera actividad, donde ustedes como equipo deben tomar como base el mismo ejercicio desarrollado en B-1 (el caso práctico elegido para desarrollar las actividades propuestas en la asignatura BD-1), continuar con el desarrollo de latemática de la asignaturaBD-2,por lo que para esta tercera actividad (Unidad 3) deben resolver los siguiente puntos sobre Funciones, Procedimientos Almacenados y su aplicación en los motores de bases de datos relacionales
  • 4. OBJETIVOS • Analizar los diagramas relacionales descritos en la actividad para posteriormente realizar los ejercicios correspondientes. • Crear las bases de datos junto a las tablas mencionadas en la actividad. • Desarrollar las consultas descritas en el enunciado de la actividad.
  • 5. ENUNCIADO DEL PROBLEMA Los profesores de la asignatura de Bases de Datos de una Escuela Universitaria deciden crear una base de datosque contengalainformaciónde losresultadosde laspruebasrealizadasalosalumnos. Para realizar el diseño se sabe que: • Los alumnos están definidos por su n° de matrícula, nombre y el grupo al que asisten a clase. • Dichos alumnos realizan dos tipos de pruebas a lo largo del curso académico: o Exámenesescritos:cadaalumnorealizavariosalolargodel curso,y se definenporel n°de examen,el n°de preguntasde que constaylafechade realización(lamismaparatodoslos alumnosque realizanel mismoexamen).Evidentemente,esimportante almacenarlanota de cada alumno por examen. o Prácticas:se realizaunn°indeterminadode ellasduranteelcursoacadémico,algunasserán en grupo y otras individuales. Se definenpor un código de práctica, título y el grado de dificultad. En este caso los alumnos pueden examinarse de cualquier práctica cuando lo deseen, debiéndose almacenar la fecha y nota obtenida. • En cuanto a los profesores, únicamente interesa conocer (además de sus datos personales: CI y nombre), quien es el qué ha diseñado cada práctica, sabiendo que en el diseño de una práctica puede colaborar más de uno, y que un profesor puede diseñar más de una práctica. Interesa, además, la fecha en que ha sido diseñada cada práctica por el profesor correspondiente. DIAGRAMA ENTIDAD RELACIÓN
  • 6. MODELO RELACIONAL SCRIPT SQL CON LAS SENTENCIAS DDL CREATE DATABASE GestionExamenes GO USE GestionExamenes GO CREATE TABLE alumno( numero_matricula varchar(3) NOT NULL, nombre varchar(20) NOT NULL, PRIMARY KEY CLUSTERED ( numero_matricula ASC ) ) GO CREATE TABLE examen(
  • 7. numero_examen int NOT NULL, numero_pregunta int NOT NULL, fecha_realizada datetime NOT NULL, PRIMARY KEY CLUSTERED ( numero_examen ASC ) ) GO CREATE TABLE examen_alum( numero_matricula varchar(3) NOT NULL, numero_examen int NOT NULL, nota int NOT NULL ) GO CREATE TABLE practicas( codiGO_practicas varchar(3) NOT NULL, titulo varchar(20) NOT NULL, grado_dificultad varchar(20) NOT NULL, PRIMARY KEY CLUSTERED ( codiGO_practicas ASC ) ) GO CREATE TABLE profesor_practicas( cedula_profesor varchar(10) NULL, codiGO_practicas varchar(3) NOT NULL, fecha_practicas datetime NOT NULL
  • 8. ) GO CREATE TABLE profesores( cedula_profesor varchar(10) NOT NULL, nombre varchar(20) NOT NULL, PRIMARY KEY CLUSTERED ( cedula_profesor ASC ) ) GO CREATE TABLE tipo_practica( numero_matricula varchar(3) NOT NULL, codiGO_practicas varchar(3) NOT NULL, fecha datetime NULL, nota_obtenida int NULL ) GO ALTER TABLE examen_alum WITH CHECK ADD FOREIGN KEY(numero_matricula) REFERENCES alumno (numero_matricula) GO ALTER TABLE examen_alum WITH CHECK ADD FOREIGN KEY(numero_examen) REFERENCES examen (numero_examen) GO ALTER TABLE profesor_practicas WITH CHECK ADD FOREIGN KEY(cedula_profesor) REFERENCES profesores (cedula_profesor) GO
  • 9. ALTER TABLE profesor_practicas WITH CHECK ADD FOREIGN KEY(codiGO_practicas) REFERENCES practicas (codiGO_practicas) GO ALTER TABLE tipo_practica WITH CHECK ADD FOREIGN KEY(codiGO_practicas) REFERENCES practicas (codiGO_practicas) GO ALTER TABLE tipo_practica WITH CHECK ADD FOREIGN KEY(numero_matricula) REFERENCES alumno (numero_matricula) GO ALTER TABLE alumno ADD direccion varchar(20) GO ALTER TABLE alumno ADD apellido varchar(20) GO ALTER TABLE alumno ADD telefono varchar(9) GO alter table profesores add apellido varchar(20) GO alter table profesores add direccion varchar(20) GO alter table profesores add telefono varchar(9) GO SCRIPT SQL CON LAS INSTRUCCIONES DML insert alumno(numero_matricula,nombre,apellido,direccion,telefono) values ('001','José','Sánchez','Cdla. Las Orquideas','093433578') insert alumno(numero_matricula,nombre,apellido,direccion,telefono) values ('002','Javier','Fernandez','Urdesa Central','095486972') insert alumno(numero_matricula,nombre,apellido,direccion,telefono) values ('003','Juan','Soto','Cdla. Huancavilca','098456792')
  • 10. insert alumno(numero_matricula,nombre,apellido,direccion,telefono) values ('004','Paul','Cucalon','Cdla. Alborada','094589786') insert alumno(numero_matricula,nombre,apellido,direccion) values ('005','Freddy','Garces','Cdla. Atarazana') insert examen(numero_examen,numero_pregunta,fecha_realizada) values (1,10,'2004−06−10') insert examen(numero_examen,numero_pregunta,fecha_realizada) values (2,20,'2005−10−14') insert examen(numero_examen,numero_pregunta,fecha_realizada) values (3,10,'2005−07−21') insert examen(numero_examen,numero_pregunta,fecha_realizada) values (4,15,'2005−08−28') insert profesores(cedula_profesor,nombre,apellido,direccion,telefono) values ('0922469878','Luis','Gomez','Cdla. Las Acacias','094254369') insert profesores(cedula_profesor,nombre,apellido,direccion,telefono) values ('0945369847','Carlos','Garcia','Los Almendros','094697815') insert profesores(cedula_profesor,nombre,apellido,direccion,telefono) values ('0925653438','Erick','Ramirez','Sauces 9','098264536') insert profesores(cedula_profesor,nombre,apellido,direccion,telefono) values ('0956421389','Henry','Marquez','Cdla. Las Fae','096457893') insert profesores(cedula_profesor,nombre,apellido,direccion) values ('0922468923','Marcelo','Silva','Geranios') insert practicas(codigo_practicas,titulo,grado_dificultad) values ('001','Calculo','Alta') insert practicas(codigo_practicas,titulo,grado_dificultad) values ('002','Comunicacion Social','Media') insert practicas(codigo_practicas,titulo,grado_dificultad) values ('003','Internet','Alta') insert practicas(codigo_practicas,titulo,grado_dificultad)
  • 11. values ('004','Ecologia','Baja') insert profesor_practicas(cedula_profesor,codigo_practicas,fecha_practicas) values ('0922469878','001','2005−06−12') insert profesor_practicas(cedula_profesor,codigo_practicas,fecha_practicas) values ('0945369847','002','2005−07−15') insert profesor_practicas(cedula_profesor,codigo_practicas,fecha_practicas) values ('0925653438','003','2005−08−19') insert profesor_practicas(cedula_profesor,codigo_practicas,fecha_practicas) values ('0956421389','004','2005−09−28') insert tipo_practica(numero_matricula,codigo_practicas,fecha,nota_obtenida) values('001','001','2005−04−15',20) insert tipo_practica(numero_matricula,codigo_practicas,fecha,nota_obtenida) values('002','002','2005−05−14',18) insert tipo_practica(numero_matricula,codigo_practicas,fecha,nota_obtenida) values('003','003','2005−06−10',19) insert tipo_practica(numero_matricula,codigo_practicas,fecha,nota_obtenida) values('004','004','2005−06−15',20) insert examen_alum(numero_matricula,numero_examen,nota) values ('001',1,20) insert examen_alum(numero_matricula,numero_examen,nota) values ('002',2,18) insert examen_alum(numero_matricula,numero_examen,nota) values ('003',3,19) insert examen_alum(numero_matricula,numero_examen,nota) values ('004',4,17) DESARROLLO DE PUNTOS INFORMACIÓN SOBRE LA ACTIVIDAD ACADÉMICA - UNIDAD 2
  • 12. De acuerdo a lo estipulado en tutorías sobre lo concerniente a las actividades académicas evaluativas, a continuación se describe el desarrollo de la primera actividad, donde ustedes como equipo deben tomar como base el mismo ejercicio desarrollado en B-1 (el caso práctico elegido para desarrollar las actividades propuestas en la asignatura BD-1), continuar con el desarrollo de la temática de la asignatura BD-2, por lo que para esta segunda actividad (Unidad 2) deben resolver los siguiente puntos sobre Validación de Restricción de inconsistencia de entrada de datos en la BD (Comando Check), Vistas, Transacciones y su aplicación en los motores de bases de datos relacionales 1. Investigar el objetivo del comando CHECK en la cláusula Create Table y en la cláusula Alter Table. El comandocheckes una restricciónque se usapara limitarel rangode un valorque se puede agregara una columna.Porejemplo,puede serusadoal momentode crearuna tablapara denominaraunacolumnaque permitaque lasedadesseanmayoresal número a ingresary podemosusarlatambiénal momentode alterarparaagregar restriccionessi no fueronhechasal momentode crearlas 2. Analice el Modelo Relacional del ejercicio que seleccionaron como Grupo de BD-1, tomar al menos una tabla y cambiar su estructura usando el Comando ALTER TABLE (en OracleSql, SQLServer y PostgreSQL), de tal manera que, la tabla ahora tenga las siguientes restricciones de validación al momento de insertar algún registro sobre ella: a. Que al menos una columnas numéricas sólo puede aceptar valores comprendidos entre X y Z. Por ejemplo: Que el descuento de un ítem de venta solo pueda ser un valor comprendido entre 5% y 50% alter table [dbo].[examen_alum] ADD CONSTRAINT CHK_nota check (nota between 1 and 100); b. Que al menos una columnas solo pueda recibir uno de varios posibles valores (ValorA, ValorB, ValorC, ValorD, ValorN).Por ejemplo: que la columna tipo de documento solo puede aceptar Tarjeta de Identidad, Cedula de Ciudadania, Pasaporte, Cedula de Extranjería, etc.
  • 13. alter table [dbo].[practicas] ADD CONSTRAINT CHK_titulo check (titulo in ('Matematicas','Sociales','Calculo','Comunicacion Social','Internet','Ecologia')); c. Que al menos una columna de tipo Fecha solo pueda aceptar fechas iguales o superiores a la fecha actual. update [dbo].[profesor_practicas] set fecha_practicas=getdate() alter table [dbo].[profesor_practicas] ADD CONSTRAINT CHK_fecha_practicas check (convert(varchar(10),fecha_practicas,111) >=convert(varchar(10),getdate(),111)); 3. Qué es y qué problema resuelve el uso del concepto de Vistas en bases de datos Relacionales o SQL Las vistasenbase de datosson tablasvirtualesgeneradasapartirde unaejecuciónde variastablasconsultassobre unao variastablas.Estotoma como resultadotodoslos datosmostradosen unatabla unificada.Lafunciónde estasvistasespara realizar consultasconmás facilidadysonmuy similaresalastablasasí que estastambién permitenmodificaryeliminar 4. Analizar el Modelo Relacional del ejercicio que seleccionaron como Grupo de BD-1, diseñar una consulta multitabla y probarla (en OracleSql, SQLServer y PostgreSQL). Select * From profesores A Inner Join profesor_practicas B On A.cedula_profesor = B.cedula_profesor 1. Crear y probar al menos un vista que ejecute la consulta diseñada y probada en el punto anterior. create view vwprofesor_practicas as SELECT A.cedula_profesor, A.nombre, A.apellido, A.direccion, A.telefono, B.cedula_profesor AS Expr1, B.codiGO_practicas, B.fecha_practicas FROM profesores AS A INNER JOIN profesor_practicas AS B ON A.cedula_profesor = B.cedula_profesor go select * from vwprofesor_practicas 2. Crear y probar al menos una vista que contenga la sentencia SQL de alguna de las subconsultas diseñadas en la la actividad de la Unidad 1
  • 14. create view vwprofesor_practicas_subconsulta as select * from profesor_practicas where codigo_practicas IN ( SELECT codigo_practicas FROM tipo_practica WHERE codigo_practicas=1) go select * from vwprofesor_practicas_subconsulta 3. Crear y probar al menos una vista que contenga la sentencia SQL de alguna de los Inner Joins diseñados en la la actividad de la Unidad 1 create view vwprofesor_practicas_crossjoin as SELECT A.cedula_profesor, A.nombre, A.apellido, A.direccion, A.telefono, B.cedula_profesor AS Expr1, B.codiGO_practicas, B.fecha_practicas FROM profesores AS A CROSS JOIN profesor_practicas AS B go select * from vwprofesor_practicas_crossjoin Para el desarrollo de los siguientes puntos referentes al tema de Transacciones, ustedes como grupo deben realizar las siguientes tareas sobre OracleSql, SQLServer y PostgreSQL:
  • 15. 1. Crear una base de datos llamada prueba_transacciones_grupoXYZ, siendo XYZ el nombre del ejercicio que escogieron como equipo. create database prueba_transacciones_grupo16EXAMENES go 2. Mostrar la BD 3. Crear un usuario llamado tu_nombre_apellido CREATE LOGIN Sergio_Arrieta WITH PASSWORD = 'BD@123456'; GO CREATE USER Sergio_Arrieta FOR LOGIN Sergio_Arrieta; GO 4. Mostrar la el usuario 5. Asignar rol de SUPER ADMIN sobre la base de datos prueba_transacciones_grupoXYZ. ALTER ROLE db_owner ADD MEMBER Sergio_Arrieta; GO 6. Salir del Motor de BD 7. Volver a entrar el Motor de BD usando las credenciales de acceso del nuevo usuario creado.
  • 16. 8. Mostrar las bd 9. Crear tablas Deudores(cc, clave, nombre, apellido, email). email es único, todos son obligatorios create table Deudores(id int not null, cc varchar(20) not null, clave varchar(50) not null, nombre varchar(50) not null,apellido varchar(50) not null, email varchar(50) not null unique) 10. Crear tablas Creditos(id, fecha, valor, cuotas, interes, estado, deudor_id), todos son obligatorios, estado por defecto es Activo create table Creditos(id int not null, fecha date not null, valor float not null, cuotas int not null,interes float not null, estado varchar(20) not null default 'Activo',deudor_id int not null) 11. Crear tablas Pagos(id, fecha, valor, credito_id). Todos son obligatorios. Use el comando check para evitar que la columna valor solo puede aceptar valor positivos mayores que 0 y la fecha del pago no puede ser mauyor que la fecha actual create table Pagos(id int not null, fecha date not null check(fecha<=getdate()), valor float not null check(valor>0) , credito_id int not null) 12. Mostrar las tablas
  • 17. 13. Mostrar la estructura de cada tabla 14. aplicar las respectivas llave foráneas
  • 18. ALTER TABLE deudores ADD CONSTRAINT pk_deudores_Id PRIMARY KEY (Id) go ALTER TABLE creditos ADD FOREIGN KEY (deudor_id) REFERENCES Deudores(Id) go ALTER TABLE creditos ADD CONSTRAINT pk_creditos_Id PRIMARY KEY (Id) go ALTER TABLE pagos ADD FOREIGN KEY (credito_id) REFERENCES creditos(Id) Go 15. Mostrar el Diagrama Relacional generado desde el Cliente Gráfico usado para cada motor de BD 16. Insertar un al menor un Deudor: a. el primero con cc=123, calve=Abc, nombre = Fulanito, apellido=De tal, email=fulanito1@gmail.com insert into Deudores select id=1,cc='9149625', calve='1981', nombre = 'sergio',apellido='Arrieta', email='namtlakh@gmail.com' go 17. Mostrar todos los Deudores insertados en la BD select * from Deudores 18. Insertar al menos un Crédito:
  • 19. a. id=1, fecha=hace un año, valor=100000, cuotas=5, interes_mes=40%, deudor_id=123 insert into Creditos(id, fecha, valor, cuotas, interes, deudor_id) select id=1,fecha=getdate()-365, valor=100000, cuotas=5, interes=40, deudor_id=1 go 19. Mostrar todos los Créditos insertados en la BD select * from Creditos 20. Insertar 5 pagos así (no modifique ningún valor del ejemplo, colocar las fechas correspondientes, el formato de fecha correspondiente para bd): a. id=1, fecha=un mes después del crédito, valor=28000, credito_id=1 b. id=2, fecha=un mes después de la fecha actual, valor=28000, credito_id=1 c. id=3, fecha=un mes después del primer pago, valor=28000, credito_id=1 d. id=4, fecha=un mes después del primer pago, valor=28000, credito_id=1 e. id=5, fecha=un mes después del primer pago, valor=-28000, credito_id=1 insert into pagos(id,fecha,valor,credito_id) select id=1, fecha=(select dateadd(month,1,fecha) from creditos where id=1), valor=28000, credito_id=1 go insert into pagos(id,fecha,valor,credito_id) select id=2, fecha=(select dateadd(month,1,getdate()) from creditos where id=1), valor=28000, credito_id=1 go insert into pagos(id,fecha,valor,credito_id) select id=3, fecha=(select dateadd(month,1,fecha) from pagos where id=1), valor=28000, credito_id=1 go insert into pagos(id,fecha,valor,credito_id) select id=4, fecha=(select dateadd(month,1,fecha) from pagos where id=1), valor=28000, credito_id=1 go insert into pagos(id,fecha,valor,credito_id) select id=5, fecha=(select dateadd(month,1,fecha) from pagos where id=1), valor=-28000, credito_id=1 go 21. Cambiar o actualizar el estado del Crédito con id=1, para que ahora sea Finalizado update Creditos set estado='Finalizado' where id=1 go 22. Mostrar los datos del Crédito con id=1
  • 20. select * from Creditos where id=1 23. Mostrar todos los Pagos insertados al Crédito con ID=1 insertados en la BD select * from pagos where credito_id=1 24. Totalizar el total de valores pagados para el crédito con id=1, para que aparezca así: TOTAL PAGOS: $140000 select 'TOTAL PAGOS: $'+ convert(varchar,SUM(valor)) from pagos where Credito_id=1 25. Analice el resultado de cada una de las operaciones anteriores, comente y explique el por que de cada uno. Creamosuna base de datosde transaccioneslacual contiene lastablasdeudores,creditos y pagosdichastablas creamossusllavesforáneasparalaconexiónde lasmismas, ingresamosdatosdel deudorysucredito.Despuesagregamos5loscualesseriande cada mesque tiene que pagarpara asi hacer untotal de 140.000 26. Elimine todos los pagos de crédito con ID: 1 delete from pagos where credito_id=1 27. Mostrar todos los pagos que existen para el crédito con id=1 28. inicie una TRANSACCION begin tran 29. dentro de la transacción volver a insertar los mismo pagos anteriores: a. id=1, fecha=un mes después del crédito, valor=28000, credito_id=1 b. id=2, fecha=un mes después de la fecha actual, valor=28000, credito_id=1 c. id=3, fecha=un mes después del primer pago, valor=28000, credito_id=1
  • 21. d. id=4, fecha=un mes después del primer pago, valor=28000, credito_id=1 e. id=5, fecha=un mes después del primer pago, valor=-28000, credito_id=1 insert into pagos(id,fecha,valor,credito_id) select id=1, fecha=(select top 1 dateadd(month,1,fecha) from creditos where id=1 order by id), valor=28000, credito_id=1 go insert into pagos(id,fecha,valor,credito_id) select id=2, fecha=(select top 1 dateadd(month,1,getdate()) from creditos where id=1 order by id), valor=28000, credito_id=1 go insert into pagos(id,fecha,valor,credito_id) select id=3, fecha=(select top 1 dateadd(month,1,fecha) from pagos where id=1 order by id), valor=28000, credito_id=1 go insert into pagos(id,fecha,valor,credito_id) select id=4, fecha=(select top 1 dateadd(month,1,fecha) from pagos where id=1 order by id), valor=28000, credito_id=1 go insert into pagos(id,fecha,valor,credito_id) select id=5, fecha=(select top 1 dateadd(month,1,fecha) from pagos where id=1 order by id), valor=-28000, credito_id=1 go 30. Cambiar o actualizar el estado del Crédito con id=1, para que ahora sea Finalizado update Creditos set estado='Finalizado' where id=1 go 31. Mostrar los datos del Crédito con id=1 select * from Creditos where id=1 32. Mostrar todos los Pagos insertados al Crédito con ID=1 insertados en la BD select * from pagos where credito_id=1
  • 22. 33. Totalizar el total de valores pagados para el crédito con id=1, para que aparezca así: TOTAL PAGOS: $140000 select 'TOTAL PAGOS: $'+ convert(varchar,SUM(valor)) from pagos where Credito_id=1 34. Cancelar la transaccion (rollblack) rollback 35. Mostrar todos los Pagos insertados al Crédito con ID=1 insertados en la BD select * from pagos where credito_id=1 36. Totalizar el total de valores pagados para el crédito con id=1, para que aparezca así: TOTAL PAGOS: $140000 select 'TOTAL PAGOS: $'+ convert(varchar,SUM(valor)) from pagos where Credito_id=1 37. Analice el resultado de cada una de las operaciones anteriores, comente y explique el por que de cada uno. Eliminamoslosregistrosde lastablasparadejarlabase de datosvacia.Despues agregamosotra ves5 datosloscualesserían de cada mesque tiene que pagarcon la única diferenciaque usamosmétodosde iniciarterminartransaccionesparaasi darun total de 0 ya q la transacciónal final fue cancelada
  • 23. BIBLIOGRAFIA Big data Sql check https://bigdata-analytics.es/sql/check/?fbclid=IwAR3oTEOLe09gvvYV- x894tIivUK_mC7Glkj14ujNwmBqVdFrfqrzzTKf_yM consultado11/07/2022 2. vistassqlshack https://www.sqlshack.com/es/las-vistastablasfunciones-de-sistema-de-sql-server- preguntas-frecuentes-y-soluciones-a-problemas-de-la-vida- real/?fbclid=IwAR2wsiOK8bTHXTY8GmqUB-coZikFsmgCONSp0Q1Z6qpZwpn_8c- sccwHLRc#:~:text=Las%20vistas%20de%20sistema%20son,datos%20sus%20propias%20vis tas/tablas consultado11/07/2022 3.vistascodideep https://codideep.com/blogpost/que-son-las-vistas-en-la-base-de- datos?fbclid=IwAR3eNUb3HXnt_xfloxSBjIiy3e9_yEHldLNluy9URL1RS0EprLTn2vC2DU8 consultado11/07/2022