Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Nombre:
Pérez Sánchez Francisco Manuel
No. De control: 18221794
Especialidad: TIC´S
Nombre de la materia:
Taller de base de datos
Reporte
Unidad 2
innovación Tecnología
Horario:
Lunes y miércoles 7:00-9:00
En este reporte se realizaron correcciones que son necesarias para desarrollar y reforzar lo
ya practicado en clases y así emplear las sintaxis y cada uno de los comandos funciones
para comenzar se realizaron muchos cambios en diagrama entidad FINAL
También se realizaron algunos cambios en las llaves primarias y foráneas que estaban
erróneas y así poder realizar un buen diagrama entidad relación donde cada llave es
heredada por la tabla padre y donde observamos distintos tipos de relaciones como uno a
uno, uno a muchos y muchos a muchos
CREAR TABLAS (COMANDOS CREATE)
Vamos a observar que el siguiente punto realizamos los comandos correspondientes para
realizar la base de datos donde respetamos las relaciones donde aplicamos integridad
referencial con sus respectivas llaves primarias y foráneas.
CREATE TABLE cliente(
id VARCHAR2(2),
rfc VARCHAR2(13),
celular VARCHAR2(13),
nombre VARCHAR2(30),
app VARCHAR2(30),
apm VARCHAR2(30),
calle VARCHAR2(20),
num VARCHAR2(5),
colonia VARCHAR2(20),
cod_pos VARCHAR2(5),
email VARCHAR2(30),
CONSTRAINT cli_id_rfc_pk PRIMARY KEY(id,rfc));
CREATE TABLE devolucion(
id_control VARCHAR2(3),
fecha_dev DATE,
descripcion VARCHAR2(30),
cantidad NUMBER(9,2),
estatus VARCHAR2(10),
CONSTRAINT dev_id_pk PRIMARY KEY(id_control));
CREATE TABLE departamento(
numero_linea NUMBER(1),
nombre VARCHAR2(15),
encargado VARCHAR2(10),
numero_empleados NUMBER(3),
lineas_produccion NUMBER(1),
CONSTRAINT dep_num_pk PRIMARY KEY(numero_linea));
CREATE TABLE paqueteria (
id_paqueteria VARCHAR2(6),
ent_envio VARCHAR2(4),
nombre VARCHAR2(10),
tipo_paq VARCHAR2(13),
tarifa NUMBER(7,2),
peso NUMBER(6,2),
CONSTRAINT paq_paqueteria_pk PRIMARY KEY (id_paqueteria));
CREATE TABLE proveedores (
id_pro VARCHAR2(4),
nombre VARCHAR2(10),
email VARCHAR2(30),
credito NUMBER(10),
telefono VARCHAR2(12),
rfc VARCHAR2(13),
CONSTRAINT prid_pk PRIMARY KEY (id_pro));
CREATE TABLE empleado(
id VARCHAR2(2),
rfc VARCHAR2(13),
celular VARCHAR2(12),
nombre VARCHAR2(30),
app VARCHAR2(30),
apm VARCHAR2(20),
email VARCHAR2(30),
calle VARCHAR2(20),
numero VARCHAR2(5),
colonia VARCHAR2(30),
cod_postal VARCHAR2(5),
depnum NUMBER(1),
emp_id VARCHAR2(2),
emp_rfc VARCHAR2(18),
CONSTRAINT ei_pk PRIMARY KEY (id,rfc),
CONSTRAINT en_pk FOREIGN KEY (depnum) REFERENCES departamento(numero_linea),
CONSTRAINT ei_fk FOREIGN KEY (emp_id,emp_rfc) REFERENCES empleado(id,rfc));
CREATE TABLE factura_venta(
num_fac VARCHAR2(8),
fecha_vigencia DATE,
total NUMBER(9,2),
cfdi NUMBER(2),
cli_id VARCHAR2(2),
cli_rfc VARCHAR2(13),
CONSTRAINT fn_pk PRIMARY KEY (num_fac),
CONSTRAINT fi_fk FOREIGN KEY (cli_id,cli_rfc) REFERENCES cliente(id,rfc));
CREATE TABLE nomina(
num_emision VARCHAR2(4),
sucursal_emision VARCHAR2(15),
sueldo NUMBER(7,2),
fecha_emision DATE,
emp_id VARCHAR2(2),
emp_rfc VARCHAR2(13),
CONSTRAINT nn_pk PRIMARY KEY (num_emision),
CONSTRAINT ni_fk FOREIGN KEY (emp_id,emp_rfc) REFERENCES empleado(id,rfc));
CREATE TABLE factura_compra (
num_fac VARCHAR2(8),
fecha_compra DATE,
fecha_vigencia DATE,
subtotal NUMBER(9,2),
iva NUMBER(3,2),
total NUMBER(9,2),
prov_id VARCHAR2(104),
CONSTRAINT fac_id_pk PRIMARY KEY (num_fac),
CONSTRAINT fac_pro_id_fk FOREIGN KEY (prov_id) REFERENCES proveedores (id_pro));
CREATE TABLE producto(
modelo VARCHAR2(5),
folio VARCHAR2(8),
marca VARCHAR2(10),
n_serie VARCHAR2(5),
costo_uni NUMBER(5,2),
descripcion VARCHAR2(15),
existencias NUMBER(6),
depnum NUMBER(1),
fac_num VARCHAR2(8),
CONSTRAINT pmf_pk PRIMARY KEY (modelo,folio),
CONSTRAINT pd_fk FOREIGN KEY (depnum) REFERENCES departamento(numero_linea),
CONSTRAINT pf_fk FOREIGN KEY (fac_num) REFERENCES factura_compra(num_fac));
CREATE TABLE ticket(
id VARCHAR2(8),
subtotal NUMBER(9,2),
iva NUMBER(3,2),
total NUMBER(9,2),
fac_num VARCHAR2 (8),
dev_id VARCHAR2(3),
pro_mod VARCHAR2(5),
pro_fol VARCHAR(8),
CONSTRAINT tic_id_pk PRIMARY KEY(id),
CONSTRAINT factick_fk FOREIGN KEY(fac_num) REFERENCES factura_venta(num_fac),
CONSTRAINT devtic_fk FOREIGN KEY(dev_id) REFERENCES devolucion(id_control),
CONSTRAINT protic_fk FOREIGN KEY(pro_mod,pro_fol) REFERENCES producto(modelo,folio));
CREATE TABLE entrega (
id_envio VARCHAR2(4),
estado_producto VARCHAR2(10),
domicilio VARCHAR2(50),
fecha_salida DATE,
fecha_entrega DATE,
costo NUMBER(6,2),
paq_id VARCHAR2(6),
pro_mod VARCHAR2(5),
pro_fol VARCHAR2(8),
CONSTRAINT ent_id_envio_id_pk PRIMARY KEY (id_envio),
CONSTRAINT ent_paq_id_fk FOREIGN KEY (paq_id) REFERENCES paqueteria (id_paqueteria),
CONSTRAINT ent_pro_mod_fk FOREIGN KEY (pro_mod,pro_fol) REFERENCES producto (modelo,fo
lio));
CREATE TABLE garantia (
id VARCHAR2(4),
descripcion VARCHAR2(30),
observacion VARCHAR2(50),
fecha_vigencia DATE,
estatus VARCHAR2(10),
pro_mod VARCHAR2(5),
pro_fol VARCHAR2(8),
CONSTRAINT gar_id_pk PRIMARY KEY (id),
CONSTRAINT gp_fk FOREIGN KEY (pro_mod,pro_fol) REFERENCES producto (modelo,folio));
INSERT INTO devolucion
VALUES('D01','14-sep-17','No prende el celular',6799.00,'Vigente');
INSERT INTO devolucion
VALUES('D02','20-nov-18',NULL,25699.00,'No vigente');
INSERT INTO devolucion
VALUES ('D03','06-abr-19','No funciona el secado',17149.00,'Vigente');
INSERT INTO devolucion
VALUES ('D04','08-may-20','Monitor con pantalla verde',3199.00,'Vigente');
INSERT INTO devolucion
VALUES ('D05','27-ene-21',NULL,99449.00,'No vigente');
INSERT INTO departamento
VALUES (1,'Electrónica','Juan',25,2);
INSERT INTO departamento
VALUES(2,'Línea Blanca','María',30,3);
INSERT INTO departamento
VALUES (3,'Línea Blanca','María',NULL,3);
INSERT INTO departamento
VALUES(4,'Electrónica','Juan',NULL,2);
INSERT INTO departamento
VALUES(5,'Línea Blanca','Juan',NULL,3);
INSERT INTO paqueteria
VALUES('PQ0001','E001','Estafeta','internacional',1500.52,5.52);
INSERT INTO paqueteria
VALUES('PQ0002','E002','DHL','nacional',8253.52,9.62);
INSERT INTO paqueteria
VALUES ('PQ0003','E003','FedEx','internacional',21423.25,25.25);
INSERT INTO paqueteria
VALUES('PQ0004','E004','Sendex','nacional',2353.52,3.2);
INSERT INTO paqueteria
VALUES('PQ1500','E005','Redpack','internacional',5548.55,6.69);
INSERT INTO proveedores
VALUES('P001','T-SYSTEM','tsystem@gmail.com',10,'222-152-9074','TSYT010204P14');
INSERT INTO proveedores
VALUES('P002','APPLE','apple.ios@gmail.com',12,'222-272-9650','APPL040708YU5');
INSERT INTO proveedores
VALUES('P003','HP','hp@hotmail.com',15,'222-345-8741','HPC0781214ER5');
INSERT INTO proveedores
VALUES('P015','LAVMEX','lavmex@outlook.com',25,'222-245-8954','LAVM891117V02');
INSERT INTO proveedores
VALUES('P200','ELECTRO','electro@yahoo.com',30,'222-478-0632','ELEC750325L90');
INSERT INTO empleado
VALUES ('E1', 'DUGC000412HPL', 2223457945, 'Carlos', 'Duarte', 'Gomez', 'carlosdg@gmai
l.com', 'Calle Rosa', '#14', 'Col. La Paz', 72450, 1, 'E1', 'DUGC000412HPL');
INSERT INTO empleado
VALUES ('E2', 'FLFF000712DAS', 2224591210, 'Fatima', 'Flores', 'Flores', 'fatfl@hotmai
l.com', 'Calle Clavel', '#24', 'Col. La Loma', 78902, 2, 'E2', 'FLFF000712DAS');
INSERT INTO empleado
VALUES ('E3', 'SARC000512ASD', 2229520010,'Carmen', 'Salgado', 'Salgado', 'salcarmen22
@yahoo.com', 'Calle Flores', '#17', 'Col. El jardín', 65420, 3, 'E3', 'SARC000512ASD'
);
INSERT INTO empleado
VALUES ('E4', 'PARG000124DFG', 2221008012,'Gerardo', 'Paredes', 'Conde', 'gepa78@hotma
il.com', 'Calle Girasol', '#5', 'Col. La Planta', 12456, 4, 'E4', 'PARG000124DFG');
INSERT INTO empleado
VALUES ('E5', 'AMJL980001GHJ', 2220021050, 'Luis', 'Ambriz', 'Lopez', 'Luis-.-
@gmail.com', 'Calle Gladiola', '#15', 'Col. La Villa', 74102, 5, 'E5', 'AMJL980001GHJ'
);
INSERT INTO factura_venta
VALUES ('FABCD001', '13-sep-18', 7886.84, 03, 'SA', 'MAFJ040501M25');
INSERT INTO factura_venta
VALUES ('FABCD002', '18-nov-19', 29810.84, 03, 'SB', 'LASM040501J14');
INSERT INTO factura_venta
VALUES ('FABCD003', '04-abr-20', 19892.84, 03, 'SC', 'MEPF970806H89');
INSERT INTO factura_venta
VALUES ('FABCD004', '07-may-21', 3710.84, 04, 'SD', 'CACD780925F21');
INSERT INTO factura_venta
VALUES ('FABCD005', '25-ene-22', 115360.84, 01, 'SE', 'FLDS990124B17');
INSERT INTO nomina
VALUES ('C001', 'Cuauhtemoc', 15000.00, '09-oct-21', 'E1', 'DUGC000412HPL');
INSERT INTO nomina
VALUES ('B075', 'Benito Juarez', 25000, '10-sep-20', 'E2', 'FLFF000712DAS');
INSERT INTO nomina
VALUES ('P300', 'Polanco', 30000, '20-nov-21', 'E3', 'SARC000512ASD');
INSERT INTO nomina
VALUES ('L580', 'Lindavista', 10000, '20-may-20', 'E4', 'PARG000124DFG');
INSERT INTO nomina
VALUES ('N700', 'Naucalpan', 8000, '10-ene-21', 'E5', 'AMJL980001GHJ');
INSERT INTO factura_compra
VALUES ('FE130917', '13-sep-17', '13-oct-17', 6799.00, 1.16, 7886.84, 'P001');
INSERT INTO factura_compra
VALUES ('FE181118', '18-nov-18', '19-nov-18', 25699.00, 1.16, 29810.84, 'P002');
INSERT INTO factura_compra
VALUES ('FL040419', '04-abr-19' ,'04-may-19', 17149.00, 1.16, 19892.84, 'P003');
INSERT INTO factura_compra
VALUES ('FE070520', '07-may-20', '07-jun-20', 3199.00, 1.16, 3710.84, 'P015');
INSERT INTO factura_compra
VALUES ('FL250121', '25-ene-21', '25-feb-21', 99449.00, 1.16, 115360.84, 'P200');
INSERT INTO producto
VALUES ('GM31B', 12000001, 'Samnsung', 'GM001', 800.00, 'modelo 2020', 5, 1, 'FE130917
');
INSERT INTO producto
VALUES ('STV20', 12000002, 'Samnsung', 'STV02', 500.00, 'modelo 2021', 10, 2, 'FE18111
8');
INSERT INTO producto
VALUES ('SECDR', 12000003, 'SECMEX', 'SEC15', 900.00, 'secado rapido', 20, 3, 'FL04041
9');
INSERT INTO producto
VALUES ('MFHFL', 12000004,'HP','MFH14', 200.00, 'concava', 4, 4, 'FE070520');
INSERT INTO producto
VALUES ('REFHB', 12000005, 'FAM HUB', 'REF02', 950.00, 'digital', 15, 5, 'FL250121');
INSERT INTO ticket
VALUES ('GE130917',7886.84,1.16,9148.73,'FABCD001','D01','GM31B',12000001);
INSERT INTO ticket
VALUES ('SE181118',29810.84,1.16,34580.57,'FABCD002','D02','STV20',12000002);
INSERT INTO ticket
VALUES ('SL040419',19892.84,1.16,23075.69,'FABCD003','D03','SECDR',12000003);
INSERT INTO ticket
VALUES ('ME070520',3710.84,1.16,4304.57,'FABCD004','D04','MFHFL',12000004);
INSERT INTO ticket
VALUES ('RL250121',115360.84,1.16,133818.57,'FABCD005','D05','REFHB',12000005);
INSERT INTO entrega
VALUES('E001','Proceso','Calle Morelos #12 Col. La Loma','13-sep-17','15-sep-18', 350
0.00,'PQ0001','GM31B', 12000001);
INSERT INTO entrega
VALUES('E002','Entregado','Calle Aldama #17 Col. La Paz','18-nov-18',NULL, 400
0.00,'PQ0002','STV20', 12000002);
INSERT INTO entrega
VALUES('E003','Proceso','Calle Gladiola #14 Col. La Margarita','04-abr-19','06-abr-
20', 2500.00,'PQ0003','SECDR', 12000003);
INSERT INTO entrega
VALUES('E004','Saliendo','Privada F #17 Col. La Flor','07-may-20','09-may-21', 150
0.0,'PQ0004','MFHFL', 12000004);
INSERT INTO entrega
VALUES('E005','Proceso','Calle Maravillas #44 Col. La Piedad','25-ene-21','27-ene-22',
1000.00,'PQ1500','REFHB', 12000005);
INSERT INTO garantia
VALUES ('G100','No prende el celular','Botón sumido','13-sep-
18','Vigente','GM31B',12000001);
INSERT INTO garantia
VALUES ('G101','No enciende la TV',NULL,'19-nov-19','No vigente','STV20',12000002);
INSERT INTO garantia
VALUES ('G102','No funciona la secadora','No tiene pilas','04-abr-
20','Vigente','SECDR', 12000003);
INSERT INTO garantia
VALUES ('G103','Monitor con pantalla verde','Error de fabricacion','08-may-21','No vig
ente','MFHFL',12000004);
INSERT INTO garantia
VALUES ('G104','No funciona el congelador',NULL,'25-ene-
22','Vigente','REFHB',12000005);
Código PARA UPDATES donde se modifican 5 padres y con sus respetivos hijos donde
podemos observar la integridad referencial ya que sino desactivamos las llaves foráneas no
nos deja actualizar los datos posteriormente se activa las llaves para comprobar que la
integridad sigue activa
ALTER TABLE factura_venta
DISABLE CONSTRAINT fi_fk;
UPDATE factura_venta SET cli_id= 'SL' WHERE cli_id='SE';
UPDATE cliente SET id= 'SL' WHERE id='SE';
ALTER TABLE factura_venta
ENABLE CONSTRAINT fi_fk;
ALTER TABLE producto
DISABLE CONSTRAINT PD_FK;
ALTER TABLE empleado
DISABLE CONSTRAINT EN_PK;
UPDATE producto SET depnum= 8 WHERE depnum=3;
UPDATE departamento SET numero_linea= 8 WHERE numero_linea=3;
UPDATE empleado SET depnum= 8 WHERE depnum=3;
ALTER TABLE producto
ENABLE CONSTRAINT PD_FK;
ALTER TABLE empleado
ENABLE CONSTRAINT EN_PK;
ALTER TABLE nomina
DISABLE CONSTRAINT NI_FK;
ALTER TABLE empleado
DISABLE CONSTRAINT EI_FK;
UPDATE nomina SET emp_rfc='PRUEBA' WHERE emp_rfc='FLFF000712DAS';
UPDATE empleado SET rfc='PRUEBA' WHERE rfc='FLFF000712DAS';
UPDATE empleado SET emp_rfc='PRUEBA' WHERE emp_rfc='FLFF000712DAS';
ALTER TABLE nomina
ENABLE CONSTRAINT NI_FK;
ALTER TABLE empleado
ENABLE CONSTRAINT EI_FK;
ALTER TABLE entrega
DISABLE CONSTRAINT ENT_PAQ_ID_FK;
UPDATE entrega SET paq_id='PRUEBA' WHERE paq_id='PQ0002';
UPDATE paqueteria SET id_paqueteria='PRUEBA' WHERE id_paqueteria='PQ0002';
ALTER TABLE entrega
ENABLE CONSTRAINT ENT_PAQ_ID_FK;
ALTER TABLE garantia
DISABLE CONSTRAINT gp_fk;
ALTER TABLE ticket
DISABLE CONSTRAINT protic_fk;
ALTER TABLE entrega
DISABLE CONSTRAINT ent_pro_mod_fk;
UPDATE garantia SET pro_mod='HOLA1' WHERE pro_mod='SECDR';
UPDATE ticket SET pro_mod='HOLA1' WHERE pro_mod='SECDR';
UPDATE entrega SET pro_mod='HOLA1' WHERE pro_mod='SECDR';
UPDATE producto SET modelo='HOLA1' WHERE modelo='SECDR';
ALTER TABLE garantia
ENABLE CONSTRAINT gp_fk;
ALTER TABLE ticket
ENABLE CONSTRAINT protic_fk;
ALTER TABLE entrega
ENABLE CONSTRAINT ent_pro_mod_fk;
Sin embargo, también puede implementar en la cascada eliminar para eliminar todas las filas
secundarias cuando se elimina una fila primaria.
El uso de "on delete cascade" y "on delete restrict" se utiliza cuando existe una relación
estricta de uno a varios, de modo que cualquier fila "huérfana" infringe la integridad de los
datos.
Muchos sistemas utilizan "on delete cascade" cuando tienen actualizaciones ad hoc para que
el usuario final no tenga que navegar por la tabla secundaria y eliminar docenas o cientos de
entradas secundarias. Por supuesto, el uso de "on delete cascade" es peligroso debido a
posibles errores y porque la emisión de una sola eliminación en una fila primaria podría
invocar miles de eliminaciones de la tabla secundaria.
En los siguientes comandos como observamos primero se utilizaron los comandos ALTER
TABLE
Para modificar las respectivas tablas donde se eliminaron todas las llaves foráneas para así
agregar las mismas llaves foráneas, pero activando la eliminación en cascada ya que al crear
las tablas no se activaron desde un principio para observar así el comando ON DELETE
CASCADE
ALTER TABLE empleado
DROP CONSTRAINT en_pk;
ALTER TABLE empleado
DROP CONSTRAINT ei_fk;
ALTER TABLE factura_venta
DROP CONSTRAINT fi_fk;
ALTER TABLE nomina
DROP CONSTRAINT ni_fk;
ALTER TABLE factura_compra
DROP CONSTRAINT fac_pro_id_fk;
ALTER TABLE producto
DROP CONSTRAINT pd_fk;
ALTER TABLE producto
DROP CONSTRAINT pf_fk;
ALTER TABLE ticket
DROP CONSTRAINT factick_fk;
ALTER TABLE ticket
DROP CONSTRAINT devtic_fk;
ALTER TABLE ticket
DROP CONSTRAINT protic_fk;
ALTER TABLE entrega
DROP CONSTRAINT ent_paq_id_fk;
ALTER TABLE entrega
DROP CONSTRAINT ent_pro_mod_fk;
ALTER TABLE garantia
DROP CONSTRAINT gp_fk;
ALTER TABLE empleado
ADD CONSTRAINT en_pk FOREIGN KEY (depnum) REFERENCES departamento(numero_linea) ON DEL
ETE CASCADE;
ALTER TABLE empleado
ADD CONSTRAINT ei_fk FOREIGN KEY (emp_id,emp_rfc) REFERENCES empleado(id,rfc) ON DELET
E CASCADE;
ALTER TABLE factura_venta
ADD CONSTRAINT fi_fk FOREIGN KEY (cli_id,cli_rfc) REFERENCES cliente(id,rfc) ON DELETE
CASCADE;
ALTER TABLE nomina
ADD CONSTRAINT ni_fk FOREIGN KEY (emp_id,emp_rfc) REFERENCES empleado(id,rfc) ON DELE
TE CASCADE;
ALTER TABLE factura_compra
ADD CONSTRAINT fac_pro_id_fk FOREIGN KEY (prov_id)REFERENCES proveedores (id_pro) ON D
ELETE CASCADE;
ALTER TABLE producto
ADD CONSTRAINT pd_fk FOREIGN KEY (depnum) REFERENCES departamento(numero_linea) ON DE
LETE CASCADE;
ALTER TABLE producto
ADD CONSTRAINT pf_fk FOREIGN KEY (fac_num) REFERENCES factura_compra(num_fac) ON DELET
E CASCADE;
ALTER TABLE ticket
ADD CONSTRAINT factick_fk FOREIGN KEY(fac_num) REFERENCES factura_venta(num_fac) ON DE
LETE CASCADE;
ALTER TABLE ticket
ADD CONSTRAINT devtic_fk FOREIGN KEY(dev_id) REFERENCES devolucion(id_control) ON DELE
TE CASCADE;
ALTER TABLE ticket
ADD CONSTRAINT protic_fk FOREIGN KEY(pro_mod,pro_fol) REFERENCES producto(modelo,folio
) ON DELETE CASCADE;
ALTER TABLE entrega
ADD CONSTRAINT ent_paq_id_fk FOREIGN KEY (paq_id) REFERENCES paqueteria (id_paqueteria
) ON DELETE CASCADE;
ALTER TABLE entrega
ADD CONSTRAINT ent_pro_mod_fk FOREIGN KEY (pro_mod,pro_fol) REFERENCES producto (model
o,folio) ON DELETE CASCADE;
ALTER TABLE garantia
ADD CONSTRAINT gp_fk FOREIGN KEY (pro_mod,pro_fol) REFERENCES producto (modelo,folio)
ON DELETE CASCADE;
DELETE proveedores WHERE id_pro='P015';
DELETE empleado WHERE id='E4';
DELETE cliente WHERE id='SD';
DELETE garantia WHERE id='G103';
DELETE paqueteria WHERE id_paqueteria='PQ0004';
La instrucción SELECT de Oracle se utiliza para recuperar registros de una o varias tablas de
una base de datos de Oracle.
Sintaxis
SELECT expressions
FROM tables
[WHERE conditions];
Parámetros o argumentos
Expresiones
Las columnas o cálculos que desea recuperar. Utilice * si desea seleccionar todas las
columnas.
Mesas
Las tablas de las que desea recuperar registros. Debe haber al menos una tabla enumerada
en la cláusula FROM.
Opcional. Las condiciones que deben cumplirse para seleccionar los registros. Si no se
proporciona ninguna condición, se seleccionarán todos los registros.
CONSULTAS SENCILLAS
/* 3 Consulta sencillas en Recursividad*/
SELECT * FROM empleado;
SELECT colonia, calle, cod_postal
FROM empleado;
SELECT nombre || ' su id es :' || id ||' y su rfc es ' || rfc || '.' "INFORMACIÓN BASI
CA"
FROM empleado;
SELECT nombre, numero, emp_id
FROM empleado
WHERE depnum > 3;
/* 3 Consultas sencilla en relacion uno a muchos */
SELECT * FROM producto;
SELECT * FROM entrega;
SELECT p.id_paqueteria, p.nombre, p.tarifa, e.costo
FROM paqueteria p
JOIN entrega e
ON (p.id_paqueteria = e.paq_id);
SELECT p.nombre || ' el id de envio es:' || e.id_envio "Información de envio"
FROM paqueteria p
JOIN entrega e
ON (p.id_paqueteria = e.paq_id);
SELECT p.nombre || ', enviara un paquete a: ' || e.domicilio || ', con un costo de: '
|| e.costo || ' pesos mexicanos' "Dirección de envio"
FROM paqueteria p
JOIN entrega e
ON (p.id_paqueteria = e.paq_id);
/* 3 Consultas sencillas en relacion uno a uno */
SELECT * FROM ticket;
SELECT * FROM devolucion;
SELECT t.id, d.id_control, d.estatus
FROM ticket t
JOIN devolucion d
ON (t.id = 'GE130917');
SELECT t.fac_num || ' tiene una fecha de devolucio de: ' || d.fecha_dev "Fecha de devo
lución"
FROM ticket t
JOIN devolucion d
ON (t.id = 'GE130917');
SELECT t.id || ' su devolución tiene un estatus de: ' || d.estatus "Revisión de estatu
s"
FROM ticket t
JOIN devolucion d
ON (t.id = 'GE130917');
/* 3 Consultas sencillas en relacion muchos a muchos */
SELECT * FROM ticket;
SELECT * FROM producto;
SELECT * FROM factura_venta;
SELECT t.id, p.modelo, f.num_fac
FROM producto p
JOIN ticket t ON (p.modelo = t.pro_mod)
JOIN factura_venta f ON (f.num_fac = 'FABCD001');
SELECT t.id || ' tiene un folio de: ' || p.folio || ' y un total de: ' || f.total || '
pesos mexicanos' "Total"
FROM producto p
JOIN ticket t ON (p.modelo = t.pro_mod)
JOIN factura_venta f ON (f.num_fac = 'FABCD001');
SELECT t.dev_id || ' es de la marca: ' || p.marca || ' y un numero de factura de: ' ||
f.num_fac "Modelo"
FROM producto p
JOIN ticket t ON (p.modelo = t.pro_mod)
JOIN factura_venta f ON (f.num_fac = 'FABCD001')
WHERE (t.id) = 'GE130917';
Descripción
Oracle JOINS se utilizan para recuperar datos de varias tablas. Un Oracle JOIN se realiza
cada vez que se unen dos o más tablas en una instrucción SQL.
Así que vamos a discutir la sintaxis join de Oracle, mirar ilustraciones visuales de Oracle
JOINS y explorar ejemplos de Oracle JOIN.
SELECT t.subtotal, p.n_serie, f.total
FROM producto p
JOIN ticket t ON (p.modelo = t.pro_mod)
JOIN factura_venta f ON (f.num_fac = 'FABCD001');
SELECT t.total || ' es el total de la compra con el folio: ' || p.folio || ' y un nume
ro de factura de: ' || f.num_fac "Folio"
FROM producto p
JOIN ticket t ON (p.modelo = t.pro_mod)
JOIN factura_venta f ON (f.num_fac = 'FABCD001');
SELECT t.pro_mod || ' es el modelo de la marca: ' || p.marca || ' con un total de: ' |
| f.total "Compra"
FROM producto p
JOIN ticket t ON (p.modelo = t.pro_mod)
JOIN factura_venta f ON (f.num_fac = 'FABCD003');
/* Consultas a 3 tablas con relación uno a muchos */
SELECT * FROM departamento;
SELECT * FROM producto;
SELECT * FROM entrega;
SELECT d.nombre, p.marca, e.id_envio
FROM departamento d
JOIN producto p ON (d.numero_linea = p.depnum)
JOIN entrega e ON (p.modelo = e.pro_mod);
SELECT d.encargado || ' es el encargado de el numero de departamento: ' || p.depnum ||
' con un folio de: ' || e.pro_fol "Encargado"
FROM departamento d
JOIN producto p ON (d.numero_linea = p.depnum)
JOIN entrega e ON (p.modelo = e.pro_mod);
SELECT d.numero_empleados || ' son el número de empleados que trabajan en el numero de
departamento:' || p.depnum || ' con un folio de: ' || e.pro_fol "Empleados"
FROM departamento d
JOIN producto p ON (d.numero_linea = p.depnum)
JOIN entrega e ON (p.modelo = e.pro_mod);
/* Consultas que resulvan facturación, inventarios, ventas, nomina, etc */
SELECT * FROM paqueteria;
SELECT * FROM entrega;
SELECT * FROM ticket;
SELECT p.tarifa || ' es la tarifa mas el costo de ' || e.costo || ' mas el iva de ' ||
t.iva
|| ' tenemos un total a pagar de: ' || (p.tarifa + e.costo + t.iva) "Total a pagar"
FROM paqueteria p
JOIN entrega e ON (p.id_paqueteria = e.paq_id)
JOIN ticket t ON (iva = 1.16);
SELECT * FROM cliente;
SELECT * FROM factura_venta;
SELECT * FROM ticket;
SELECT c.nombre || ' su compra tiente el total de ' || f.total || ' mas el iva de ' ||
t.iva || ' tenemos un precio final de:' || (f.total + t.iva)
|| ' pesos mexicanos' "Total Compra"
FROM cliente c
JOIN factura_venta f ON (c.rfc = f.cli_rfc)
JOIN ticket t ON (t.iva = 1.16);
SELECT * FROM proveedores;
SELECT * FROM factura_compra;
SELECT p.nombre || ' es el proveedor con un credito de ' || p.credito || ' y un subtot
al de inversion de '
|| f.subtotal || ' el precio final a pagar es: ' || (f.subtotal + f.iva) " Facturacion
"
FROM proveedores p
JOIN factura_compra f ON (p.id_pro = f.prov_id);
Por último, cabe mencionar que se anexan los códigos con su respectivo
archivo LST para documentar cada paso de los comandos realizados en
este reporte y así observar que cada comando fue ejecutado
correctamente
BIBLIOGRAFIA