Está en la página 1de 13

TAREA DE UNIDAD II

Nombre y Apellido del Alumno: Cristian David Supo Flores

Carrera – Ciclo – Sección: GEODESIA Y TOPOGRAFIA - CICLO VI - A

Curso: ELABORACIÓN DE BASE DE DATOS GEORREFERENCIADAS

Docente: RODRÍGUEZ CRUZADO JOSÉ LUIS

Fecha: 15/05/2022 NOTA

Nota: Desarrollar cada una de las preguntas, colocar el procedimiento realizado: scripts sql generados y capturas de
pantallas de los resultados. Por ultimo convertir el documento a pdf y subirlo al aula virtual.

1.- Diseñar e Implementar una base de datos que almacene la información de venta de productos, considerando la
siguiente información:

- tienda: código, nombre.

- cliente: código, apellido paterno, apellido materno, nombre, dni, fecha de nacimiento.

- producto: código, nombre del producto, stock, precio unitario

- venta: fecha de venta, cliente, tienda, producto, cantidad, subtotal,

Para lo cual deberá realizar lo siguiente:

a) Elaborar el modelo lógico de la base de datos. (2 puntos)


Tienda:
Codigo Nombre
Numerico
carácter variable(80)
Correlativo

Cliente:
Codigo Apellido Paterno Apellido Materno Nombre dni Fecha de Nacimiento
Numerico
carácter variable(120) carácter variable(120) carácter variable(120) carácter variable(15) Fecha (DD/MM/YYYY)
Correlativo

Producto:
Codigo Nombre Stock Precio unitario
Numerico
carácter variable(50) numerico numerico
Correlativo

Venta:
Codigo Fecha de venta Cliente Tienda Producto Cantidad Subtotal
Numerico
Fecha (DD/MM/YYYY) carácter variable(120) carácter variable(80) Fecha (DD/MM/YYYY) numerico numerico
Correlativo
b) Elaborar el modelo físico de la base de datos. (2 puntos)

Tienda: codigo nombre


serial character varying (80)
1 tienda los olivos
2 tienda lince
3 tienda barranco
4 tienda miraflores
5 tienda rimac
6 tienda ate

Foreign Key
primary key

Cliente:
codigo apaterno amaterno nombre dni fnacimiento
serial character varying (120) character varying (120) character varying (120) character varying (15) date
1 salcedo castillo bety 70326594 20/11/1987
2 valdivia camargo lourdes 85718772 20/05/19889
3 palacios falcon juan 72854914 26/09/1992
4 flores supo christofer 45245245 07/08/1967
5 inti ramirez karin 56725717 25/11/1968
6 cali saavedra eduardo 18086564 15/12/1972

7 guerrero bravo javier 45342445 01/04/1980


8 aguedo garriazo axel 45242445 01/10/1978
9 pinto lujan jorge 86967827 20/10/1997
10 ortega riquelme denise 54787127 28/09/1987
Primary Key
Foreign Key

Producto:

codigo nombre stock precunit


serial character varying (50) integer integer
1 chocolate 50 2
2 gaseosa 20 3
3 galleta 30 1
4 wafer 40 1
5 gomas de mascar 100 3
Primary Key
Foreign Key
Venta:
codigo fechdventa codcliente codtienda codproducto cantidad subtotal
serial character varying (15) integer integer integer integer integer
1 15/11/2022 1 1 2 7 21
2 20/08/2022 2 4 4 14 14
3 26/10/2021 3 2 3 5 5
4 17/08/2020 4 3 5 1 3
5 25/01/2020 5 4 1 10 20
6 13/07/1905 6 5 4 5 5
7 01/10/2022 7 6 5 6 18
8 25/10/2021 8 2 2 10 30
9 18/10/2022 9 1 1 4 8
10 26/10/2020 10 3 3 11 11
Primary
Key Foreign Key Foreign Key Foreign Key
Foreign Key

c) Crear una base de datos y esquema en postgresql. (1 punto)


Se creo la base de datos ventas y asimismo el esquema sl

d) I
m p
l e
m e
n t
a r

el modelo físico en una base de datos postgresql. (3 puntos)

---TIENDA:
create table sl.tienda(
codigo serial not null,
nombre character varying(80) not null,
constraint pk_tienda primary key(codigo)
);

select * from sl.tienda;


