BagaevDanil

EKn SQL

Jun 12th, 2023
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 21.81 KB | None | 0 0
  1. CREATE TABLE IF NOT EXISTS ref_mu
  2. (
  3. muid VARCHAR(32) PRIMARY KEY, -- Идентификатор единицы измерения
  4. name VARCHAR(256) NOT NULL, -- Полное имя единицы измерения
  5. abbreviation VARCHAR(256) NOT NULL, -- Сокращенное название единицы измерения
  6. code VARCHAR(8), -- Код единицы измерения
  7. mutypeid VARCHAR(32) -- Тип единиц измерения
  8. );
  9.  
  10.  
  11. CREATE TABLE IF NOT EXISTS std_material
  12. (
  13. materialid VARCHAR(32) PRIMARY KEY, -- Идентификатор материала
  14. name VARCHAR(1024) NOT NULL, -- Название материала
  15. cname VARCHAR(128), -- Сокращенное название материала
  16. maindocument VARCHAR(256), -- Основной документ на материал (ГОСТ, ТУ)
  17. extrainfo TEXT, -- Произвольная дополнительная информация
  18. code VARCHAR(128), -- Код
  19. muid VARCHAR(32), -- Идентификатор единицы измерения по умолчанию
  20. codefnn VARCHAR(128), -- Код ФНН
  21. codeokp VARCHAR(128), -- Код ОКП
  22. codedecimal VARCHAR(128), -- Децимальный код
  23. sortorder INTEGER, -- Порядок сортировки
  24. designation VARCHAR(32), -- Уникальный идентификатор
  25.  
  26. FOREIGN KEY (muid) REFERENCES ref_mu (muid)
  27. );
  28.  
  29.  
  30. CREATE TABLE IF NOT EXISTS std_product
  31. (
  32. productid VARCHAR(32) PRIMARY KEY NOT NULL, -- Идентификатор типового изделия
  33. name VARCHAR(1024) NOT NULL, -- Название типового изделия
  34. cname VARCHAR(128), -- Сокращенное название типового изделия
  35. codefnn VARCHAR(128), -- Код ФНН
  36. codeokp VARCHAR(128), -- Код ОКП
  37. codedecimal VARCHAR(128), -- Децимальный код
  38. maindocument VARCHAR(256), -- Основной документ на поставку
  39. extrainfo TEXT, -- Дополнительная информация
  40. code VARCHAR(128), -- Код
  41. productclassid VARCHAR(32) NOT NULL, -- Идентификатор типа записи
  42. limitinfss REAL, -- Лимит оборудования в ЭС
  43. muid VARCHAR(32), -- Идентификатор единицы измерения по умолчанию
  44. sortorder INTEGER, -- Порядок сортировки
  45. designation VARCHAR(32), -- Уникальный идентификатор
  46.  
  47. FOREIGN KEY (muid) REFERENCES ref_mu (muid)
  48. );
  49.  
  50.  
  51. CREATE TABLE IF NOT EXISTS prj_entry
  52. (
  53. entryid VARCHAR(32) PRIMARY KEY, -- Уникальный идентификатор узла ФСС
  54. entryclassid VARCHAR(32) NOT NULL, -- Уникальный идентификатор типа узла
  55. productid VARCHAR(32), -- Идентификатор изделия (для систем, оборудования и т.д.)
  56. materialid VARCHAR(32), -- Идентификатор материала (для труб, кабелей и т.д.)
  57. departmentid VARCHAR(32), -- Заведование, может наследоваться в процессе заполнения
  58. name VARCHAR(1024) NOT NULL, -- Название узла ФСС
  59. cname VARCHAR(128) NOT NULL, -- Сокращенное название узла ФСС
  60. classcode VARCHAR(128), -- Код узла ФСС по классификатору ИМК
  61. shipnumber VARCHAR(128), -- Судовой номер. Имеет смысл для оборудования, не имеет смысла для группировок
  62. decimalcode VARCHAR(128), -- Десимальный номер узла. Для типового узла наследуется, для системы или группировки может задаваться
  63. maindocument VARCHAR(1024), -- Имя основного документа (ТУ или схемы). Для типового узла наследуется, для группы может возникать необходимость переопределения
  64. extrainfo TEXT, -- Дополнительная информация о вхождении
  65. normresource REAL, -- Используется для хранения нормативного ресурса оборудования
  66. movable SHORTINT, -- Признак выносимости элемента с корабля
  67. entrycategoryid VARCHAR(32) DEFAULT '56a571bd2300ae5dd708d60eb9519ecb', -- Категория критичности (важности) оборудования
  68.  
  69. FOREIGN KEY (materialid) REFERENCES std_material (materialid),
  70. FOREIGN KEY (productid) REFERENCES std_product (productid)
  71. );
  72.  
  73.  
  74. CREATE TABLE IF NOT EXISTS lnk_mainentrystructure
  75. (
  76. mainentrystructureid VARCHAR(32) PRIMARY KEY NOT NULL, -- Идентификатор связи структуры ФСС
  77. parententryid VARCHAR(32) NOT NULL, -- Уникальный идентификатор родительского узла ФСС
  78. entryid VARCHAR(32) NOT NULL, -- Уникальный идентификатор узла ФСС
  79. sortorder INTEGER, -- Порядок сортировки
  80.  
  81. FOREIGN KEY (entryid) REFERENCES prj_entry (entryid),
  82. FOREIGN KEY (parententryid) REFERENCES prj_entry (entryid)
  83. );
  84.  
  85.  
  86. CREATE TABLE IF NOT EXISTS ins_deliveryitem
  87. (
  88. deliveryitemid VARCHAR(32) PRIMARY KEY, -- Идентификатор поставляемого изделия
  89. entryid VARCHAR(32), -- Уникальный идентификатор узла ФСС
  90. entryname VARCHAR(1024), -- Название технического средства
  91. serial VARCHAR(128), -- Серийный номер изделия
  92. manufacturedate TEXT, -- Дата! выпуска
  93. document VARCHAR(1024), -- Название и номер основного документа на поставку (формуляр или паспорт)
  94. extrainfo TEXT, -- Произвольная дополнительная информация
  95. enddate TEXT, -- Дата! завершения эксплуатации поставляемого изделия
  96. startaccountdate TEXT, -- Дата! начала эксплуатации на заказе
  97. invetorynumber VARCHAR(10), -- Инвентарный номер
  98. personid VARCHAR(32), -- Заведующий оборудованием
  99. warrantydate TEXT, -- Дата окончания гарантии
  100. passportnotation VARCHAR(20), -- Обозначение формуляра(паспорта)
  101. passportdate TEXT, -- Дата! создания документа на поставку
  102. startdatebeforeinstall TEXT, -- Дата! начала эксплуатации до установки на заказе
  103. deliveryitemmotionid VARCHAR(32), -- Идентификатор последнего зарегистрированного движения
  104. clarification TEXT, -- Дополнительная информация
  105. designation TEXT, -- Обозначение технического средства
  106. discard SHORTINT, -- Признак списания
  107. accepted SHORTINT, -- Признак принятия (не используется)
  108.  
  109. FOREIGN KEY (personid) REFERENCES ins_person
  110. );
  111.  
  112.  
  113. CREATE TABLE IF NOT EXISTS lnk_entryplacement
  114. (
  115. entryplacementid VARCHAR(32) PRIMARY KEY NOT NULL, -- Идентификатор размещения элемента ФСС
  116. zoneid VARCHAR(32) NOT NULL, -- NEW Идентификатор размещения
  117. entryid VARCHAR(32) NOT NULL, -- Идентификатор узла ФСС
  118. "position" SHORTINT, -- Маршрут изделия
  119. --placementid VARCHAR(32) NOT NULL, -- Идентификатор размещения
  120.  
  121. FOREIGN KEY (entryid) REFERENCES prj_entry (entryid),
  122. FOREIGN KEY (zoneid) REFERENCES prj_zone (zoneid)
  123. );
  124.  
  125.  
  126. CREATE TABLE IF NOT EXISTS prj_zone
  127. (
  128. zoneid VARCHAR(32) PRIMARY KEY, -- Идентификатор зоны
  129. zonetypeid VARCHAR(32), -- Идентификатор типа помещения
  130. mainlineplaceid VARCHAR(32), -- Идентификатор уровня
  131. zonecenterboardid VARCHAR(32), -- Борт центра помещения
  132. name VARCHAR(1024), -- Название помещения
  133. acronim VARCHAR(32), -- Сокращенное название помещения
  134. "number" VARCHAR(32), -- Номер помещения
  135. projectnum VARCHAR(32), -- Проектный номер помещения
  136. square REAL, -- Площадь помещения
  137. volume REAL, -- Объем помещения
  138. extrainfo TEXT, -- Дополнительная информация
  139. iswaterproof SHORTINT
  140. );
  141.  
  142.  
  143. CREATE TABLE IF NOT EXISTS lnk_areainzone
  144. (
  145. areainzoneid VARCHAR(32) PRIMARY KEY, -- Идентификатор входимости помещения в зону
  146. parentzoneid VARCHAR(32), -- Идентификатор родительской зоны
  147. zoneid VARCHAR(32), -- Идентификатор зоны
  148. sortorder INTEGER, -- Порядок сортировки
  149.  
  150. FOREIGN KEY (zoneid) REFERENCES prj_zone (zoneid),
  151. FOREIGN KEY (parentzoneid) REFERENCES prj_zone (zoneid)
  152. );
  153.  
  154.  
  155. CREATE TABLE IF NOT EXISTS ref_department
  156. (
  157. departmentid VARCHAR(32) PRIMARY KEY, -- Идентификатор подразделения (БЧ, службы, группы, дивизиона)
  158. parentid VARCHAR(32), -- Идентификатор родительского подразделения
  159. departmentcategoryid VARCHAR(32) NOT NULL, -- Идентификатор категории подразделения
  160. normstaff INTEGER, -- Нормативный численный состав
  161. name VARCHAR(256) NOT NULL, -- Название подразделения
  162. acronim VARCHAR(32), -- Употребляемое сокращенное название подразделения
  163. code VARCHAR(32), -- Код подразделения
  164.  
  165. FOREIGN KEY (parentid) REFERENCES ref_department
  166. );
  167.  
  168.  
  169. CREATE TABLE IF NOT EXISTS prj_position
  170. (
  171. positionid VARCHAR(32) PRIMARY KEY, -- Идентификатор должности
  172. departmentid VARCHAR(32), -- Идентификатор подразделения
  173. parentid VARCHAR(32), -- Командир
  174. positiontypeid VARCHAR(32), -- Идентификатор вхождения
  175. name VARCHAR(256) NOT NULL, -- Полное название должности
  176. acronim VARCHAR(256) NOT NULL, -- Общеупотребимое сокращение
  177. rankid VARCHAR(32), -- Штатное звание
  178. vus VARCHAR(256), -- Военно-учетная специальность (код)
  179. isactive SHORTINT, -- Признак удаленности должности
  180. combatnumber VARCHAR(32), -- Боевой номер (у кого нет должности)
  181. isleader SHORTINT, -- Признак руководителя подразделения
  182. iscommander BOOL, -- Признак командования (член экипажа относится к командованию корабля и видит вне своего заведования)
  183. sortorder INTEGER, -- Порядок сортировки
  184.  
  185. FOREIGN KEY (parentid) REFERENCES prj_position (positionid),
  186. FOREIGN KEY (departmentid) REFERENCES ref_department
  187. );
  188.  
  189.  
  190. CREATE TABLE IF NOT EXISTS ins_person
  191. (
  192. personid VARCHAR(32) PRIMARY KEY, -- Идентификатор
  193. rankid VARCHAR(32), -- Идентификатор звания по справочнику
  194. lastname VARCHAR(256) NOT NULL, -- Фамилия
  195. firstname VARCHAR(256) NOT NULL, -- Имя
  196. patronymic VARCHAR(256), -- Отчество
  197. vus VARCHAR(256), -- Специальность
  198. staffrank VARCHAR(256), -- Классная квалификация
  199. extrainfo TEXT, -- Дополнительная информация
  200. classrankid VARCHAR(32), -- Классность
  201. isactive SHORTINT, -- Удален или нет
  202. staffid VARCHAR(32), -- Экипаж
  203. crewmotionjournalid VARCHAR(32), -- Последнее зарегистрированное движение члена экипажа
  204. positionid VARCHAR(32), -- Идентификатор должности
  205. positionname VARCHAR(256), -- Наименование должности
  206. takingoffice TEXT, -- Дата вступления в должность
  207. rankname VARCHAR(256) -- Полное наименования звания (копия)
  208. );
  209.  
  210.  
  211. CREATE TABLE IF NOT EXISTS lnk_groupshedulleritem
  212. (
  213. groupshedulleritemid VARCHAR(32) PRIMARY KEY,
  214. entryid VARCHAR(32), -- Идентификатор элемента ЭСЗ
  215. storeunitnormid VARCHAR(32), -- Идентификатор нормативной единицы хранения (ЗИП)
  216. groupschedulerid VARCHAR(32), -- Идентификатор группы планирования ТО
  217. storeunitid VARCHAR(32), -- Идентификатор существующей единицы хранения (ЗИП)
  218.  
  219. FOREIGN KEY (entryid) REFERENCES prj_entry,
  220.  
  221. UNIQUE (entryid, groupschedulerid),
  222. UNIQUE (storeunitnormid, groupschedulerid),
  223. UNIQUE (storeunitid, groupschedulerid)
  224. );
  225.  
  226.  
  227. CREATE TABLE IF NOT EXISTS exp_groupscheduler
  228. (
  229. groupschedulerid VARCHAR(32) PRIMARY KEY, -- Идентификатор группы планирования
  230. groupname VARCHAR(256) NOT NULL, -- Наименование группы планирования
  231. shedullertypeid VARCHAR(32), -- Тип группы (метрология, техническое обслуживание etc)
  232. description VARCHAR(1024), -- Описание группы
  233. entrycategoryid textuuid NOT NULL DEFAULT '56a571bd2300ae5dd708d60eb9519ecb' -- NOT NULL -- Категория критичности (важности) оборудования (pk_ref_entrycategory)
  234. );
  235.  
  236.  
  237. CREATE TABLE IF NOT EXISTS ref_proceduretype
  238. (
  239. proceduretypeid VARCHAR(32) PRIMARY KEY NOT NULL, -- Идентификатор типа процедуры обслуживания
  240. name VARCHAR(256) NOT NULL, -- Название типа процедуры обслуживания
  241. code VARCHAR(32) NOT NULL -- Код типа процедуры обслуживания
  242. );
  243.  
  244.  
  245. CREATE TABLE IF NOT EXISTS std_procedure
  246. (
  247. procedureid VARCHAR(32) PRIMARY KEY, -- Идентификатор процедуры
  248. proceduretypeid VARCHAR(32), -- Идентификатор типа процедуры обслуживания, для типовой процедуры
  249. documentid VARCHAR(32), -- Параметрический модуль данных
  250. name varchar(256) NOT NULL, -- Название процедуры
  251. code varchar(32) NOT NULL, -- Код процедуцры
  252. executiontime REAL, -- Общая нормативная длительность
  253. staff SHORTINT, -- Общая численность персонала, необходимая для проведения работы
  254. work REAL NOT NULL, -- Трудоемкость процедуры, в человекочасах
  255. extrainfo TEXT, -- Дополнительная информация либо описание процедуры
  256.  
  257. FOREIGN KEY (proceduretypeid) REFERENCES ref_proceduretype
  258. );
  259.  
  260.  
  261. CREATE TABLE IF NOT EXISTS std_commonrefuse
  262. (
  263. commonrefuseid VARCHAR(32) PRIMARY KEY, -- Идентификатор типовой неисправности
  264. refusecausetypeid VARCHAR(32), -- Идентификатор типа причины неисправности
  265. name varchar(256) NOT NULL, -- Название типовой неисправности
  266. cause TEXT, -- Описание возможных причин неисправности
  267. consequences TEXT, -- Описание возможных последствий неисправности
  268. outersign TEXT, -- Внешние признаки
  269. documentid VARCHAR(32), -- Параметрический модуль данных
  270. iscustom SHORTINT -- Добавлена ли типовая неисправность из опыта использования
  271. );
  272.  
  273.  
  274. CREATE TABLE IF NOT EXISTS lnk_refuseidentification
  275. (
  276. refuseidentificationid VARCHAR(32) PRIMARY KEY, -- Идентификатор связи
  277. commonrefuseid VARCHAR(32), -- Идентификатор типовой неисправности
  278. procedureid VARCHAR(32), -- Идентификатор процедуры
  279.  
  280. FOREIGN KEY (commonrefuseid) REFERENCES std_commonrefuse,
  281. FOREIGN KEY (procedureid) REFERENCES std_procedure
  282. );
  283.  
  284.  
  285. CREATE TABLE IF NOT EXISTS lnk_refuserepair
  286. (
  287. refuserepairid VARCHAR(32) PRIMARY KEY, -- Идентификатор связи
  288. commonrefuseid VARCHAR(32), -- Идентификатор типовой неисправности
  289. procedureid VARCHAR(32), -- Идентификатор процедуры
  290. refusecauseid VARCHAR(32), -- Идентификатор причины неисправности
  291.  
  292. FOREIGN KEY (procedureid) REFERENCES std_procedure,
  293. FOREIGN KEY (commonrefuseid) REFERENCES std_commonrefuse
  294. );
  295.  
  296.  
  297.  
  298. CREATE TABLE IF NOT EXISTS lnk_normprocedurerequirement
  299. (
  300. normprocedurerequirementid VARCHAR(32) PRIMARY KEY, -- Идентификатор нормативной потребности в ЗИП
  301. procedureid VARCHAR(32), -- Идентификатор процедуры
  302. productid VARCHAR(32), -- Идентификатор типового изделия
  303. materialid VARCHAR(32), -- Идентификатор материала
  304. requireamount REAL NOT NULL, -- Требуемое количество
  305. spendamount REAL NOT NULL, -- Нормативный расход
  306. muid VARCHAR(32), -- Идентификатор единицы измерения
  307.  
  308. FOREIGN KEY (muid) REFERENCES ref_mu,
  309. FOREIGN KEY (procedureid) REFERENCES std_procedure,
  310. FOREIGN KEY (materialid) REFERENCES std_material,
  311. FOREIGN KEY (productid) REFERENCES std_product
  312. );
  313.  
  314.  
  315. CREATE TABLE IF NOT EXISTS lnk_commonrefuseentry
  316. (
  317. commonrefuseentryid VARCHAR(32) PRIMARY KEY, -- Идентификатор
  318. entryid VARCHAR(32), -- Идентификатор типового изделия
  319. commonrefuseid VARCHAR(32), -- Идентификатор типовой поломки
  320.  
  321. FOREIGN KEY (entryid) REFERENCES prj_entry,
  322. FOREIGN KEY (commonrefuseid) REFERENCES std_commonrefuse
  323. );
  324.  
  325.  
  326. CREATE TABLE IF NOT EXISTS state
  327. (
  328. id VARCHAR(32), -- Идентификатор состояния
  329. property VARCHAR(32), -- Тип состояния
  330. value VARCHAR(256), -- Зничение состояния
  331. modifier SHORTINT, -- Тип изменения (User/DB)
  332.  
  333. UNIQUE (id, property)
  334. );
  335.  
  336.  
  337. CREATE TABLE IF NOT EXISTS statelog
  338. (
  339. id VARCHAR(32), -- Идентификатор строки журнала состояния
  340. property VARCHAR(32), -- Тип строки журнала состояния
  341. value VARCHAR(256), -- Зничение
  342. date VARCHAR(32), -- Дата и время
  343. comment TEXT -- Комментарий
  344. );
Add Comment
Please, Sign In to add comment