Está en la página 1de 8

id clase Docente libro Fecha Fecha alumno autor

registro registro
libro del
docente
1 Análisis y Pedro Análisis y 2019-07- 2016- Juan Kendall &
Diseño de Alcantara diseño de 16 05-20 Kendall
sistemas sistemas
2 Base de datos Jonatan Fundamentos 2018-07- 2016- María Elmasri
I moncada de Base de 16 04-15
Datos1
3 Programación María Entornos de 2020-02- 2017- Pepe Juan
en Entornos Funez Desarrollo 20 06-18 Moreno
de Desarrollo
Visual
4 Sistemas Gerson
Fundamentos 2019-07- 2017- Ronaldo Galvin
Operativos II Menjivar
de Sistemas 18 06-20 Gagne
Operativo
5 Excel Pepito Macros con 2020-12- 2016- Messi Microsoft
Tamarindo Formulas 16 04-18
UNIVERSIDAD CATOLICA DE HONDURAS “NUESTRA SEÑORA REINA DE LA PAZ”
CAMPUS SAN ISIDRO
Examen de Reposición Base de Datos I Catedrático: Ing. Jonatan Moncada
Nombre: Eyleen Tejeda Acumulativo:
Nro. Cuenta 1505200100392 Examen: /100%
Fecha: Total:

“En el estudio no existe la saciedad”

1. Se le solicita normalizar la siguiente tabla, aplicando hasta le tercera forma normal, por
lo tanto, deberán descomponer esta tabla de forma que cumpla con las reglas de
normalización 30%:
1FN
Tabla Alumnos:

NombreAlumno

ID

NombreClase

Tabla Clase:

NombreClase

Docente

FechaInscripcion

Libro

FechaLibro

Autor

2FN
Tabla Alumnos:

NombreAlumno

ID

NombreClase

Tabla Clase:

NombreClase

Docente

Tabla Libro

FechaInscripcion

Libro

FechaLibro

Autor
3FN
Tabla Alumnos:

NombreAlumno

ID

NombreClase

Tabla Clase:

NombreClase

Docente

FechaIngresoDocente

Libro

Tabla Libro

FechaInscripcion

Libro

FechaLibro

Tabla Libro Detalle

Libro

Autor

2. Según el resultado de normalizar, realizar la base de datos físicamente en MySQL (para


hacer esto ya deben haber normalizado), en este punto debe pegar el script de la
creación de la base de datos 20%.

SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;

SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;

SET @OLD_SQL_MODE=@@SQL_MODE,
SQL_MODE='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_D
ATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

CREATE SCHEMA IF NOT EXISTS `P` DEFAULT CHARACTER SET utf8 ;

USE `P` ;
CREATE TABLE IF NOT EXISTS `P`.`Clase` (

`NombreClase` VARCHAR(45) NOT NULL,

`Docente` VARCHAR(45) NOT NULL,

`FechaIngleso` TEXT NULL,

PRIMARY KEY (`NombreClase`))

ENGINE = InnoDB;

