dontharm.sql 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262
  1. USE [user12]
  2. GO
  3. /****** Object: Table [dbo].[clients] Script Date: 19.12.2023 13:14:16 ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. CREATE TABLE [dbo].[clients](
  9. [id] [int] IDENTITY(1,1) NOT NULL,
  10. [type] [int] NOT NULL,
  11. [login] [nvarchar](50) NOT NULL,
  12. [password] [char](64) NOT NULL,
  13. [surname] [nvarchar](50) NULL,
  14. [name] [nvarchar](50) NULL,
  15. [patronymic] [nvarchar](50) NULL,
  16. [birthdate] [date] NULL,
  17. [passport_series] [int] NULL,
  18. [passport_number] [int] NULL,
  19. [phone] [char](16) NOT NULL,
  20. [email] [varchar](50) NOT NULL,
  21. [company_name] [varchar](50) NULL,
  22. [company_address] [varchar](100) NULL,
  23. [inn] [int] NOT NULL,
  24. [account] [int] NOT NULL,
  25. [bik] [int] NOT NULL,
  26. [hidden] [bit] NOT NULL,
  27. CONSTRAINT [PK_clients] PRIMARY KEY CLUSTERED
  28. (
  29. [id] ASC
  30. )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
  31. ) ON [PRIMARY]
  32. GO
  33. /****** Object: Table [dbo].[employee_services] Script Date: 19.12.2023 13:14:16 ******/
  34. SET ANSI_NULLS ON
  35. GO
  36. SET QUOTED_IDENTIFIER ON
  37. GO
  38. CREATE TABLE [dbo].[employee_services](
  39. [id] [int] IDENTITY(1,1) NOT NULL,
  40. [service_id] [int] NOT NULL,
  41. [user_id] [int] NOT NULL,
  42. CONSTRAINT [PK_employee_services] PRIMARY KEY CLUSTERED
  43. (
  44. [id] ASC
  45. )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
  46. ) ON [PRIMARY]
  47. GO
  48. /****** Object: Table [dbo].[invoices] Script Date: 19.12.2023 13:14:16 ******/
  49. SET ANSI_NULLS ON
  50. GO
  51. SET QUOTED_IDENTIFIER ON
  52. GO
  53. CREATE TABLE [dbo].[invoices](
  54. [id] [int] IDENTITY(1,1) NOT NULL,
  55. [client_id] [int] NOT NULL,
  56. [accountant_id] [int] NOT NULL,
  57. [order_id] [int] NOT NULL,
  58. CONSTRAINT [PK_invoice] PRIMARY KEY CLUSTERED
  59. (
  60. [id] ASC
  61. )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
  62. ) ON [PRIMARY]
  63. GO
  64. /****** Object: Table [dbo].[login_attempts] Script Date: 19.12.2023 13:14:16 ******/
  65. SET ANSI_NULLS ON
  66. GO
  67. SET QUOTED_IDENTIFIER ON
  68. GO
  69. CREATE TABLE [dbo].[login_attempts](
  70. [id] [int] IDENTITY(1,1) NOT NULL,
  71. [user_id] [int] NOT NULL,
  72. [created_at] [datetime] NOT NULL,
  73. CONSTRAINT [PK_login_attempts] PRIMARY KEY CLUSTERED
  74. (
  75. [id] ASC
  76. )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
  77. ) ON [PRIMARY]
  78. GO
  79. /****** Object: Table [dbo].[order_services] Script Date: 19.12.2023 13:14:16 ******/
  80. SET ANSI_NULLS ON
  81. GO
  82. SET QUOTED_IDENTIFIER ON
  83. GO
  84. CREATE TABLE [dbo].[order_services](
  85. [id] [int] IDENTITY(1,1) NOT NULL,
  86. [service_id] [int] NOT NULL,
  87. [order_id] [int] NOT NULL,
  88. [status] [smallint] NOT NULL,
  89. [utilizer_id] [int] NULL,
  90. [started_at] [datetime] NULL,
  91. [finished_at] [datetime] NULL,
  92. CONSTRAINT [PK_order_services] PRIMARY KEY CLUSTERED
  93. (
  94. [id] ASC
  95. )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
  96. ) ON [PRIMARY]
  97. GO
  98. /****** Object: Table [dbo].[orders] Script Date: 19.12.2023 13:14:16 ******/
  99. SET ANSI_NULLS ON
  100. GO
  101. SET QUOTED_IDENTIFIER ON
  102. GO
  103. CREATE TABLE [dbo].[orders](
  104. [id] [int] IDENTITY(1,1) NOT NULL,
  105. [created_at] [datetime] NOT NULL,
  106. [client_id] [int] NOT NULL,
  107. [hidden] [bit] NOT NULL,
  108. CONSTRAINT [PK_orders] PRIMARY KEY CLUSTERED
  109. (
  110. [id] ASC
  111. )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
  112. ) ON [PRIMARY]
  113. GO
  114. /****** Object: Table [dbo].[roles] Script Date: 19.12.2023 13:14:16 ******/
  115. SET ANSI_NULLS ON
  116. GO
  117. SET QUOTED_IDENTIFIER ON
  118. GO
  119. CREATE TABLE [dbo].[roles](
  120. [id] [int] IDENTITY(1,1) NOT NULL,
  121. [name] [varchar](50) NOT NULL,
  122. CONSTRAINT [PK_roles] PRIMARY KEY CLUSTERED
  123. (
  124. [id] ASC
  125. )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
  126. ) ON [PRIMARY]
  127. GO
  128. /****** Object: Table [dbo].[services] Script Date: 19.12.2023 13:14:16 ******/
  129. SET ANSI_NULLS ON
  130. GO
  131. SET QUOTED_IDENTIFIER ON
  132. GO
  133. CREATE TABLE [dbo].[services](
  134. [id] [int] IDENTITY(1,1) NOT NULL,
  135. [name] [varchar](100) NOT NULL,
  136. [price] [money] NOT NULL,
  137. [code] [varchar](10) NOT NULL,
  138. [hidden] [bit] NOT NULL,
  139. CONSTRAINT [PK_services] PRIMARY KEY CLUSTERED
  140. (
  141. [id] ASC
  142. )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
  143. ) ON [PRIMARY]
  144. GO
  145. /****** Object: Table [dbo].[users] Script Date: 19.12.2023 13:14:16 ******/
  146. SET ANSI_NULLS ON
  147. GO
  148. SET QUOTED_IDENTIFIER ON
  149. GO
  150. CREATE TABLE [dbo].[users](
  151. [id] [int] IDENTITY(1,1) NOT NULL,
  152. [role] [int] NOT NULL,
  153. [login] [varchar](50) NOT NULL,
  154. [password] [varchar](64) NOT NULL,
  155. [hidden] [bit] NOT NULL,
  156. [surname] [varchar](50) NOT NULL,
  157. [name] [varchar](50) NOT NULL,
  158. [patronymic] [varchar](50) NULL,
  159. [image_path] [varchar](50) NULL,
  160. CONSTRAINT [PK_users] PRIMARY KEY CLUSTERED
  161. (
  162. [id] ASC
  163. )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
  164. ) ON [PRIMARY]
  165. GO
  166. /****** Object: Table [dbo].[utilizers] Script Date: 19.12.2023 13:14:16 ******/
  167. SET ANSI_NULLS ON
  168. GO
  169. SET QUOTED_IDENTIFIER ON
  170. GO
  171. CREATE TABLE [dbo].[utilizers](
  172. [id] [int] IDENTITY(1,1) NOT NULL,
  173. [name] [varchar](50) NOT NULL,
  174. CONSTRAINT [PK_utilizers] PRIMARY KEY CLUSTERED
  175. (
  176. [id] ASC
  177. )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
  178. ) ON [PRIMARY]
  179. GO
  180. ALTER TABLE [dbo].[clients] ADD CONSTRAINT [DF_clients_hidden] DEFAULT ((0)) FOR [hidden]
  181. GO
  182. ALTER TABLE [dbo].[login_attempts] ADD CONSTRAINT [DF_login_attempts_created_at] DEFAULT (getdate()) FOR [created_at]
  183. GO
  184. ALTER TABLE [dbo].[orders] ADD CONSTRAINT [DF_orders_created_at] DEFAULT (getdate()) FOR [created_at]
  185. GO
  186. ALTER TABLE [dbo].[orders] ADD CONSTRAINT [DF_orders_hidden] DEFAULT ((0)) FOR [hidden]
  187. GO
  188. ALTER TABLE [dbo].[services] ADD CONSTRAINT [DF_services_hidden] DEFAULT ((0)) FOR [hidden]
  189. GO
  190. ALTER TABLE [dbo].[users] ADD CONSTRAINT [DF_users_hidden] DEFAULT ((0)) FOR [hidden]
  191. GO
  192. ALTER TABLE [dbo].[employee_services] WITH CHECK ADD CONSTRAINT [FK_employee_services_services] FOREIGN KEY([service_id])
  193. REFERENCES [dbo].[services] ([id])
  194. ON UPDATE CASCADE
  195. ON DELETE CASCADE
  196. GO
  197. ALTER TABLE [dbo].[employee_services] CHECK CONSTRAINT [FK_employee_services_services]
  198. GO
  199. ALTER TABLE [dbo].[employee_services] WITH CHECK ADD CONSTRAINT [FK_employee_services_users] FOREIGN KEY([user_id])
  200. REFERENCES [dbo].[users] ([id])
  201. GO
  202. ALTER TABLE [dbo].[employee_services] CHECK CONSTRAINT [FK_employee_services_users]
  203. GO
  204. ALTER TABLE [dbo].[invoices] WITH CHECK ADD CONSTRAINT [FK_invoices_clients] FOREIGN KEY([client_id])
  205. REFERENCES [dbo].[clients] ([id])
  206. ON UPDATE CASCADE
  207. ON DELETE CASCADE
  208. GO
  209. ALTER TABLE [dbo].[invoices] CHECK CONSTRAINT [FK_invoices_clients]
  210. GO
  211. ALTER TABLE [dbo].[invoices] WITH CHECK ADD CONSTRAINT [FK_invoices_orders] FOREIGN KEY([order_id])
  212. REFERENCES [dbo].[orders] ([id])
  213. GO
  214. ALTER TABLE [dbo].[invoices] CHECK CONSTRAINT [FK_invoices_orders]
  215. GO
  216. ALTER TABLE [dbo].[invoices] WITH CHECK ADD CONSTRAINT [FK_invoices_users] FOREIGN KEY([accountant_id])
  217. REFERENCES [dbo].[users] ([id])
  218. ON UPDATE CASCADE
  219. ON DELETE CASCADE
  220. GO
  221. ALTER TABLE [dbo].[invoices] CHECK CONSTRAINT [FK_invoices_users]
  222. GO
  223. ALTER TABLE [dbo].[login_attempts] WITH CHECK ADD CONSTRAINT [FK_login_attempts_users] FOREIGN KEY([user_id])
  224. REFERENCES [dbo].[users] ([id])
  225. ON UPDATE CASCADE
  226. ON DELETE CASCADE
  227. GO
  228. ALTER TABLE [dbo].[login_attempts] CHECK CONSTRAINT [FK_login_attempts_users]
  229. GO
  230. ALTER TABLE [dbo].[order_services] WITH CHECK ADD CONSTRAINT [FK_order_services_orders] FOREIGN KEY([order_id])
  231. REFERENCES [dbo].[orders] ([id])
  232. ON UPDATE CASCADE
  233. ON DELETE CASCADE
  234. GO
  235. ALTER TABLE [dbo].[order_services] CHECK CONSTRAINT [FK_order_services_orders]
  236. GO
  237. ALTER TABLE [dbo].[order_services] WITH CHECK ADD CONSTRAINT [FK_order_services_services] FOREIGN KEY([service_id])
  238. REFERENCES [dbo].[services] ([id])
  239. ON UPDATE CASCADE
  240. ON DELETE CASCADE
  241. GO
  242. ALTER TABLE [dbo].[order_services] CHECK CONSTRAINT [FK_order_services_services]
  243. GO
  244. ALTER TABLE [dbo].[order_services] WITH CHECK ADD CONSTRAINT [FK_order_services_utilizers] FOREIGN KEY([utilizer_id])
  245. REFERENCES [dbo].[utilizers] ([id])
  246. ON UPDATE CASCADE
  247. ON DELETE CASCADE
  248. GO
  249. ALTER TABLE [dbo].[order_services] CHECK CONSTRAINT [FK_order_services_utilizers]
  250. GO
  251. ALTER TABLE [dbo].[orders] WITH CHECK ADD CONSTRAINT [FK_orders_clients] FOREIGN KEY([client_id])
  252. REFERENCES [dbo].[clients] ([id])
  253. ON UPDATE CASCADE
  254. ON DELETE CASCADE
  255. GO
  256. ALTER TABLE [dbo].[orders] CHECK CONSTRAINT [FK_orders_clients]
  257. GO
  258. ALTER TABLE [dbo].[users] WITH CHECK ADD CONSTRAINT [FK_users_roles] FOREIGN KEY([role])
  259. REFERENCES [dbo].[roles] ([id])
  260. GO
  261. ALTER TABLE [dbo].[users] CHECK CONSTRAINT [FK_users_roles]
  262. GO