Logo Studenta

Modelado de Base de datos Trabajo 2_JeanCastillo_PedroSinza_CarlaGutierrez

¡Estudia con miles de materiales!

Vista previa del material en texto

REPÚBLICA BOLIVARIANA DE VENEZUELA
MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN UNIVERSITARIA
UNIVERSIDAD EXPERIMENTAL DE LA GRAN CARACAS (UNEXCA)
CARRERA: PNFI - PROSECUCIÓN
ASIGNATURA: Modelado de Base de Datos. SECCIÓN - AI30231-C2
Ejercicio II.
Modelación de Base de Datos
Ejercicio #1: viveros
Profesor: Integrantes:
Ing. Alexy Ramirez Castillo V, Jean F. C.I. V-26.483.721
 Gutiérrez D, Carla A. C.I. V-12.303.017
Sinza B, Pedro M. C.I. V-13.691.869.
Caracas, 31 de mayo 2023
DIAGRAMA de E/R 
SOLUCIÓN PROPUESTA
SUPUESTOS NO RECOGIDOS EN EL DIAGRAMA E/R:
A continuación se enumeran los supuestos que no han podido reflejarse en el diagrama E/R:
SS1. En un determinado momento un vivero solo tiene un empleado responsable.
SS2. Los periodos de tiempo en los que un empleado, es responsable de un vivero no se
pueden cubrir.
SS3. Además, la fecha de inicio en la que un empleado es responsable de un vivero implica
una única fecha de finalización y la fecha de finalización implica una única fecha de inicio.
SS4. La fecha de inicio en la que un empleado es responsable de un vivero ha de ser
anterior o igual a la fecha de fin.
SS5. El empleado responsable de un vivero está asignado a la zona de ese vivero.
SS6. Los periodos de tiempo en los que un empleado está asignado a las zonas de un vivero
no pueden cubrirse, es decir, un empleado no puede estar asignado a más de una zona a la
vez.
SS7. Además, la fecha de inicio en la que un empleado, se encuentra asignado a una zona
implica una única fecha de finalización; de igual forma se supone que la fecha de finalización
de la asignación de un empleado a una
zona también implica una única fecha de inicio. 
SS8. La fecha de inicio en la que un empleado está asignado a una zona ha de ser anterior o
igual a la fecha de fin.
SS9. Un empleado no puede ser responsable de más de vivero a la vez (este supuesto
semántico se controla con los supuestos semánticos SS5 y SS6).
SS10. La fecha de incorporación de un cliente VIP tiene que se anterior a todos sus pedidos.
SS11. El empleado que gestiona un pedido trabaja en el vivero en el que ha realizado el
pedido en las fechas del mismo.
SS12. El cliente debe esperar el detalle de los productos adquirido para procesar el pago.
SS13. Los productos esta identificado con su respectiva gama de productos.
SS14. Los pedidos deben identificar el detalle del pedidos.
Modulo de Creación de Tabla.
CREATE DATABASE vivero CHARACTER SET utf8mb4;
USE vivero;
CREATE TABLE oficina (
codigo_oficina VARCHAR(10) NOT NULL,
ciudad VARCHAR(30) NOT NULL,
pais VARCHAR(50) NOT NULL,
region VARCHAR(50) DEFAULT NULL,
codigo_postal VARCHAR(10) NOT NULL,
telefono VARCHAR(20) NOT NULL,
linea_direccion1 VARCHAR(50) NOT NULL,
linea_direccion2 VARCHAR(50) DEFAULT NULL,
PRIMARY KEY (codigo_oficina)
);
CREATE TABLE empleado (
codigo_empleado INTEGER NOT NULL,
nombre VARCHAR(50) NOT NULL,
apellido1 VARCHAR(50) NOT NULL,
apellido2 VARCHAR(50) DEFAULT NULL,
extension VARCHAR(10) NOT NULL,
email VARCHAR(100) NOT NULL,
codigo_oficina VARCHAR(10) NOT NULL,
codigo_jefe INTEGER DEFAULT NULL,
puesto VARCHAR(50) DEFAULT NULL,
PRIMARY KEY (codigo_empleado),
FOREIGN KEY (codigo_oficina) REFERENCES oficina (codigo_oficina),
FOREIGN KEY (codigo_jefe) REFERENCES empleado (codigo_empleado)
);
CREATE TABLE gama_producto (
gama VARCHAR(50) NOT NULL,
descripcion_texto TEXT,
descripcion_html TEXT,
imagen VARCHAR(256),
PRIMARY KEY (gama)
);
CREATE TABLE cliente (
codigo_cliente INTEGER NOT NULL,
nombre_cliente VARCHAR(50) NOT NULL,
nombre_contacto VARCHAR(30) DEFAULT NULL,
apellido_contacto VARCHAR(30) DEFAULT NULL,
telefono VARCHAR(15) NOT NULL,
fax VARCHAR(15) NOT NULL,
linea_direccion1 VARCHAR(50) NOT NULL,
linea_direccion2 VARCHAR(50) DEFAULT NULL,
ciudad VARCHAR(50) NOT NULL,
region VARCHAR(50) DEFAULT NULL,
pais VARCHAR(50) DEFAULT NULL,
codigo_postal VARCHAR(10) DEFAULT NULL,
codigo_empleado_rep_ventas INTEGER DEFAULT NULL,
limite_credito NUMERIC(15,2) DEFAULT NULL,
PRIMARY KEY (codigo_cliente),
FOREIGN KEY (codigo_empleado_rep_ventas) REFERENCES empleado (codigo_empleado)
);
CREATE TABLE pedido (
codigo_pedido INTEGER NOT NULL,
fecha_pedido date NOT NULL,
fecha_esperada date NOT NULL,
fecha_entrega date DEFAULT NULL,
estado VARCHAR(15) NOT NULL,
comentarios TEXT,
codigo_cliente INTEGER NOT NULL,
PRIMARY KEY (codigo_pedido),
FOREIGN KEY (codigo_cliente) REFERENCES cliente (codigo_cliente)
);
CREATE TABLE producto (
codigo_producto VARCHAR(15) NOT NULL,
nombre VARCHAR(70) NOT NULL,
gama VARCHAR(50) NOT NULL,
dimensiones VARCHAR(25) NULL,
proveedor VARCHAR(50) DEFAULT NULL,
descripcion text NULL,
cantidad_en_stock SMALLINT NOT NULL,
precio_venta NUMERIC(15,2) NOT NULL,
precio_proveedor NUMERIC(15,2) DEFAULT NULL,
PRIMARY KEY (codigo_producto),
FOREIGN KEY (gama) REFERENCES gama_producto (gama)
);
CREATE TABLE detalle_pedido (
codigo_pedido INTEGER NOT NULL,
codigo_producto VARCHAR(15) NOT NULL,
cantidad INTEGER NOT NULL,
precio_unidad NUMERIC(15,2) NOT NULL,
numero_linea SMALLINT NOT NULL,
PRIMARY KEY (codigo_pedido, codigo_producto),
FOREIGN KEY (codigo_pedido) REFERENCES pedido (codigo_pedido),
FOREIGN KEY (codigo_producto) REFERENCES producto (codigo_producto)
);
CREATE TABLE pago (
codigo_cliente INTEGER NOT NULL,
forma_pago VARCHAR(40) NOT NULL,
id_transaccion VARCHAR(50) NOT NULL,
fecha_pago date NOT NULL,
total NUMERIC(15,2) NOT NULL,
PRIMARY KEY (codigo_cliente, id_transaccion),
FOREIGN KEY (codigo_cliente) REFERENCES cliente (codigo_cliente)
);
CREATE TABLE zona ( Cod_Zona INTEGER NOT NULL, 
Nombre_Zona VARCHAR (100) NOT NULL
PRIMARY KEY (Cod_Zona),
FOREIGN KEY (Cod_Zona));
Modulo de Consulta en SQL.
SELECT codigo_cliente, nombre_cliente, 
nombre_contacto, apellido_contacto, telefono, fax, 
linea_direccion1, linea_direccion2, ciudad, region,
pais, codigo_postal, codigo_empleado_rep_ventas, 
limite_credito, Fecha_Inscripcion, Rif_Cliente
FROM viveros.cliente;
SELECT codigo_pedido, codigo_producto, cantidad, 
precio_unidad, numero_linea
FROM viveros.detalle_pedido;
SELECT codigo_empleado, nombre, apellido1, 
apellido2, extension, email, codigo_oficina, 
codigo_jefe, puesto, FechaIngreso, DNIEmpleado, 
Nombre_Zona, Tiempo_Inicio_Zona, Tiempo_Final_Zona,
Responsable, Tiempo_Inicio_Responsable, 
Tiempo_Final_Responsable
FROM viveros.empleado;
SELECT gama, descripcion_texto, descripcion_html, 
imagen
FROM viveros.gama_producto;
SELECT codigo_oficina, ciudad, pais, region, 
codigo_postal, telefono, linea_direccion1, 
linea_direccion2
FROM viveros.oficina;
SELECT codigo_cliente, forma_pago, id_transaccion, 
fecha_pago, total, Flete
FROM viveros.pago;
SELECT codigo_pedido, fecha_pedido, fecha_esperada,
fecha_entrega, estado, comentarios, codigo_cliente
FROM viveros.pedido;
SELECT codigo_producto, nombre, gama, dimensiones, 
proveedor, descripcion, cantidad_en_stock, 
precio_venta, precio_proveedor, Cod_Zona
FROM viveros.producto;
SELECT Cod_Zona, Nombre_Zona
FROM viveros.zona;

Continuar navegando

Contenido elegido para ti

206 pag.
Base de Datos Avanzado I

Universidade de Vassouras

User badge image

GALLEGOS SEVILLA MARIA GUADALUPE

7 pag.
Valores null

SIN SIGLA

User badge image

Luis Raúl Olvera Rodríguez

8 pag.