Está en la página 1de 25

TRABAJO SUMATIVO

MÓDULO: PRO102-9001-2022 BASES DE DATOS RELACIONALES

SEMANA: 7

DOCENTE: YOSSER URZÚA URZUA

ESTUDIANTE: MIGUEL ÁNGEL TRUJILLO PLAZA


Índice

Antecedentes generales y objetivos........................................................................................3


Diccionario de datos..............................................................................................................21
Conclusión.............................................................................................................................24
Bibliografía...........................................................................................................................25

Antecedentes generales y objetivos

2
En esta sección corresponde que presentes tu trabajo y definas el título del proyecto, junto con describir
brevemente el caso presentado.
Además, esta sección debe contener:

 Objetivos generales.

 Objetivos específicos.

Parte 1:

Determina instancias de inserción de datos utilizando el Lenguaje de Consultas Estructurado SQL. En


esta actividad se va a utilizar la estructura creada en la semana anterior (semana 6). Las tablas que verás
a continuación son las mismas.

1. Códigos para crear la base de datos.

2. Códigos para crear las tablas.

a. Crear una tabla que contenga las filas de la tabla empleados. Su nombre debe ser empleados.

b. Crear una tabla que contenga las filas de la tabla oficinas. Su nombre debe ser oficinas.

c. Crear una tabla que contenga las filas de la tabla productos. Su nombre debe ser productos.

d. Crear una tabla que contenga las filas de la tabla pedidos. Su nombre debe ser pedidos.

e. Crear una tabla que contenga las filas de la tabla clientes.

Su nombre debe ser clientes.

3. Códigos para crear claves primarias.

4. Códigos para crear claves foráneas.

--1-

Create Database Empresa;

use Empresa;

--2-

Create Table Empleados

(id_empleado int not null primary key, nombre char(50), apellido char(50),

edad int , sucursal int , cargo char(30),

3
fecha_ingreso datetime, jefatura int , base_ventas int, monto_ventas int);

Create Table Oficinas

(sucursal int not null primary key, direccion char(100), ciudad char(50),

region char(50), jefatura int , meta int, monto_ventasof int);

Create Table Clientes

(id_cliente int not null primary key, nombre_cli char(50), empleado_id int , credito_cli int);

Create Table Productos

(id_fabrica char(3) not null, id_producto char(5) not null , nombre_prod char(50), precio_prod int,

stock int, CONSTRAINT PK_Productos PRIMARY KEY (id_fabrica, id_producto));

Create Table Pedidos

(id_pedido int not null primary key, num_pedido int, fecha_pedido datetime,

id_cliente int not null, id_vendedor int not null,

id_fabrica char(3) not null, cod_producto char(5),

cantidad int, valor int );

ALTER TABLE Empleados

ADD FOREIGN KEY (sucursal) REFERENCES Oficinas(sucursal);

4
ALTER TABLE Clientes

ADD FOREIGN KEY (empleado_id) REFERENCES Empleados(id_empleado);

ALTER TABLE Pedidos

ADD FOREIGN KEY (id_cliente) REFERENCES Clientes(id_cliente);

ALTER TABLE Pedidos

ADD FOREIGN KEY (id_vendedor) REFERENCES Empleados(id_empleado);

Para esta actividad se pide determinar instancias de inserción de datos utilizando el Lenguaje de
Consultas Estructurado SQL a través de breves ejercicios:

A. Agregar una nueva oficina para la ciudad de Melipilla, con el número de oficina 130, con una meta de
$1.000.000 y región Metropolitana de Santiago.

INSERT INTO Oficinas

VALUES (130, ' ', 'Melipilla', 'Metropolitana de Santiago', null, 1000000, 0);

B. Agregar un nuevo empleado: Id_empleado 130, Nombre Mariano, Apellido Robles, Edad 28, Sucursal
44, Cargo distribuidor, Fecha_ingreso 22/02/2020, Jefatura 118, Base_Ventas $500.000, Monto_ventas
$475.000.

