activefacts-examples 1.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (262) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +10 -0
  3. data/.rspec +1 -0
  4. data/.travis.yml +4 -0
  5. data/Gemfile +10 -0
  6. data/LICENSE.txt +21 -0
  7. data/README.md +22 -0
  8. data/Rakefile +6 -0
  9. data/activefacts-examples.gemspec +26 -0
  10. data/cql/Address.cql +44 -0
  11. data/cql/Astronomy.cql +35 -0
  12. data/cql/Blog.cql +54 -0
  13. data/cql/CinemaBookings.cql +64 -0
  14. data/cql/CinemaTickets.cql +127 -0
  15. data/cql/CompanyDirectorEmployee.cql +56 -0
  16. data/cql/Death.cql +17 -0
  17. data/cql/Diplomacy.cql +48 -0
  18. data/cql/Genealogy.cql +98 -0
  19. data/cql/Health.cql +78 -0
  20. data/cql/Insurance.cql +320 -0
  21. data/cql/Marriage.cql +18 -0
  22. data/cql/Metamodel.cql +567 -0
  23. data/cql/Monogamy.cql +24 -0
  24. data/cql/MultiInheritance.cql +22 -0
  25. data/cql/MultipleSubtyping.cql +30 -0
  26. data/cql/NonRoleId.cql +14 -0
  27. data/cql/OddIdentifier.cql +18 -0
  28. data/cql/OilSupply.cql +53 -0
  29. data/cql/OneRoleNesting.cql +38 -0
  30. data/cql/OneToOnes.cql +17 -0
  31. data/cql/Orienteering.cql +111 -0
  32. data/cql/PartyModel.cql +38 -0
  33. data/cql/PersonPlaysGame.cql +18 -0
  34. data/cql/RedundantDependency.cql +34 -0
  35. data/cql/SchoolActivities.cql +33 -0
  36. data/cql/SeparateSubtype.cql +30 -0
  37. data/cql/ServiceDirector.cql +276 -0
  38. data/cql/SimplestUnary.cql +12 -0
  39. data/cql/Supervision.cql +34 -0
  40. data/cql/VenueSeating.cql +45 -0
  41. data/cql/WaiterTips.cql +33 -0
  42. data/cql/Warehousing.cql +101 -0
  43. data/cql/WindowInRoomInBldg.cql +28 -0
  44. data/cql/unit.cql +474 -0
  45. data/diagrams/json/Address.json +41 -0
  46. data/diagrams/json/Astronomy.json +31 -0
  47. data/diagrams/json/Blog.json +46 -0
  48. data/diagrams/json/CinemaBookings.json +53 -0
  49. data/diagrams/json/CinemaTickets.json +101 -0
  50. data/diagrams/json/CompanyDirectorEmployee.json +44 -0
  51. data/diagrams/json/Death.json +20 -0
  52. data/diagrams/json/Diplomacy.json +34 -0
  53. data/diagrams/json/Genealogy.json +78 -0
  54. data/diagrams/json/Insurance.json +259 -0
  55. data/diagrams/json/Marriage.json +21 -0
  56. data/diagrams/json/Metamodel.json +318 -0
  57. data/diagrams/json/Monogamy.json +22 -0
  58. data/diagrams/json/MultiInheritance.json +25 -0
  59. data/diagrams/json/MultipleSubtyping.json +22 -0
  60. data/diagrams/json/OilSupply.json +49 -0
  61. data/diagrams/json/OneRoleNesting.json +37 -0
  62. data/diagrams/json/Orienteering.json +94 -0
  63. data/diagrams/json/PersonPlaysGame.json +22 -0
  64. data/diagrams/json/RedundantDependency.json +33 -0
  65. data/diagrams/json/SchoolActivities.json +28 -0
  66. data/diagrams/json/SeparateSubtype.json +29 -0
  67. data/diagrams/json/SimplestUnary.json +15 -0
  68. data/diagrams/json/Supervision.json +27 -0
  69. data/diagrams/json/VenueSeating.json +40 -0
  70. data/diagrams/json/WaiterTips.json +29 -0
  71. data/diagrams/json/Warehousing.json +86 -0
  72. data/diagrams/json/WindowInRoomInBldg.json +31 -0
  73. data/images/Address.SQL.png +0 -0
  74. data/images/Address.png +0 -0
  75. data/images/Blog.png +0 -0
  76. data/images/CinemaBookings.png +0 -0
  77. data/images/CinemaTickets.png +0 -0
  78. data/images/CompanyDirectorEmployee.png +0 -0
  79. data/images/Death.png +0 -0
  80. data/images/Diplomacy.png +0 -0
  81. data/images/DumpMetamodel.bat +2 -0
  82. data/images/Genealogy.png +0 -0
  83. data/images/Insurance/Claim.png +0 -0
  84. data/images/Insurance/Insurance.png +0 -0
  85. data/images/Insurance/Person.png +0 -0
  86. data/images/Insurance/Policy.png +0 -0
  87. data/images/Insurance/Related.png +0 -0
  88. data/images/Insurance/VehicleIncident.png +0 -0
  89. data/images/Marriage.png +0 -0
  90. data/images/Metamodel/Concepts.png +0 -0
  91. data/images/Metamodel/Constraints.png +0 -0
  92. data/images/Metamodel/ContextNote.png +0 -0
  93. data/images/Metamodel/Diagrams.png +0 -0
  94. data/images/Metamodel/Language.png +0 -0
  95. data/images/Metamodel/Legacy.png +0 -0
  96. data/images/Metamodel/Objects.png +0 -0
  97. data/images/Metamodel/Populations.png +0 -0
  98. data/images/Metamodel/Query.png +0 -0
  99. data/images/Metamodel/Units.png +0 -0
  100. data/images/Metamodel/ValueConstraints.png +0 -0
  101. data/images/Metamodel/ValueTypes.png +0 -0
  102. data/images/MetamodelER.bcp +1 -0
  103. data/images/MetamodelER.pdf +0 -0
  104. data/images/MultiInheritance.png +0 -0
  105. data/images/NorthwindER.png +0 -0
  106. data/images/OilSupply.png +0 -0
  107. data/images/Orienteering/Administration.png +0 -0
  108. data/images/Orienteering/Registration.png +0 -0
  109. data/images/Orienteering/Scoring.png +0 -0
  110. data/images/PersonPlaysGame.png +0 -0
  111. data/images/RedundantDependency.png +0 -0
  112. data/images/SchoolActivities.png +0 -0
  113. data/images/SeparateSubtype.png +0 -0
  114. data/images/SimplestUnary.png +0 -0
  115. data/images/Supervision.png +0 -0
  116. data/images/VenueSeating.png +0 -0
  117. data/images/WaiterTips.png +0 -0
  118. data/images/Warehousing.png +0 -0
  119. data/images/WindowInRoomInBldg.png +0 -0
  120. data/metadata/json/Astronomy.json +175 -0
  121. data/metadata/json/CinemaBookings.json +354 -0
  122. data/metadata/json/CinemaTickets.json +768 -0
  123. data/metadata/json/CompanyDirectorEmployee.json +270 -0
  124. data/metadata/json/Diplomacy.json +186 -0
  125. data/metadata/json/Metamodel.json +3214 -0
  126. data/metadata/json/OilSupply.json +411 -0
  127. data/metadata/json/SeparateSubtype.json +157 -0
  128. data/metadata/json/Supervision.json +128 -0
  129. data/metadata/json/VenueSeating.json +209 -0
  130. data/orm/.gitignore +11 -0
  131. data/orm/Address.orm +1268 -0
  132. data/orm/Astronomy.orm +925 -0
  133. data/orm/Blog.orm +1711 -0
  134. data/orm/CinemaBookings.orm +1998 -0
  135. data/orm/CinemaTickets.orm +5060 -0
  136. data/orm/CompanyDirectorEmployee.orm +2094 -0
  137. data/orm/Death.orm +386 -0
  138. data/orm/Diplomacy.orm +1478 -0
  139. data/orm/ExampleModels2010.csproj +764 -0
  140. data/orm/ExampleModels2010.sln +16 -0
  141. data/orm/Genealogy.orm +3209 -0
  142. data/orm/Health.orm +2407 -0
  143. data/orm/Insurance.orm +12727 -0
  144. data/orm/Marriage.orm +493 -0
  145. data/orm/Metamodel.orm +20998 -0
  146. data/orm/Monogamy.orm +328 -0
  147. data/orm/MultiInheritance.orm +537 -0
  148. data/orm/MultipleSubtyping.orm +347 -0
  149. data/orm/OilSupply.orm +2533 -0
  150. data/orm/OneRoleNesting.orm +1237 -0
  151. data/orm/Orienteering.orm +3976 -0
  152. data/orm/PersonPlaysGame.orm +426 -0
  153. data/orm/RedundantDependency.orm +844 -0
  154. data/orm/SchoolActivities.orm +961 -0
  155. data/orm/SeparateSubtype.orm +821 -0
  156. data/orm/SimplestUnary.orm +172 -0
  157. data/orm/Supervision.orm +734 -0
  158. data/orm/VenueSeating.orm +1289 -0
  159. data/orm/WaiterTips.orm +789 -0
  160. data/orm/Warehousing.orm +3792 -0
  161. data/orm/WindowInRoomInBldg.orm +772 -0
  162. data/rails/models/Astronomy.models +17 -0
  163. data/rails/models/CinemaBookings.models +123 -0
  164. data/rails/models/CinemaTickets.models +192 -0
  165. data/rails/models/Diplomacy.models +126 -0
  166. data/rails/models/Metamodel.models +894 -0
  167. data/rails/models/OneRoleNesting.models +18 -0
  168. data/rails/models/SeparateSubtype.models +49 -0
  169. data/rails/models/VenueSeating.models +70 -0
  170. data/rails/schema/Astronomy.schema.rb +25 -0
  171. data/rails/schema/CinemaBookings.schema.rb +78 -0
  172. data/rails/schema/CinemaTickets.schema.rb +132 -0
  173. data/rails/schema/Diplomacy.schema.rb +74 -0
  174. data/rails/schema/Metamodel.schema.rb +538 -0
  175. data/rails/schema/OneRoleNesting.rb +20 -0
  176. data/rails/schema/SeparateSubtype.schema.rb +35 -0
  177. data/rails/schema/VenueSeating.schema.rb +46 -0
  178. data/rails/schema/Warehousing.schema.rb +145 -0
  179. data/ruby/Address.rb +68 -0
  180. data/ruby/Astronomy.rb +55 -0
  181. data/ruby/Blog.rb +84 -0
  182. data/ruby/CinemaBookings.rb +109 -0
  183. data/ruby/CinemaTickets.rb +218 -0
  184. data/ruby/CompanyDirectorEmployee.rb +73 -0
  185. data/ruby/Death.rb +26 -0
  186. data/ruby/Diplomacy.rb +59 -0
  187. data/ruby/Genealogy.rb +173 -0
  188. data/ruby/Insurance.rb +562 -0
  189. data/ruby/Marriage.rb +21 -0
  190. data/ruby/Metamodel.rb +621 -0
  191. data/ruby/Monogamy.rb +27 -0
  192. data/ruby/MultiInheritance.rb +38 -0
  193. data/ruby/OilSupply.rb +112 -0
  194. data/ruby/OneRoleNesting.rb +66 -0
  195. data/ruby/Orienteering.rb +216 -0
  196. data/ruby/PersonPlaysGame.rb +31 -0
  197. data/ruby/RedundantDependency.rb +53 -0
  198. data/ruby/SchoolActivities.rb +49 -0
  199. data/ruby/SeparateSubtype.rb +46 -0
  200. data/ruby/SimplestUnary.rb +10 -0
  201. data/ruby/Supervision.rb +33 -0
  202. data/ruby/TwoValues.rb +14 -0
  203. data/ruby/VenueSeating.rb +64 -0
  204. data/ruby/WaiterTips.rb +49 -0
  205. data/ruby/Warehousing.rb +167 -0
  206. data/ruby/WindowInRoomInBldg.rb +45 -0
  207. data/sql/server/Address.sql +40 -0
  208. data/sql/server/Astronomy.sql +36 -0
  209. data/sql/server/Blog.sql +78 -0
  210. data/sql/server/CinemaBookings.sql +95 -0
  211. data/sql/server/CinemaTickets.sql +191 -0
  212. data/sql/server/CompanyDirectorEmployee.sql +104 -0
  213. data/sql/server/Death.sql +11 -0
  214. data/sql/server/Diplomacy.sql +66 -0
  215. data/sql/server/Genealogy.sql +138 -0
  216. data/sql/server/Health.sql +169 -0
  217. data/sql/server/Insurance.sql +484 -0
  218. data/sql/server/Marriage.sql +30 -0
  219. data/sql/server/Metamodel.sql +1000 -0
  220. data/sql/server/Monogamy.sql +20 -0
  221. data/sql/server/MultiInheritance.sql +27 -0
  222. data/sql/server/OilSupply.sql +105 -0
  223. data/sql/server/OneRoleNesting.sql +29 -0
  224. data/sql/server/Orienteering.sql +186 -0
  225. data/sql/server/PersonPlaysGame.sql +9 -0
  226. data/sql/server/RedundantDependency.sql +54 -0
  227. data/sql/server/SchoolActivities.sql +30 -0
  228. data/sql/server/SeparateSubtype.sql +33 -0
  229. data/sql/server/SimplestUnary.sql +9 -0
  230. data/sql/server/Supervision.sql +30 -0
  231. data/sql/server/VenueSeating.sql +54 -0
  232. data/sql/server/WaiterTips.sql +31 -0
  233. data/sql/server/Warehousing.sql +203 -0
  234. data/sql/server/WindowInRoomInBldg.sql +13 -0
  235. data/transform/surrogate/Address.absorption +2 -0
  236. data/transform/surrogate/Blog.absorption +5 -0
  237. data/transform/surrogate/CinemaBookings.absorption +7 -0
  238. data/transform/surrogate/CompanyDirectorEmployee.absorption +7 -0
  239. data/transform/surrogate/Death.absorption +1 -0
  240. data/transform/surrogate/Diplomacy-revised.absorption +6 -0
  241. data/transform/surrogate/Diplomacy.absorption +6 -0
  242. data/transform/surrogate/Genealogy.absorption +8 -0
  243. data/transform/surrogate/Insurance.absorption +18 -0
  244. data/transform/surrogate/Marriage.absorption +2 -0
  245. data/transform/surrogate/Metamodel.absorption +25 -0
  246. data/transform/surrogate/Monogamy.absorption +1 -0
  247. data/transform/surrogate/MultiInheritance.absorption +1 -0
  248. data/transform/surrogate/MultipleSubtyping.absorption +1 -0
  249. data/transform/surrogate/OilSupply.absorption +8 -0
  250. data/transform/surrogate/OneRoleNesting.absorption +1 -0
  251. data/transform/surrogate/Orienteering.absorption +11 -0
  252. data/transform/surrogate/PersonPlaysGame.absorption +1 -0
  253. data/transform/surrogate/RedundantDependency.absorption +3 -0
  254. data/transform/surrogate/SchoolActivities.absorption +3 -0
  255. data/transform/surrogate/SeparateSubtype.absorption +3 -0
  256. data/transform/surrogate/SimplestUnary.absorption +1 -0
  257. data/transform/surrogate/Supervision.absorption +2 -0
  258. data/transform/surrogate/WaiterTips.absorption +3 -0
  259. data/transform/surrogate/Warehousing.absorption +12 -0
  260. data/transform/surrogate/WindowInRoomInBldg.absorption +1 -0
  261. data/transform/surrogate/unit.absorption +0 -0
  262. metadata +374 -0