CREATE TABLE IF NOT EXISTS `P`.`Alumnos` (

`ID` INT NOT NULL AUTO_INCREMENT,

`Nombre` VARCHAR(45) NOT NULL,

`NombreClase` VARCHAR(45) NOT NULL,

PRIMARY KEY (`ID`),

INDEX `Clase_idx` (`NombreClase` ASC) VISIBLE,

CONSTRAINT `Clase`

FOREIGN KEY (`NombreClase`)

REFERENCES `P`.`Clase` (`NombreClase`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB;

CREATE TABLE IF NOT EXISTS `P`.`Libro` (

`NombreLibro` VARCHAR(50) NOT NULL,

`FechaLibro` VARCHAR(45) NOT NULL,

`Clase` VARCHAR(45) NULL,

PRIMARY KEY (`NombreLibro`),

INDEX `libro_idx` (`Clase` ASC) VISIBLE,

CONSTRAINT `libro`

FOREIGN KEY (`Clase`)


REFERENCES `P`.`Clase` (`NombreClase`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB;

CREATE TABLE IF NOT EXISTS `P`.`DetalleLibro` (

`Libro` VARCHAR(50) NOT NULL,

`Autor` VARCHAR(45) NOT NULL,

PRIMARY KEY (`Libro`),

CONSTRAINT `Libro`

FOREIGN KEY (`Libro`)

REFERENCES `P`.`Libro` (`NombreLibro`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB;

SET SQL_MODE=@OLD_SQL_MODE;

SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;

SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

3. Generar el diagrama relacional de la base de datos en mysqlworkbench 20%


4. Llenar la base de datos con la información que se muestra en el Ítem 1, pegar
sentencia SQL para el registro de los datos de manera ordenada 10%.

INSERT INTO `p`.`clase` (`NombreClase`, `Docente`, `FechaIngleso`) VALUES ('Análisis y diseño


de sistemas', 'Pedro Alcantara', '2016-05-20');

INSERT INTO `p`.`clase` (`NombreClase`, `Docente`, `FechaIngleso`) VALUES ('Fundamentos de


Base de Datos1', 'Jonatan moncada', '2016-04-15');

INSERT INTO `p`.`clase` (`NombreClase`, `Docente`, `FechaIngleso`) VALUES ('Entornos de


Desarrollo', 'María Funez', '2017-06-18');

INSERT INTO `p`.`clase` (`NombreClase`, `Docente`, `FechaIngleso`) VALUES ('Fundamentos de


Sistemas Operativo', 'Gerson Menjivar', '2017-06-20');

INSERT INTO `p`.`clase` (`NombreClase`, `Docente`, `FechaIngleso`) VALUES ('Macros con


Formulas', 'Pepito Tamarindo', '2016-04-18');

INSERT INTO `p`.`libro` (`NombreLibro`, `FechaLibro`, `Clase`) VALUES ('Análisis y diseño de


sistemas', '2019-07-16', 'Análisis y Diseño de sistemas');

INSERT INTO `p`.`libro` (`NombreLibro`, `FechaLibro`, `Clase`) VALUES ('Fundamentos de Base


de Datos1', '2018-07-16', 'Base de datos I');

INSERT INTO `p`.`libro` (`NombreLibro`, `FechaLibro`, `Clase`) VALUES ('Entornos de Desarrollo',


'2020-02-20', 'Programación en Entornos de Desarrollo Visual');

INSERT INTO `p`.`libro` (`NombreLibro`, `FechaLibro`, `Clase`) VALUES ('Fundamentos de


Sistemas Operativo', '2019-07-18', 'Sistemas Operativos II');

INSERT INTO `p`.`libro` (`NombreLibro`, `FechaLibro`, `Clase`) VALUES ('Macros con Formulas',
'2020-12-16', 'Excel');

INSERT INTO `p`.`alumnos` (`ID`, `Nombre`, `NombreClase`) VALUES ('1', 'Juan', 'Análisis y
Diseño de sistemas');
INSERT INTO `p`.`alumnos` (`ID`, `Nombre`, `NombreClase`) VALUES ('2', 'Maria', 'Base de datos
I');

INSERT INTO `p`.`alumnos` (`ID`, `Nombre`, `NombreClase`) VALUES ('3', 'Pepe', 'Programación
en Entornos de Desarrollo Visual');

INSERT INTO `p`.`alumnos` (`ID`, `Nombre`, `NombreClase`) VALUES ('4', 'Ronaldo', 'Sistemas
Operativos II');

INSERT INTO `p`.`alumnos` (`ID`, `Nombre`, `NombreClase`) VALUES ('5', 'Messi', 'Excel');
5. Para Docente una vista que muestre información del nombre de la clase, nombre del
docente, y libro de la clase, pegar el script para la vista, así como el resultado que
muestra MySQL 10%

CREATE VIEW `view1` AS

SELECT NombreClase, Docente, NombreLibro FROM p.clase, p.libro;

6. Crear una segunda vista que muestre el nombre de la clase y alumnos, pegar el script
para la vista, así como el resultado que muestra MySQL. 10%

CREATE VIEW `view2` AS

SELECT Nombre, , NombreClase FROM p.alumnos;

Forma de entrega: cargar en formato PDF a la plataforma, de no cumplirse la forma de entrega


se penalizará con -10%

También podría gustarte