Aplicatia folosita pentru recapitularea limbajului SQL este un sistem de gestiune a furnizorilor si vanzarilor catre clientii unui magazin; baza de date contine mai multe tabele:
CREATE TABLE IF NOT EXISTS adresa (id int unique auto_increment primary key, oras char(20), distanta_km int); CREATE TABLE IF NOT EXISTS furnizor (id int unique auto_increment primary key, denumire char(50), adresa_id int, INDEX (adresa_id), FOREIGN KEY (adresa_id) REFERENCES adresa(id)); CREATE TABLE IF NOT EXISTS client_card_fidelitate (id int unique auto_increment primary key, nume char(20), prenume char(20), adresa_id int, sex int, data_inregistrare date, numar_cumparaturi int DEFAULT 0, valoare_totala_cumparaturi float DEFAULT 0.0, numar_puncte int DEFAULT 0, INDEX (adresa_id), FOREIGN KEY (adresa_id) REFERENCES adresa(id)); CREATE TABLE IF NOT EXISTS articol (id int unique auto_increment primary key, denumire char(30), furnizor_id int NOT NULL, stoc_count int NOT NULL, pret_per_unitate float NOT NULL, INDEX (furnizor_id), FOREIGN KEY (furnizor_id) REFERENCES furnizor(id)); CREATE TABLE IF NOT EXISTS vanzare (id int unique auto_increment primary key, data date, client_id int, INDEX (client_id), FOREIGN KEY (client_id) REFERENCES client_card_fidelitate(id)); CREATE TABLE IF NOT EXISTS vanzare_articol (id int unique auto_increment primary key, vanzare_id int, articol_id int, cantitate int, INDEX (vanzare_id), INDEX (articol_id), FOREIGN KEY (vanzare_id) REFERENCES vanzare(id), FOREIGN KEY (articol_id) REFERENCES articol(id)); CREATE TABLE IF NOT EXISTS comanda_stoc (id int unique auto_increment primary key, articol_id int NOT NULL, stoc_nou int NOT NULL, INDEX (articol_id), FOREIGN KEY (articol_id) REFERENCES articol(id));
INSERT INTO adresa (oras, distanta_km) VALUES
('Bucuresti',5),('Brasov',200),('Buzau',120),('Cluj Napoca',450),('Constanta',350),
('Craiova',150),('Slatina',120),('Voinesti',65),('Oradea',500),('Timisoara',450),
('Salonta',500);
INSERT INTO furnizor (denumire, adresa_id) VALUES
('Dorna', 1),('Albalact', 1),('Salonta SA', 11),
('Braun', 1),('Comtim',10),('Samsung', 1),
('Sony', 1),('Rex SRL',5),('Comalim',3),('Alpen',2),
('Camara ta',7),('Pampers',1),('Oradeanca',9),('Burger SA',9),
('Bergenbier SA',1),('Tuborg SA',1);
INSERT INTO client_card_fidelitate (nume, prenume, adresa_id, sex, data_inregistrare) VALUES
('Ionescu','Ion',1, 0,'2009-1-2'),('Popescu','Ion',1,0,'2009-1-2'),
('Georgescu','Adina',1,1,'2009-1-2'),('Marinescu','Ana',1,1,'2009-1-2'),
('Preda','Ion',1,0,'2009-1-3'),('Marin','Georgeta',1,1,'2009-1-3');
INSERT INTO vanzare (data, client_id) VALUES
('2009-1-2', 1),
('2009-1-2', 2),
('2009-1-2', 3),
('2009-1-3', 4),
('2009-1-3', 5),
('2009-1-3', NULL),
('2009-1-3', NULL),
('2009-1-3', NULL),
('2009-1-3', NULL),
('2009-1-3', NULL),
('2009-1-3', NULL),
('2009-1-3', NULL),
('2009-1-3', NULL),
('2009-1-3', NULL);
INSERT INTO articol (denumire, furnizor_id, stoc_count, pret_per_unitate) VALUES
('Lapte Dorna 1L', 1,1000,3),
('Iaurt Dorna 0.25L',1, 500,1),
('Smantana Dorna 0.3L',1, 250,1.5),
('Smantana Dorna 0.5L',1, 250,2),
('Lapte Fulga 1L', 2,1200,2.5),
('Iaurt Zuzu 0.25L', 2,450,0.75),
('Lapte Zuzu 2.5% 1L', 2,750,2.3),
('Lapte Zuzu 1.1% 1L', 2,820,2.7),
('Salam Sibiu 0.3 KG', 3,200,22),
('Sunca porc 0.25KG', 3,140,5.5),
('Costita afumata 0.5KG', 3,100, 8.5),
('Muraturi borcan 0.45KG', 11,100,4.5),
('Pampers 1-2 ani, 35 buc', 12,300,22.5),
('Pampers 1-2 ani, 10 buc', 12,100,8.5),
('Pampers 0-1 ani, 55 buc', 12,400,24),
('Bere Burger pet 2L', 14,200,6.5),
('Bere Burger cutie bax 6buc', 14,500,8.5),
('Bere Bergenbier pet 2.5L', 15,1000,5.5),
('Bere Tuborg sticla 0.5L', 16,100,3.5),
('Bere Bergenbier cutie bax 6buc', 15,450,9.5);
INSERT INTO vanzare_articol (vanzare_id, articol_id, cantitate) VALUES
(1,1,2),(1,15,1),(1,18,2),
(2,3,1),(2,16,1),(2,8,1),(2,9,2),(2,4,1),
(3,1,1),(3,2,1),
(4,6,1),(4,12,2),(4,19,2),
(5,17,2),(5,12,1),
(6,11,1),(6,11,2),(6,1,1),(6,3,4),
(7,10,1),(7,12,2),
(8,11,2),(8,6,2),
(9,11,1),(9,4,3),(9,5,2),
(10,11,1),(10,1,2),
(11,7,1),
(12,1,4),
(13,3,1),
(14,4,1);