@@ -0,0 +1,203 @@
1
+ CREATE TABLE BackOrderAllocation (
2
+ -- Back Order Allocation involves Purchase Order Item and Purchase Order Item is for Product and Product has Product ID,
3
+ PurchaseOrderItemProductID int NOT NULL,
4
+ -- Back Order Allocation involves Purchase Order Item and Purchase Order Item is part of Purchase Order and Purchase Order has Purchase Order ID,
5
+ PurchaseOrderItemPurchaseOrderID int NOT NULL,
6
+ -- Back Order Allocation is for Quantity,
7
+ Quantity int NOT NULL,
8
+ -- Back Order Allocation involves Sales Order Item and Sales Order Item is for Product and Product has Product ID,
9
+ SalesOrderItemProductID int NOT NULL,
10
+ -- Back Order Allocation involves Sales Order Item and Sales Order Item is part of Sales Order and Sales Order has Sales Order ID,
11
+ SalesOrderItemSalesOrderID int NOT NULL,
12
+ PRIMARY KEY(PurchaseOrderItemPurchaseOrderID, PurchaseOrderItemProductID, SalesOrderItemSalesOrderID, SalesOrderItemProductID)
13
+ )
14
+ GO
15
+
16
+ CREATE TABLE Bin (
17
+ -- Bin has Bin ID,
18
+ BinID int IDENTITY NOT NULL,
19
+ -- maybe Bin contains Product and Product has Product ID,
20
+ ProductID int NULL,
21
+ -- Bin contains Quantity,
22
+ Quantity int NOT NULL,
23
+ -- maybe Warehouse contains Bin and Warehouse has Warehouse ID,
24
+ WarehouseID int NULL,
25
+ PRIMARY KEY(BinID)
26
+ )
27
+ GO
28
+
29
+ CREATE TABLE DispatchItem (
30
+ -- maybe Dispatch Item is for Dispatch and Dispatch has Dispatch ID,
31
+ DispatchID int NULL,
32
+ -- Dispatch Item has Dispatch Item ID,
33
+ DispatchItemID int IDENTITY NOT NULL,
34
+ -- Dispatch Item is Product and Product has Product ID,
35
+ ProductID int NOT NULL,
36
+ -- Dispatch Item is in Quantity,
37
+ Quantity int NOT NULL,
38
+ -- maybe Dispatch Item is for Sales Order Item and Sales Order Item is for Product and Product has Product ID,
39
+ SalesOrderItemProductID int NULL,
40
+ -- maybe Dispatch Item is for Sales Order Item and Sales Order Item is part of Sales Order and Sales Order has Sales Order ID,
41
+ SalesOrderItemSalesOrderID int NULL,
42
+ -- maybe Dispatch Item is for Transfer Request and Transfer Request has Transfer Request ID,
43
+ TransferRequestID int NULL,
44
+ PRIMARY KEY(DispatchItemID)
45
+ )
46
+ GO
47
+
48
+ CREATE TABLE Party (
49
+ -- Party has Party ID,
50
+ PartyID int IDENTITY NOT NULL,
51
+ PRIMARY KEY(PartyID)
52
+ )
53
+ GO
54
+
55
+ CREATE TABLE Product (
56
+ -- Product has Product ID,
57
+ ProductID int IDENTITY NOT NULL,
58
+ PRIMARY KEY(ProductID)
59
+ )
60
+ GO
61
+
62
+ CREATE TABLE PurchaseOrder (
63
+ -- Purchase Order has Purchase Order ID,
64
+ PurchaseOrderID int IDENTITY NOT NULL,
65
+ -- Purchase Order is to Supplier and Supplier is a kind of Party and Party has Party ID,
66
+ SupplierID int NOT NULL,
67
+ -- Purchase Order is to Warehouse and Warehouse has Warehouse ID,
68
+ WarehouseID int NOT NULL,
69
+ PRIMARY KEY(PurchaseOrderID),
70
+ FOREIGN KEY (SupplierID) REFERENCES Party (PartyID)
71
+ )
72
+ GO
73
+
74
+ CREATE TABLE PurchaseOrderItem (
75
+ -- Purchase Order Item is for Product and Product has Product ID,
76
+ ProductID int NOT NULL,
77
+ -- Purchase Order Item is part of Purchase Order and Purchase Order has Purchase Order ID,
78
+ PurchaseOrderID int NOT NULL,
79
+ -- Purchase Order Item is in Quantity,
80
+ Quantity int NOT NULL,
81
+ PRIMARY KEY(PurchaseOrderID, ProductID),
82
+ FOREIGN KEY (ProductID) REFERENCES Product (ProductID),
83
+ FOREIGN KEY (PurchaseOrderID) REFERENCES PurchaseOrder (PurchaseOrderID)
84
+ )
85
+ GO
86
+
87
+ CREATE TABLE ReceivedItem (
88
+ -- Received Item is Product and Product has Product ID,
89
+ ProductID int NOT NULL,
90
+ -- maybe Received Item is for Purchase Order Item and Purchase Order Item is for Product and Product has Product ID,
91
+ PurchaseOrderItemProductID int NULL,
92
+ -- maybe Received Item is for Purchase Order Item and Purchase Order Item is part of Purchase Order and Purchase Order has Purchase Order ID,
93
+ PurchaseOrderItemPurchaseOrderID int NULL,
94
+ -- Received Item is in Quantity,
95
+ Quantity int NOT NULL,
96
+ -- maybe Received Item has Receipt and Receipt has Receipt ID,
97
+ ReceiptID int NULL,
98
+ -- Received Item has Received Item ID,
99
+ ReceivedItemID int IDENTITY NOT NULL,
100
+ -- maybe Received Item is for Transfer Request and Transfer Request has Transfer Request ID,
101
+ TransferRequestID int NULL,
102
+ PRIMARY KEY(ReceivedItemID),
103
+ FOREIGN KEY (ProductID) REFERENCES Product (ProductID),
104
+ FOREIGN KEY (PurchaseOrderItemPurchaseOrderID, PurchaseOrderItemProductID) REFERENCES PurchaseOrderItem (PurchaseOrderID, ProductID)
105
+ )
106
+ GO
107
+
108
+ CREATE TABLE SalesOrder (
109
+ -- Sales Order was made by Customer and Customer is a kind of Party and Party has Party ID,
110
+ CustomerID int NOT NULL,
111
+ -- Sales Order has Sales Order ID,
112
+ SalesOrderID int IDENTITY NOT NULL,
113
+ -- Sales Order is from Warehouse and Warehouse has Warehouse ID,
114
+ WarehouseID int NOT NULL,
115
+ PRIMARY KEY(SalesOrderID),
116
+ FOREIGN KEY (CustomerID) REFERENCES Party (PartyID)
117
+ )
118
+ GO
119
+
120
+ CREATE TABLE SalesOrderItem (
121
+ -- Sales Order Item is for Product and Product has Product ID,
122
+ ProductID int NOT NULL,
123
+ -- Sales Order Item is in Quantity,
124
+ Quantity int NOT NULL,
125
+ -- Sales Order Item is part of Sales Order and Sales Order has Sales Order ID,
126
+ SalesOrderID int NOT NULL,
127
+ PRIMARY KEY(SalesOrderID, ProductID),
128
+ FOREIGN KEY (ProductID) REFERENCES Product (ProductID),
129
+ FOREIGN KEY (SalesOrderID) REFERENCES SalesOrder (SalesOrderID)
130
+ )
131
+ GO
132
+
133
+ CREATE TABLE TransferRequest (
134
+ -- Transfer Request is from Warehouse and Warehouse has Warehouse ID,
135
+ FromWarehouseID int NOT NULL,
136
+ -- Transfer Request is for Product and Product has Product ID,
137
+ ProductID int NOT NULL,
138
+ -- Transfer Request is for Quantity,
139
+ Quantity int NOT NULL,
140
+ -- Transfer Request is to Warehouse and Warehouse has Warehouse ID,
141
+ ToWarehouseID int NOT NULL,
142
+ -- Transfer Request has Transfer Request ID,
143
+ TransferRequestID int IDENTITY NOT NULL,
144
+ PRIMARY KEY(TransferRequestID),
145
+ FOREIGN KEY (ProductID) REFERENCES Product (ProductID)
146
+ )
147
+ GO
148
+
149
+ CREATE TABLE Warehouse (
150
+ -- Warehouse has Warehouse ID,
151
+ WarehouseID int IDENTITY NOT NULL,
152
+ PRIMARY KEY(WarehouseID)
153
+ )
154
+ GO
155
+
156
+ ALTER TABLE BackOrderAllocation
157
+ ADD FOREIGN KEY (PurchaseOrderItemPurchaseOrderID, PurchaseOrderItemProductID) REFERENCES PurchaseOrderItem (PurchaseOrderID, ProductID)
158
+ GO
159
+
160
+ ALTER TABLE BackOrderAllocation
161
+ ADD FOREIGN KEY (SalesOrderItemSalesOrderID, SalesOrderItemProductID) REFERENCES SalesOrderItem (SalesOrderID, ProductID)
162
+ GO
163
+
164
+ ALTER TABLE Bin
165
+ ADD FOREIGN KEY (ProductID) REFERENCES Product (ProductID)
166
+ GO
167
+
168
+ ALTER TABLE Bin
169
+ ADD FOREIGN KEY (WarehouseID) REFERENCES Warehouse (WarehouseID)
170
+ GO
171
+
172
+ ALTER TABLE DispatchItem
173
+ ADD FOREIGN KEY (ProductID) REFERENCES Product (ProductID)
174
+ GO
175
+
176
+ ALTER TABLE DispatchItem
177
+ ADD FOREIGN KEY (SalesOrderItemSalesOrderID, SalesOrderItemProductID) REFERENCES SalesOrderItem (SalesOrderID, ProductID)
178
+ GO
179
+
180
+ ALTER TABLE DispatchItem
181
+ ADD FOREIGN KEY (TransferRequestID) REFERENCES TransferRequest (TransferRequestID)
182
+ GO
183
+
184
+ ALTER TABLE PurchaseOrder
185
+ ADD FOREIGN KEY (WarehouseID) REFERENCES Warehouse (WarehouseID)
186
+ GO
187
+
188
+ ALTER TABLE ReceivedItem
189
+ ADD FOREIGN KEY (TransferRequestID) REFERENCES TransferRequest (TransferRequestID)
190
+ GO
191
+
192
+ ALTER TABLE SalesOrder
193
+ ADD FOREIGN KEY (WarehouseID) REFERENCES Warehouse (WarehouseID)
194
+ GO
195
+
196
+ ALTER TABLE TransferRequest
197
+ ADD FOREIGN KEY (FromWarehouseID) REFERENCES Warehouse (WarehouseID)
198
+ GO
199
+
200
+ ALTER TABLE TransferRequest
201
+ ADD FOREIGN KEY (ToWarehouseID) REFERENCES Warehouse (WarehouseID)
202
+ GO
203
+
@@ -0,0 +1,13 @@
1
+ CREATE TABLE Window (
2
+ -- Window is located in Wall and Wall has Wall Number,
3
+ WallNumber int NOT NULL,
4
+ -- Window is located in Wall and Wall is in Room and Room is in Building and Building has Building Number,
5
+ WallRoomBuildingNumber int NOT NULL,
6
+ -- Window is located in Wall and Wall is in Room and Room has Room Number,
7
+ WallRoomNumber int NOT NULL,
8
+ -- Window has Window Number,
9
+ WindowNumber int NOT NULL,
10
+ PRIMARY KEY(WallRoomBuildingNumber, WallRoomNumber, WallNumber, WindowNumber)
11
+ )
12
+ GO
13
+
@@ -0,0 +1,2 @@
1
+ Company: Address.City, Address.Postcode, Address.Street.First.Street.Line, Address.Street.Number, Address.Street.Second.Street.Line, Address.Street.Third.Street.Line, Company.ID[*], Company.Name[1]
2
+ Person: Address.City, Address.Postcode, Address.Street.First.Street.Line, Address.Street.Number, Address.Street.Second.Street.Line, Address.Street.Third.Street.Line, Family.Name[1], Given.Names[1], Person.ID[*]
@@ -0,0 +1,5 @@
1
+ Author: Author.Id[*], Author.Name[1]
2
+ Comment: Author.Id, Comment.Id[*], Content.Style, Content.Text, Paragraph.ID
3
+ Paragraph: Content.Style, Content.Text, Ordinal[1], Paragraph.ID[*], Post.Id[1]
4
+ Post: Author.Id, Post.Id[*], Topic.Id
5
+ Topic: Parent.Topic.Id, Topic.Id[*], Topic.Name[1]
@@ -0,0 +1,7 @@
1
+ Booking: Booking.ID[*], Is.Confirmed, Number, Person.ID[1], Session.ID[1]
2
+ Cinema: Cinema.ID[*]
3
+ Film: Film.ID[*], Name
4
+ Person: Login.Name[1], Person.ID[*]
5
+ Seat: Row.Cinema.ID[1], Row.Nr[1], Seat.ID[*], Seat.Number[1], Section.Name
6
+ Seat Allocation: Allocated.Seat.ID[*], Booking.ID[*]
7
+ Session: Cinema.ID[1], Date.Time.Value[1], Film.ID, Session.ID[*]
@@ -0,0 +1,7 @@
1
+ Attendance: Attendee.ID[*], Meeting.ID[*]
2
+ Company: Company.ID[*], Company.Name[1], Is.Listed
3
+ Directorship: Appointment.Date, Company.ID[1], Director.ID[1], Directorship.ID[*]
4
+ Employee: Company.ID, Employee.ID[*], Employee.Nr[1], Manager.ID, Manager.Is.Ceo
5
+ Employment: Employee.ID[*], Person.ID[*]
6
+ Meeting: Company.ID[1], Date[1], Is.Board.Meeting[1], Meeting.ID[*]
7
+ Person: Birth.Date, Family.Name[1], Given.Name[1], Person.ID[*]
@@ -0,0 +1 @@
1
+ Person: Death.Cause.Of.Death, Is.Dead, Person.ID[*], Person.Name[1]
@@ -0,0 +1,6 @@
1
+ Country: Country.ID[*], Country.Name[1]
2
+ Diplomat: Diplomat.ID[*], Diplomat.Name[1], Represented.Country.ID, Served.Country.ID
3
+ Fluency: Diplomat.ID[*], Language.ID[*]
4
+ Language: Language.ID[*], Language.Name[1]
5
+ LanguageUse: Country.ID[*], Language.ID[*]
6
+ Representation: Ambassador.ID, Country.ID[*], Represented.Country.ID[*]
@@ -0,0 +1,6 @@
1
+ Country: Country.ID[*], Country.Name[1]
2
+ Diplomat: Diplomat.ID[*], Diplomat.Name[1], Represented.Country.ID, Served.Country.ID
3
+ Fluency: Diplomat.ID[*], Language.ID[*]
4
+ Language: Language.ID[*], Language.Name[1]
5
+ LanguageUse: Country.ID[*], Language.ID[*]
6
+ Representation: Ambassador.ID, Country.ID[1], Representation.ID[*], Represented.Country.ID[1]
@@ -0,0 +1,8 @@
1
+ Event: Certificate, Event.Date.Day, Event.Date.Max.Year, Event.Date.Min.Year, Event.Date.Month, Event.ID[*], Event.Location, Event.Type.ID, Official
2
+ Event Type: Event.Type.ID[*], Event.Type.Name[1]
3
+ Friendship: Friendship.ID[*], Is.Confirmed, Other.User.ID[1], User.ID[1]
4
+ Participation: Event.ID[*], Person.ID[*], Role.ID[*], Source.ID[*]
5
+ Person: Address, Email, Family.Name, Gender, Given.Name, Occupation, Person.ID[*], Preferred.Picture
6
+ Role: Event.Role.Name[1], Role.ID[*]
7
+ Source: Source.ID[*], Source.Name[1], User.ID
8
+ User: Email, User.ID[*]
@@ -0,0 +1,18 @@
1
+ Asset: Asset.ID[*], Vehicle.Colour, Vehicle.Dealer.ID, Vehicle.Engine.Number, Vehicle.Finance.Institution.ID, Vehicle.Has.Commercial.Registration, Vehicle.Model.Year.Nr, Vehicle.Registration.Nr, Vehicle.Type.Badge, Vehicle.Type.Make, Vehicle.Type.Model, Vehicle.VIN[1]
2
+ Claim: Claim.ID[*], Incident.Address.City, Incident.Address.Postcode, Incident.Address.State.ID, Incident.Address.Street, Incident.Date.Time, Incident.Officer.Name, Incident.Police.Report.Nr, Incident.Report.Date.Time, Incident.Reporter.Name, Incident.Station.Name, Lodgement.Date.Time, Lodgement.Person.ID, P.Sequence[1], Policy.ID[1]
3
+ Contractor Appointment: Claim.ID[1], Contractor.Appointment.ID[*], Contractor.ID[1]
4
+ Cover: Asset.ID[*], Cover.Type.ID[*], Policy.ID[*]
5
+ Cover Type: Cover.Type.Code[1], Cover.Type.ID[*], Cover.Type.Name[2]
6
+ Cover Wording: Cover.Type.ID[1], Cover.Wording.ID[*], Policy.Wording.Text[1], Start.Date[1]
7
+ Loss Type: Involves.Driving, Is.Single.Vehicle.Incident, Liability.Code, Loss.Type.Code[1], Loss.Type.ID[*]
8
+ Lost Item: Description, Incident.Claim.ID[1], Lost.Item.ID[*], Lost.Item.Nr[1], Purchase.Date, Purchase.Place, Purchase.Price
9
+ Party: Company.Contact.Person.ID, Is.A.Company, Party.ID[*], Person.Address.City, Person.Address.Postcode, Person.Address.State.ID, Person.Address.Street, Person.Birth.Date, Person.Business.Phone.Nr, Person.Contact.Time, Person.Email, Person.Family.Name, Person.Given.Name, Person.Home.Phone.Nr, Person.Is.International, Person.License.Number[1], Person.License.Type, Person.Mobile.Phone.Nr, Person.Occupation, Person.Preferred.Contact.Method, Person.Title, Person.Year.Nr, Postal.Address.City, Postal.Address.Postcode, Postal.Address.State.ID, Postal.Address.Street
10
+ Policy: Application.Nr, Authorised.Rep.ID, ITC.Claimed, Insured.ID, P.Product.ID[1], P.Serial[1], P.State.ID[1], P.Year.Nr[1], Policy.ID[*]
11
+ Product: Alias[1], Description[2], Product.Code[3], Product.ID[*]
12
+ Property Damage: Address.City[1], Address.Postcode[1], Address.State.ID[1], Address.Street[1], Incident.Claim.ID[1], Owner.Name, Phone.Nr, Property.Damage.ID[*]
13
+ State: State.Code[1], State.ID[*], State.Name[2]
14
+ Third Party: Insurer.ID, Model.Year.Nr, Person.ID[1], Third.Party.ID[*], Vehicle.Incident.Claim.ID[1], Vehicle.Registration.Nr, Vehicle.Type.Badge, Vehicle.Type.Make, Vehicle.Type.Model
15
+ Underwriting Demerit: Occurrence.Count, Underwriting.Demerit.ID[*], Underwriting.Question.ID[1], Vehicle.Incident.Claim.ID[1]
16
+ Underwriting Question: Text[1], Underwriting.Question.ID[*]
17
+ Vehicle Incident: Description, Driving.Blood.Test.Result, Driving.Breath.Test.Result, Driving.Charge, Driving.Hospital.Name, Driving.Intoxication, Driving.Is.A.Warning, Driving.Nonconsent.Reason, Driving.Person.ID, Driving.Unlicensed.Reason, Incident.Claim.ID[*], Loss.Type.ID, Occurred.While.Being.Driven, Previous.Damage.Description, Reason, Towed.Location, Weather.Description
18
+ Witness: Address.City, Address.Postcode, Address.State.ID, Address.Street, Contact.Phone.Nr, Incident.Claim.ID[1], Name[1], Witness.ID[*]
@@ -0,0 +1,2 @@
1
+ Marriage: Husband.ID[*], Wife.ID[*]
2
+ Person: Family.Name[1], Given.Name[1], Person.ID[*]
@@ -0,0 +1,25 @@
1
+ Aggregation: Aggregate.Code[1], Aggregated.Variable.ID[1], Aggregation.ID[*], Variable.ID
2
+ Allowed Range: Allowed.Range.ID[*], Value.Constraint.Concept.Guid[1], Value.Range.Maximum.Bound.Is.Inclusive[1], Value.Range.Maximum.Bound.Value.ID[1], Value.Range.Minimum.Bound.Is.Inclusive[1], Value.Range.Minimum.Bound.Value.ID[1]
3
+ Alternative Set: Guid[*], Members.Are.Exclusive
4
+ Concept: Constraint.Agent.Name, Constraint.Enforcement.Code, Constraint.Name[1], Constraint.Vocabulary.Name[1], Context.Note.Date, Context.Note.Discussion, Context.Note.Kind, Context.Note.Relevant.Concept.Guid, Fact.Population.ID, Fact.Type.Concept.Guid, Guid[*], Implication.Rule.Name, Instance.Fact.Concept.Guid[2], Instance.Object.Type.ID, Instance.Population.ID, Instance.Value.ID, Presence.Constraint.Is.Mandatory, Presence.Constraint.Is.Preferred.Identifier, Presence.Constraint.Max.Frequency, Presence.Constraint.Min.Frequency, Presence.Constraint.Role.Sequence.Guid, Ring.Constraint.Other.Role.ID, Ring.Constraint.Ring.Type, Ring.Constraint.Role.ID, Set.Exclusion.Constraint.Is.Mandatory, Subset.Constraint.Subset.Role.Sequence.Guid[3], Subset.Constraint.Superset.Role.Sequence.Guid[3], Topic.Name, Unit.Coefficient.Denominator, Unit.Coefficient.Is.Precise, Unit.Coefficient.Numerator, Unit.Ephemera.URL, Unit.Is.Fundamental, Unit.Name[46], Unit.Offset, Unit.Plural.Name[5], Unit.Vocabulary.Name[6], Value.Constraint.Regular.Expression, Value.Constraint.Role.ID[7]
5
+ Context According To: Agent.Name[1], Context.According.To.ID[*], Context.Note.Concept.Guid[1], Date
6
+ Context Agreed By: Agent.Name[1], Agreement.Context.Note.Concept.Guid[1], Context.Agreed.By.ID[*]
7
+ Derivation: Base.Unit.Concept.Guid[1], Derivation.ID[*], Derived.Unit.Concept.Guid[1], Exponent
8
+ Diagram: Diagram.ID[*], Name[1], Vocabulary.Name[1]
9
+ Facet: Facet.ID[*], Facet.Value.Type.Object.Type.ID, Name[1], Value.Type.Object.Type.ID[1]
10
+ Facet Restriction: Facet.ID[1], Facet.Restriction.ID[*], Value.ID, Value.Type.Object.Type.ID[1]
11
+ Fact Type: Concept.Guid[*], Entity.Type.Object.Type.ID[1], Type.Inheritance.Assimilation, Type.Inheritance.Provides.Identification[2], Type.Inheritance.Subtype.Object.Type.ID[23], Type.Inheritance.Supertype.Object.Type.ID[3]
12
+ Object Type: Concept.Guid[1], Is.Independent, Name[4], Object.Type.ID[*], Pronoun, Value.Type.Length[2], Value.Type.Scale[2], Value.Type.Supertype.Object.Type.ID[2], Value.Type.Transaction.Phase[2], Value.Type.Unit.Concept.Guid[2], Value.Type.Value.Constraint.Concept.Guid[23], Vocabulary.Name[4]
13
+ Play: Play.ID[*], Role.ID[1], Step.ID, Variable.ID[1]
14
+ Population: Concept.Guid[1], Name[2], Population.ID[*], Vocabulary.Name[2]
15
+ Reading: Fact.Type.Concept.Guid[1], Is.Negative, Ordinal[1], Reading.ID[*], Role.Sequence.Guid, Text
16
+ Role: Concept.Guid[1], Fact.Type.Concept.Guid[2], Object.Type.ID, Ordinal[2], Role.ID[*], Role.Name, Role.Proxy.Link.Fact.Type.Concept.Guid[3], Role.Proxy.Role.ID[4]
17
+ Role Display: Fact.Type.Shape.Guid[1], Ordinal[1], Role.Display.ID[*], Role.ID
18
+ Role Ref: Leading.Adjective, Ordinal[3], Play.ID[1], Role.ID[2], Role.Ref.ID[*], Role.Sequence.Guid[23], Trailing.Adjective
19
+ Role Sequence: Guid[*], Has.Unused.Dependency.To.Force.Table.In.Norma
20
+ Role Value: Fact.Concept.Guid[1], Instance.Concept.Guid, Population.ID, Role.ID[1], Role.Value.ID[*]
21
+ Set Comparison Roles: Ordinal[1], Role.Sequence.Guid[2], Set.Comparison.Constraint.Concept.Guid[12], Set.Comparison.Roles.ID[*]
22
+ Shape: Constraint.Shape.Constraint.Concept.Guid, Fact.Type.Shape.Display.Role.Names.Setting, Fact.Type.Shape.Fact.Type.Concept.Guid, Fact.Type.Shape.Rotation.Setting, Guid[*], Is.Expanded, Location.X[1], Location.Y[1], Model.Note.Shape.Context.Note.Concept.Guid, ORM.Diagram.ID[1], Object.Type.Shape.Has.Expanded.Reference.Mode, Object.Type.Shape.Object.Type.ID, Objectified.Fact.Type.Name.Shape.Fact.Type.Shape.Guid[2], Reading.Shape.Fact.Type.Shape.Guid[3], Reading.Shape.Reading.ID, Ring.Constraint.Shape.Fact.Type.Shape.Guid, Role.Name.Shape.Role.Display.ID[4], Value.Constraint.Shape.Object.Type.Shape.Guid, Value.Constraint.Shape.Role.Display.ID[5]
23
+ Step: Alternative.Set.Guid, Fact.Type.Concept.Guid, Input.Play.ID[1], Is.Disallowed, Is.Optional, Output.Play.ID[1], Step.ID[*]
24
+ Value: Is.Literal.String[1], Literal[1], Unit.Concept.Guid[1], Value.ID[*], Value.Type.Object.Type.ID
25
+ Variable: Object.Type.ID, Ordinal[2], Projection.ID[1], Query.Concept.Guid[2], Role.Name, Subscript, Value.ID, Variable.ID[*]
@@ -0,0 +1 @@
1
+ Person: Girl.Boyfriend.ID[1], Name, Person.ID[*]
@@ -0,0 +1 @@
1
+ Person: Australian.TFN[1], Employee.ID[*], Person.ID[2], Person.Name[3]
@@ -0,0 +1 @@
1
+ Person: Person.ID[*], Person.Name[1]
@@ -0,0 +1,8 @@
1
+ Acceptable Substitution: Acceptable.Substitution.ID[*], Alternate.Product.ID[1], Product.ID[1], Season[1]
2
+ Month: Month.ID[*], Month.Nr[1], Season
3
+ Product: Product.ID[*], Product.Name[1]
4
+ Production Forecast: Cost, Product.ID[1], Production.Forecast.ID[*], Quantity, Refinery.ID[1], Supply.Period.Month.ID[1], Supply.Period.Year.Nr[1]
5
+ Refinery: Refinery.ID[*], Refinery.Name[1]
6
+ Region: Region.ID[*], Region.Name[1]
7
+ Regional Demand: Product.ID[1], Quantity, Region.ID[1], Regional.Demand.ID[*], Supply.Period.Month.ID[1], Supply.Period.Year.Nr[1]
8
+ Transport Route: Cost, Refinery.ID[1], Region.ID[1], Transport.Method[1], Transport.Route.ID[*]
@@ -0,0 +1 @@
1
+ Party: Party.Id[*], Party.Moniker.Accuracy.Level, Party.Moniker.Party.Name, Person.Attending.Doctor.Id[1], Person.Death.Event.Date.Ymd, Person.Died, Person.Event.Date.Ymd[1]
@@ -0,0 +1,11 @@
1
+ Club: Club.Code[1], Club.ID[*], Club.Name[2]
2
+ Entry: Course, Entry.ID[*], Event.ID[1], Finish.Placing, Person.ID[1], Score
3
+ Event: Club.ID, Event.ID[*], Event.Name[1], Map.ID, Number[2], Series.ID[2], Start.Location, Start.Time
4
+ Event Control: Control.Number[1], Event.Control.ID[*], Event.ID[1], Point.Value
5
+ Event Scoring Method: Course[1], Event.ID[1], Event.Scoring.Method.ID[*], Scoring.Method
6
+ Map: Accessibility, Map.ID[*], Map.Name[1], Owner.ID
7
+ Person: Birth.Year, Club.ID, Family.Name[1], Gender, Given.Name[1], Person.ID[*], Post.Code
8
+ Punch: Punch.ID[*]
9
+ Punch Placement: Event.Control.ID[*], Punch.ID[*]
10
+ Series: Name[1], Series.ID[*]
11
+ Visit: Entry.ID[1], Punch.ID[1], Time[1], Visit.ID[*]
@@ -0,0 +1 @@
1
+ Playing: Game.Code[1], Person.Name[1], Playing.ID[*]
@@ -0,0 +1,3 @@
1
+ Address: Address.Id[*], Legislative.District.Number, Legislative.District.State.Or.Province.Id, Postal.Code, State.Or.Province.Id
2
+ Politician: Legislative.District.Number[1], Legislative.District.State.Or.Province.Id[1], Politician.Id[*]
3
+ State Or Province: State.Or.Province.Id[*]
@@ -0,0 +1,3 @@
1
+ School Activity: Activity.Name[1], School.Activity.ID[*], School.Name[1]
2
+ Student: School.Name, Student.ID[*], Student.Name[1]
3
+ Student Participation: Activity.Name[1], School.Name, Student.ID[1], Student.Participation.ID[*]
@@ -0,0 +1,3 @@
1
+ Claim: Claim.ID[*], Incident.Date.Time, Incident.Witness.ID
2
+ Person: Person.ID[*], Person.Name[1]
3
+ Vehicle Incident: Driver.ID, Incident.Claim.ID[*]
@@ -0,0 +1 @@
1
+ Some String: Is.Long, Some.String.ID[*], Some.String.Value[1]
@@ -0,0 +1,2 @@
1
+ Company: CEO.ID, Company.ID[*], Company.Name[1]
2
+ Employee: Company.ID[1], Employee.ID[*], Employee.Nr[1], Manager.ID
@@ -0,0 +1,3 @@
1
+ Meal: Meal.Id[*]
2
+ Service: Amount.AUDValue, Meal.Id[1], Service.ID[*], Waiter.Nr[1]
3
+ WaiterTip: Amount.AUDValue, Meal.Id[1], Waiter.Nr[1], Waiter.Tip.ID[*]
@@ -0,0 +1,12 @@
1
+ Back Order Allocation: Back.Order.Allocation.ID[*], Purchase.Order.Item.ID[1], Quantity, Sales.Order.Item.ID[1]
2
+ Bin: Bin.ID[*], Product.ID, Quantity, Warehouse.ID
3
+ Dispatch Item: Dispatch.ID, Dispatch.Item.ID[*], Product.ID, Quantity, Sales.Order.Item.ID, Transfer.Request.ID
4
+ Party: Party.ID[*]
5
+ Product: Product.ID[*]
6
+ Purchase Order: Purchase.Order.ID[*], Supplier.ID, Warehouse.ID
7
+ Purchase Order Item: Product.ID[1], Purchase.Order.ID[1], Purchase.Order.Item.ID[*], Quantity
8
+ Received Item: Product.ID, Purchase.Order.Item.ID, Quantity, Receipt.ID, Received.Item.ID[*], Transfer.Request.ID
9
+ Sales Order: Customer.ID, Sales.Order.ID[*], Warehouse.ID
10
+ Sales Order Item: Product.ID[1], Quantity, Sales.Order.ID[1], Sales.Order.Item.ID[*]
11
+ Transfer Request: From.Warehouse.ID, Product.ID, Quantity, To.Warehouse.ID, Transfer.Request.ID[*]
12
+ Warehouse: Warehouse.ID[*]
@@ -0,0 +1 @@
1
+ Window: Wall.Number[1], Wall.Room.Building.Number[1], Wall.Room.Number[1], Window.ID[*], Window.Number[1]
File without changes