Você está na página 1de 7

GESTION DE BASES DE DATOS

ACTIVIDAD SEMANA 2

Nombre del estudiante: Brayan Ramos Martínez_________________.


ACTIVIDAD A REALIZAR
Con base al planteamiento del siguiente problema en esta actividad, el
estudiante debe presentar:
1. El código SQL correspondiente a la creación de cada una de las tablas
y relaciones de la base de datos correspondiente al modelo (Ver
diagrama entidad relación)
2. El modelo relacional que genera Oracle Developer una vez realizadas
las tablas y relaciones en el punto anterior (En formato de imagen)
MODO DE PRESENTACIÓN
Sobre este mismo documento debe:
 Pegar el código solicitado (punto 1)
 Insertar la imagen del Modelo Relacional resultante (punto 2)
 La actividad se debe realizar usando el sistema Gestor de bases de
datos ORACLE.
 El código se debe escribir de manera manual sobre la consola de
Oracle (Si presenta algún código que se genere de manera automática
usando algún entorno gráfico, este no será tenido en cuenta para la
nota) – Se sugiere trabajar sobre la consola de Oracle Deveroper (Ver
ejemplos en el material de estudio “Sumergete -> Visualiza”
NOTA: no olvide que antes de realizar la actividad debe haber visualizado
todos los materiales de la semana, donde se explican conceptos y
procedimientos teóricos y con ejemplos para desarrollar este tipo de
problemas.

PROBLEMA:
La empresa Ventas&ventas S.A, es una cadena nacional que vende prendas de
vestir, y desea sistematizar su departamento de ventas, y para esto quiere contratar
un grupo de Ingenieros que le desarrollen la base de datos de su aplicación.
La compañía cuenta con un personal de ventas, quienes las ejecutan de manera
diaria, quienes están radicados en la ciudad donde se encuentra cada sede; la
evidencia de las ventas queda registrado en una factura de ventas a través de unos
números de facturas consecutivos.
La empresa cuenta con un listado de clientes a nivel nacional a quienes diariamente
ofrece sus productos.
GESTION DE BASES DE DATOS
ACTIVIDAD SEMANA 2

A la fecha la empresa Ventas&Ventas ha tenido perdida de información implicando


esto perdidas en la compañía, debido a que maneja una tabla de Excel con los datos
que se muestran en la siguiente tabla.
Se requiere que el grupo de ingenieros que valla a desarrollar la base de datos
incluya como mínimo esos campos en la base de datos.
Tabla con los campos que se vienen manejando en la empresa

Campos Observaciones
Deben ser números positivos, algunos muy
Identificacion_cliente extensos
Nombre_cliente
Direccion_cliente
Deben ser números positivos, algunos muy
Telefono_cliente extensos
Genero_cliente Palabra completa "Masculino - Femenino"
Ciudad_cliente Ciudades de Colombia
Localidad_cliente Localidad 1, 2, 3 o 4
Edad_cliente Mayores de edad
Deben ser números positivos, algunos muy
Identificacion_vendedor extensos
Nombre_vendedor
Direccion_vendedor
Deben ser números positivos, algunos muy
Telefono_vendedor extensos
Genero_vendedor Palabra completa "Masculino - Femenino"
Antiguedad_vendedor En años
Codigo_producto Números de máximo 3 dígitos
Nombre_producto Prendas de vestir
Deben ser números positivos, algunos muy
Costo_prod extensos
Estilo Deportiva, Formal, Informal, Casual, Gala
Color
Talla Máximo 3 letras (Por ejemplo XXL)
Clasificacion_prenda Hombre, Mujer, Niño, Niña, Mixta
Accesorios, Camisas, Enterizos, Chaquetas,
Categoria Pantalones, Ropa Interior, Vestidos
No_factura Números consecutivos que inician desde el 1
Fecha_factura En la forma Día/Mes/Año
Cant_prod_vendido Mínimo 1 y máximo 100 productos
GESTION DE BASES DE DATOS
ACTIVIDAD SEMANA 2

Corresponde al 30% sobre el valor de la compra del


Precio_de_venta producto
Medio_pago Efectivo, Tarjeta crédito, Tarjeta Débito, Cheque
Observaciones Un espacio para largas cadenas de texto

El diagrama entidad relación que surge del análisis de este problema es el siguiente
(Este es la base para crear las tablas, las relaciones y generar el modelo relacional)
Diagrama entidad Relación

En el diagrama se visualizan las entidades y sus relaciones con las siguientes


restricciones:
 Una persona puede ser un vendedor o un cliente (No puede ser ambos), se
identifican a través del rol
 A un cliente le pueden pertenecer muchas facturas, pero una fractura sólo
será de un cliente
 Un vendedor genera muchas facturas, pero una factura es generada por un
solo vendedor
 Una factura almacena muchos productos en el detalle de la factura por lo que
es el detalle deberá contener muchos productos y asimismo una factura
tendrá muchos detalles, lo que implica que una factura tenga muchos
productos y que un producto pueda estar en muchas facturas.
GESTION DE BASES DE DATOS
ACTIVIDAD SEMANA 2

DESARROLLO DEL PROBLEMA


Desarrollo Punto 1 (Código SQL escrito de manera manual)  3 puntos sobre
5:
CREATE TABLE TBL_CIUDAD
(
CODIGO_CIUDAD NUMBER(2) NOT NULL,
NOMBRE_CIUDAD VARCHAR2(20) NOT NULL
);

ALTER TABLE TBL_CIUDAD


ADD CONSTRAINT TBL_CIUDAD_PK PRIMARY KEY ( CODIGO_CIUDAD );

CREATE TABLE TBL_CLIENTE


(
CODIGO_CLIENTE NUMBER(10) NOT NULL,
TIPO_DOCUMETO NUMBER(2) NOT NULL,
IDENTIFICACION_CLIENTE NUMBER(12) NOT NULL,
NOMBRE_CLIENTE VARCHAR2(30),
DIRECCION_CLIENTE VARCHAR2(30),
TELEFONO_CLIENTE VARCHAR2(30),
GENERO_CLIENTE NUMBER(2) NOT NULL,
CIUDAD_CLIENTE NUMBER(2) NOT NULL,
LOCALIDAD_CLIENTE NUMBER(2) NOT NULL,
EDAD_CLIENTE NUMBER(3)
);

ALTER TABLE TBL_CLIENTE


ADD CONSTRAINT TBL_CLIENTE_PK PRIMARY KEY ( CODIGO_CLIENTE );

ALTER TABLE TBL_CLIENTE


ADD CONSTRAINT TBL_CLIENTE__UN UNIQUE ( IDENTIFICACION_CLIENTE );

CREATE TABLE TBL_FACTURA


(
CODIGO_FACTURA NUMBER(12) NOT NULL,
NO_FACTURA NUMBER(12) NOT NULL,
CODIGO_PRODUCTO NUMBER(2) NOT NULL,
FECHA_FACTURA DATE,
CANT_PROD_VENDIDO VARCHAR2(20),
PRECIO_DE_VENTA NUMBER(12),
MEDIO_PAGO VARCHAR2(20) NOT NULL,
OBSERVACIONES VARCHAR2(100),
CODIGO_VENDEDOR NUMBER(2) NOT NULL,
CODIGO_CLIENTE NUMBER(2) NOT NULL
);

ALTER TABLE TBL_FACTURA


ADD CONSTRAINT TBL_FACTURA_PK PRIMARY KEY ( CODIGO_FACTURA );

CREATE TABLE TBL_GENERO


(
CODIGO_GENERO NUMBER(2) NOT NULL,
GESTION DE BASES DE DATOS
ACTIVIDAD SEMANA 2

DESCRIPCION_GENERO VARCHAR2(15)
);

ALTER TABLE TBL_GENERO


ADD CONSTRAINT GENERO_PK PRIMARY KEY ( CODIGO_GENERO );

CREATE TABLE TBL_LOCALIDAD


(
CODIGO_LOCALIDAD NUMBER(2) NOT NULL,
NOMBRE_LOCALIDAD VARCHAR2(20),
CODIGO_CIUDAD NUMBER(2) NOT NULL
);

ALTER TABLE TBL_LOCALIDAD


ADD CONSTRAINT TBL_LOCALIDAD_PK PRIMARY KEY ( CODIGO_LOCALIDAD );

CREATE TABLE TBL_PRODUCTO


(
CODIGO_PRODUCTO NUMBER(3) NOT NULL,
NOMBRE_PRODUCTO VARCHAR2(20) NOT NULL,
COSTO_PROD NUMBER(10, 2),
ESTILO VARCHAR2(20),
COLOR VARCHAR2(20),
TALLA VARCHAR2(3),
CLASIFICACION_PRENDA VARCHAR2(20),
CATEGORIA VARCHAR2(20)
);

ALTER TABLE TBL_PRODUCTO


ADD CONSTRAINT TBL_PRODUCTO_PK PRIMARY KEY ( CODIGO_PRODUCTO );

CREATE TABLE TBL_TIPO_DOCUMENTO


(
CODIGO_TIPO_DOCUMENTO NUMBER(2) NOT NULL,
DESCRIPCION_DOCUMENTO VARCHAR2(20)
);

ALTER TABLE TBL_TIPO_DOCUMENTO


ADD CONSTRAINT TBL_TIPO_DOCUMENTO_PK PRIMARY KEY ( CODIGO_TIPO_DOCUMENTO );

CREATE TABLE TBL_VENDEDOR


(
CODIGO_VENDEDOR NUMBER(6) NOT NULL,
TIPO_DOCUEMTO NUMBER(2) NOT NULL,
IDENTIFICACION_VENDEDOR NUMBER(15) NOT NULL,
NOMBRE_VENDEDOR VARCHAR2(50),
DIRECCION_VENDEDOR VARCHAR2(50),
TELEFONO_VENDEDOR NUMBER(10),
GENERO_VENDEDOR NUMBER(2) NOT NULL
);

ALTER TABLE TBL_VENDEDOR


ADD CONSTRAINT TBL_VENDEDOR_PK PRIMARY KEY ( CODIGO_VENDEDOR );

ALTER TABLE TBL_VENDEDOR


GESTION DE BASES DE DATOS
ACTIVIDAD SEMANA 2

ADD CONSTRAINT TBL_VENDEDOR__UN UNIQUE ( IDENTIFICACION_VENDEDOR );

ALTER TABLE TBL_CLIENTE


ADD CONSTRAINT CIUDAD_FK FOREIGN KEY ( CIUDAD_CLIENTE ) REFERENCES TBL_CIUDAD
( CODIGO_CIUDAD );

ALTER TABLE TBL_LOCALIDAD


ADD CONSTRAINT CIUDAD_FK_CD FOREIGN KEY ( CODIGO_CIUDAD ) REFERENCES
TBL_CIUDAD ( CODIGO_CIUDAD );

ALTER TABLE TBL_FACTURA


ADD CONSTRAINT CLIENTE_FK_FAC FOREIGN KEY ( CODIGO_CLIENTE ) REFERENCES
TBL_CLIENTE ( CODIGO_CLIENTE );

ALTER TABLE TBL_CLIENTE


ADD CONSTRAINT GENERO_FK_CLI FOREIGN KEY ( GENERO_CLIENTE ) REFERENCES
TBL_GENERO ( CODIGO_GENERO ) ON DELETE CASCADE;

ALTER TABLE TBL_VENDEDOR


ADD CONSTRAINT GENERO_FK_VEN FOREIGN KEY ( GENERO_VENDEDOR ) REFERENCES
TBL_GENERO ( CODIGO_GENERO );

ALTER TABLE TBL_CLIENTE


ADD CONSTRAINT LOCALIDAD_FK FOREIGN KEY ( LOCALIDAD_CLIENTE ) REFERENCES
TBL_LOCALIDAD ( CODIGO_LOCALIDAD );

ALTER TABLE TBL_FACTURA


ADD CONSTRAINT PRODUCTO_FK FOREIGN KEY ( CODIGO_PRODUCTO ) REFERENCES
TBL_PRODUCTO ( CODIGO_PRODUCTO );

ALTER TABLE TBL_FACTURA


ADD CONSTRAINT TBL_FACTURA_TBL_VENDEDOR_FK FOREIGN KEY ( CODIGO_VENDEDOR )
REFERENCES TBL_VENDEDOR ( CODIGO_VENDEDOR );

ALTER TABLE TBL_CLIENTE


ADD CONSTRAINT TIPO_DOCUMENTO_FK_CLI FOREIGN KEY ( TIPO_DOCUMETO ) REFERENCES
TBL_TIPO_DOCUMENTO ( CODIGO_TIPO_DOCUMENTO );

ALTER TABLE TBL_VENDEDOR


ADD CONSTRAINT TIPO_DOCUMENTO_FK_VEN FOREIGN KEY ( TIPO_DOCUEMTO ) REFERENCES
TBL_TIPO_DOCUMENTO ( CODIGO_TIPO_DOCUMENTO );

Desarrollo Punto 2 (Imagen del modelo relacional de la base de datos


generada por ORACLE)  2 puntos sobre 5:
GESTION DE BASES DE DATOS
ACTIVIDAD SEMANA 2

Você também pode gostar