EVIDENCIA DE DESEMPEÑO
GA6 – 220501096 – AA2-EV02
SISTEMA DE VENTAS “SAS”
Creación de la estructura de la BD y aplicación de
restricciones
DAVID ALEJANDRO BUSTOS ORTIZ
FICHA TÉCNICA: 2547410
SERVICIO NACIONAL DE APRENDIZAJE – SENA
2023
Introducción
Las secuencias SQL desempeñan un papel fundamental en la agregación de
datos en bases de datos. Permiten insertar registros de manera organizada y
eficiente, garantizando la integridad y consistencia de la información
almacenada. Al utilizar secuencias SQL para agregar datos, se pueden
especificar los valores de cada columna y asegurarse de que se cumplan las
restricciones definidas en la estructura de la base de datos. Esto asegura la
calidad de los datos ingresados y facilita la gestión y análisis posterior de la
información. En resumen, las secuencias SQL proporcionan un medio poderoso
y estructurado para agregar datos a una base de datos, asegurando la
precisión y confiabilidad de la información almacenada.
En el presente documento, se presentara la base datos relacional del proyecto
SAS, la cual se realizó en “PHPMyAdmin”.
Desarrollo del Componente
- Creación y alimentación de la tabla categoría:
CREATE TABLE `senaProyecto`.`CATEGORIA` (
`Id_Categoria` INT NOT NULL AUTO_INCREMENT,
`Nombre` VARCHAR(45) NOT NULL,
`Descripcion` VARCHAR(45) NOT NULL,
PRIMARY KEY (`Id_Categoria`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;
INSERT INTO `categoria`(`Id_Categoria`, `Nombre`, `Descripcion`) VALUES
('1','Hilos','Todo referente a hilos e hilaza')
INSERT INTO `categoria`(`Id_Categoria`, `Nombre`, `Descripcion`) VALUES
('2','Ceramica','Todo con ceramica)
INSERT INTO `categoria`(`Id_Categoria`, `Nombre`, `Descripcion`) VALUES
('3','Cremalleras','Todo con cremalleras')
INSERT INTO `categoria`(`Id_Categoria`, `Nombre`, `Descripcion`) VALUES
('4','Marroqueria','Todo con piedras')
INSERT INTO `categoria`(`Id_Categoria`, `Nombre`, `Descripcion`) VALUES
('5','Botones','Todo con botones')
- Creación y alimentación de la tabla Clientes:
CREATE TABLE `senaProyecto`.`CLIENTE` (
`NIT` INT NOT NULL AUTO_INCREMENT,
`Razon_Social` VARCHAR(45) NOT NULL,
`Direccion` VARCHAR(45) NOT NULL,
`Telefono` VARCHAR(45) NOT NULL,
PRIMARY KEY (`NIT`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;
INSERT INTO `cliente`(`NIT`, `Razon_Social`, `Direccion`, `Telefono`) VALUES
('5905224','Fernando Ortiz','calle 24 # 45-75','3416405000')
INSERT INTO `cliente`(`NIT`, `Razon_Social`, `Direccion`, `Telefono`) VALUES
('38282862','Stella Garcia','carrera 96 # 15-14','3113548935')
INSERT INTO `cliente`(`NIT`, `Razon_Social`, `Direccion`, `Telefono`) VALUES
('1026295498','Alejandro Bustos','calle 80 # 103B-24','3204708001')
INSERT INTO `cliente`(`NIT`, `Razon_Social`, `Direccion`, `Telefono`) VALUES
('10208245128','Cristian Torres','Calle 9 # 15 - 65','3196960574')
INSERT INTO `cliente`(`NIT`, `Razon_Social`, `Direccion`, `Telefono`) VALUES
('123857496',' Paola Aldana ','Av carrera Boyaca # 145 - 25','3051487532')
- Creación y alimentación de la tabla Proveedor:
CREATE TABLE `senaProyecto`.`PROVEEDOR` (
`ID` INT NOT NULL AUTO_INCREMENT,
`NIT` VARCHAR(45) NOT NULL,
`Nombre` VARCHAR(45) NOT NULL,
`Direccion` VARCHAR(45) NOT NULL,
`Telefono` VARCHAR(45) NOT NULL,
`Pagina_Web` VARCHAR(45) NOT NULL,
PRIMARY KEY (`ID`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;
INSERT INTO `proveedor`(`ID`, `NIT`, `Nombre`, `Direccion`, `Telefono`,
`Pagina_Web`) VALUES ('1','10256615161','Pablito e hilos LTDA','Calle 15 # 102-
25','3215487562','[Link]')
INSERT INTO `proveedor`(`ID`, `NIT`, `Nombre`, `Direccion`, `Telefono`,
`Pagina_Web`) VALUES ('2','2225550','Megahilos SAs','carrera 9 # 10-
84','3001547852','[Link]')
INSERT INTO `proveedor`(`ID`, `NIT`, `Nombre`, `Direccion`, `Telefono`,
`Pagina_Web`) VALUES ('3','147258369','ceramicasmichael SA','calle 11 # 11-
25','3205874120','[Link]')
INSERT INTO `proveedor`(`ID`, `NIT`, `Nombre`, `Direccion`, `Telefono`,
`Pagina_Web`) VALUES ('4','4445587','botones la maravilla SAS','carrera 15 # 57 -
25','3145782349','[Link]')
INSERT INTO `proveedor`(`ID`, `NIT`, `Nombre`, `Direccion`, `Telefono`,
`Pagina_Web`) VALUES ('5','019563','piedras preciosas SAS','carrera 9 # 12 -
45','3001112548]','[Link]')
- Creación y alimentación de la tabla de Vendedores:
CREATE TABLE `senaProyecto`.`VENDEDOR` (
`Id_Vendedor` INT NOT NULL AUTO_INCREMENT,
`Nombre` VARCHAR(45) NOT NULL,
`Direccion` VARCHAR(45) NOT NULL,
`Telefono` VARCHAR(45) NOT NULL,
PRIMARY KEY (`Id_Vendedor`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;
INSERT INTO `vendedor`(`Id_Vendedor`, `Nombre`, `Direccion`, `Telefono`) VALUES
('1','Luz Ortiz','calle 20 3 7 -30','3113524879')
INSERT INTO `vendedor`(`Id_Vendedor`, `Nombre`, `Direccion`, `Telefono`) VALUES
('2','Daniel Quirigua','calle 1 # 14 - 11','3204805124')
INSERT INTO `vendedor`(`Id_Vendedor`, `Nombre`, `Direccion`, `Telefono`) VALUES
('3','Santiago Arias','carrera 106 # 17 - 18','3187449154')
INSERT INTO `vendedor`(`Id_Vendedor`, `Nombre`, `Direccion`, `Telefono`) VALUES
('4','Sara Morales','carrera 80 # 145 - 74','3014786259')
INSERT INTO `vendedor`(`Id_Vendedor`, `Nombre`, `Direccion`, `Telefono`) VALUES
('5','Anderson Fuquene]','Caarea 10 # 75 - 41','3158884455')
- Creación y alimentación datos en la tabla de Productos
CREATE TABLE `senaProyecto`.`PRODUCTO` (
`Id` INT NOT NULL AUTO_INCREMENT,
`Nombre_Producto` VARCHAR(45) NOT NULL,
`Precio` INT(45) NOT NULL,
`Stock` INT(45) NOT NULL,
PRIMARY KEY (`NIT`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;
Primero se recuerda la secuencia SQL para ingresar la llave foránea:
ALTER TABLE `producto` ADD CONSTRAINT `fk_producto_categoria` FOREIGN KEY
(`Id_Cat`) REFERENCES `categoria`(`Id_Categoria`) ON DELETE RESTRICT ON
UPDATE CASCADE;
ALTER TABLE `producto` ADD CONSTRAINT `fk_producto_proveedor` FOREIGN KEY
(`Id_Prov`) REFERENCES `proveedor`(`ID`) ON DELETE RESTRICT ON UPDATE
CASCADE;
Se prodigue a mostrar los comandos para agregar información:
INSERT INTO `producto`(`Id`, `Nombre_Producto`, `Precio`, `Stock`, `Id_Prov`,
`Id_Cat`) VALUES ('1','Ceramica elefante','5000','15','3','2')
INSERT INTO `producto`(`Id`, `Nombre_Producto`, `Precio`, `Stock`, `Id_Prov`,
`Id_Cat`) VALUES ('2','Hilos Blanco','250','35','1','1')
INSERT INTO `producto`(`Id`, `Nombre_Producto`, `Precio`, `Stock`, `Id_Prov`,
`Id_Cat`) VALUES ('3','cremallera corriente','1500','50','5','3')
INSERT INTO `producto`(`Id`, `Nombre_Producto`, `Precio`, `Stock`, `Id_Prov`,
`Id_Cat`) VALUES ('4','piedras de plata','850','200','5','4')
INSERT INTO `producto`(`Id`, `Nombre_Producto`, `Precio`, `Stock`, `Id_Prov`,
`Id_Cat`) VALUES ('5','botones transparentes','200','1500','4','5')
- Creación y alimentación de la tabla factura:
CREATE TABLE `senaProyecto`.`FACTURA` (
`Id` INT NOT NULL AUTO_INCREMENT,
`Fecha` DATETIME NOT NULL,
`Monto_Final` INT(45) NOT NULL,
PRIMARY KEY (`Id`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;
Primero se recuerda la llave foránea:
ALTER TABLE `factura` ADD CONSTRAINT `FK_FACTURA_CLIENTE` FOREIGN KEY
(`ID_Client`) REFERENCES `cliente`(`NIT`) ON DELETE RESTRICT ON UPDATE
CASCADE;
ALTER TABLE `factura` ADD CONSTRAINT `FK_FACTURA_VENDEDOR` FOREIGN
KEY (`ID_Vend`) REFERENCES `vendedor`(`Id_Vendedor`) ON DELETE RESTRICT ON
UPDATE CASCADE;
Se prodigue a mostrar los comandos para agregar información:
INSERT INTO `factura`(`Id`, `Fecha`, `Monto_Final`, `ID_Client`, `ID_Vend`) VALUES
('1','3/05/2023','45000','5905224','1')
INSERT INTO `factura`(`Id`, `Fecha`, `Monto_Final`, `ID_Client`, `ID_Vend`) VALUES
('2','14/07/2023','15000','38282862','2')
INSERT INTO `factura`(`Id`, `Fecha`, `Monto_Final`, `ID_Client`, `ID_Vend`) VALUES
('3','01/07/2023','85000','123857496','3')
INSERT INTO `factura`(`Id`, `Fecha`, `Monto_Final`, `ID_Client`, `ID_Vend`) VALUES
('4','31/05/2023','450000','1026295498','4')
INSERT INTO `factura`(`Id`, `Fecha`, `Monto_Final`, `ID_Client`, `ID_Vend`) VALUES
('5','7/02/2023','64500','2147483647','5')