---Cliente: create table sl.cliente(
codigo serial not null,
apaterno character varying(120) not null,
amaterno character varying(120) not null,
nombre character varying(120) not null,
dni character varying(15) not null,
fnacimiento date not null,
constraint pk_cliente primary key(codigo)
);
---Producto
create table sl.producto(
codigo serial not null,
nombre character varying(50) not null,
stock integer not null,
presunit integer not null,
constraint pk_producto primary key(codigo));

---Venta
create table sl.venta(
codigo serial not null,
fechdventa character varying(15) not null,
codcliente integer not null,
codtienda integer not null,
codproducto integer not null,
cantida integer not null,
subtotal integer not null,
constraint pk_venta primary key(codigo),
constraint fk_venta_cliente foreign key(codcliente)
references sl.cliente (codigo),
constraint fk_venta_tienda foreign key(codtienda)
references sl.tienda (codigo),
constraint fk_venta_producto foreign key(codproducto)
references sl.producto (codigo));
e) Insertar registros en las tablas maestras y en las tablas de movimiento. Ingresar mínimo 10 registros en la tabla de
movimiento “venta”. (2 puntos)

Insertaremos la información a la tabla tienda:


Insertamos la información a la tabla cliente:

---Insertamos información a la tabla producto

nsert into sl.producto(nombre,stock,presunit) values


(‘chocolate’,50,2),
(‘gaseosa’,20,3),
(‘galleta’,30,1),
(‘wafer’,40,1),
(‘gomas de mascar’,100,3);
---Insertaremos información a la tabla venta

f) Realizar el script que visualice la siguiente información: (3 puntos)

codvent fecha de cliente tienda producto cantidad precio subtotal


a venta unitario
1 14/05/2022 Rodríguez Cruzado Tienda Los Chocolate 5 4 20
José Luis Olivos
2 15/05/2022 Sanchez Llontop Tienda Gaseosa 2 3.5 7
Eduardo Lince

Para ejecutar esa visualización generaremos la siguiente sentencia:

select
v.codigo,
v.fechdventa,
c.apaterno || ' ' || c.amaterno || ' ' || c.nombre cliente,
t.nombre tienda,
p.nombre producto,
v.cantida cantidad,
p.presunit,
v.subtotal
from
sl.venta v
join sl.cliente c
on v.codcliente = c.codigo
join sl.tienda t
on v.codtienda = t.codigo
join sl.producto p
on v.codproducto = p.codigo;

g) Realizar el script que actualice los precios de 2 productos. (1 punto)

update sl.producto
set presunit=5
where codigo=1;

update sl.producto
set presunit=10
where codigo=2;
h) Realizar el script que elimine las ventas realizar por clientes mayores de 30 años. (1 punto)

i) Crear una vista que muestre la siguiente información: (1 punto)

tienda producto cantidad precio unitario subtotal


Tienda Los Olivos Chocolate 5 4 20
Tienda Lince Gaseosa 2 3.5 7

Escribiremos la siguiente sentencia:

select
t.nombre tienda,
p.nombre producto,
v.cantida cantidad,
p.presunit,
v.subtotal
from
sl.venta v
join sl.cliente c
on v.codcliente = c.codigo
join sl.tienda t
on v.codtienda = t.codigo
join sl.producto p
on v.codproducto = p.codigo;
2.- Crear una tabla con mínimo 8 campos, en las cuales deberá usar algunas funciones:

create table sl.persona(


codigo serial not null,
apaterno character varying(120) not null,
amaterno character varying(120) not null,
nombre character varying(120) not null,
dni character varying(15) not null,
fnacimiento date not null,
nota1 integer not null,
nota2 integer not null,
nota3 integer not null,
nota4 integer not null,
constraint pk_persona primary key(codigo)
);

insert into sl.persona(apaterno,amaterno,nombre,dni,fnacimiento,nota1,nota2,nota3,nota4) values


('calvo','lomas','eduardo','75485658','18/05/1998',18,19,20,15),
('lopez','guardian','melhany','85478514','17/04/1967',15,16,18,20),
('supo','flores','cristian','70303188','26/11/1997',20,20,18,19),
('falcon','garriazo','karla','72685471','20/05/1999',15,18,14,15);
- 2 Funciones matemáticas. (1 punto)

- 2 Funciones sobre cadenas de caracteres. (1 punto)

- 2 Funciones de fecha. (1 punto)


- 2 Funciones de agregación. (1 punto)

También podría gustarte