100% encontró este documento útil (1 voto)
200 vistas9 páginas

Creación y Consulta de Base de Datos en PostgreSQL

El documento describe la creación de una base de datos relacional para una tienda usando PostgreSQL. Incluye instrucciones para crear tablas normalizadas para clientes, órdenes, modelos y servicios usando datos de ejemplo y definir claves foráneas. También incluye consultas para obtener detalles de órdenes junto con el nombre del cliente, modelo y servicio, así como el costo total por cliente y el costo promedio de toda la tienda.

Cargado por

Miguel
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
200 vistas9 páginas

Creación y Consulta de Base de Datos en PostgreSQL

El documento describe la creación de una base de datos relacional para una tienda usando PostgreSQL. Incluye instrucciones para crear tablas normalizadas para clientes, órdenes, modelos y servicios usando datos de ejemplo y definir claves foráneas. También incluye consultas para obtener detalles de órdenes junto con el nombre del cliente, modelo y servicio, así como el costo total por cliente y el costo promedio de toda la tienda.

Cargado por

Miguel
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

BASE DE DATOS RELACIONAL – NEXT-U

En este reto deberás crear un documento reporte para realizar las siguientes actividades:

1. Crear la base de datos tienda en PostgreSQL.


BASE DE DATOS RELACIONAL – NEXT-U
2. Recuperar la base de datos inicial usando el archivo “tienda.sql”
BASE DE DATOS RELACIONAL – NEXT-U

3. Importar el contenido de los modelos usando el archivo “modelos.csv”.


BASE DE DATOS RELACIONAL – NEXT-U
BASE DE DATOS RELACIONAL – NEXT-U

4. Crear las tablas clientes y órdenes con los siguientes requerimientos:


✓ Usar normalización de los datos.
orden cliente(nombre) cliente(teléfono) modelo descripción costo
1 Luis Torres 55555555 Noquia A1 cambiar pantalla 90
2 Luis Torres 55555555 Noquia A2 cambiar bateria 50
3 Ana 123123123 Sansuun S1 cambiar bateria 50
4 María 11111111 Aifon 7 cambiar bateria 50
5 María 11111111 Sansuun S2 cambiar pantalla 90
6 Pedro 2222222 Aifon 8 cambiar pantalla 90
7 Pedro 2222222 Aifon 9 cambiar pantalla 90
BASE DE DATOS RELACIONAL – NEXT-U
Clientes:
clientes
_id cliente(nombre) cliente(teléfono)
1 Ana 123123123
2 Luis Torres 55555555
3 María 11111111
4 Pedro 2222222

Modelos:
modelos_id descripcion
1 Noquia A1
2 Noquia A2
3 Sansuun S1
4 Sansuun S2
5 Aifon 7
6 Aifon 8
7 Aifon 9

Servicios:
servicios_id descripcion costo
1 cambiar pantalla 90
2 cambiar batería 50

Ordenes:
ordenes_id codigo_clientes codigo_modelos codigo_servicios
1 2 1 1
2 2 2 2
3 1 3 2
4 3 5 2
5 3 4 1
6 4 6 1
7 4 7 1

✓ Definir las claves foráneas.

SELECT * FROM ordenes


SELECT * FROM clientes
SELECT * FROM modelos
SELECT * FROM servicios

ALTER TABLE ordenes


ADD CodigoClientes integer

ALTER TABLE ordenes


ADD CONSTRAINT fk_id_clientes
FOREIGN KEY (CodigoClientes)
REFERENCES clientes (id)

ALTER TABLE ordenes


ADD CodigoModelos integer
BASE DE DATOS RELACIONAL – NEXT-U

ALTER TABLE ordenes


ADD CONSTRAINT fk_id_modelos
FOREIGN KEY (CodigoModelos)
REFERENCES modelos (id)

ALTER TABLE ordenes


ADD CodigoServicios integer

ALTER TABLE ordenes


ADD CONSTRAINT fk_id_servicios
FOREIGN KEY (CodigoServicios)
REFERENCES servicios (id)

✓ Llenar las tablas con los datos proporcionados por el cliente en la tabla anterior.

INSERT INTO ordenes VALUES ('1','2','1','1')


INSERT INTO ordenes VALUES ('2','2','2','2')
INSERT INTO ordenes VALUES ('3','1','3','2')
INSERT INTO ordenes VALUES ('4','3','5','2')
INSERT INTO ordenes VALUES ('5','3','4','1')
INSERT INTO ordenes VALUES ('6','4','6','1')
INSERT INTO ordenes VALUES ('7','4','7','1')
BASE DE DATOS RELACIONAL – NEXT-U

5. Definir las siguientes consultas:

SELECT nombre,telefono,descripcion,servicio,precio FROM ordenes JOIN clientes ON


ordenes.codigoclientes = clientes.id JOIN modelos ON ordenes.codigomodelos = modelos.id JOIN
servicios ON ordenes.codigoservicios = servicios.id

✓ Nombre, Costo total por cliente: El resultado debe ser el nombre del cliente y el costo total de
todos sus servicios.
BASE DE DATOS RELACIONAL – NEXT-U
SELECT nombre,precio FROM ordenes JOIN clientes ON ordenes.codigoclientes = clientes.id JOIN
servicios ON ordenes.codigoservicios = servicios.id

SELECT nombre, SUM(precio) costo_total FROM costototal GROUP BY nombre

✓ Costo promedio actual de toda la tienda (que se obtiene promediando los costos de todas las
órdenes).

SELECT ROUND(AVG(precio)) promedio FROM costototal

También podría gustarte