Está en la página 1de 31

Cuadernillo de

sentencias DDL

MARÍA DE
LOURDES

García Ramírez Alex Eduardo


EVN204
General el índice del documento.

Contenido
Cuadernillo de sentencias DDL..........................................................................................................1
[NOMBRE]......................................................................................................................................1
Materia y grupo...........................................................................¡Error! Marcador no definido.
1.- Descripción del escenario:............................................................................................................2
2.- Obtención del modelo relacional en MySQL................................................................................4
3.-Creación del diagrama ER.............................................................................................................5
4.- Sentencias en MySQL..................................................................................................................6

1.- Descripción del escenario:


2.- Obtención del modelo relacional en
MySQL
3.-Creación del diagrama ER
4.- Sentencias en MySQL
Y con base en la normalización que obtuviste realiza lo siguiente:
Código para crear la Evidencia (captura de pantalla)
BD

DROP DATABASE IF
EXISTS PEDIDOS;
CREATE DATABASE
PEDIDOS CHARSET
utf8mb4;

Código para poner en


uso a la BD

USE PEDIDOS;

Código SQL para la creación de las tablas y Define las restricciones de columna a tu
criterio.

EJEMPLO:

CREATE TABLE PROVEEDOR


(
idProveedor INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
RazonSocial VARCHAR(20) NOT NULL,
nombreContactoProveedor VARCHAR(30),
primerApellidoProveedor VARCHAR(30),
segundoApellidoProveedor VARCHAR(30),
RFC_FiscalEmpresa varchar(20),
teléfono VARCHAR(9) NOT NULL
);
Evidencia:
Agregar las columnas:
Calle de tipo varchar(20),
Numero de tipo entero,
Colonia de tipo varchar(20),
CP int,
Municipio de tipo varchar(20),
Estado de tipo varchar(20),
País de tipo varchar(20),

CODIGO SQL.

ALTER TABLE PROVEEDOR ADD calle varchar (20) NOT NULL;


ALTER TABLE PROVEEDOR ADD numero int NOT NULL;
ALTER TABLE PROVEEDOR ADD colonia varchar (20) NOT NULL;
ALTER TABLE PROVEEDOR ADD CP int NOT NULL;
ALTER TABLE PROVEEDOR ADD municipio varchar(20);
ALTER TABLE PROVEEDOR ADD estado varchar(20);

Evidencia (captura de pantalla)

Consultar el listado de tablas disponibles


SHOW TABLES;

Consultar la descripción de la tabla:

DESCRIBE PROVEEDOR;
Evidencia (captura de pantalla)

CREA LA TABLA PRODUCTO.


CREATE TABLE PRODUCTO
(
Cod_Producto INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(20) NOT NULL,
descripcion VARCHAR(30) NOT NULL
);

Agregar las columnas:

ALTER TABLE PRODUCTO ADD categoria VARCHAR (10);


ALTER TABLE PRODUCTO ADD existencia int UNSIGNED NOT NULL;
ALTER TABLE PRODUCTO ADD precio float NOT NULL;
ALTER TABLE PRODUCTO ADD codigoBarras int NOT NULL;
SHOW TABLES;
DESCRIBE PRODUCTO;
SHOW CREATE TABLE PROVEEDOR;
ELIMINAR UNA COLUMNA.
Elimina la columna Codigo de barras de la tabla PRODUCTO.

ALTER TABLE PRODUCTO DROP codigoBarras;


DESCRIBE PRODUCTO;

CREA LA TABLA PEDIDO.

CREATE TABLE PEDIDO


(
FolioPedido INT UNSIGNED PRIMARY KEY,
fechaPedido DATE NOT NULL,
idProveedor INT UNSIGNED NOT NULL,
total FLOAT NOT NULL
);
SHOW TABLES;
ALTER TABLE PEDIDO ADD MontoTotalPedido float NOT NULL;
ALTER TABLE PEDIDO ADD tipoPedido VARCHAR (10) NOT NULL;
ALTER TABLE PEDIDO ADD fechaEntrega DATE NOT NULL;
ALTER TABLE PEDIDO ADD fechaProbableEntrega DATE NULL;

DESCRIBE PEDIDO;

ELIMINAR UNA COLUMNA.


Elimina la columna Fecha probable de entrega de la tabla PEDIDO.

ALTER TABLE PRODUCTO DROP fechaProbableEntrega;


