techIT.ro Do we have a problem? Let's tech it!    












Daca ai impresia ca educatia e scumpa,
atunci încearca sa vezi cum e ignoranta.
Andy McIntyre









Home  |  Dictionar IT  |  Download  |  Forum  |  Despre noi  |  Contact

Tutorial SQL. Baze de date (partea IV-a). Scripturile pentru crearea exemplelor

Exemplul creat în lecţiile precedente, utilizând interfaţa prietenoasă din Microsoft Access pote fi creat în întregime şi prin scrierea unor scripturi care, practic, vor face acelaşi lucru ca şi configurările descrise în primele părţi.

Pentru a realiza acelaşi exemplu în Microsoft SQL Server, nu vom mai folosi interfaţa utilizator ci doar scripturi SQL. Avem de executat următoarele scripturi (modul în caretrebuie scrise corect va fi detaliat în lecţiile următoare):

- crearea tabelei Produse:
CREATE TABLE Produse (DenumireProdus NVARCHAR(100) PRIMARY KEY)

- crearea tabelei Tranzacţii:
CREATE TABLE Tranzactii
(
CodTranzactie INT PRIMARY KEY IDENTITY,
Produs NVARCHAR(100) REFERENCES Produse(DenumireProdus),
Pret MONEY,
Cantitate FLOAT,
Data DATETIME
)

- inserarea înregistrărilor în tabela Produse:
INSERT INTO Produse VALUES ('Camasa')
INSERT INTO Produse VALUES ('Mere')

- vizualizarea înregistrărilor din tabela Produse:
SELECT * FROM Produse

- inserarea înregistrărilor în tabela Tranzacţii:
INSERT INTO Tranzactii VALUES ('Camasa', 100, 1, '3/22/2006')
INSERT INTO Tranzactii VALUES ('Camasa', 80, 1, '4/23/2006')
INSERT INTO Tranzactii VALUES ('Mere', 4, 1, '4/22/2006')

- vizualizarea înregistrărilor din tabela Tranzacţii:
SELECT * FROM Tranzactii

- interogarea bazei de date pentru a obţine valorile cheltuite pe produse:
SELECT Produse.DenumireProdus, Valoare = Sum([Pret]*[Cantitate])
FROM Produse
INNER JOIN Tranzactii ON Produse.DenumireProdus = Tranzactii.Produs
GROUP BY Produse.DenumireProdus


Pentru a realiza acelaşi exemplu în MySQL se vor executa următoarele scripturi:

- crearea tabelei Produse:
CREATE TABLE Produse (DenumireProdus NVARCHAR(100) PRIMARY KEY);

- crearea tabelei Tranzacţii:
CREATE TABLE Tranzactii
(
CodTranzactie INT PRIMARY KEY AUTO_INCREMENT,
Produs NVARCHAR(100) REFERENCES Produse(DenumireProdus),
Pret FLOAT,
Cantitate FLOAT,
Data DATE
)

- inserarea înregistrărilor în tabela Produse:
INSERT INTO Produse VALUES ('Camasa');
INSERT INTO Produse VALUES ('Mere');

- inserarea înregistrărilor în tabela Tranzacţii:
INSERT INTO Tranzactii VALUES (default, 'Camasa', 100, 1, ’2006/03/22’);
INSERT INTO Tranzactii VALUES (default, 'Camasa', 80, 1, ’2006/04/23’);
INSERT INTO Tranzactii VALUES (default, 'Mere', 4, 1, ’2006/04/22’);

- interogarea bazei de date pentru a obţine valorile cheltuite pe produse:
SELECT Produse.DenumireProdus, Sum(Pret*Cantitate) AS Valoare
FROM Produse
INNER JOIN Tranzactii ON Produse.DenumireProdus = Tranzactii.Produs
GROUP BY Produse.DenumireProdus


techit.ro





Colecţia:  Colecţia Tutorial SQL

Articolul precedent:  Tutorial SQL. Baze de date (partea III-a). Normalizarea




  


  Adauga un comentariuSpune-ti parerea despre acest articol!