1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207
|
-- tabela1 PatrimoniuMasini
-- numarul masinii este unic -constrangere UNIQUE
CREATE DATABASE ParcAuto
CREATE TABLE PatrimoniuMasini
(
IdMasina int PRIMARY KEY NOT NULL IDENTITY(1,1),
NumarMasina varchar(255) UNIQUE,
PersoanaFolMasina varchar(255),
Utilizator varchar(255)
)
-- utilizator e firma careia ii apartine automobilul sau l-a inchiriat
-- tabela2 TipuriAutomobile
CREATE TABLE TipuriAutomobile
(IdTip int PRIMARY KEY NOT NULL,
IdMasina int,
TipAutomobil varchar(255),
CapacitateMotor varchar(255),
CapacitateTransport varchar(255),
TipCombustibil varchar(255),
NormaL100KM decimal(3,2) -- 3 zecimale in total , 2 zecimale dupa virgula
)
-- un numar de masina poate face mai multe drumuri
CREATE TABLE FoaieParcursMasina
(IdFoaie int PRIMARY KEY NOT NULL,
DataFoaieParcurs datetime,
IdMasina int,
NumarMasina varchar(255),
DataOraPlecare datetime,
DataOraSosire datetime,
NumeSofer varchar(255),
LocalitatePlecare varchar(255),
LocalitateSosire varchar(255),
KM int,
CombustibilConsumat int, --combustibil consumat =km*normaL100km
MotivDeplasare varchar(255),
MarfaTransportata varchar(255),
Utilizator varchar(255)
)
--unde DataInregistrarii este data inregistrarii foaie parcurs
-- e reprezentata de campul DataFoaieParcurs
-- utilizator in tabela FoaieParcursMasina e beneficiarul
--caruia ii transportam marfa conform foii de parcurs
-- Inserare inregistrari in cele 3 tabele
-- in cheia IDENTITY nu se insereaza valori e numerotata automat
-- utilizator -nume firma care a inchiriat masina
-- inserare inregistrari in tabela 1
INSERT INTO PatrimoniuMasini(NumarMasina,PersoanaFolMasina,Utilizator)
VALUES ('DB-20-RTS','Popescu George','Cimentul Fieni');
INSERT INTO PatrimoniuMasini(NumarMasina,PersoanaFolMasina,Utilizator)
VALUES ('DB-03-STR','Popescu Cosmin','Cimentul Fieni');
INSERT INTO PatrimoniuMasini(NumarMasina,PersoanaFolMasina,Utilizator)
VALUES ('DB-02-SPR','Georgescu Ionel','Cimentul Fieni');
INSERT INTO PatrimoniuMasini(NumarMasina,PersoanaFolMasina,Utilizator)
VALUES ('CJ-02-MIH','Ionascu Paul','SC Materiale Constructii Cluj');
INSERT INTO PatrimoniuMasini(NumarMasina,PersoanaFolMasina,Utilizator)
VALUES ('CJ-06-ION','Ion Paul','SC Materiale Constructii Cluj');
INSERT INTO PatrimoniuMasini(NumarMasina,PersoanaFolMasina,Utilizator)
VALUES ('CJ-05-TIZ','Pricop George','SC Materiale Constructii Cluj');
INSERT INTO PatrimoniuMasini(NumarMasina,PersoanaFolMasina,Utilizator)
VALUES ('GL-08-FIT','Pricop Cristian','SC Materiale Constructii Galati');
INSERT INTO PatrimoniuMasini(NumarMasina,PersoanaFolMasina,Utilizator)
VALUES ('GL-28-TIO','Enache Florin','SC Materiale Constructii Galati');
INSERT INTO PatrimoniuMasini(NumarMasina,PersoanaFolMasina,Utilizator)
VALUES ('GL-24-CAR','Enache Cosmin','SC Materiale Constructii Galati');
INSERT INTO PatrimoniuMasini(NumarMasina,PersoanaFolMasina,Utilizator)
VALUES ('GL-19-RAC','Mihai Paul','SC Materiale Constructii Galati');
-- inserare inregistrari in tabela2
INSERT INTO TipuriAutomobile(IdTip,IdMasina,TipAutomobil,CapacitateMotor,CapacitateTransport,TipCombustibil,NormaL100KM)
VALUES(1,1,'auto-cisterna','340kw','9000kg','motorina',8.93);
INSERT INTO TipuriAutomobile(IdTip,IdMasina,TipAutomobil,CapacitateMotor,CapacitateTransport,TipCombustibil,NormaL100KM)
VALUES(2,2,'camion','320kw','7000kg','benzina',9.09);
INSERT INTO TipuriAutomobile(IdTip,IdMasina,TipAutomobil,CapacitateMotor,CapacitateTransport,TipCombustibil,NormaL100KM)
VALUES(3,3,'auto-utilitara','300kw','8500kg','GPL',9.59);
INSERT INTO TipuriAutomobile(IdTip,IdMasina,TipAutomobil,CapacitateMotor,CapacitateTransport,TipCombustibil,NormaL100KM)
VALUES(4,4,'basculanta','290kw','5500kg','benzina',8.83);
-- inserare inregistrari in tabela3
-- Beneficiar este campul utilizator din tabela FoaieParcursMasina
-- campul Combustibil consumat valori introduse prin calcul km*norma100km
-- un sofer poate avea mai multe foi de parcurs intr-o luna
--format datetime: an/luna/zi primele 2 cifre anul, urmatoarele 2 luna si 2 cifre zi
INSERT INTO FoaieParcursMasina(IdFoaie,DataFoaieParcurs,IdMasina,NumarMasina,DataOraPlecare,DataOraSosire,NumeSofer,LocalitatePlecare,LocalitateSosire,KM,MotivDeplasare,MarfaTransportata,Utilizator)
VALUES(001,'060207 ',1,'DB-20-RTS','020207 9:32:35','020207 11:20:32','Popescu George','Targoviste','Bucuresti',110,'transport marfa','ciment','Materiale Constructii Bucuresti ');
INSERT INTO FoaieParcursMasina(IdFoaie,DataFoaieParcurs,IdMasina,NumarMasina,DataOraPlecare,DataOraSosire,NumeSofer,LocalitatePlecare,LocalitateSosire,KM,MotivDeplasare,MarfaTransportata,Utilizator)
VALUES(002,'090407 ',2,'DB-20-RTS','040407 9:21:20','040407 11:51:42','Popescu George','Targoviste','Medgidia',140,'transport marfa','ciment','Cimentul Medgidia');
INSERT INTO FoaieParcursMasina(IdFoaie,DataFoaieParcurs,IdMasina,NumarMasina,DataOraPlecare,DataOraSosire,NumeSofer,LocalitatePlecare,LocalitateSosire,KM,MotivDeplasare,MarfaTransportata,Utilizator)
VALUES(003,'120807 ',3,'DB-02-SPR','040807 9:21:20','040807 11:51:42','Popescu Cosmin','Targoviste','Bucuresti',110,'transport marfa','fier beton','Materiale Constructii Bucuresti ');
INSERT INTO FoaieParcursMasina(IdFoaie,DataFoaieParcurs,IdMasina,NumarMasina,DataOraPlecare,DataOraSosire,NumeSofer,LocalitatePlecare,LocalitateSosire,KM,MotivDeplasare,MarfaTransportata,Utilizator)
VALUES(004,'130807 ',4,'DB-02-SPR','060807 9:21:20','060807 11:51:42','Georgescu Ionel','Targoviste','Bucuresti',110,'transport marfa','fier beton','Materiale Constructii Bucuresti ');
INSERT INTO FoaieParcursMasina(IdFoaie,DataFoaieParcurs,IdMasina,NumarMasina,DataOraPlecare,DataOraSosire,NumeSofer,LocalitatePlecare,LocalitateSosire,KM,MotivDeplasare,MarfaTransportata,Utilizator)
VALUES(005,'150807 ',5,'DB-02-SPR','070807 10:30:20','070807 12:51:42','Ionascu Paul','Targoviste','Bucuresti',110,'transport marfa','fier beton','Materiale Constructii Bucuresti ');
INSERT INTO FoaieParcursMasina(IdFoaie,DataFoaieParcurs,IdMasina,NumarMasina,DataOraPlecare,DataOraSosire,NumeSofer,LocalitatePlecare,LocalitateSosire,KM,MotivDeplasare,MarfaTransportata,Utilizator)
VALUES(006,'180807 ',6,'DB-03-STR','110807 10:30:20','110807 12:51:42','Ion Paul','Targoviste','Medgidia',140,'transport marfa','ciment','Cimentul Medgidia');
INSERT INTO FoaieParcursMasina(IdFoaie,DataFoaieParcurs,IdMasina,NumarMasina,DataOraPlecare,DataOraSosire,NumeSofer,LocalitatePlecare,LocalitateSosire,KM,MotivDeplasare,MarfaTransportata,Utilizator)
VALUES(007,'180807 ',7,'GL-08-FIT','130807 10:30:20','130807 12:51:42','Pricop George','Targoviste','Medgidia',140,'transport marfa','ciment','Cimentul Medgidia');
INSERT INTO FoaieParcursMasina(IdFoaie,DataFoaieParcurs,IdMasina,NumarMasina,DataOraPlecare,DataOraSosire,NumeSofer,LocalitatePlecare,LocalitateSosire,KM,MotivDeplasare,MarfaTransportata,Utilizator)
VALUES(008,'200807 ',8,'GL-08-FIT','140807 10:30:20','140807 12:51:42','Pricop Cristian','Targoviste','Medgidia',140,'transport marfa','ciment','Cimentul Medgidia');
INSERT INTO FoaieParcursMasina(IdFoaie,DataFoaieParcurs,IdMasina,NumarMasina,DataOraPlecare,DataOraSosire,NumeSofer,LocalitatePlecare,LocalitateSosire,KM,MotivDeplasare,MarfaTransportata,Utilizator)
VALUES(009,'250807 ',9,'GL-24-CAR','170807 10:30:20','170807 12:51:42','Enache Florin','Targoviste','Medgidia',140,'transport marfa','ciment','Cimentul Medgidia');
INSERT INTO FoaieParcursMasina(IdFoaie,DataFoaieParcurs,IdMasina,NumarMasina,DataOraPlecare,DataOraSosire,NumeSofer,LocalitatePlecare,LocalitateSosire,KM,MotivDeplasare,MarfaTransportata,Utilizator)
VALUES(010,'250807 ',10,'GL-24-CAR','170807 10:30:20','170807 12:51:42','Mihai Paul','Targoviste','Medgidia',140,'transport marfa','ciment','Cimentul Medgidia');
-- tabela 4 DatePtFoiParcurs adaugare inreg la completare formular
INSERT INTO FoaieParcursMasina(IdFoaie,DataFoaieParcurs,IdMasina,NumarMasina,DataOraPlecare,DataOraSosire,NumeSofer,LocalitatePlecare,LocalitateSosire,KM,MotivDeplasare,MarfaTransportata,Utilizator)
VALUES(011,'20070825',11,'GL-24-CAR','20070807 10:30:20','20070817 12:51:42','Mihai Paul','Targoviste','Medgidia',140,'transport marfa','ciment','Cimentul Medgidia');
--Numar masina in tabela foaie parcurs masini
SELECT * FROM PatrimoniuMasini
SELECT * FROM TipuriAutomobile
SELECT * FROM FoaieParcursMasina
--query cu informatii despre numarmasina,perioade,plecare,destinatie
SELECT tab1.NumarMasina,tab2.DataOraPlecare,tab2.DataOraSosire,tab2.LocalitatePlecare,tab2.LocalitateSosire
FROM PatrimoniuMasini tab1
left join FoaieParcursMasina tab2 on tab1.IdMasina = tab2.IdMasina
--WHERE DataOraPlecare = '200708 10:30:20' AND DataOraSosire = '200708 12:51:42' AND LocalitatePlecare='Targoviste' AND LocalitateSosire='Medgidia'
-- procedura stocata cu informatii numarmasina,perioada,plecare,destinatie
CREATE PROCEDURE Informatii -- creation procedure avec le nom Informatii
-- definir les 5 parametres de la procedure stoque
@NumarMasina varchar(255),
@DataOraPlecare datetime,
@DataOraSosire datetime,
@LocalitatePlecare varchar(255),
@LocalitateSosire varchar(255)
AS -- AS mot reserve suivi par la requete
-- maintenant la requete integre dans la procedure stoque
SELECT tab1.NumarMasina,tab2.DataOraPlecare,tab2.DataOraSosire,tab2.LocalitatePlecare,tab2.LocalitateSosire
FROM PatrimoniuMasini tab1
left join FoaieParcursMasina tab2 on tab1.IdMasina = tab2.IdMasina
GO
EXEC Informatii 'DB-20-RTS','020207','020207','Targoviste','Bucuresti' |
Partager