small fixes : opac lib is the same as librarian lib by default.
[koha.git] / marc / marcschema.old.sql
1 create table Resource_Table (Resource_ID INT UNSIGNED NOT NULL AUTO_INCREMENT,
2 Date_Added TIMESTAMP, Date_Modified TIMESTAMP, Record_ID INT UNSIGNED NOT NULL,
3 Statement_ID INT UNSIGNED, Scope_ID INT UNSIGNED,
4 Container_ID INT UNSIGNED,
5 primary key(Resource_ID),
6 key(Record_ID));
7
8 create table Schema_Table (Schema_ID INT UNSIGNED NOT NULL AUTO_INCREMENT,
9 Date_Added TIMESTAMP, Date_Modified TIMESTAMP,
10 Schema_URI CHAR(255) NOT NULL,
11 Object_ID INT UNSIGNED NOT NULL,
12 KEY ID_Index(Object_ID),
13 KEY Schema_Index (Schema_URI(255)),
14 primary key(Schema_ID));
15
16 create table Statement_Table (
17 Statement_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
18 Date_Added TIMESTAMP, 
19 Date_Modified TIMESTAMP, 
20 Statement_ID INT UNSIGNED NOT NULL,
21 Subject CHAR(255) NOT NULL,
22 Predicate CHAR(255) NOT NULL,
23 Object CHAR(255) NOT NULL,
24 Object_ID INT UNSIGNED,
25 Schema_ID INT UNSIGNED,
26 Statement_Type INT UNSIGNED,
27 KEY ID_Index (Statement_ID),
28 KEY Subject_Index (Subject(255)), 
29 KEY Pred_Index (Predicate(255)),
30 KEY Object_Index (Object(255)),
31 primary key(Statement_Key));  
32
33 create table Scope_Table (
34 Scope_ID INT UNSIGNED NOT NULL AUTO_INCREMENT,
35 Date_Added TIMESTAMP, Date_Modified TIMESTAMP,
36 Operator_ID INT UNSIGNED,
37 Location_ID INT UNSIGNED,
38 Resource_Type_ID ENUM('B','N'),
39 primary key(Scope_ID));
40
41 create table Bib_Table (Bib_ID INT UNSIGNED NOT NULL AUTO_INCREMENT,
42 Record_ID INT UNSIGNED NOT NULL,
43 Date_Added TIMESTAMP, Date_Modified TIMESTAMP, Control_ID INT UNSIGNED NOT NULL, 
44 Tag_0XX_ID INT UNSIGNED NOT NULL, Tag_1XX_ID INT UNSIGNED NOT NULL, Tag_2XX_ID INT
45 UNSIGNED NOT NULL, Tag_3XX_ID INT UNSIGNED NOT NULL, Tag_4XX_ID INT UNSIGNED NOT NULL, Tag_5XX_ID
46 INT UNSIGNED NOT NULL, Tag_6XX_ID INT UNSIGNED NOT NULL, Tag_7XX_ID INT UNSIGNED NOT NULL,
47 Tag_8XX_ID INT UNSIGNED NOT NULL, Tag_9XX_ID INT UNSIGNED NOT NULL, Storage_ID INT
48 UNSIGNED NOT NULL, Holdings_ID INT UNSIGNED NOT NULL,
49 KEY ID_Index(Record_ID), primary key(Bib_ID),
50 key (TAG_0XX_ID), key (TAG_1XX_ID), key (TAG_2XX_ID), key (TAG_3XX_ID), key (TAG_4XX_ID), key (TAG_5XX_ID), key (TAG_6XX_ID), key (TAG_7XX_ID), key (TAG_8XX_ID), key (TAG_9XX_ID), key (Storage_ID), key (Holdings_ID));
51
52 create table 0XX_Tag_Table (Tag_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
53 Tag_ID INT UNSIGNED NOT NULL, Indicator1 CHAR(1) NOT NULL,
54 Indicator2 CHAR(1) NOT NULL,
55 Tag CHAR(3) NOT NULL, Subfield_ID INT UNSIGNED NOT NULL, Authority_ID INT UNSIGNED, 
56 Link_Flag ENUM('Y','N','B'), Storage_ID INT UNSIGNED NOT NULL,
57 KEY ID_Index(Tag_ID),
58 key (Subfield_ID),
59 key (Storage_ID),
60 KEY Tag_Index (Tag(3)), primary key(Tag_Key));
61
62 create table 0XX_Subfield_Table 
63 (Subfield_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
64 Subfield_ID INT UNSIGNED NOT NULL, Subfield_Mark CHAR(1) NOT NULL,
65 Subfield_Value CHAR(255) NOT NULL, Storage_ID INT UNSIGNED,
66 KEY ID_Index (Subfield_ID),
67 KEY Mark_Index (Subfield_Mark(1)),
68 KEY Subfield_Index (Subfield_Value(255)), primary key(Subfield_Key));
69
70 create table 1XX_Tag_Table (Tag_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
71 Tag_ID INT UNSIGNED NOT NULL, Indicator1 CHAR(1) NOT NULL,
72 Indicator2 CHAR(1) NOT NULL,
73 Tag CHAR(3) NOT NULL, Subfield_ID INT UNSIGNED NOT NULL, Authority_ID INT UNSIGNED, 
74 Link_Flag ENUM('Y','N','B'), Storage_ID INT UNSIGNED NOT NULL,
75 KEY ID_Index(Tag_ID),
76 key (Subfield_ID), key (Storage_ID),
77 KEY Tag_Index (Tag(3)), primary key(Tag_Key));
78
79 create table 1XX_Subfield_Table 
80 (Subfield_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
81 Subfield_ID INT UNSIGNED NOT NULL, Subfield_Mark CHAR(1) NOT NULL,
82 Subfield_Value CHAR(255) NOT NULL, Storage_ID INT UNSIGNED,
83 KEY ID_Index (Subfield_ID),
84 KEY Mark_Index (Subfield_Mark(1)),
85 KEY Subfield_Index (Subfield_Value(255)), primary key(Subfield_Key));
86
87 create table 2XX_Tag_Table (Tag_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
88 Tag_ID INT UNSIGNED NOT NULL, Indicator1 CHAR(1) NOT NULL,
89 Indicator2 CHAR(1) NOT NULL,
90 Tag CHAR(3) NOT NULL, Subfield_ID INT UNSIGNED, Authority_ID INT UNSIGNED, 
91 Link_Flag ENUM('Y','N','B'), Storage_ID INT UNSIGNED,
92 KEY ID_Index (Tag_ID),
93 KEY Tag_Index (Tag(3)), primary key(Tag_Key));
94
95 create table 2XX_Subfield_Table 
96 (Subfield_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
97 Subfield_ID INT UNSIGNED NOT NULL, Subfield_Mark CHAR(1) NOT NULL,
98 Subfield_Value CHAR(255) NOT NULL, Storage_ID INT UNSIGNED,
99 KEY ID_Index (Subfield_ID),
100 KEY Mark_Index (Subfield_Mark(1)),
101 KEY Subfield_Index (Subfield_Value(255)), primary key(Subfield_Key));
102
103 create table 3XX_Tag_Table (Tag_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
104 Tag_ID INT UNSIGNED NOT NULL, Indicator1 CHAR(1) NOT NULL,
105 Indicator2 CHAR(1) NOT NULL,
106 Tag CHAR(3) NOT NULL, Subfield_ID INT UNSIGNED, Authority_ID INT UNSIGNED, 
107 Link_Flag ENUM('Y','N','B'), Storage_ID INT UNSIGNED,
108 KEY ID_Index (Tag_ID),
109 KEY Tag_Index (Tag(3)), primary key(Tag_Key));
110
111 create table 3XX_Subfield_Table 
112 (Subfield_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
113 Subfield_ID INT UNSIGNED NOT NULL, Subfield_Mark CHAR(1) NOT NULL,
114 Subfield_Value CHAR(255) NOT NULL, Storage_ID INT UNSIGNED,
115 KEY ID_Index (Subfield_ID),
116 KEY Mark_Index (Subfield_Mark(1)),
117 KEY Subfield_Index (Subfield_Value(255)), primary key(Subfield_Key));
118
119 create table 4XX_Tag_Table (Tag_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
120 Tag_ID INT UNSIGNED NOT NULL, Indicator1 CHAR(1) NOT NULL,
121 Indicator2 CHAR(1) NOT NULL,
122 Tag CHAR(3) NOT NULL, Subfield_ID INT UNSIGNED, Authority_ID INT UNSIGNED, 
123 Link_Flag ENUM('Y','N','B'), Storage_ID INT UNSIGNED,
124 KEY ID_Index (Tag_ID),
125 KEY Tag_Index (Tag(3)), primary key(Tag_Key));
126
127 create table 4XX_Subfield_Table 
128 (Subfield_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
129 Subfield_ID INT UNSIGNED NOT NULL, Subfield_Mark CHAR(1) NOT NULL,
130 Subfield_Value CHAR(255) NOT NULL, Storage_ID INT UNSIGNED,
131 KEY ID_Index (Subfield_ID),
132 KEY Mark_Index (Subfield_Mark(1)),
133 KEY Subfield_Index (Subfield_Value(255)), primary key(Subfield_Key));
134
135 create table 5XX_Tag_Table (Tag_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
136 Tag_ID INT UNSIGNED NOT NULL, Indicator1 CHAR(1) NOT NULL,
137 Indicator2 CHAR(1) NOT NULL,
138 Tag CHAR(3) NOT NULL, Subfield_ID INT UNSIGNED, Authority_ID INT UNSIGNED, 
139 Link_Flag ENUM('Y','N','B'), Storage_ID INT UNSIGNED,
140 KEY ID_Index (Tag_ID),
141 KEY Tag_Index (Tag(3)), primary key(Tag_Key));
142
143 create table 5XX_Subfield_Table 
144 (Subfield_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
145 Subfield_ID INT UNSIGNED NOT NULL, Subfield_Mark CHAR(1) NOT NULL,
146 Subfield_Value CHAR(255) NOT NULL, Storage_ID INT UNSIGNED,
147 KEY ID_Index (Subfield_ID),
148 KEY Mark_Index (Subfield_Mark(1)),
149 KEY Subfield_Index (Subfield_Value(255)), primary key(Subfield_Key));
150
151 create table 6XX_Tag_Table (Tag_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
152 Tag_ID INT UNSIGNED NOT NULL, Indicator1 CHAR(1) NOT NULL,
153 Indicator2 CHAR(1) NOT NULL,
154 Tag CHAR(3) NOT NULL, Subfield_ID INT UNSIGNED, Authority_ID INT UNSIGNED, 
155 Link_Flag ENUM('Y','N','B'), Storage_ID INT UNSIGNED,
156 KEY ID_Index (Tag_ID),
157 KEY Tag_Index (Tag(3)), primary key(Tag_Key));
158
159 create table 6XX_Subfield_Table 
160 (Subfield_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
161 Subfield_ID INT UNSIGNED NOT NULL, Subfield_Mark CHAR(1) NOT NULL,
162 Subfield_Value CHAR(255) NOT NULL, Storage_ID INT UNSIGNED,
163 KEY ID_Index (Subfield_ID),
164 KEY Mark_Index (Subfield_Mark(1)),
165 KEY Subfield_Index (Subfield_Value(255)), primary key(Subfield_Key));
166
167 create table 7XX_Tag_Table (Tag_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
168 Tag_ID INT UNSIGNED NOT NULL, Indicator1 CHAR(1) NOT NULL,
169 Indicator2 CHAR(1) NOT NULL,
170 Tag CHAR(3) NOT NULL, Subfield_ID INT UNSIGNED, Authority_ID INT UNSIGNED, 
171 Link_Flag ENUM('Y','N','B'), Storage_ID INT UNSIGNED,
172 KEY ID_Index (Tag_ID),
173 KEY Tag_Index (Tag(3)), primary key(Tag_Key));
174
175 create table 7XX_Subfield_Table 
176 (Subfield_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
177 Subfield_ID INT UNSIGNED NOT NULL, Subfield_Mark CHAR(1) NOT NULL,
178 Subfield_Value CHAR(255) NOT NULL, Storage_ID INT UNSIGNED,
179 KEY ID_Index (Subfield_ID),
180 KEY Mark_Index (Subfield_Mark(1)),
181 KEY Subfield_Index (Subfield_Value(255)), primary key(Subfield_Key));
182
183 create table 8XX_Tag_Table (Tag_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
184 Tag_ID INT UNSIGNED NOT NULL, Indicator1 CHAR(1) NOT NULL,
185 Indicator2 CHAR(1) NOT NULL,
186 Tag CHAR(3) NOT NULL, Subfield_ID INT UNSIGNED, Authority_ID INT UNSIGNED, 
187 Link_Flag ENUM('Y','N','B'), Storage_ID INT UNSIGNED,
188 KEY ID_Index (Tag_ID),
189 KEY Tag_Index (Tag(3)), primary key(Tag_Key));
190
191 create table 8XX_Subfield_Table 
192 (Subfield_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
193 Subfield_ID INT UNSIGNED NOT NULL, Subfield_Mark CHAR(1) NOT NULL,
194 Subfield_Value CHAR(255) NOT NULL, Storage_ID INT UNSIGNED,
195 KEY ID_Index (Subfield_ID),
196 KEY Mark_Index (Subfield_Mark(1)),
197 KEY Subfield_Index (Subfield_Value(255)), primary key(Subfield_Key));
198
199 create table 9XX_Tag_Table (Tag_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
200 Tag_ID INT UNSIGNED NOT NULL, Indicator1 CHAR(1) NOT NULL,
201 Indicator2 CHAR(1) NOT NULL,
202 Tag CHAR(3) NOT NULL, Subfield_ID INT UNSIGNED, Authority_ID INT UNSIGNED, 
203 Link_Flag ENUM('Y','N','B'), Storage_ID INT UNSIGNED,
204 KEY ID_Index (Tag_ID),
205 KEY Tag_Index (Tag(3)), primary key(Tag_Key));
206
207 create table 9XX_Subfield_Table 
208 (Subfield_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
209 Subfield_ID INT UNSIGNED NOT NULL, Subfield_Mark CHAR(1) NOT NULL,
210 Subfield_Value CHAR(255) NOT NULL, Storage_ID INT UNSIGNED,
211 KEY ID_Index (Subfield_ID),
212 KEY Mark_Index (Subfield_Mark(1)),
213 KEY Subfield_Index (Subfield_Value(255)), primary key(Subfield_Key));
214
215 create table Control_Table
216 (Control_ID INT UNSIGNED NOT NULL AUTO_INCREMENT,
217 Record_Status CHAR(1) NOT NULL,
218 Record_Type CHAR(1) NOT NULL,
219 Encoding_Level CHAR(1) NOT NULL,
220 Des_Cat_Form CHAR(1) NOT NULL,
221 Type_Date CHAR(1) NOT NULL,
222 Beg_Pub_Date CHAR(4) NOT NULL,
223 End_Pub_Date CHAR(4) NOT NULL,
224 Pub_Place CHAR(3) NOT NULL,
225 Ill_Code CHAR(4) NOT NULL,
226 Target_Aud CHAR(1) NOT NULL,
227 Item_Form CHAR(1) NOT NULL,
228 Cont_Nature CHAR(4) NOT NULL,
229 Gov_Code CHAR(1) NOT NULL,
230 Conf_Code CHAR(1) NOT NULL,
231 Festschrift CHAR(1) NOT NULL,
232 Own_Index CHAR(1) NOT NULL,
233 Fiction CHAR(1) NOT NULL,
234 Biography CHAR(1) NOT NULL,
235 Lan_Code CHAR(3) NOT NULL,
236 Storage_ID INT UNSIGNED,
237 primary key (Control_ID));
238
239 create table Auth_Table
240 (Auth_ID INT UNSIGNED NOT NULL AUTO_INCREMENT,
241 Auth_Control_ID INT UNSIGNED NOT NULL, Date_Added TIMESTAMP, 
242 Date_Modified TIMESTAMP,
243 Auth_1XX_ID INT UNSIGNED, Auth_260_ID INT UNSIGNED, Auth_360_ID INT UNSIGNED,
244 Auth_4XX_ID INT UNSIGNED, Auth_663_ID INT UNSIGNED, Auth_664_ID INT UNSIGNED,
245 Auth_665_ID INT UNSIGNED, Auth_667_ID INT UNSIGNED, Storage_ID INT UNSIGNED,
246 KEY ID_Index (Auth_Control_ID),
247 primary key(Auth_ID));
248
249 create table Auth_1XX_Tag_Table 
250 (Tag_Key INT UNSIGNED NOT NULL AUTO_INCREMENT, Tag_ID INT UNSIGNED NOT NULL ,
251 Indicator1 CHAR(1) NOT NULL,
252 Indicator2 CHAR(1) NOT NULL,
253 Tag CHAR(3) NOT NULL,
254 Subfield_ID INT UNSIGNED, Storage_ID INT UNSIGNED,
255 KEY ID_Index (Tag_ID),
256 KEY Tag_Index (Tag(3)), primary key(Tag_Key));
257
258 create table Auth_1XX_Subfield_Table 
259 (Subfield_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
260 Subfield_ID INT UNSIGNED NOT NULL, Subfield_Mark CHAR(1) NOT NULL,
261 Subfield_Value CHAR(255) NOT NULL, Storage_ID INT UNSIGNED,
262 KEY ID_Index (Subfield_ID),
263 KEY Mark_Index (Subfield_Mark(1)),
264 KEY Subfield_Index (Subfield_Value(255)), primary key(Subfield_Key));
265
266 create table Auth_260_Tag_Table 
267 (Tag_Key INT UNSIGNED NOT NULL AUTO_INCREMENT, Tag_ID INT UNSIGNED NOT NULL,  
268 Indicator1 CHAR(1) NOT NULL,
269 Indicator2 CHAR(1) NOT NULL,
270 Tag CHAR(3) NOT NULL,
271 Subfield_ID INT UNSIGNED, Storage_ID INT UNSIGNED,
272 KEY ID_Index (Tag_ID),
273 KEY Tag_Index (Tag(3)), primary key(Tag_Key));
274
275 create table Auth_260_Subfield_Table 
276 (Subfield_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
277 Subfield_ID INT UNSIGNED NOT NULL, Subfield_Mark CHAR(1) NOT NULL,
278 Subfield_Value CHAR(255) NOT NULL, Storage_ID INT UNSIGNED,
279 KEY ID_Index (Subfield_ID),
280 KEY Mark_Index (Subfield_Mark(1)),
281 KEY Subfield_Index (Subfield_Value(255)), primary key(Subfield_Key));
282
283 create table Auth_360_Tag_Table 
284 (Tag_Key INT UNSIGNED NOT NULL AUTO_INCREMENT, Tag_ID INT UNSIGNED NOT NULL, 
285 Indicator1 CHAR(1) NOT NULL,
286 Indicator2 CHAR(1) NOT NULL,
287 Tag CHAR(3) NOT NULL,
288 Subfield_ID INT UNSIGNED, Storage_ID INT UNSIGNED,
289 KEY ID_Index (Tag_ID),
290 KEY Tag_Index (Tag(3)), primary key(Tag_Key));
291
292 create table Auth_360_Subfield_Table 
293 (Subfield_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
294 Subfield_ID INT UNSIGNED NOT NULL, Subfield_Mark CHAR(1) NOT NULL,
295 Subfield_Value CHAR(255) NOT NULL, Storage_ID INT UNSIGNED,
296 KEY ID_Index (Subfield_ID),
297 KEY Mark_Index (Subfield_Mark(1)),
298 KEY Subfield_Index (Subfield_Value(255)), primary key(Subfield_Key));
299
300 create table Auth_4XX_Tag_Table 
301 (Tag_Key INT UNSIGNED NOT NULL AUTO_INCREMENT, Tag_ID INT UNSIGNED NOT NULL, 
302 Indicator1 CHAR(1) NOT NULL,
303 Indicator2 CHAR(1) NOT NULL,
304 Tag CHAR(3) NOT NULL,
305 Subfield_ID INT UNSIGNED, Storage_ID INT UNSIGNED,
306 KEY ID_Index(Tag_ID),
307 KEY Tag_Index (Tag(3)), primary key(Tag_Key));
308
309 create table Auth_4XX_Subfield_Table 
310 (Subfield_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
311 Subfield_ID INT UNSIGNED NOT NULL, Subfield_Mark CHAR(1) NOT NULL,
312 Subfield_Value CHAR(255) NOT NULL, Storage_ID INT UNSIGNED,
313 KEY ID_Index(Subfield_ID),
314 KEY Mark_Index (Subfield_Mark(1)),
315 KEY Subfield_Index (Subfield_Value(255)), primary key(Subfield_Key));
316
317 create table Auth_663_Tag_Table 
318 (Tag_Key INT UNSIGNED NOT NULL AUTO_INCREMENT, Tag_ID INT UNSIGNED NOT NULL, 
319 Indicator1 CHAR(1) NOT NULL,
320 Indicator2 CHAR(1) NOT NULL,
321 Tag CHAR(3) NOT NULL,
322 Subfield_ID INT UNSIGNED, Storage_ID INT UNSIGNED,
323 KEY ID_Index (Tag_ID),
324 KEY Tag_Index (Tag(3)), primary key(Tag_Key));
325
326 create table Auth_663_Subfield_Table 
327 (Subfield_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
328 Subfield_ID INT UNSIGNED NOT NULL, Subfield_Mark CHAR(1) NOT NULL,
329 Subfield_Value CHAR(255) NOT NULL, Storage_ID INT UNSIGNED,
330 KEY ID_Index (Subfield_ID),
331 KEY Mark_Index (Subfield_Mark(1)),
332 KEY Subfield_Index (Subfield_Value(255)), primary key(Subfield_Key));
333
334 create table Auth_664_Tag_Table 
335 (Tag_Key INT UNSIGNED NOT NULL AUTO_INCREMENT, Tag_ID INT UNSIGNED NOT NULL, 
336 Indicator1 CHAR(1) NOT NULL,
337 Indicator2 CHAR(1) NOT NULL,
338 Tag CHAR(3) NOT NULL,
339 Subfield_ID INT UNSIGNED, Storage_ID INT UNSIGNED,
340 KEY ID_Index (Tag_ID),
341 KEY Tag_Index (Tag(3)), primary key(Tag_Key));
342
343 create table Auth_664_Subfield_Table 
344 (Subfield_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
345 Subfield_ID INT UNSIGNED NOT NULL, Subfield_Mark CHAR(1) NOT NULL,
346 Subfield_Value CHAR(255) NOT NULL, Storage_ID INT UNSIGNED,
347 KEY ID_Index (Subfield_ID),
348 KEY Mark_Index (Subfield_Mark(1)),
349 KEY Subfield_Index (Subfield_Value(255)), primary key(Subfield_Key));
350
351 create table Auth_665_Tag_Table 
352 (Tag_Key INT UNSIGNED NOT NULL AUTO_INCREMENT, Tag_ID INT UNSIGNED NOT NULL, 
353 Indicator1 CHAR(1) NOT NULL,
354 Indicator2 CHAR(1) NOT NULL,
355 Tag CHAR(3) NOT NULL,
356 Subfield_ID INT UNSIGNED, Storage_ID INT UNSIGNED,
357 KEY ID_Index (Tag_ID),
358 KEY Tag_Index (Tag(3)), primary key(Tag_Key));
359
360 create table Auth_665_Subfield_Table 
361 (Subfield_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
362 Subfield_ID INT UNSIGNED NOT NULL, Subfield_Mark CHAR(1) NOT NULL,
363 Subfield_Value CHAR(255) NOT NULL, Storage_ID INT UNSIGNED,
364 KEY ID_Index (Subfield_ID),
365 KEY Mark_Index (Subfield_Mark(1)),
366 KEY Subfield_Index (Subfield_Value(255)), primary key(Subfield_Key));
367
368 create table Auth_667_Tag_Table 
369 (Tag_Key INT UNSIGNED NOT NULL AUTO_INCREMENT, Tag_ID INT UNSIGNED NOT NULL, 
370 Indicator1 CHAR(1) NOT NULL,
371 Indicator2 CHAR(1) NOT NULL,
372 Tag CHAR(3) NOT NULL,
373 Subfield_ID INT UNSIGNED, Storage_ID INT UNSIGNED,
374 KEY ID_Index (Tag_ID),
375 KEY Tag_Index (Tag(3)), primary key(Tag_Key));
376
377 create table Auth_667_Subfield_Table 
378 (Subfield_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
379 Subfield_ID INT UNSIGNED NOT NULL, Subfield_Mark CHAR(1) NOT NULL,
380 Subfield_Value CHAR(255) NOT NULL, Storage_ID INT UNSIGNED,
381 KEY ID_Index (Subfield_ID),
382 KEY Mark_Index (Subfield_Mark(1)),
383 KEY Subfield_Index (Subfield_Value(255)), primary key(Subfield_Key));
384
385 create table Auth_Link_Table
386 (Link_ID INT UNSIGNED NOT NULL AUTO_INCREMENT,
387 Date_Added TIMESTAMP, Date_Modified TIMESTAMP,
388 Auth_ID INT UNSIGNED, Record_ID INT UNSIGNED,
389 Link_Type ENUM('a','b','c','d','e','f','g'),
390 Tag_ID INT UNSIGNED, Tag CHAR(3) NOT NULL,
391 KEY Tag_Index (Tag(3)), primary key (Link_ID));
392
393 create table Auth_Control_Table
394 (Auth_Cont_ID INT UNSIGNED NOT NULL AUTO_INCREMENT,
395 Record_Status CHAR(1) NOT NULL,
396 Record_Type CHAR(1) NOT NULL,
397 Geo_Sub_Code CHAR(1) NOT NULL,
398 Record_Kind CHAR(1) NOT NULL,
399 Main_or_Added CHAR(1) NOT NULL,
400 Subj_Added CHAR(1) NOT NULL,
401 Ser_Added CHAR(1) NOT NULL,
402 Storage_ID INT UNSIGNED,
403 primary key (Auth_Cont_ID));
404
405 create table Holdings_Table
406 (Hold_ID INT UNSIGNED NOT NULL AUTO_INCREMENT,
407 Hold_Control_ID INT UNSIGNED NOT NULL, Date_Added TIMESTAMP, 
408 Date_Modified TIMESTAMP,
409 Notes_Tag_ID INT UNSIGNED, Hold_852_ID INT UNSIGNED, Caps_Pat_ID INT UNSIGNED,
410 Enum_Chron_ID INT UNSIGNED, Text_Hold_ID INT UNSIGNED,
411 Storage_ID INT UNSIGNED, 
412 KEY ID_Index (Hold_Control_ID),
413 primary key(Hold_ID));
414
415 create table Hold_Notes_Tag_Table
416 (Tag_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
417 Tag_ID INT UNSIGNED NOT NULL, Indicator1 CHAR(1) NOT NULL,
418 Indicator2 CHAR(1) NOT NULL, Tag CHAR(3) NOT NULL,
419 Subfield_ID INT UNSIGNED, Storage_ID INT UNSIGNED,
420 KEY ID_Index (Tag_ID),
421 KEY Tag_Index (Tag(3)), primary key(Tag_Key));
422
423 create table Hold_Notes_Tag_Subfield_Table 
424 (Subfield_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
425 Subfield_ID INT UNSIGNED NOT NULL, Subfield_Mark CHAR(1) NOT NULL,
426 Subfield_Value CHAR(255) NOT NULL, Storage_ID INT UNSIGNED,
427 KEY ID_Index (Subfield_ID),
428 KEY Mark_Index (Subfield_Mark(1)),
429 KEY Subfield_Index (Subfield_Value(255)), primary key(Subfield_Key));
430
431 create table Hold_852_Table
432 (Tag_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
433 Tag_ID INT UNSIGNED NOT NULL, Indicator1 CHAR(1) NOT NULL,
434 Indicator2 CHAR(1) NOT NULL, Tag CHAR(3) NOT NULL,
435 Subfield_ID INT UNSIGNED, Storage_ID INT UNSIGNED,
436 KEY ID_Index (Tag_ID),
437 KEY Tag_Index (Tag(3)), primary key(Tag_Key));
438
439 create table Hold_852_Subfield_Table 
440 (Subfield_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
441 Subfield_ID INT UNSIGNED NOT NULL, Subfield_Mark CHAR(1) NOT NULL,
442 Subfield_Value CHAR(255) NOT NULL, Storage_ID INT UNSIGNED,
443 KEY ID_Index (Subfield_ID),
444 KEY Mark_Index (Subfield_Mark(1)),
445 KEY Subfield_Index (Subfield_Value(255)), primary key(Subfield_Key));
446
447 create table Hold_Caps_Pat_Table
448 (Tag_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
449 Tag_ID INT UNSIGNED NOT NULL, Indicator1 CHAR(1) NOT NULL,
450 Indicator2 CHAR(1) NOT NULL, Tag CHAR(3) NOT NULL,
451 Subfield_ID INT UNSIGNED, Storage_ID INT UNSIGNED,
452 KEY ID_Index (Tag_ID),
453 KEY Tag_Index (Tag(3)), primary key(Tag_Key));
454
455 create table Hold_Caps_Pat_Subfield_Table 
456 (Subfield_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
457 Subfield_ID INT UNSIGNED NOT NULL, Subfield_Mark CHAR(1) NOT NULL,
458 Subfield_Value CHAR(255) NOT NULL, Storage_ID INT UNSIGNED,
459 KEY ID_Index (Subfield_ID),
460 KEY Mark_Index (Subfield_Mark(1)),
461 KEY Subfield_Index (Subfield_Value(255)), primary key(Subfield_Key));
462
463 create table Hold_Enum_Chron_Table
464 (Tag_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
465 Tag_ID INT UNSIGNED NOT NULL, Indicator1 CHAR(1) NOT NULL,
466 Indicator2 CHAR(1) NOT NULL, Tag CHAR(3) NOT NULL,
467 Subfield_ID INT UNSIGNED, Storage_ID INT UNSIGNED,
468 KEY ID_Index (Tag_ID),
469 KEY Tag_Index (Tag(3)), primary key(Tag_Key));
470
471 create table Hold_Enum_Chron_Subfield_Table 
472 (Subfield_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
473 Subfield_ID INT UNSIGNED NOT NULL, Subfield_Mark CHAR(1) NOT NULL,
474 Subfield_Value CHAR(255) NOT NULL, Storage_ID INT UNSIGNED,
475 KEY ID_Index (Subfield_ID),
476 KEY Mark_Index (Subfield_Mark(1)),
477 KEY Subfield_Index (Subfield_Value(255)), primary key(Subfield_Key));
478
479 create table Hold_Text_Hold_Table
480 (Tag_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
481 Tag_ID INT UNSIGNED NOT NULL, Indicator1 CHAR(1) NOT NULL,
482 Indicator2 CHAR(1) NOT NULL, Tag CHAR(3) NOT NULL,
483 Subfield_ID INT UNSIGNED, Storage_ID INT UNSIGNED,
484 KEY ID_Index (Tag_ID),
485 KEY Tag_Index (Tag(3)), primary key(Tag_Key));
486
487 create table Hold_Text_Hold_Subfield_Table 
488 (Subfield_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
489 Subfield_ID INT UNSIGNED NOT NULL, Subfield_Mark CHAR(1) NOT NULL,
490 Subfield_Value CHAR(255) NOT NULL, Storage_ID INT UNSIGNED,
491 KEY ID_Index (Subfield_ID),
492 KEY Mark_Index (Subfield_Mark(1)),
493 KEY Subfield_Index (Subfield_Value(255)), primary key(Subfield_Key));
494
495 create table Hold_Control_Table
496 (Hold_Cont_ID INT UNSIGNED NOT NULL AUTO_INCREMENT,
497 Record_Status CHAR(1) NOT NULL,
498 Record_Type CHAR(1) NOT NULL, 
499 Meth_Acq CHAR(1) NOT NULL, 
500 Cancel_Date CHAR(4) NOT NULL, 
501 Gen_Retention CHAR(1) NOT NULL, 
502 Spe_Retention CHAR(3) NOT NULL, 
503 Cmplt CHAR(4) NOT NULL, 
504 Lend_Pol CHAR(1) NOT NULL,
505 Re_Pol CHAR(1) NOT NULL,
506 Lan_Code CHAR(3) NOT NULL,
507 Storage_ID INT UNSIGNED,
508 primary key(Hold_Cont_ID));
509
510 create table Storage_Table
511 (Storage_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
512 Storage_ID INT UNSIGNED NOT NULL, Blob_ID INT UNSIGNED, Text_ID INT UNSIGNED,
513 Med_Blob_ID INT UNSIGNED, Med_Text_ID INT UNSIGNED, Long_Blob_ID INT UNSIGNED,
514 Long_Text_ID INT UNSIGNED, URI CHAR(255),
515 Storage_Type ENUM('B','MB','LB','U'),
516 KEY ID_Index (Storage_ID),
517 primary key(Storage_Key));
518
519 create table Blob_Table
520 (Blob_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
521 Blob_ID INT UNSIGNED NOT NULL, Blob_Data BLOB,
522 Seq_No  INT UNSIGNED,
523 KEY ID_Index (Blob_ID),
524 primary key(Blob_Key));
525
526 create table Med_Blob_Table
527 (Med_Blob_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
528 Med_Blob_ID INT UNSIGNED NOT NULL, Blob_Data MEDIUMBLOB,
529 Seq_No  INT UNSIGNED,
530 KEY ID_Index (Med_Blob_ID),
531 primary key(Med_Blob_Key));
532
533 create table Long_Blob_Table
534 (Long_Blob_Key INT UNSIGNED NOT NULL AUTO_INCREMENT,
535 Long_Blob_ID INT UNSIGNED NOT NULL, Long_Blob_Data LONGBLOB,
536 Seq_No  INT UNSIGNED,
537 KEY ID_Index (Long_Blob_ID),
538 primary key(Long_Blob_Key));