5
set dateformat dmy;

INSERT INTO Empleados

VALUES (130, 'Mariano', 'Robles', 28, 44, 'distribuidor', '22-02-2020', 118, 500000, 475000);

Parte 2:

Según requerimientos, realiza el diseño físico de un modelo relacional aplicando las sentencias del
lenguaje SQL de definición de datos.

Crear la siguiente estructura de base de datos y efectuar las consultas solicitadas.

DESARROLLO:

Create Database Cine;

6
use Cine;

--Tabla Película

CREATE TABLE pelicula(

codigo_pelicula char(3) PRIMARY KEY,

titulo varchar(35),

nacionalidad varchar(50),

productora varchar(50),

fechaEstreno date,

codDirector numeric,

codCategoria numeric

);

--Tabla director

CREATE TABLE director (

codigo_director numeric PRIMARY KEY,

nombre varchar(35),

apellidos varchar(50)

);

--Tabla Categoría

7
CREATE TABLE categoria(

codigo_categoria numeric PRIMARY KEY,

nombre varchar(35)

);

--Tabla Cliente

CREATE TABLE cliente (

codigo_cliente numeric PRIMARY KEY,

nombre varchar(20),

dirección varchar(50),

teléfono varchar(9)

);

--Tabla Pago

CREATE TABLE pago (

codCliente numeric PRIMARY KEY,

fechaPago date,

monto numeric

);

--Tabla reproduce

8
CREATE TABLE reproduce (

fechaCom date PRIMARY KEY,

fechaTer date,

codCliente numeric,

codPelicula char(3)

);

ALTER TABLE pelicula

ADD FOREIGN KEY (codDirector) REFERENCES director(codigo_director);

ALTER TABLE pelicula

ADD FOREIGN KEY (codCategoria) REFERENCES categoria(codigo_categoria);

ALTER TABLE pago

ADD FOREIGN KEY (fechaPago) REFERENCES reproduce(fechaCom);

ALTER TABLE reproduce

ADD FOREIGN KEY (codCliente) REFERENCES cliente(codigo_cliente);

ALTER TABLE reproduce

ADD FOREIGN KEY (codPelicula) REFERENCES pelicula(codigo_pelicula);

--Datos pelicula

set dateformat dmy;


9
INSERT INTO pelicula

VALUES ('23r', 'Forrest Gump', 'EE. UU', 'Paramount Pictures', '06-07-1994', 55, 9);

INSERT INTO pelicula

VALUES ('50s', 'León The Professional', 'Francia', 'Columbia Pictures', '14-09-1994', 60, 10);

INSERT INTO pelicula

VALUES ('36p', 'Desde mi cielo', 'EE. UU', 'DreamWorks Pictures', '11-12-2009', 35, 3);

INSERT INTO pelicula

VALUES ('41r', 'Encanto', 'EE. UU', 'Walt Disney Pictures', '19-11-2021', 40, 7);

INSERT INTO pelicula

VALUES ('50t', 'La vida es bella', 'Italia', 'Miramax', '20-12-1997', 25, 9);

--Datos Director

INSERT INTO director VALUES (25, 'Roberto', 'Benigni');

INSERT INTO director VALUES (35, 'Peter', 'Jackson');

INSERT INTO director VALUES (40, 'Byron', 'Howard');

INSERT INTO director VALUES (55, 'Robert', 'Zemeckis');

INSERT INTO director VALUES (60, 'Luc', 'Besson');

--Datos Categoria

INSERT INTO categoria VALUES (3, 'Drama');

INSERT INTO categoria VALUES (7, 'Musical Animada');


10
INSERT INTO categoria VALUES (9, 'Comedia Dramática');

INSERT INTO categoria VALUES (10, 'Drama Policiaco');

INSERT INTO categoria VALUES (2, 'Infantil');

--Datos Cliente

