You are on page 1of 9

Proiect DB Reprezentanta Auto

Baza de date se numeste ReprezentantaAutoDB. Pentru creearea acestei baze de


date am executat scriptul urmator:
CREATE DATABASE ReprezentantaAutoDB;
Baza de date contine 8 tabele care interactioneaza intre ele. Scriptul folosit pentru creearea
acestor tabele este:
CREATE TABLE Client
(
IdClient int NOT NULL,
Nume varchar(50) NOT NULL,
Prenume varchar(50) NOT NULL,
Varsta int,
CNP int NOT NULL,
SEX varchar(10)
)
CREATE TABLE Angajat
(
IdAngajat int NOT NULL,
Nume varchar(50) NOT NULL,
Prenume varchar(50) NOT NULL,
Adresa varchar(100),
Vechime int,
);
CREATE TABLE Functii
(
IdFunctie int NOT NULL,
IdAngajat int NOT NULL,
Denumire varchar(50) NOT NULL,
);
CREATE TABLE Piesa
(
IdPiesa int NOT NULL,
Nume varchar(50) NOT NULL,
Pret float NOT NULL,
);
CREATE TABLE Automobil
(
IdAutomobil int NOT NULL,
Marca varchar(50) NOT NULL,
Model varchar(50) NOT NULL,
Putere varchar(50) NOT NULL,
Carburant varchar(10) NOT NULL,
Pret float NOT NULL,
);
CREATE TABLE Furnizor
(

IdFurnizor int NOT NULL,


Denumire varchar(50) NOT NULL,
Adresa varchar(50) NOT NULL,
);
CREATE TABLE Vanzari
(
IdVanzari int NOT NULL,
IdClient int NOT NULL,
IdMasina int NOT NULL,
Data date,
);
CREATE TABLE Stoc
(
IdStoc int NOT NULL,
IdFurnizor int NOT NULL,
IdMasina int NOT NULL,
Cantitate int NOT NULL,
);

Constrangeri
alter table Client
add constraint IdClient_PK primary key (IdClient);
alter table Client
add UNIQUE (CNP);
alter table Angajat
add constraint IdAngajat_PK primary key (IdAngajat);
alter table Functii
add constraint IdFunctie_PK primary key (IdFunctie);
alter table Piesa
add constraint IdPiesa_PK primary key (IdPiesa);
alter table Automobil
add constraint IdAutomobil_PK primary key (IdAutomobil);
alter table Furnizor
add constraint IdFurnizor_PK primary key (IdFurnizor);
alter table Stoc
add constraint IdStoc_PK primary key (IdStoc);
alter table Stoc
add constraint IdFurnizor_FK FOREIGN KEY(IdFurnizor)
references Furnizor(IdFurnizor );
alter table Stoc
add constraint IdAutomobil_FK FOREIGN KEY(IdAutomobil)
references Automobil(IdAutomobil);
alter table Vanzari
add constraint IdVanzari_PK primary key (IdVanzari);
alter table Stoc
add constraint IdClient_FK FOREIGN KEY(IdClient)

references Client(IdClient);
alter table Stoc
add constraint IdMasina_FK FOREIGN KEY(IdMasina)
references Masina(IdMasina);

Procedura stocata pentru inserare


1)Client
Create Procedure [dbo].[inserareClienti](
@IdClient int,
@Nume Varchar (50),
@Prenume Varchar (50),
@Varsta int,
@CNP int,
@SEX Varchar(10))
As
Begin
Insert Into Client(IdClient, Nume, Prenume, Varsta, CNP, SEX) Values (@IdClient, @Nume,
@Prenume, @Varsta, @CNP, @SEX)
End
exec [dbo].[inserareClienti] 11, Flore, Grigore, 21, 1702, masculin
Create Procedure [dbo].[updateClienti](
@IdClient int,
@Nume Varchar (50),
@Prenume Varchar (50),
@Varsta int,
@CNP int,
@SEX Varchar(10))
As
Begin
update Client set
IdClient = @IdClient,
Nume = @Nume,
Prenume = @Prenume,
Varsta = @Varsta,
CNP = @CNP,
SEX = @SEX
Where IdClient = @IdClient
End
exec [dbo].[ updateClienti] 3, Anton, Pann, 16, 1902, masculin