DESCRIBE PEDIDO;
BORRA TABLA PEDIDO.

DROP TABLE PEDIDO;

CREA NUEVAMENTE LA TABLA PEDIDO.

CREATE TABLE PEDIDO


(
FolioPedido INT UNSIGNED PRIMARY KEY,
fechaPedido DATE NOT NULL,
idProveedorPedido INT NOT NULL,
total FLOAT NOT NULL,
MontoTotalPedido float NOT NULL,
tipoPedido VARCHAR (10) NOT NULL,
fechaEntrega DATE NOT NULL,
FOREIGN KEY (idProveedorPedido) REFERENCES PROVEEDOR (idProveedor)
);
SHOW TABLES;
DESCRIBE PEDIDO;

DROP DATABASE IF EXISTS PEDIDOS;


CREATE DATABASE PEDIDOS CHARSET utf8mb4;
USE PEDIDOS;
CREATE TABLE PROVEEDOR
(
idProveedor INT AUTO_INCREMENT PRIMARY KEY,
RazonSocial VARCHAR(20) NOT NULL,
nombreContactoProveedor VARCHAR(30),
primerApellidoProveedor VARCHAR(30),
segundoApellidoProveedor VARCHAR(30),
RFC_FiscalEmpresa VARCHAR (20),
teléfono VARCHAR(9) NOT NULL
);
ALTER TABLE PROVEEDOR ADD calle varchar (20) NOT NULL;
ALTER TABLE PROVEEDOR ADD numero int NOT NULL;
ALTER TABLE PROVEEDOR ADD colonia varchar (20) NOT NULL;
ALTER TABLE PROVEEDOR ADD CP int NOT NULL;
ALTER TABLE PROVEEDOR ADD municipio varchar(20);
ALTER TABLE PROVEEDOR ADD estado varchar(20);
SHOW TABLES;
DESCRIBE PROVEEDOR;
SHOW CREATE TABLE PROVEEDOR;
CREATE TABLE PRODUCTO
(
Cod_Producto INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(20) NOT NULL,
descripcion VARCHAR(30) NOT NULL
);

ALTER TABLE PRODUCTO ADD categoria VARCHAR(10);


ALTER TABLE PRODUCTO ADD existencia int UNSIGNED NOT NULL;
ALTER TABLE PRODUCTO ADD precio float NOT NULL;
ALTER TABLE PRODUCTO ADD codigoBarras int NOT NULL;
SHOW TABLES;
DESCRIBE PROVEEDOR;
DESCRIBE PRODUCTO;
ALTER TABLE PRODUCTO DROP codigoBarras;
DESCRIBE PRODUCTO;

USE PEDIDOS;
USE PEDIDOS;
CREATE TABLE PEDIDO
(
FolioPedido INT UNSIGNED PRIMARY KEY,
fechaPedido DATE NOT NULL,
idProveedor INT UNSIGNED NOT NULL,
total FLOAT NOT NULL
);
SHOW TABLES;

ALTER TABLE PEDIDO ADD MontoTotalPedido float NOT NULL;


ALTER TABLE PEDIDO ADD tipoPedido VARCHAR (10) NOT NULL;
ALTER TABLE PEDIDO ADD fechaEntrega DATE NOT NULL;
ALTER TABLE PEDIDO ADD fechaProbableEntrega DATE NULL;
SHOW TABLES;
DESCRIBE PEDIDO;

ALTER TABLE PEDIDO DROP fechaProbableEntrega;


DESCRIBE PEDIDO;

DROP TABLE PEDIDO;


SHOW TABLES;
USE PEDIDOS;
CREATE TABLE PEDIDO
(
FolioPedido INT UNSIGNED PRIMARY KEY,
fechaPedido DATE NOT NULL,
idProveedorPedido INT NOT NULL,
total FLOAT NOT NULL,
MontoTotalPedido float NOT NULL,
tipoPedido VARCHAR (10) NOT NULL,
fechaEntrega DATE NOT NULL,
FOREIGN KEY (idProveedorPedido) REFERENCES PROVEEDOR (idProveedor)
);
SHOW TABLES;

DESCRIBE PEDIDO;
SHOW TABLES;

AHORA CREA LA TABLA PEDIDO ARTICULO con el editor


Establece las llaves foráneas.

