No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Creación del modelo físico

17/26
Recursos

Aportes 3

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Creación de tablas: ```js CREATE TABLE dim_clientes( id_cliente integer, codigo_cliente varchar(10), nombre varchar(50), apellido varchar(50), nombre_completo varchar(100), numero_telefono_celular varchar(20), numero_telefono_casa varchar(20), numero_telefono_trabajo varchar(20), ciudad_casa varchar(50), fecha_carga timestamp, fecha_actualizacion timestamp, primary key (id_cliente) ); CREATE TABLE dim_producto( id_producto integer, codigo_producto varchar(10), nombre varchar(50), color varchar(30), tamaño varchar(20), categoria varchar(50), fecha_carga timestamp, fecha_actualizacion timestamp, primary key (id_producto) ); CREATE TABLE dim_territorio( id_territorio integer, codigo_territorio varchar(20), nombre varchar(50), continente varchar(30), fecha_carga timestamp, fecha_actualizacion timestamp, primary key (id_territorio) ); CREATE TABLE dim_vendedor( id_vendedor integer, codigo_vendedor varchar(20), identificación varchar(20), nombre varchar(50), apellido varchar(50), nombre_completo varchar(100), rol varchar(30), fecha_nacimiento date, genero varchar(12), ind_activo boolean, ind_bono boolean, fecha_inicio date, fecha_fin date, fecha_carga timestamp, fecha_actualizacion timestamp, primary key (id_vendedor) ); CREATE TABLE fact_ventas( id_venta integer, codigo_venta_detalle varchar(20), codigo_venta_encabezado varchar(20), id_fecha integer, id_territorio integer, id_cliente integer, id_vendedor integer, id_producto integer, cantidad integer, valor decimal, descuento decimal, fecha_carga timestamp, fecha_actualizacion timestamp, primary key (id_venta) ); ALTER TABLE fact_ventas ADD CONSTRAINT territorio_ventas_fk FOREIGN KEY ( id_territorio ) REFERENCES dim_territorio ( id_territorio ); ALTER TABLE fact_ventas ADD CONSTRAINT clientes_ventas_fk FOREIGN KEY ( id_cliente ) REFERENCES dim_clientes ( id_cliente ); ALTER TABLE fact_ventas ADD CONSTRAINT vendedores_ventas_fk FOREIGN KEY ( id_vendedor ) REFERENCES dim_vendedor ( id_vendedor ); ALTER TABLE fact_ventas ADD CONSTRAINT productos_ventas_fk FOREIGN KEY ( id_producto ) REFERENCES dim_producto ( id_producto ); ```
```txt -- Tabla dim_clientes CREATE TABLE dim_clientes( id_cliente INTEGER, codigo_cliente VARCHAR(10), nombre VARCHAR(50), apellido VARCHAR(50), nombre_completo VARCHAR(100), numero_telefono_celular VARCHAR(20), numero_telefono_casa VARCHAR(20), numero_telefono_trabajo VARCHAR(20), ciudad_casa VARCHAR(50), fecha_carga TIMESTAMP, fecha_actualizacion TIMESTAMP, PRIMARY KEY (id_cliente) ); -- Tabla dim_producto CREATE TABLE dim_producto( id_producto INTEGER PRIMARY KEY, codigo_producto VARCHAR(10), nombre VARCHAR(50), color VARCHAR(20), tamaño VARCHAR(20), categoria VARCHAR(20) ); -- Tabla dim_vendedor CREATE TABLE dim_vendedor( id_vendedor INTEGER PRIMARY KEY, codigo_vendedor VARCHAR(10), identificacion VARCHAR(10), nombre VARCHAR(50), apellido VARCHAR(50), nombre_completo VARCHAR(100), rol VARCHAR(10), fecha_nacimiento DATE, genero VARCHAR(10), ind_activo BOOLEAN, ind_bono BOOLEAN, inicio_registro DATE, fecha_inicio DATE, fecha_fin DATE, fin_registro DATE ); -- Tabla dim_territorio (corregida) CREATE TABLE dim_territorio( id_territorio INTEGER PRIMARY KEY, codigo_territorio VARCHAR(10), nombre VARCHAR(50), continente VARCHAR(10) ); -- Tabla fact_ventas CREATE TABLE fact_ventas( id_venta INTEGER PRIMARY KEY, codigo_venta_detalle VARCHAR(50), codigo_venta_encabezado VARCHAR(50), id_fecha INTEGER, id_territorio INTEGER, id_cliente INTEGER, id_vendedor INTEGER, id_producto INTEGER, cantidad INTEGER, valor DECIMAL(10, 2), descuento DECIMAL(10, 2) ); -- Relaciones (llaves foráneas) ALTER TABLE fact_ventas ADD CONSTRAINT territorio_ventas_fk FOREIGN KEY (id_territorio) REFERENCES dim_territorio (id_territorio); ALTER TABLE fact_ventas ADD CONSTRAINT clientes_ventas_fk FOREIGN KEY (id_cliente) REFERENCES dim_clientes (id_cliente); ALTER TABLE fact_ventas ADD CONSTRAINT vendedores_ventas_fk FOREIGN KEY (id_vendedor) REFERENCES dim_vendedor (id_vendedor); ALTER TABLE fact_ventas ADD CONSTRAINT productos_ventas_fk FOREIGN KEY (id_producto) REFERENCES dim_producto (id_producto); ```h

el descuento debe calcularse como unitpricediscountunitpriceorderqty ya que el valor en la tabla, si bien es un decimal, representa un porentaje de descuento.
sum(unitprice*(1-unitpricediscount)*orderqty) as subtotal
from sales.salesorderdetail es equivalente a sales.salesorderheader.subtotal