INSERT INTO cliente VALUES (100, 'Miguel González', 'Av. Bernardo O'Higgins 1040', 984056031);

INSERT INTO cliente VALUES (101, 'Javiera Malloa', 'Av. Encina 220', 963477010);

INSERT INTO cliente VALUES (102, 'Barbara Figueroa', 'Los Pintores 2880', 977466302);

INSERT INTO cliente VALUES (103, 'David Ulloa', 'Los Embajadores 9990', 856142208);

INSERT INTO cliente VALUES (104, 'Pilar Plaza', 'Pje. Las Golondrinas 556', 983117900);

--Pago

set dateformat dmy;

INSERT INTO pago VALUES (100, '12-12-2022', 10500);

INSERT INTO pago VALUES (101, '10-12-2022', 30450);

INSERT INTO pago VALUES (102, '05-10-2022', 90300);

INSERT INTO pago VALUES (103, '02-07-2022', 7450);

INSERT INTO pago VALUES (104, '01-12-2020', 9990);

--Datos Reproduce

set dateformat dmy;

INSERT INTO reproduce VALUES ('12-12-2022', '19-02-2022', 100, '23r');

INSERT INTO reproduce VALUES ('10-12-2022', '17-02-2022', 101, '50s');


11
INSERT INTO reproduce VALUES ('05-10-2022', '12-10-2022', 102, '36p');

INSERT INTO reproduce VALUES ('02-07-2022', '09-07-2022', 103, '41r');

INSERT INTO reproduce VALUES ('01-12-2020', '08-12-2020', 104, '50t');

Parte 3:

Según requerimientos, organiza instancias de bases datos para su respaldo y recuperación de


información.

Con base en los ejercicios realizados en la Parte 2, se pide:

1. Crear una copia de respaldo de la base de datos creada.

Le damos clic derecho a la base de datos que deseamos respaldar, nos vamos a Tasks (Tareas),

luego a copia de seguridad (Back up).

12
Una vez estando en copia de seguridad, nos proporciona una ruta, la cual viene determinada, pero la
podemos modificar, dependiendo en que carpeta queramos guardar nuestro respaldo.

Luego nos vamos a opciones de medios y nos aparecen opciones si queremos sobrescribir el respaldo,
dependiendo de lo que queramos elegimos la opción.

13
Finalmente completamos la copia de seguridad satisfactoriamente.

2. Indicar los pasos para restaurar la copia creada.

Nos vamos a Tareas, Restaurar, Base de Datos...

14
Nos aparecerá un cuadro de dialogo, marcamos dispositivo, le damos examinar...

Le damos a “Agregar” …

15
...y nos aparecerá la copia de seguridad, si no aparece automáticamente, la podemos buscar en las
carpetas, seleccionamos la copia de seguridad, le damos “Aceptar” ...

Seleccionamos la copia de seguridad...

16
Hacemos Click sobre, Sobrescribir la base de datos y también sobre,” Cerrar las conexiones existentes
con la base de datos de destino”, porque si encuentra alguna conexión abierta no va a permitir
sobrescribirla...

Le damos a “Aceptar” y la base de datos se restaura correctamente.

Parte 4:

17
Según requerimientos, manipula datos sobre estructura creada en ejercicio realizado anteriormente.
Con base en los ejercicios realizados en la Parte 2 y la Parte 3, realiza las siguientes consultas:

1. Mostrar todas las películas ordenadas por título.

select * from pelicula

order by titulo;

2. Mostrar el nombre de la película que empiece con E.

SELECT * FROM pelicula WHERE titulo LIKE 'E%';

3. Mostrar los códigos de las películas que terminen con R.

SELECT * FROM pelicula WHERE codigo_pelicula LIKE '%R';

18
4. Mostrar los 3 primeros directores.

SELECT TOP 3 *

FROM director

ORDER BY codigo_director;

5. Mostrar las 3 últimas categorías.

SELECT TOP 3 *

FROM categoria

ORDER BY codigo_categoria desc;

6. Contar las películas por categoría

Select p.codCategoria, c.nombre, count(c.codigo_categoria) as total_x_categoria


from pelicula p inner join categoria c on
19
c.codigo_categoria=p.codCategoria group by p.codCategoria, c.nombre;

20
Diccionario de datos

Agrega el diccionario de datos en esta sección.

Nombre de archivo: Tabla pelicula Fecha de creación: 14/12/2022


Descripción: tabla pelicula de bb.dd Cine.
Campo Tipo Longitud Descripción
codigo_pelicula char 3 Código de la pelicula.
titulo varchar 35 Título de la pelicula.
nacionalidad varchar 50 Nacionalidad de la película.

productora varchar 50 Productora de la película.

fechaEstreno date Fecha de estreno de la


película.
codDirector numeric Código del director.

codCategoria numeric Código de la categoría.

Relaciones: Campos llave


codigo_director de la tabla director con codDirector codigo_pelicula PK
tabla pelicula. codDirector FK
Codigo_categoria de la tabla categoria con codCategoria FK
codCategoria de la tabla pelicula.

Nombre de archivo: Tabla director Fecha de creación: 14/12/2022


Descripción: tabla director de bb.dd Cine.
Campo Tipo Longitud Descripción
codigo_director numeric Código del director.
nombre varchar 35 Nombre del director.
apellidos varchar 50 Apellidos del director.

Relaciones: Campos llave


Sin relación. codigo_director PK

Nombre de archivo: Tabla categoria Fecha de creación: 14/12/2022


Descripción: tabla categoria de bb.dd Cine
Campo Tipo Longitud Descripción
codigo_categoria numeric Código de la categoría.
nombre varchar 35 Nombre de la categoría.
Relaciones: Campos llave

21
Sin relación. codigo_categoria PK

Nombre de archivo: Tabla cliente Fecha de creación: 14/12/2022


Descripción: tabla cliente de bb.dd Cine.
Campo Tipo Longitud Descripción
codigo_cliente numeric Código del cliente.
nombre varchar 20 Nombre del cliente.
direccion varchar 50 Domicilio del cliente.

telefono varchar 9 Teléfono del cliente.

Relaciones: Campos llave


Sin relación. codigo_cliente PK

Nombre de archivo: Tabla pago Fecha de creación: 14/12/2022


Descripción: tabla pago de bb.dd Cine.
Campo Tipo Longitud Descripción
codCliente numeric Código del cliente.
fechaPago date La fecha de pago.
monto numeric El monto comprado.

Relaciones: Campos llave


fechaCom de la tabla reproduce con fechaPago de la codCliente PK
tabla pago. fechaPago FK

Nombre de archivo: Tabla reproduce Fecha de creación: 14/12/2022


Descripción: tabla reproduce de bb.dd Cine.
Campo Tipo Longitud Descripción
fechaCom date Fecha de comienzo
reproducción.
fechaTer date Fecha termino de
reproducción.
codCliente numeric Código del Cliente.

codPelicula char 3 Código de la pelicula.

Relaciones: Campos llave


codigo_cliente de la tabla cliente con codCliente de fechaCom PK
la tabla reproduce. codCliente FK
codigo_pelicula de la tabla pelicula con codPelicula codPelicula FK

22
de la tabla reproduce.

23
Conclusión

En esta sección corresponde que vuelvas sobre las ideas principales del desarrollo, de manera resumida,
destacando lo más relevante de tu trabajo, y que cierres con al menos dos reflexiones personales sobre la
generalidad del tema, su proyección, o bien sobre tu experiencia de aprendizaje al realizar el trabajo.

IMPORTANTE: EL CÓDIGO SE ENTREGA EN UN ARCHIVO .TXT DE FORMA SEPARADA.

24
Bibliografía

25

También podría gustarte