Copia el código:
CREATE TABLE `pedidos`.`pedido_articulo` (
`NumeroPedido` INT UNSIGNED NOT NULL,
`Cod_Producto` INT UNSIGNED NOT NULL,
`cantidadPedida` INT NOT NULL,
`precioUnitario` FLOAT NOT NULL,
PRIMARY KEY (`NumeroPedido`, `Cod_Producto`),
INDEX `codProducto_idx` (`Cod_Producto` ASC) VISIBLE,
CONSTRAINT `NumeroPedido`
FOREIGN KEY (`NumeroPedido`)
REFERENCES `pedidos`.`pedido` (`FolioPedido`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `codProducto`
FOREIGN KEY (`Cod_Producto`)
REFERENCES `pedidos`.`producto` (`Cod_Producto`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
COMMENT = 'Esta tabla contendrá los artículos de cada pedido';

OBTÉN LA EVIDENCIA.

Marcar a Cod_Producto y NumeroPedido como entero sin signo.

CREATE TABLE `pedidos`.`producto_pedido` (


`NoPedido` INT UNSIGNED NOT NULL,
`CodProducto` INT UNSIGNED NOT NULL,
`precioProd` FLOAT NULL,
`cantidadProdiuctos` INT NULL,
PRIMARY KEY (`NoPedido`, `CodProducto`),
INDEX `codProducto_idx` (`CodProducto` ASC) VISIBLE,
CONSTRAINT `NoPedido`
FOREIGN KEY (`NoPedido`)
REFERENCES `pedidos`.`pedido` (`FolioPedido`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `codProducto`
FOREIGN KEY (`CodProducto`)
REFERENCES `pedidos`.`producto` (`Cod_Producto`)
ON DELETE NO ACTION
ON UPDATE NO ACTION);

OBTEN EL MODELO RELACIONAL

CREATE DATABASE PEDIDOS CHARSET utf8mb4;


use PEDIDOS;
CREATE TABLE PROVEEDOR
(
idProveedor INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
RazonSocial VARCHAR(20) NOT NULL,
nombreContactoProveedor VARCHAR(30),
primerApellidoProveedor VARCHAR(30),
segundoApellidoProveedor VARCHAR(30),
RFC_FiscalEmpresa varchar(20),
teléfono VARCHAR(9) NOT NULL
);
ALTER TABLE PROVEEDOR ADD calle varchar (20) NOT NULL;
ALTER TABLE PROVEEDOR ADD numero int NOT NULL;
ALTER TABLE PROVEEDOR ADD colonia varchar (20) NOT NULL;
ALTER TABLE PROVEEDOR ADD CP int NOT NULL;
ALTER TABLE PROVEEDOR ADD municipio varchar(20);
ALTER TABLE PROVEEDOR ADD estado varchar(20);

DESCRIBE PROVEEDOR;
CREATE TABLE PRODUCTO
(
Cod_Producto INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(20) NOT NULL,
descripcion VARCHAR(30) NOT NULL
);
Show tables;
ALTER TABLE PRODUCTO ADD categoria VARCHAR (10);
ALTER TABLE PRODUCTO ADD existencia int UNSIGNED NOT NULL;
ALTER TABLE PRODUCTO ADD precio float NOT NULL;
ALTER TABLE PRODUCTO ADD codigoBarras int NOT NULL;
describe PRODUCTO;

ALTER TABLE PRODUCTO DROP codigoBarras;


DESCRIBE PRODUCTO;
CREATE TABLE PEDIDO
(
FolioPedido INT UNSIGNED PRIMARY KEY,
fechaPedido DATE NOT NULL,
idProveedor INT UNSIGNED NOT NULL,
total FLOAT NOT NULL
);
SHOW TABLES;
ALTER TABLE PEDIDO ADD MontoTotalPedido float NOT NULL;
ALTER TABLE PEDIDO ADD tipoPedido VARCHAR (10) NOT NULL;
ALTER TABLE PEDIDO ADD fechaEntrega DATE NOT NULL;
ALTER TABLE PEDIDO ADD fechaProbableEntrega DATE NULL;

DESCRIBE PEDIDO;
ALTER TABLE PEDIDO DROP fechaProbableEntrega;
DESCRIBE PEDIDO;

DROP TABLE PEDIDO;


CREATE TABLE PEDIDO
(
FolioPedido INT UNSIGNED PRIMARY KEY,
fechaPedido DATE NOT NULL,
idProveedorPedido INT UNSIGNED NOT NULL,
total FLOAT NOT NULL,
MontoTotalPedido float NOT NULL,
tipoPedido VARCHAR (10) NOT NULL,
fechaEntrega DATE NOT NULL,
FOREIGN KEY (idProveedorPedido) REFERENCES PROVEEDOR (idProveedor)
);
SHOW TABLES;
CREATE TABLE PEDIDO_PRODUCTO
(
cod_Producto_pedProd INT UNSIGNED,
folio_pedido_pedprod INT UNSIGNED,
precioProd float,
cantidad int,
FOREIGN KEY (cod_Producto_pedProd) REFERENCES PRODUCTO (Cod_Producto),
FOREIGN KEY (folio_pedido_pedprod) REFERENCES PEDIDO (FolioPedido)
);

INSERT INTO PROVEEDOR


(RazonSocial,nombreContactoProveedor,primerApellidoProveedor,
segundoApellidoProveedor,RFC_FiscalEmpresa,teléfono,calle,numero,colonia,CP,munici
pio,estado)
VALUES
('Papeleria Marin','Marin','Camacho','Ramirez','MAR18642',477127905,'Heroes',10,'Lopez
Mateos',
375040,'Leon','Guanajuato');

SELECT * FROM PROVEEDOR;

Evidencia:
Alter TABLE PRODUCTO MODIFY nombre VARCHAR(50) NOT NULL;
Alter TABLE PRODUCTO MODIFY descripcion VARCHAR(50) NOT NULL;
Alter TABLE PRODUCTO MODIFY categoria VARCHAR(100) NOT NULL;
INSERT INTO PRODUCTO (nombre,descripcion,categoria,existencia,precio)
Values
('Telefono','Dispositivo','Electriconico',50,3000),
('Laptop','Dipositivo','Electriconico',10,7005),
('Lentes','Para ver','Accesorio',40,500),
('Mascarilla','Pal covicho','Salud',5000,20);

SELECT * FROM PRODUCTO;

Evidencia:

Insert INTO PEDIDO


(fechaPedido,idProveedorPedido,total,MontoTotalPedido,tipoPedido,fechaEntrega)
Values
('2023-03-27',1,5000,5750,'Urgente','2023-03-28'),
('2023-03-30',2,7800,8100,'Urgente','2023-04-02');
CREATE TABLE SEGUIMIENTO_PEDIDO
(codSeguimientoPed INT AUTO_INCREMENT PRIMARY KEY,
FolioPedidoSeg INT UNSIGNED NOT NULL,
FechaSeg DATETIME NULL,
FechaMaxEntrega DATE NULL,
HoraMaximaEntrega TIME NULL,
EstatusEntregado BOOLEAN NULL,
FOREIGN KEY (FolioPedidoSeg) REFERENCES PEDIDO (FolioPedido)
);

Evidencia:

INSERT INTO SEGUIMIENTO_PEDIDO (FolioPedidoSeg, FechaSeg, FechaMaxEntrega,


HoraMaximaEntrega, EstatusEntregado)
VALUES
(1, current_timestamp(), '2023-11-06', '17:00:00', FALSE);
INSERT INTO SEGUIMIENTO_PEDIDO (FolioPedidoSeg, FechaSeg, FechaMaxEntrega,
HoraMaximaEntrega, EstatusEntregado)
VALUES
(1, current_timestamp(), '2023-11-06', '17:00:00', TRUE);

Evidencia:

SELECT * FROM PROVEEDOR WHERE municipio = 'Guadalajara';


Evidencia:
SELECT * FROM PROVEEDOR WHERE RazonSocial = 'Papeleria Marin';

SELECT * FROM PROVEEDOR WHERE RFC_FiscalEmpresa = 'NAE18521';

SELECT * FROM PROVEEDOR order by RazonSocial DESC;


SELECT * FROM PROVEEDOR order by RazonSocial ASC;

SELECT COUNT(*) FROM PROVEEDOR;


UPDATE PROVEEDOR
SET teléfono = 4176165
WHERE idProveedor= 1;
UPDATE PROVEEDOR
SET CP = 36758, colonia ='Napa', municipio='California'
WHERE idProveedor= 4;

Evidencia

DELETE FROM PROVEEDOR WHERE idProveedor= 6;

INSERT INTO PRODUCTO (nombre, descripcion, categoria, existencia, precio)


VALUES
('Tijeras', 'De punta redonda','básico',35, 34.80),
('Sacapuntas', 'paquete de 3 Sacapuntas','básico',125, 15.00),
('Libreta', 'Cuaderno profesional de cuadro grande 100 h','básico', 25, 85.50),
('Libreta', 'Cuaderno estilo francesa de raya','básico', 0, 19.50),
('Redacción y Ortografía', ' libros','Material didáctico',15, 372.50),
('Inglés básico', ' libros','Material didáctico',15, 1672.50),
('Lapicero', ' punto fino de colores diversos','Material didáctico',100, 10.50),
('Guitarra', ' De madera tamaño mediana','Artículo musical',15, 2110);

Evidencia:

SELECT Cod_Producto, nombre, existencia FROM PRODUCTO;

SELECT * FROM PRODUCTO


WHERE nombre LIKE 'l%';

SELECT * FROM PRODUCTO


WHERE nombre NOT LIKE 'l%';

SELECT * FROM PRODUCTO


WHERE existencia>80;

Evidencia:
SELECT * FROM PRODUCTO
WHERE precio BETWEEN 75 AND 550;

Evidencia:

SELECT * FROM PRODUCTO


WHERE precio <100
Order by precio DESC;

Evidencia:
SELECT COUNT(*) FROM PRODUCTO;

SELECT SUM(existencia) FROM PRODUCTO;

SELECT SUM(existencia) FROM PRODUCTO


WHERE categoria ='básico';
SELECT AVG(PRECIO) FROM PRODUCTO
WHERE categoria ='básico';

UPDATE PRODUCTO
SET nombre = 'Dakimakura de Nezuko', precio=419
WHERE Cod_Producto= 1;

SELECT pedido.FolioPedido, pedido.fechaPedido,pedido.idProveedorPedido,


proveedor.RazonSocial, proveedor.nombreContactoProveedor,
proveedor.primerApellidoProveedor, proveedor.segundoApellidoProveedor,
pedido.tipoPedido
FROM pedido
INNER JOIN proveedor ON pedido.idProveedorPedido = proveedor.idProveedor;
INSERT INTO PEDIDO (FolioPedido, fechaPedido, idProveedorPedido,total,
MontoTotalPedido, tipoPedido, fechaEntrega)
VALUES
(3,'2023-04-09',2,500,850.0,'normal','2023-04-15'),
(4,'2023-04-11',1,1592,2550.0,'urgente','2023-04-12');

SELECT pedido.FolioPedido, pedido.fechaPedido,pedido.idProveedorPedido,


proveedor.RazonSocial, proveedor.nombreContactoProveedor,
proveedor.primerApellidoProveedor, proveedor.segundoApellidoProveedor,
pedido.tipoPedido
FROM pedido
INNER JOIN proveedor ON pedido.idProveedorPedido = proveedor.idProveedor
ORDER BY pedido.FolioPedido;
SELECT P.FolioPedido, P.fechaPedido, P.tipoPedido, PP.Cod_Producto_pedProd,
PP.precioProd, PP.cantidad
FROM pedido P
INNER JOIN pedido_producto PP
ON P.FolioPedido = PP.folio_pedido_pedProd;

INSERT INTO PEDIDO_PRODUCTO


(cod_Producto_pedProd,folio_pedido_pedprod,precioProd, cantidad)
VALUES (3, 2, 77, 13);
INSERT INTO PEDIDO_PRODUCTO
(cod_Producto_pedProd,folio_pedido_pedprod,precioProd, cantidad)
VALUES (4, 2, 54, 93);
INSERT INTO PEDIDO_PRODUCTO
(cod_Producto_pedProd,folio_pedido_pedprod,precioProd, cantidad)
VALUES (5, 3, 214, 5);
SELECT * FROM PEDIDO_PRODUCTO
ORDER BY folio_pedido_pedProd;
INSERT INTO PEDIDO_PRODUCTO
(Cod_Producto_pedProd,folio_pedido_pedProd,precioProd, cantidad)
VALUES (3, 2, 77, 13);
INSERT INTO PEDIDO_PRODUCTO
(Cod_Producto_pedProd,folio_pedido_pedProd,precioProd, cantidad)
VALUES (4, 2, 54, 93);
INSERT INTO PEDIDO_PRODUCTO
(Cod_Producto_pedProd,folio_pedido_pedProd,precioProd, cantidad)
VALUES (5, 3, 214, 5);
SELECT * FROM PEDIDO_PRODUCTO
ORDER BY folio_pedido_pedProd;

También podría gustarte