· 7 years ago · Jan 23, 2019, 05:28 PM
1USE [master]
2GO
3/****** Object: Database [TransportManagmentSystem] Script Date: 23.01.2019 18:24:11 ******/
4CREATE DATABASE [TransportManagmentSystem]
5 CONTAINMENT = NONE
6 ON PRIMARY
7( NAME = N'TransportManagmentSystem', FILENAME = N'D:\Programy\SQL Server 2017\MSSQL14.MSSQLSERVER\MSSQL\DATA\TransportManagmentSystem.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
8 LOG ON
9( NAME = N'TransportManagmentSystem_log', FILENAME = N'D:\Programy\SQL Server 2017\MSSQL14.MSSQLSERVER\MSSQL\DATA\TransportManagmentSystem_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )
10GO
11ALTER DATABASE [TransportManagmentSystem] SET COMPATIBILITY_LEVEL = 140
12GO
13IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
14begin
15EXEC [TransportManagmentSystem].[dbo].[sp_fulltext_database] @action = 'enable'
16end
17GO
18ALTER DATABASE [TransportManagmentSystem] SET ANSI_NULL_DEFAULT OFF
19GO
20ALTER DATABASE [TransportManagmentSystem] SET ANSI_NULLS OFF
21GO
22ALTER DATABASE [TransportManagmentSystem] SET ANSI_PADDING OFF
23GO
24ALTER DATABASE [TransportManagmentSystem] SET ANSI_WARNINGS OFF
25GO
26ALTER DATABASE [TransportManagmentSystem] SET ARITHABORT OFF
27GO
28ALTER DATABASE [TransportManagmentSystem] SET AUTO_CLOSE OFF
29GO
30ALTER DATABASE [TransportManagmentSystem] SET AUTO_SHRINK OFF
31GO
32ALTER DATABASE [TransportManagmentSystem] SET AUTO_UPDATE_STATISTICS ON
33GO
34ALTER DATABASE [TransportManagmentSystem] SET CURSOR_CLOSE_ON_COMMIT OFF
35GO
36ALTER DATABASE [TransportManagmentSystem] SET CURSOR_DEFAULT GLOBAL
37GO
38ALTER DATABASE [TransportManagmentSystem] SET CONCAT_NULL_YIELDS_NULL OFF
39GO
40ALTER DATABASE [TransportManagmentSystem] SET NUMERIC_ROUNDABORT OFF
41GO
42ALTER DATABASE [TransportManagmentSystem] SET QUOTED_IDENTIFIER OFF
43GO
44ALTER DATABASE [TransportManagmentSystem] SET RECURSIVE_TRIGGERS OFF
45GO
46ALTER DATABASE [TransportManagmentSystem] SET DISABLE_BROKER
47GO
48ALTER DATABASE [TransportManagmentSystem] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
49GO
50ALTER DATABASE [TransportManagmentSystem] SET DATE_CORRELATION_OPTIMIZATION OFF
51GO
52ALTER DATABASE [TransportManagmentSystem] SET TRUSTWORTHY OFF
53GO
54ALTER DATABASE [TransportManagmentSystem] SET ALLOW_SNAPSHOT_ISOLATION OFF
55GO
56ALTER DATABASE [TransportManagmentSystem] SET PARAMETERIZATION SIMPLE
57GO
58ALTER DATABASE [TransportManagmentSystem] SET READ_COMMITTED_SNAPSHOT OFF
59GO
60ALTER DATABASE [TransportManagmentSystem] SET HONOR_BROKER_PRIORITY OFF
61GO
62ALTER DATABASE [TransportManagmentSystem] SET RECOVERY FULL
63GO
64ALTER DATABASE [TransportManagmentSystem] SET MULTI_USER
65GO
66ALTER DATABASE [TransportManagmentSystem] SET PAGE_VERIFY CHECKSUM
67GO
68ALTER DATABASE [TransportManagmentSystem] SET DB_CHAINING OFF
69GO
70ALTER DATABASE [TransportManagmentSystem] SET FILESTREAM( NON_TRANSACTED_ACCESS = OFF )
71GO
72ALTER DATABASE [TransportManagmentSystem] SET TARGET_RECOVERY_TIME = 60 SECONDS
73GO
74ALTER DATABASE [TransportManagmentSystem] SET DELAYED_DURABILITY = DISABLED
75GO
76EXEC sys.sp_db_vardecimal_storage_format N'TransportManagmentSystem', N'ON'
77GO
78ALTER DATABASE [TransportManagmentSystem] SET QUERY_STORE = OFF
79GO
80USE [TransportManagmentSystem]
81GO
82/****** Object: UserDefinedFunction [dbo].[KilogramyPerAuto] Script Date: 23.01.2019 18:24:12 ******/
83SET ANSI_NULLS ON
84GO
85SET QUOTED_IDENTIFIER ON
86GO
87CREATE function [dbo].[KilogramyPerAuto] (@NrRej varchar(50))
88returns float
89AS
90BEGIN
91 declare @kg float;
92 select
93 @kg = SUM(ol.Waga)
94 from Transport t
95 left join ObiektyLogistyczne ol on t.IdTrasy = ol.IdObiektLogistyczny and ol.Typ IN ('o', 'w', 'd')
96 where t.IdPojazdu = @NrRej
97 return(@kg);
98END;
99GO
100/****** Object: Table [dbo].[Kontrahenci] Script Date: 23.01.2019 18:24:12 ******/
101SET ANSI_NULLS ON
102GO
103SET QUOTED_IDENTIFIER ON
104GO
105CREATE TABLE [dbo].[Kontrahenci](
106 [IdKontrahenta] [int] IDENTITY(1,1) NOT NULL,
107 [Typ] [int] NOT NULL,
108 [Nazwa] [varchar](max) NULL,
109 [Ulica] [varchar](max) NULL,
110 [Numer] [varchar](10) NULL,
111 [KodPocztowy] [varchar](10) NULL,
112 [Miasto] [varchar](max) NULL,
113 [Kraj] [varchar](3) NULL,
114 [Telefon] [varchar](20) NULL,
115 [Email] [varchar](50) NULL,
116PRIMARY KEY CLUSTERED
117(
118 [IdKontrahenta] ASC
119)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
120) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
121GO
122/****** Object: Table [dbo].[ObiektyLogistyczneKontrahenci] Script Date: 23.01.2019 18:24:12 ******/
123SET ANSI_NULLS ON
124GO
125SET QUOTED_IDENTIFIER ON
126GO
127CREATE TABLE [dbo].[ObiektyLogistyczneKontrahenci](
128 [IdObiektLogistyczny] [int] NOT NULL,
129 [Typ] [int] NOT NULL,
130 [IdKontrahent] [int] NOT NULL
131) ON [PRIMARY]
132GO
133/****** Object: View [dbo].[ObiektyLogistyczneKontrahenciPelneDane] Script Date: 23.01.2019 18:24:12 ******/
134SET ANSI_NULLS ON
135GO
136SET QUOTED_IDENTIFIER ON
137GO
138CREATE VIEW [dbo].[ObiektyLogistyczneKontrahenciPelneDane]
139AS
140select
141 olk.IdObiektLogistyczny,
142 olk.Typ,
143 k.Nazwa,
144 k.Ulica,
145 k.Numer,
146 k.KodPocztowy,
147 k.Miasto,
148 k.Kraj,
149 k.Telefon,
150 k.Email
151from ObiektyLogistyczneKontrahenci olk
152left join Kontrahenci k on olk.IdKontrahent = k.IdKontrahenta and olk.Typ = k.Typ;
153GO
154/****** Object: Table [dbo].[LinieTowarowe] Script Date: 23.01.2019 18:24:12 ******/
155SET ANSI_NULLS ON
156GO
157SET QUOTED_IDENTIFIER ON
158GO
159CREATE TABLE [dbo].[LinieTowarowe](
160 [Id] [int] IDENTITY(1,1) NOT NULL,
161 [IdPrzesylka] [int] NOT NULL,
162 [IdOpakowanie] [int] NOT NULL,
163 [Opis] [varchar](50) NULL,
164 [WagaBrutto] [float] NULL,
165 [Objetosc] [float] NULL,
166 [MP] [decimal](18, 0) NULL,
167 [MnoznikADR] [float] NULL,
168 [PunktyADR] [float] NULL,
169 CONSTRAINT [PK_LinieTowarowe] PRIMARY KEY CLUSTERED
170(
171 [Id] ASC
172)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
173) ON [PRIMARY]
174GO
175/****** Object: Table [dbo].[ObiektyLogistyczne] Script Date: 23.01.2019 18:24:12 ******/
176SET ANSI_NULLS ON
177GO
178SET QUOTED_IDENTIFIER ON
179GO
180CREATE TABLE [dbo].[ObiektyLogistyczne](
181 [IdObiektLogistyczny] [int] IDENTITY(1,1) NOT NULL,
182 [Typ] [varchar](1) NOT NULL,
183 [DataStart] [datetime] NOT NULL,
184 [DataStop] [datetime] NOT NULL,
185 [Waga] [float] NULL,
186 [Objetosc] [float] NULL,
187 [MP] [float] NULL,
188 [ADR] [float] NULL,
189PRIMARY KEY CLUSTERED
190(
191 [IdObiektLogistyczny] ASC
192)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
193) ON [PRIMARY]
194GO
195/****** Object: Table [dbo].[Opakowania] Script Date: 23.01.2019 18:24:12 ******/
196SET ANSI_NULLS ON
197GO
198SET QUOTED_IDENTIFIER ON
199GO
200CREATE TABLE [dbo].[Opakowania](
201 [IdOpakowania] [int] IDENTITY(1,1) NOT NULL,
202 [Opis] [varchar](max) NULL,
203 [Waga] [float] NULL,
204 [Objetosc] [float] NULL,
205 [MP] [float] NULL,
206PRIMARY KEY CLUSTERED
207(
208 [IdOpakowania] ASC
209)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
210) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
211GO
212/****** Object: Table [dbo].[Pojazdy] Script Date: 23.01.2019 18:24:12 ******/
213SET ANSI_NULLS ON
214GO
215SET QUOTED_IDENTIFIER ON
216GO
217CREATE TABLE [dbo].[Pojazdy](
218 [NrRej] [varchar](50) NOT NULL,
219 [Marka] [varchar](50) NOT NULL,
220 [Model] [varchar](200) NULL,
221 [Euro] [varchar](2) NULL,
222 [TypPojazdu] [int] NOT NULL,
223 [RowVersion] [timestamp] NOT NULL,
224 CONSTRAINT [PK_Pojazdy] PRIMARY KEY CLUSTERED
225(
226 [NrRej] ASC
227)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
228) ON [PRIMARY]
229GO
230/****** Object: Table [dbo].[Pracownicy] Script Date: 23.01.2019 18:24:12 ******/
231SET ANSI_NULLS ON
232GO
233SET QUOTED_IDENTIFIER ON
234GO
235CREATE TABLE [dbo].[Pracownicy](
236 [IdPracownik] [int] IDENTITY(1,1) NOT NULL,
237 [Imie] [varchar](50) NULL,
238 [Nazwisko] [varchar](50) NULL,
239 [IdStanowisko] [int] NOT NULL,
240 [Email] [varchar](100) NOT NULL,
241 [Telefon] [varchar](20) NOT NULL,
242 [Oddzial] [int] NULL,
243PRIMARY KEY CLUSTERED
244(
245 [IdPracownik] ASC
246)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
247) ON [PRIMARY]
248GO
249/****** Object: Table [dbo].[Stanowiska] Script Date: 23.01.2019 18:24:12 ******/
250SET ANSI_NULLS ON
251GO
252SET QUOTED_IDENTIFIER ON
253GO
254CREATE TABLE [dbo].[Stanowiska](
255 [IdStanowisko] [int] IDENTITY(1,1) NOT NULL,
256 [Nazwa] [varchar](100) NOT NULL,
257PRIMARY KEY CLUSTERED
258(
259 [IdStanowisko] ASC
260)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
261) ON [PRIMARY]
262GO
263/****** Object: Table [dbo].[Transport] Script Date: 23.01.2019 18:24:12 ******/
264SET ANSI_NULLS ON
265GO
266SET QUOTED_IDENTIFIER ON
267GO
268CREATE TABLE [dbo].[Transport](
269 [IdTrasy] [int] NOT NULL,
270 [IdPracownika] [int] NOT NULL,
271 [IdPojazdu] [varchar](50) NOT NULL,
272 [Kolejnosc] [int] NOT NULL
273) ON [PRIMARY]
274GO
275/****** Object: Table [dbo].[TrasyPrzesylki] Script Date: 23.01.2019 18:24:12 ******/
276SET ANSI_NULLS ON
277GO
278SET QUOTED_IDENTIFIER ON
279GO
280CREATE TABLE [dbo].[TrasyPrzesylki](
281 [IdPrzesylki] [int] NOT NULL,
282 [IdTrasy] [int] NOT NULL,
283 [Kolejnosc] [int] NOT NULL
284) ON [PRIMARY]
285GO
286/****** Object: Table [dbo].[TypPojazdu] Script Date: 23.01.2019 18:24:12 ******/
287SET ANSI_NULLS ON
288GO
289SET QUOTED_IDENTIFIER ON
290GO
291CREATE TABLE [dbo].[TypPojazdu](
292 [TypPojazdu] [int] NOT NULL,
293 [Waga] [float] NOT NULL,
294 [Dmc] [float] NOT NULL,
295 [Dlugosc] [float] NULL,
296 [Szerokosc] [float] NULL,
297 CONSTRAINT [PK_TypPojazdu] PRIMARY KEY CLUSTERED
298(
299 [TypPojazdu] ASC
300)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
301) ON [PRIMARY]
302GO
303/****** Object: Table [dbo].[Uzytkownicy] Script Date: 23.01.2019 18:24:12 ******/
304SET ANSI_NULLS ON
305GO
306SET QUOTED_IDENTIFIER ON
307GO
308CREATE TABLE [dbo].[Uzytkownicy](
309 [IdPracownika] [int] NOT NULL,
310 [Login] [varchar](50) NOT NULL,
311 [Haslo] [varchar](100) NOT NULL,
312 CONSTRAINT [PK_Uzytkownicy] PRIMARY KEY CLUSTERED
313(
314 [Login] ASC
315)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
316) ON [PRIMARY]
317GO
318SET IDENTITY_INSERT [dbo].[Kontrahenci] ON
319
320INSERT [dbo].[Kontrahenci] ([IdKontrahenta], [Typ], [Nazwa], [Ulica], [Numer], [KodPocztowy], [Miasto], [Kraj], [Telefon], [Email]) VALUES (1, 4, N'PUT', N'Plac Marii Skłodowskiej-Curie', N'5', N'60-965', N'Poznań', N'POL', N'123456789', N'abcd@put.poznan.pl')
321INSERT [dbo].[Kontrahenci] ([IdKontrahenta], [Typ], [Nazwa], [Ulica], [Numer], [KodPocztowy], [Miasto], [Kraj], [Telefon], [Email]) VALUES (2, 5, N'Something company', N'Ulicowa', N'1', N'99-999', N'Nibylandia', N'POL', N'987654321', N'abc@smthco.pl')
322SET IDENTITY_INSERT [dbo].[Kontrahenci] OFF
323SET IDENTITY_INSERT [dbo].[ObiektyLogistyczne] ON
324
325INSERT [dbo].[ObiektyLogistyczne] ([IdObiektLogistyczny], [Typ], [DataStart], [DataStop], [Waga], [Objetosc], [MP], [ADR]) VALUES (1, N'w', CAST(N'2018-12-05T20:15:27.977' AS DateTime), CAST(N'2018-12-04T20:15:27.977' AS DateTime), 500, NULL, NULL, NULL)
326INSERT [dbo].[ObiektyLogistyczne] ([IdObiektLogistyczny], [Typ], [DataStart], [DataStop], [Waga], [Objetosc], [MP], [ADR]) VALUES (2, N'o', CAST(N'2018-12-05T20:15:27.977' AS DateTime), CAST(N'2018-12-04T20:15:27.977' AS DateTime), 750, NULL, NULL, NULL)
327INSERT [dbo].[ObiektyLogistyczne] ([IdObiektLogistyczny], [Typ], [DataStart], [DataStop], [Waga], [Objetosc], [MP], [ADR]) VALUES (3, N'd', CAST(N'2018-12-05T20:15:27.977' AS DateTime), CAST(N'2018-12-04T20:15:27.977' AS DateTime), NULL, NULL, NULL, NULL)
328INSERT [dbo].[ObiektyLogistyczne] ([IdObiektLogistyczny], [Typ], [DataStart], [DataStop], [Waga], [Objetosc], [MP], [ADR]) VALUES (4, N'P', CAST(N'2018-04-04T00:00:00.000' AS DateTime), CAST(N'2018-05-05T00:00:00.000' AS DateTime), 2, 3, 4, 5)
329INSERT [dbo].[ObiektyLogistyczne] ([IdObiektLogistyczny], [Typ], [DataStart], [DataStop], [Waga], [Objetosc], [MP], [ADR]) VALUES (6, N'O', CAST(N'2018-04-04T00:00:00.000' AS DateTime), CAST(N'2018-05-05T00:00:00.000' AS DateTime), NULL, NULL, NULL, NULL)
330SET IDENTITY_INSERT [dbo].[ObiektyLogistyczne] OFF
331INSERT [dbo].[ObiektyLogistyczneKontrahenci] ([IdObiektLogistyczny], [Typ], [IdKontrahent]) VALUES (1, 4, 1)
332INSERT [dbo].[ObiektyLogistyczneKontrahenci] ([IdObiektLogistyczny], [Typ], [IdKontrahent]) VALUES (1, 5, 2)
333INSERT [dbo].[ObiektyLogistyczneKontrahenci] ([IdObiektLogistyczny], [Typ], [IdKontrahent]) VALUES (2, 4, 1)
334INSERT [dbo].[ObiektyLogistyczneKontrahenci] ([IdObiektLogistyczny], [Typ], [IdKontrahent]) VALUES (2, 5, 2)
335INSERT [dbo].[ObiektyLogistyczneKontrahenci] ([IdObiektLogistyczny], [Typ], [IdKontrahent]) VALUES (3, 4, 1)
336INSERT [dbo].[ObiektyLogistyczneKontrahenci] ([IdObiektLogistyczny], [Typ], [IdKontrahent]) VALUES (3, 5, 2)
337INSERT [dbo].[Pojazdy] ([NrRej], [Marka], [Model], [Euro], [TypPojazdu]) VALUES (N'3232323', N'12321', N'67', N'GB', 3)
338INSERT [dbo].[Pojazdy] ([NrRej], [Marka], [Model], [Euro], [TypPojazdu]) VALUES (N'4512312', N'MAN', N'3300', N'PL', 3)
339INSERT [dbo].[Pojazdy] ([NrRej], [Marka], [Model], [Euro], [TypPojazdu]) VALUES (N'7835334', N'Volvo', N'E300', N'PL', 1)
340INSERT [dbo].[Pojazdy] ([NrRej], [Marka], [Model], [Euro], [TypPojazdu]) VALUES (N'PL12312', N'Volvo', N'E5000', N'PL', 2)
341SET IDENTITY_INSERT [dbo].[Pracownicy] ON
342
343INSERT [dbo].[Pracownicy] ([IdPracownik], [Imie], [Nazwisko], [IdStanowisko], [Email], [Telefon], [Oddzial]) VALUES (1, N'Bartosz', N'Wieckowski', 1, N'abc@abc.pl', N'123456789', 1)
344INSERT [dbo].[Pracownicy] ([IdPracownik], [Imie], [Nazwisko], [IdStanowisko], [Email], [Telefon], [Oddzial]) VALUES (2, N'Michal', N'Sciborski', 1, N'def@abc.pl', N'0123456789', 1)
345INSERT [dbo].[Pracownicy] ([IdPracownik], [Imie], [Nazwisko], [IdStanowisko], [Email], [Telefon], [Oddzial]) VALUES (3, N'Ktos', N'Tam', 2, N'abcd@abc.pl', N'00123456789', 1)
346SET IDENTITY_INSERT [dbo].[Pracownicy] OFF
347SET IDENTITY_INSERT [dbo].[Stanowiska] ON
348
349INSERT [dbo].[Stanowiska] ([IdStanowisko], [Nazwa]) VALUES (1, N'Pracownik')
350INSERT [dbo].[Stanowiska] ([IdStanowisko], [Nazwa]) VALUES (2, N'Kierowca')
351SET IDENTITY_INSERT [dbo].[Stanowiska] OFF
352INSERT [dbo].[Transport] ([IdTrasy], [IdPracownika], [IdPojazdu], [Kolejnosc]) VALUES (1, 1, N'PL12312', 1)
353INSERT [dbo].[Transport] ([IdTrasy], [IdPracownika], [IdPojazdu], [Kolejnosc]) VALUES (2, 1, N'PL12312', 1)
354INSERT [dbo].[Transport] ([IdTrasy], [IdPracownika], [IdPojazdu], [Kolejnosc]) VALUES (3, 1, N'PL12312', 1)
355INSERT [dbo].[TrasyPrzesylki] ([IdPrzesylki], [IdTrasy], [Kolejnosc]) VALUES (4, 1, 0)
356INSERT [dbo].[TypPojazdu] ([TypPojazdu], [Waga], [Dmc], [Dlugosc], [Szerokosc]) VALUES (1, 1000, 2, 1000, 200)
357INSERT [dbo].[TypPojazdu] ([TypPojazdu], [Waga], [Dmc], [Dlugosc], [Szerokosc]) VALUES (2, 2000, 3, 1500, 250)
358INSERT [dbo].[TypPojazdu] ([TypPojazdu], [Waga], [Dmc], [Dlugosc], [Szerokosc]) VALUES (3, 3000, 4, 1500, 300)
359INSERT [dbo].[TypPojazdu] ([TypPojazdu], [Waga], [Dmc], [Dlugosc], [Szerokosc]) VALUES (4, 4000, 5, 1500, 300)
360INSERT [dbo].[Uzytkownicy] ([IdPracownika], [Login], [Haslo]) VALUES (2, N'Michal', N'1234')
361SET ANSI_PADDING ON
362GO
363/****** Object: Index [UQ__Pracowni__92EB416952D4D230] Script Date: 23.01.2019 18:24:12 ******/
364ALTER TABLE [dbo].[Pracownicy] ADD UNIQUE NONCLUSTERED
365(
366 [Telefon] ASC
367)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
368GO
369SET ANSI_PADDING ON
370GO
371/****** Object: Index [UQ__Pracowni__A9D105347BE540E8] Script Date: 23.01.2019 18:24:12 ******/
372ALTER TABLE [dbo].[Pracownicy] ADD UNIQUE NONCLUSTERED
373(
374 [Email] ASC
375)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
376GO
377ALTER TABLE [dbo].[LinieTowarowe] WITH CHECK ADD CONSTRAINT [FK_LinieTowarowe_ObiektyLogistyczne1] FOREIGN KEY([Id])
378REFERENCES [dbo].[ObiektyLogistyczne] ([IdObiektLogistyczny])
379GO
380ALTER TABLE [dbo].[LinieTowarowe] CHECK CONSTRAINT [FK_LinieTowarowe_ObiektyLogistyczne1]
381GO
382ALTER TABLE [dbo].[LinieTowarowe] WITH CHECK ADD CONSTRAINT [FK_LinieTowarowe_Opakowania1] FOREIGN KEY([Id])
383REFERENCES [dbo].[Opakowania] ([IdOpakowania])
384GO
385ALTER TABLE [dbo].[LinieTowarowe] CHECK CONSTRAINT [FK_LinieTowarowe_Opakowania1]
386GO
387ALTER TABLE [dbo].[ObiektyLogistyczneKontrahenci] WITH CHECK ADD CONSTRAINT [FK_ObiektyLogistyczneKontrahenci_Kontrahenci] FOREIGN KEY([IdKontrahent])
388REFERENCES [dbo].[Kontrahenci] ([IdKontrahenta])
389GO
390ALTER TABLE [dbo].[ObiektyLogistyczneKontrahenci] CHECK CONSTRAINT [FK_ObiektyLogistyczneKontrahenci_Kontrahenci]
391GO
392ALTER TABLE [dbo].[ObiektyLogistyczneKontrahenci] WITH CHECK ADD CONSTRAINT [FK_ObiektyLogistyczneKontrahenci_ObiektyLogistyczne] FOREIGN KEY([IdObiektLogistyczny])
393REFERENCES [dbo].[ObiektyLogistyczne] ([IdObiektLogistyczny])
394GO
395ALTER TABLE [dbo].[ObiektyLogistyczneKontrahenci] CHECK CONSTRAINT [FK_ObiektyLogistyczneKontrahenci_ObiektyLogistyczne]
396GO
397ALTER TABLE [dbo].[Pojazdy] WITH CHECK ADD CONSTRAINT [FK_Pojazdy_TypPojazdu] FOREIGN KEY([TypPojazdu])
398REFERENCES [dbo].[TypPojazdu] ([TypPojazdu])
399GO
400ALTER TABLE [dbo].[Pojazdy] CHECK CONSTRAINT [FK_Pojazdy_TypPojazdu]
401GO
402ALTER TABLE [dbo].[Pracownicy] WITH CHECK ADD FOREIGN KEY([IdStanowisko])
403REFERENCES [dbo].[Stanowiska] ([IdStanowisko])
404GO
405ALTER TABLE [dbo].[Transport] WITH CHECK ADD FOREIGN KEY([IdTrasy])
406REFERENCES [dbo].[ObiektyLogistyczne] ([IdObiektLogistyczny])
407GO
408ALTER TABLE [dbo].[Transport] WITH CHECK ADD CONSTRAINT [FK_Transport_Pojazdy] FOREIGN KEY([IdPojazdu])
409REFERENCES [dbo].[Pojazdy] ([NrRej])
410GO
411ALTER TABLE [dbo].[Transport] CHECK CONSTRAINT [FK_Transport_Pojazdy]
412GO
413ALTER TABLE [dbo].[TrasyPrzesylki] WITH CHECK ADD FOREIGN KEY([IdPrzesylki])
414REFERENCES [dbo].[ObiektyLogistyczne] ([IdObiektLogistyczny])
415GO
416ALTER TABLE [dbo].[TrasyPrzesylki] WITH CHECK ADD FOREIGN KEY([IdTrasy])
417REFERENCES [dbo].[ObiektyLogistyczne] ([IdObiektLogistyczny])
418GO
419ALTER TABLE [dbo].[Uzytkownicy] WITH CHECK ADD CONSTRAINT [FK_Uzytkownicy_Pracownicy] FOREIGN KEY([IdPracownika])
420REFERENCES [dbo].[Pracownicy] ([IdPracownik])
421GO
422ALTER TABLE [dbo].[Uzytkownicy] CHECK CONSTRAINT [FK_Uzytkownicy_Pracownicy]
423GO
424ALTER TABLE [dbo].[Pracownicy] WITH CHECK ADD CONSTRAINT [PracownikEmail] CHECK (([Email] like '%___@__%.__%'))
425GO
426ALTER TABLE [dbo].[Pracownicy] CHECK CONSTRAINT [PracownikEmail]
427GO
428/****** Object: StoredProcedure [dbo].[DodajPrzesylkeDoTrasy] Script Date: 23.01.2019 18:24:12 ******/
429SET ANSI_NULLS ON
430GO
431SET QUOTED_IDENTIFIER ON
432GO
433CREATE PROCEDURE [dbo].[DodajPrzesylkeDoTrasy]
434 -- Add the parameters for the stored procedure here
435 @trasa INT,
436 @przesylka INT
437AS
438BEGIN
439 IF NOT EXISTS(SELECT * FROM ObiektyLogistyczne WHERE IdObiektLogistyczny = @trasa)
440 RAISERROR(1500, 1, 1, 'Trasa nie istnieje', 0);
441 IF NOT EXISTS(SELECT * FROM ObiektyLogistyczne WHERE IdObiektLogistyczny = @przesylka)
442 RAISERROR(1500, 1, 1, 'Przesyłka nie istnieje', 0);
443 IF (SELECT Typ FROM ObiektyLogistyczne WHERE IdObiektLogistyczny = @trasa) NOT IN ('o', 'w', 'd')
444 RAISERROR(1500, 1, 1, 'Podany numer trasy to nie numer trasy', 0);
445 IF (SELECT Typ FROM ObiektyLogistyczne WHERE IdObiektLogistyczny = @przesylka) NOT IN ('p')
446 RAISERROR(1500, 1, 1, 'Podany numer przesylki to nie numer przesyłki', 0);
447 DECLARE @counter INT;
448 SELECT @counter = COUNT(*) FROM TrasyPrzesylki WHERE IdTrasy = @trasa AND IdPrzesylki = @przesylka;
449 INSERT INTO TrasyPrzesylki VALUES (@przesylka, @trasa, @counter + 1);
450END
451GO
452/****** Object: StoredProcedure [dbo].[DodajTrase] Script Date: 23.01.2019 18:24:12 ******/
453SET ANSI_NULLS ON
454GO
455SET QUOTED_IDENTIFIER ON
456GO
457CREATE procedure [dbo].[DodajTrase]
458@Typ varchar(1),
459@DataStart datetime,
460@DataStop datetime,
461@IdNadawca INT,
462@IdOdbiorca INT
463as
464if @Typ NOT IN ('o', 'w', 'd')
465 raiserror('Nieprawidłowy typ trasy',16,1);
466IF NOT EXISTS(SELECT * FROM Kontrahenci WHERE IdKontrahenta = @IdNadawca)
467 RAISERROR(1500, 1, 1, 'Nadawca o podanym id nie istnieje', 0);
468IF NOT EXISTS(SELECT * FROM Kontrahenci WHERE IdKontrahenta = @IdOdbiorca)
469 RAISERROR(1500, 1, 1, 'Odbiorca o podanym id nie istnieje', 0);
470
471insert into ObiektyLogistyczne(Typ, DataStart, DataStop) values(@Typ, @DataStart, @DataStop)
472declare @IdTrasa INT
473SELECT @IdTrasa = IdObiektLogistyczny FROM ObiektyLogistyczne WHERE IdObiektLogistyczny = SCOPE_IDENTITY();
474insert into ObiektyLogistyczneKontrahenci(IdObiektLogistyczny, Typ, IdKontrahent) Values (@IdTrasa, 4, @IdNadawca);
475insert into ObiektyLogistyczneKontrahenci(IdObiektLogistyczny, Typ, IdKontrahent) Values (@IdTrasa, 5, @IdOdbiorca);
476GO
477/****** Object: StoredProcedure [dbo].[NNajczesciejUzywanychPojazdow] Script Date: 23.01.2019 18:24:12 ******/
478SET ANSI_NULLS ON
479GO
480SET QUOTED_IDENTIFIER ON
481GO
482CREATE PROCEDURE [dbo].[NNajczesciejUzywanychPojazdow]
483 @N INT
484AS
485
486select top (@N)
487 t.IdPojazdu,
488 count(t.IdTrasy) AS IloscTras
489from Transport t
490left join ObiektyLogistyczne ol on t.IdTrasy = ol.IdObiektLogistyczny and ol.Typ IN ('o', 'w', 'd')
491group by t.IdPojazdu
492order by count(t.IdTrasy)
493
494return
495GO
496/****** Object: StoredProcedure [dbo].[StworzPracownika] Script Date: 23.01.2019 18:24:12 ******/
497SET ANSI_NULLS ON
498GO
499SET QUOTED_IDENTIFIER ON
500GO
501CREATE procedure [dbo].[StworzPracownika]
502@IdPracownik INT,
503@Imie varchar(50),
504@Nazwisko varchar(50),
505@IdStanowisko INT,
506@Email varchar(100),
507@Telefon varchar(20),
508@Oddzial INT
509
510as
511if exists(SELECT IdPracownik from Pracownicy where IdPracownik = @IdPracownik)
512begin
513 raiserror('Pracownik o padanym id już istnieje',16,1)
514 return
515end
516if exists (SELECT IdStanowisko from Stanowiska where IdStanowisko = @IdStanowisko)
517begin
518 raiserror('Brak podanego stanowiska w bazie',16,1)
519 return
520end
521
522
523insert into Pracownicy(IdPracownik, Imie, Nazwisko, IdStanowisko, Email, Telefon, Oddzial)
524values(@IdPracownik, @Imie, @Nazwisko, @IdStanowisko, @Email, @Telefon, @Oddzial)
525GO
526USE [master]
527GO
528ALTER DATABASE [TransportManagmentSystem] SET READ_WRITE
529GO