2)Angajat
Create Procedure [dbo].[inserareAngajati](
@IdAngajat int,
@Nume Varchar (50),
@Prenume Varchar (50),
@Adresa varchar(100),
@Vechime int)
As

Begin
Insert Into Angajat(IdAngajat, Nume, Prenume, Adresa, Vechime) Values (@IdAngajat, @Nume,
@Prenume, @Adresa, @Vechime)
End
exec [dbo].[inserareAngajati] 11, Florin, Span, str Spatarilor, 10

3)Functii
Create Procedure [dbo].[inserareFunctii](
@IdFunctie int,
@IdAngajat int,
@Denumire Varchar (50),
As
Begin
Insert Into Angajat(IdFunctie, IdAngajat, Denumire) Values (@IdFunctie, @IdAngajat, @Denumire)
End
exec [dbo].[inserareFunctii] 11, 11, Analist Marketing

4)Piesa
Create Procedure [dbo].[inserarePiesa](
@IdPiesa int,
@Nume varchar(50),
@Pret float,
As
Begin
Insert Into Angajat(IdPiesa, Nume, Pret) Values (@IdPiesa, @ Nume, @ Pret)
End
exec [dbo].[ inserarePiesa] 11, Kit Ambreaj, 549.99

5)Automobil
Create Procedure [dbo].[inserareAutomobil](
@IdAutomobil int,
@Marca varchar(50),
@Model varchar(50),
@Putere varchar(50),
@Carburant varchar(10),
@Pret float,
As
Begin
Insert Into Automobil(IdAutomobil, Marca, Model, Putere, Carburant, Pret) Values (@IdAutomobil,
@Marca, @Model, @Putere, @Carburant, @Pret)
End
exec [dbo].[ inserareAutomobil] 11, Ferrari, Acuro31, 531CP, Benzina, 120000

6)Furnizor
Create Procedure [dbo].[inserareFurnizor](
@IdFurnizor int,
@Denumire varchar(50),

@Adresa float,
As
Begin
Insert Into Furnizor(IdFurnizor, Denumire, Adresa) Values (@IdFurnizor, @Denumire, @Adresa)
End
exec [dbo].[ inserareFurnizor] 6, General Motors, America

7)Stoc
Create Procedure [dbo].[inserareStoc](
@IdStoc int,
@IdFurnizor int,
@IdMasina int,
@Cantitate int,
As
Begin
Insert Into Stoc(IdStoc, IdFurnizor, IdMasina, Cantitate) Values (@IdStoc, @IdFurnizor, @IdMasina,
@Cantitate)
End
exec [dbo].[ inserareStoc] 6, 3, 2, 10

8)Vanzari
Create Procedure [dbo].[inserareVanzari](
@IdVanzari int,
@IdClient int,
@IdMasina int,
@Data date,
As
Begin
Insert Into Stoc(IdVanzari, IdClient, IdMasina, Data) Values (@IdVanzari, @ IdClient, @IdMasina, @
Data)
End
exec [dbo].[ inserareStoc] 6, 8, 3, 10-10-2010
CREATE TABLE Vanzari
(
IdVanzari int NOT NULL,
IdClient int NOT NULL,

IdMasina int NOT NULL,


Data date,
);
CREATE TABLE Stoc
(
IdStoc int NOT NULL,
IdFurnizor int NOT NULL,
IdMasina int NOT NULL,
Cantitate int NOT NULL,
);

Inserturi in tabele
INSERT INTO Client (IdClient, Nume, Prenume, Varsta,
'Linu','Alex','21','1901011340023','masculin');
INSERT INTO Client (IdClient, Nume, Prenume, Varsta,
'Pop','Ana','25','2901511340023','feminin');
INSERT INTO Client (IdClient, Nume, Prenume, Varsta,
'Pop','Anca','24','2901511340022','feminin');
INSERT INTO Client (IdClient, Nume, Prenume, Varsta,
'Moldo','Dorin','22','1911211340023','masculin');
INSERT INTO Client (IdClient, Nume, Prenume, Varsta,
'Vrancea','Mihai','23','1933411340023','masculin');
INSERT INTO Client (IdClient, Nume, Prenume, Varsta,
'Balag','Andrada','23','2920205013496','feminin');
INSERT INTO Client (IdClient, Nume, Prenume, Varsta,
'Hanga','Mihai','22','1910305321874','masculin');
INSERT INTO Client (IdClient, Nume, Prenume, Varsta,
'Hanu','Alex','23','1920504219763','masculin');
INSERT INTO Client (IdClient, Nume, Prenume, Varsta,
'Andonie','Petru','38','1970804218563','masculin');
INSERT INTO Client (IdClient, Nume, Prenume, Varsta,
'Hanca','Dana','45','2970505983172','feminin');

CNP, Sex) VALUES ('1',


CNP, Sex) VALUES ('2',
CNP, Sex) VALUES ('3',
CNP, Sex) VALUES ('4',
CNP, Sex) VALUES ('5',
CNP, Sex) VALUES ('6',
CNP, Sex) VALUES ('7',
CNP, Sex) VALUES ('8',
CNP, Sex) VALUES ('9',
CNP, Sex) VALUES ('10',

INSERT INTO Angajat (IdAngajat, Nume, Prenume, Adresa, Vechime)


('1','Munteanu','Ion','str. Mihai Eminescu, Cluj Napoca, nr 2','3');
INSERT INTO Angajat (IdAngajat, Nume, Prenume, Adresa, Vechime)
('2','Cordea','Andrei','str. Florilor,Cluj Napoca, nr 24A','5');
INSERT INTO Angajat (IdAngajat, Nume, Prenume, Adresa, Vechime)
('3','Sanislav','Florin','str. Digului,Floresti, nr 65','2');
INSERT INTO Angajat (IdAngajat, Nume, Prenume, Adresa, Vechime)
('4','Lungu','Adrian','str. Malinului,Floresti, nr 13','3');
INSERT INTO Angajat (IdAngajat, Nume, Prenume, Adresa, Vechime)
('5','Istrate','Valentin','str. Abator,Cluj Napoca, nr 6B','7');
INSERT INTO Angajat (IdAngajat, Nume, Prenume, Adresa, Vechime)
('6','Timar','Andrei','str. Mihai Viteazu,Cluj Napoca, nr 92','4');
INSERT INTO Angajat (IdAngajat, Nume, Prenume, Adresa, Vechime)
('7','Marinescu','Alin','str. Lunga,Turda, nr 56','4');

VALUES
VALUES
VALUES
VALUES
VALUES
VALUES
VALUES

INSERT INTO Angajat (IdAngajat, Nume, Prenume, Adresa, Vechime) VALUES


('8','Mihoc','Georgiana','str. Memorandumului,Cluj Napoca, nr 12','1');
INSERT INTO Angajat (IdAngajat, Nume, Prenume, Adresa, Vechime) VALUES
('9','Cristea','Bogdan','str. Gheorghe Dima ,Cluj Napoca, nr 102B','6');
INSERT INTO Angajat (IdAngajat, Nume, Prenume, Adresa, Vechime) VALUES
('10','Balan','Andrei','str. Ciocarliei,Floresti, nr 22','8');
INSERT INTO Angajat (IdAngajat, Nume, Prenume, Adresa, Vechime) VALUES

INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT

INTO
INTO
INTO
INTO
INTO
INTO
INTO
INTO
INTO
INTO

Functii
Functii
Functii
Functii
Functii
Functii
Functii
Functii
Functii
Functii

INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT

INTO
INTO
INTO
INTO
INTO
INTO
INTO
INTO
INTO
INTO

Piesa
Piesa
Piesa
Piesa
Piesa
Piesa
Piesa
Piesa
Piesa
Piesa

(IdFunctie,
(IdFunctie,
(IdFunctie,
(IdFunctie,
(IdFunctie,
(IdFunctie,
(IdFunctie,
(IdFunctie,
(IdFunctie,
(IdFunctie,

(IdPiesa,
(IdPiesa,
(IdPiesa,
(IdPiesa,
(IdPiesa,
(IdPiesa,
(IdPiesa,
(IdPiesa,
(IdPiesa,
(IdPiesa,

IdAngajat,
IdAngajat,
IdAngajat,
IdAngajat,
IdAngajat,
IdAngajat,
IdAngajat,
IdAngajat,
IdAngajat,
IdAngajat,

Nume,
Nume,
Nume,
Nume,
Nume,
Nume,
Nume,
Nume,
Nume,
Nume,

Pret)
Pret)
Pret)
Pret)
Pret)
Pret)
Pret)
Pret)
Pret)
Pret)

Denumire)
Denumire)
Denumire)
Denumire)
Denumire)
Denumire)
Denumire)
Denumire)
Denumire)
Denumire)

VALUES
VALUES
VALUES
VALUES
VALUES
VALUES
VALUES
VALUES
VALUES
VALUES

VALUES
VALUES
VALUES
VALUES
VALUES
VALUES
VALUES
VALUES
VALUES
VALUES

('1','2','Director General');
('2','8','Director Tehnic');
('3','10','Manager Piese');
('4','6','Inginer Mecanic');
('5','12','Consilier Service');
('6','1','Mecanic Auto');
('7','7','Tinichigiu Auto');
('8','5','Vopsitor');
('9','9','Receptioner Service');
('10','4','Director Comercial');

('1', 'bujii', '200.50');


('2', 'elemente de caroserie', '350');
('3', 'far fata', '287.49');
('4', 'lampa spate', '199');
('5', 'pivot brat inferior punte ', '467');
('6', 'supapa control', '820.50');
('7', 'janta Tabla Neagra', '97.69');
('8', 'set capace clasic', '100.50');
('9', 'filtru de ulei', '10.50');
('10', 'capac brat stergator', '25');

INSERT INTO Automobil(IdAutomobil, Marca, Model, Putere, Carburant, Pret) VALUES


('1','BMW','Seria 3','177 CP','Diesel','38000');
INSERT INTO Automobil(IdAutomobil, Marca, Model, Putere, Carburant, Pret) VALUES
('2','Chevrolet','Impala','183 CP','Diesel','11620');
INSERT INTO Automobil(IdAutomobil, Marca, Model, Putere, Carburant, Pret) VALUES
('3','Jaguar','F-Pace','200 CP','Diesel','54000');
INSERT INTO Automobil(IdAutomobil, Marca, Model, Putere, Carburant, Pret) VALUES
('4','Audi','S3','170 CP','Diesel','43200');
INSERT INTO Automobil(IdAutomobil, Marca, Model, Putere, Carburant, Pret) VALUES ('5','Audi','A4
Avant','180 CP','Diesel','25 600');

INSERT INTO Automobil(IdAutomobil, Marca, Model, Putere, Carburant, Pret) VALUES


('6','Ford','Fiesta','160 CP','Diesel','25500');
INSERT INTO Automobil(IdAutomobil, Marca, Model, Putere, Carburant, Pret) VALUES
('7','Ford','Focus','150 CP','Diesel','15700');
INSERT INTO Automobil(IdAutomobil, Marca, Model, Putere, Carburant, Pret) VALUES
('8','BMW','Seria 5','190 CP','Diesel','75000');
INSERT INTO Automobil(IdAutomobil, Marca, Model, Putere, Carburant, Pret) VALUES
('9','Renault','Zoe','150 CP','Diesel','20900');
INSERT INTO Automobil(IdAutomobil, Marca, Model, Putere, Carburant, Pret) VALUES
('10','Renault','Clio','140 CP','Diesel','59450');

INSERT INTO Furnizor(IdFurnizor,


nr.2');
INSERT INTO Furnizor(IdFurnizor,
Closca, nr.43A');
INSERT INTO Furnizor(IdFurnizor,
nr.16');
INSERT INTO Furnizor(IdFurnizor,
Brazilor, nr.54A');
INSERT INTO Furnizor(IdFurnizor,

Denumire, Adresa) VALUES ('1', 'Matilda Auto', 'str. Campului,


Denumire, Adresa) VALUES ('2', 'Magna International Inc.', 'str.
Denumire, Adresa) VALUES ('3', 'Hyundai Mobis', 'str. Crisan,
Denumire, Adresa) VALUES ('4', 'Johnson Controls Inc.', 'str.
Denumire, Adresa) VALUES ('5', 'Faurecia', 'str. 1 Mai, nr.2');

INSERT INTO Vanzari(IdVanzari, IdClient, IdAutomobil, Data) VALUES ('1', '5', '2', '15 septembrie
2015');
INSERT INTO Vanzari(IdVanzari, IdClient, IdAutomobil, Data) VALUES ('2', '8', '1', '05 aprilie 2015');
INSERT INTO Vanzari(IdVanzari, IdClient, IdAutomobil, Data) VALUES ('3', '6', '5', '02 februarie
2015');
INSERT INTO Vanzari(IdVanzari, IdClient, IdAutomobil, Data) VALUES ('4', '3', '8', '10 septembrie
2015');
INSERT INTO Vanzari(IdVanzari, IdClient, IdAutomobil, Data) VALUES ('5', '9', '10', '23 octombrie
2015');
INSERT INTO Vanzari(IdVanzari, IdClient, IdAutomobil, Data) VALUES ('6', '7', '6', '05 decembrie
2015');
INSERT INTO Vanzari(IdVanzari, IdClient, IdAutomobil, Data) VALUES ('7', '2', '9', '13 mai 2015');
INSERT INTO Vanzari(IdVanzari, IdClient, IdAutomobil, Data) VALUES ('8', '10', '3', '10 iunie 2015');
INSERT INTO Vanzari(IdVanzari, IdClient, IdAutomobil, Data) VALUES ('9', '4', '7', '09 august
2015');

INSERT INTO Vanzari(IdVanzari, IdClient, IdAutomobil, Data) VALUES ('10', '1', '4', '16 ianuarie
2015');

INSERT
INSERT
INSERT
INSERT
INSERT

INTO
INTO
INTO
INTO
INTO

Stoc(IdStoc,
Stoc(IdStoc,
Stoc(IdStoc,
Stoc(IdStoc,
Stoc(IdStoc,

IdFurnizor,
IdFurnizor,
IdFurnizor,
IdFurnizor,
IdFurnizor,

IdAutomobil,
IdAutomobil,
IdAutomobil,
IdAutomobil,
IdAutomobil,

Cantitate)
Cantitate)
Cantitate)
Cantitate)
Cantitate)

VALUES
VALUES
VALUES
VALUES
VALUES

('1',
('2',
('3',
('4',
('5',

'4',
'1',
'2',
'3',
'5',

'10', '1');
'3', '3');
'6', '2');
'1', '4');
'4', '5');

Vederi
1.Prima vedere este cea in care extragem toate automobilele
marca Audi
CREATE VIEW Audi
AS
SELECT IdAutomobil, Model, Putere, Carburant, Pret
FROM Automobile
WHERE Marca = 'Audi';
2.
OBS

Pentru a vedea faptul c vederea a fost creat ntr-adevr folosim aceeai


sintax ca mai sus, deci vom interoga tabela de obiecte USER_OBJECTS.
SELECT OBJECT_NAME, OBJECT_TYPE FROM USER_OBJECTS WHERE
OBJECT_TYPE = 'VIEW'

You might also like