BiblioteQ
Source
biblioteq_sqlite_create_schema.h
1
/*
2
** Copyright (c) 2006 - present, Alexis Megas.
3
** All rights reserved.
4
**
5
** Redistribution and use in source and binary forms, with or without
6
** modification, are permitted provided that the following conditions
7
** are met:
8
** 1. Redistributions of source code must retain the above copyright
9
** notice, this list of conditions and the following disclaimer.
10
** 2. Redistributions in binary form must reproduce the above copyright
11
** notice, this list of conditions and the following disclaimer in the
12
** documentation and/or other materials provided with the distribution.
13
** 3. The name of the author may not be used to endorse or promote products
14
** derived from BiblioteQ without specific prior written permission.
15
**
16
** BIBLIOTEQ IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17
** IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18
** OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19
** IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20
** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
21
** NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25
** BIBLIOTEQ, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
*/
27
28
/*
29
** The sequence table is used for generating unique integers. Please see
30
** biblioteq_misc_functions::getSqliteUniqueId().
31
*/
32
33
const
char
*sqlite_create_schema_text =
"\
34
CREATE TABLE book \
35
( \
36
accession_number TEXT, \
37
alternate_id_1 TEXT, \
38
author TEXT NOT NULL, \
39
back_cover BYTEA, \
40
binding_type VARCHAR(32) NOT NULL, \
41
book_read INTEGER DEFAULT 0, \
42
callnumber VARCHAR(64), \
43
category TEXT NOT NULL, \
44
condition TEXT, \
45
date_of_reform VARCHAR(32), \
46
description TEXT NOT NULL, \
47
deweynumber VARCHAR(64), \
48
edition VARCHAR(8) NOT NULL, \
49
front_cover BYTEA, \
50
id VARCHAR(32) UNIQUE, \
51
isbn13 VARCHAR(32) UNIQUE, \
52
keyword TEXT, \
53
language VARCHAR(64) NOT NULL DEFAULT 'UNKNOWN', \
54
lccontrolnumber VARCHAR(64), \
55
location TEXT NOT NULL, \
56
marc_tags TEXT, \
57
monetary_units VARCHAR(64) NOT NULL DEFAULT 'UNKNOWN', \
58
multivolume_set_isbn VARCHAR(32), \
59
myoid BIGINT NOT NULL, \
60
origin TEXT, \
61
originality TEXT, \
62
pdate VARCHAR(32) NOT NULL, \
63
place TEXT NOT NULL, \
64
price NUMERIC(10, 2) NOT NULL DEFAULT 0.00, \
65
publisher TEXT NOT NULL, \
66
purchase_date VARCHAR(32), \
67
quantity INTEGER NOT NULL DEFAULT 1, \
68
target_audience TEXT, \
69
title TEXT NOT NULL, \
70
type VARCHAR(16) NOT NULL DEFAULT 'Book', \
71
url TEXT, \
72
volume_number TEXT \
73
); \
74
\
75
CREATE TABLE book_copy_info \
76
( \
77
condition TEXT, \
78
copy_number INTEGER NOT NULL DEFAULT 1, \
79
copyid VARCHAR(64) NOT NULL, \
80
item_oid BIGINT NOT NULL, \
81
myoid BIGINT NOT NULL, \
82
notes TEXT, \
83
originality TEXT, \
84
status TEXT, \
85
PRIMARY KEY(item_oid, copyid), \
86
FOREIGN KEY(item_oid) REFERENCES book(myoid) ON DELETE CASCADE \
87
); \
88
\
89
CREATE TABLE book_files \
90
( \
91
description TEXT, \
92
file BYTEA NOT NULL, \
93
file_digest TEXT NOT NULL, \
94
file_name TEXT NOT NULL, \
95
item_oid BIGINT NOT NULL, \
96
myoid BIGINT NOT NULL, \
97
FOREIGN KEY(item_oid) REFERENCES book(myoid) ON DELETE CASCADE, \
98
PRIMARY KEY(file_digest, item_oid) \
99
); \
100
\
101
CREATE TABLE book_sequence \
102
( \
103
value INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT \
104
); \
105
\
106
CREATE TABLE cd \
107
( \
108
accession_number TEXT, \
109
artist TEXT NOT NULL, \
110
back_cover BYTEA, \
111
category TEXT NOT NULL, \
112
cdaudio VARCHAR(32) NOT NULL DEFAULT 'Mono', \
113
cddiskcount INTEGER NOT NULL DEFAULT 1, \
114
cdformat VARCHAR(128) NOT NULL, \
115
cdrecording VARCHAR(32) NOT NULL DEFAULT 'Live', \
116
cdruntime VARCHAR(32) NOT NULL, \
117
description TEXT NOT NULL, \
118
front_cover BYTEA, \
119
id VARCHAR(32) NOT NULL PRIMARY KEY, \
120
keyword TEXT, \
121
language VARCHAR(64) NOT NULL DEFAULT 'UNKNOWN', \
122
location TEXT NOT NULL, \
123
monetary_units VARCHAR(64) NOT NULL DEFAULT 'UNKNOWN', \
124
myoid BIGINT NOT NULL, \
125
price NUMERIC(10, 2) NOT NULL DEFAULT 0.00, \
126
quantity INTEGER NOT NULL DEFAULT 1, \
127
rdate VARCHAR(32) NOT NULL, \
128
recording_label TEXT NOT NULL, \
129
title TEXT NOT NULL, \
130
type VARCHAR(16) NOT NULL DEFAULT 'CD' \
131
); \
132
\
133
CREATE TABLE cd_copy_info \
134
( \
135
copy_number INTEGER NOT NULL DEFAULT 1, \
136
copyid VARCHAR(64) NOT NULL, \
137
item_oid BIGINT NOT NULL, \
138
myoid BIGINT NOT NULL, \
139
notes TEXT, \
140
status TEXT, \
141
PRIMARY KEY(item_oid, copyid), \
142
FOREIGN KEY(item_oid) REFERENCES cd(myoid) ON DELETE CASCADE \
143
); \
144
\
145
CREATE TABLE cd_songs \
146
( \
147
albumnum INTEGER NOT NULL DEFAULT 1, \
148
artist TEXT NOT NULL DEFAULT 'UNKNOWN', \
149
composer TEXT NOT NULL DEFAULT 'UNKNOWN', \
150
item_oid BIGINT NOT NULL, \
151
runtime VARCHAR(32) NOT NULL, \
152
songnum INTEGER NOT NULL DEFAULT 1, \
153
songtitle VARCHAR(256) NOT NULL, \
154
PRIMARY KEY(item_oid, albumnum, songnum), \
155
FOREIGN KEY(item_oid) REFERENCES cd(myoid) ON DELETE CASCADE \
156
); \
157
\
158
CREATE TABLE dvd \
159
( \
160
accession_number TEXT, \
161
back_cover BYTEA, \
162
category TEXT NOT NULL, \
163
description TEXT NOT NULL, \
164
dvdactor TEXT NOT NULL, \
165
dvdaspectratio VARCHAR(64) NOT NULL, \
166
dvddirector TEXT NOT NULL, \
167
dvddiskcount INTEGER NOT NULL DEFAULT 1, \
168
dvdformat TEXT NOT NULL, \
169
dvdrating VARCHAR(64) NOT NULL, \
170
dvdregion VARCHAR(64) NOT NULL, \
171
dvdruntime VARCHAR(32) NOT NULL, \
172
front_cover BYTEA, \
173
id VARCHAR(32) NOT NULL PRIMARY KEY, \
174
keyword TEXT, \
175
language VARCHAR(64) NOT NULL DEFAULT 'UNKNOWN', \
176
location TEXT NOT NULL, \
177
monetary_units VARCHAR(64) NOT NULL DEFAULT 'UNKNOWN', \
178
myoid BIGINT NOT NULL, \
179
price NUMERIC(10, 2) NOT NULL DEFAULT 0.00, \
180
quantity INTEGER NOT NULL DEFAULT 1, \
181
rdate VARCHAR(32) NOT NULL, \
182
studio TEXT NOT NULL, \
183
title TEXT NOT NULL, \
184
type VARCHAR(16) NOT NULL DEFAULT 'DVD' \
185
); \
186
\
187
CREATE TABLE dvd_copy_info \
188
( \
189
copy_number INTEGER NOT NULL DEFAULT 1, \
190
copyid VARCHAR(64) NOT NULL, \
191
item_oid BIGINT NOT NULL, \
192
myoid BIGINT NOT NULL, \
193
notes TEXT, \
194
status TEXT, \
195
PRIMARY KEY(item_oid, copyid), \
196
FOREIGN KEY(item_oid) REFERENCES dvd(myoid) ON DELETE CASCADE \
197
); \
198
\
199
CREATE TABLE grey_literature \
200
( \
201
author TEXT NOT NULL, \
202
client TEXT, \
203
document_code_a TEXT NOT NULL, \
204
document_code_b TEXT NOT NULL, \
205
document_date TEXT NOT NULL, \
206
document_id TEXT NOT NULL PRIMARY KEY, \
207
document_status TEXT, \
208
document_title TEXT NOT NULL, \
209
document_type TEXT NOT NULL, \
210
front_cover BYTEA, \
211
job_number TEXT NOT NULL, \
212
location TEXT, \
213
myoid BIGINT UNIQUE, \
214
notes TEXT, \
215
quantity INTEGER NOT NULL DEFAULT 1, \
216
type VARCHAR(16) NOT NULL DEFAULT 'Grey Literature' \
217
); \
218
\
219
CREATE TABLE grey_literature_files \
220
( \
221
description TEXT, \
222
file BYTEA NOT NULL, \
223
file_digest TEXT NOT NULL, \
224
file_name TEXT NOT NULL, \
225
item_oid BIGINT NOT NULL, \
226
myoid BIGINT NOT NULL, \
227
FOREIGN KEY(item_oid) REFERENCES grey_literature(myoid) ON \
228
DELETE CASCADE, \
229
PRIMARY KEY(file_digest, item_oid) \
230
); \
231
\
232
CREATE TABLE journal \
233
( \
234
accession_number TEXT, \
235
back_cover BYTEA, \
236
callnumber VARCHAR(64), \
237
category TEXT NOT NULL, \
238
description TEXT NOT NULL, \
239
deweynumber VARCHAR(64), \
240
front_cover BYTEA, \
241
id VARCHAR(32), \
242
issueno INTEGER NOT NULL DEFAULT 0, \
243
issuevolume INTEGER NOT NULL DEFAULT 0, \
244
keyword TEXT, \
245
language VARCHAR(64) NOT NULL DEFAULT 'UNKNOWN', \
246
lccontrolnumber VARCHAR(64), \
247
location TEXT NOT NULL, \
248
marc_tags TEXT, \
249
monetary_units VARCHAR(64) NOT NULL DEFAULT 'UNKNOWN', \
250
myoid BIGINT NOT NULL, \
251
pdate VARCHAR(32) NOT NULL, \
252
place TEXT NOT NULL, \
253
price NUMERIC(10, 2) NOT NULL DEFAULT 0.00, \
254
publisher TEXT NOT NULL, \
255
quantity INTEGER NOT NULL DEFAULT 1, \
256
title TEXT NOT NULL, \
257
type VARCHAR(16) NOT NULL DEFAULT 'Journal', \
258
UNIQUE(id, issueno, issuevolume) \
259
); \
260
\
261
CREATE TABLE journal_copy_info \
262
( \
263
copy_number INTEGER NOT NULL DEFAULT 1, \
264
copyid VARCHAR(64) NOT NULL, \
265
item_oid BIGINT NOT NULL, \
266
myoid BIGINT NOT NULL, \
267
notes TEXT, \
268
status TEXT, \
269
PRIMARY KEY(item_oid, copyid), \
270
FOREIGN KEY(item_oid) REFERENCES journal(myoid) ON DELETE CASCADE \
271
); \
272
\
273
CREATE TABLE journal_files \
274
( \
275
description TEXT, \
276
file BYTEA NOT NULL, \
277
file_digest TEXT NOT NULL, \
278
file_name TEXT NOT NULL, \
279
item_oid BIGINT NOT NULL, \
280
myoid BIGINT NOT NULL, \
281
FOREIGN KEY(item_oid) REFERENCES journal(myoid) ON DELETE CASCADE, \
282
PRIMARY KEY(file_digest, item_oid) \
283
); \
284
\
285
CREATE TABLE magazine \
286
( \
287
accession_number TEXT, \
288
back_cover BYTEA, \
289
callnumber VARCHAR(64), \
290
category TEXT NOT NULL, \
291
description TEXT NOT NULL, \
292
deweynumber VARCHAR(64), \
293
front_cover BYTEA, \
294
id VARCHAR(32), \
295
issueno INTEGER NOT NULL DEFAULT 0, \
296
issuevolume INTEGER NOT NULL DEFAULT 0, \
297
keyword TEXT, \
298
language VARCHAR(64) NOT NULL DEFAULT 'UNKNOWN', \
299
lccontrolnumber VARCHAR(64), \
300
location TEXT NOT NULL, \
301
marc_tags TEXT, \
302
monetary_units VARCHAR(64) NOT NULL DEFAULT 'UNKNOWN', \
303
myoid BIGINT NOT NULL, \
304
pdate VARCHAR(32) NOT NULL, \
305
place TEXT NOT NULL, \
306
price NUMERIC(10, 2) NOT NULL DEFAULT 0.00, \
307
publisher TEXT NOT NULL, \
308
quantity INTEGER NOT NULL DEFAULT 1, \
309
title TEXT NOT NULL, \
310
type VARCHAR(16) NOT NULL DEFAULT 'Magazine', \
311
UNIQUE(id, issuevolume, issueno) \
312
); \
313
\
314
CREATE TABLE magazine_copy_info \
315
( \
316
copy_number INTEGER NOT NULL DEFAULT 1, \
317
copyid VARCHAR(64) NOT NULL, \
318
item_oid BIGINT NOT NULL, \
319
myoid BIGINT NOT NULL, \
320
notes TEXT, \
321
status TEXT, \
322
PRIMARY KEY(item_oid, copyid), \
323
FOREIGN KEY(item_oid) REFERENCES magazine(myoid) ON DELETE CASCADE \
324
); \
325
\
326
CREATE TABLE magazine_files \
327
( \
328
description TEXT, \
329
file BYTEA NOT NULL, \
330
file_digest TEXT NOT NULL, \
331
file_name TEXT NOT NULL, \
332
item_oid BIGINT NOT NULL, \
333
myoid BIGINT NOT NULL, \
334
FOREIGN KEY(item_oid) REFERENCES magazine(myoid) ON DELETE CASCADE, \
335
PRIMARY KEY(file_digest, item_oid) \
336
); \
337
\
338
CREATE TABLE photograph_collection \
339
( \
340
about TEXT, \
341
accession_number TEXT, \
342
id TEXT PRIMARY KEY NOT NULL, \
343
image BYTEA, \
344
image_scaled BYTEA, \
345
location TEXT NOT NULL, \
346
myoid BIGINT NOT NULL, \
347
notes TEXT, \
348
title TEXT NOT NULL, \
349
type VARCHAR(32) NOT NULL DEFAULT 'Photograph Collection' \
350
); \
351
\
352
CREATE TABLE photograph \
353
( \
354
accession_number TEXT, \
355
callnumber VARCHAR(64), \
356
collection_oid BIGINT NOT NULL, \
357
copyright TEXT NOT NULL, \
358
creators TEXT NOT NULL, \
359
format TEXT, \
360
id TEXT NOT NULL, \
361
image BYTEA, \
362
image_scaled BYTEA, \
363
medium TEXT NOT NULL, \
364
myoid BIGINT NOT NULL, \
365
notes TEXT, \
366
other_number TEXT, \
367
pdate VARCHAR(32) NOT NULL, \
368
quantity INTEGER NOT NULL DEFAULT 1, \
369
reproduction_number TEXT NOT NULL, \
370
subjects TEXT, \
371
title TEXT NOT NULL, \
372
PRIMARY KEY(id, collection_oid), \
373
FOREIGN KEY(collection_oid) REFERENCES \
374
photograph_collection(myoid) ON \
375
DELETE CASCADE \
376
); \
377
\
378
CREATE TABLE videogame \
379
( \
380
accession_number TEXT, \
381
back_cover BYTEA, \
382
description TEXT NOT NULL, \
383
developer TEXT NOT NULL, \
384
front_cover BYTEA, \
385
genre TEXT NOT NULL, \
386
id VARCHAR(32) NOT NULL PRIMARY KEY, \
387
keyword TEXT, \
388
language VARCHAR(64) NOT NULL DEFAULT 'UNKNOWN', \
389
location TEXT NOT NULL, \
390
monetary_units VARCHAR(64) NOT NULL DEFAULT 'UNKNOWN', \
391
myoid BIGINT NOT NULL, \
392
place TEXT NOT NULL, \
393
price NUMERIC(10, 2) NOT NULL DEFAULT 0.00, \
394
publisher TEXT NOT NULL, \
395
quantity INTEGER NOT NULL DEFAULT 1, \
396
rdate VARCHAR(32) NOT NULL, \
397
title TEXT NOT NULL, \
398
type VARCHAR(16) NOT NULL DEFAULT 'Video Game', \
399
vgmode VARCHAR(16) NOT NULL DEFAULT 'Multiplayer', \
400
vgplatform VARCHAR(64) NOT NULL, \
401
vgrating VARCHAR(64) NOT NULL \
402
); \
403
\
404
CREATE TABLE videogame_copy_info \
405
( \
406
copy_number INTEGER NOT NULL DEFAULT 1, \
407
copyid VARCHAR(64) NOT NULL, \
408
item_oid BIGINT NOT NULL, \
409
myoid BIGINT NOT NULL, \
410
notes TEXT, \
411
status TEXT, \
412
PRIMARY KEY(item_oid, copyid), \
413
FOREIGN KEY(item_oid) REFERENCES videogame(myoid) ON \
414
DELETE CASCADE \
415
); \
416
\
417
CREATE TRIGGER book_purge_trigger AFTER DELETE ON book \
418
FOR EACH row \
419
BEGIN \
420
DELETE FROM book_copy_info WHERE item_oid = old.myoid; \
421
DELETE FROM item_borrower WHERE item_oid = old.myoid; \
422
DELETE FROM member_history WHERE item_oid = old.myoid AND \
423
type = old.type; \
424
END; \
425
\
426
CREATE TRIGGER cd_purge_trigger AFTER DELETE ON cd \
427
FOR EACH row \
428
BEGIN \
429
DELETE FROM cd_copy_info WHERE item_oid = old.myoid; \
430
DELETE FROM cd_songs WHERE item_oid = old.myoid; \
431
DELETE FROM item_borrower WHERE item_oid = old.myoid; \
432
DELETE FROM member_history WHERE item_oid = old.myoid AND \
433
type = old.type; \
434
END; \
435
\
436
CREATE TRIGGER dvd_purge_trigger AFTER DELETE ON dvd \
437
FOR EACH row \
438
BEGIN \
439
DELETE FROM dvd_copy_info WHERE item_oid = old.myoid; \
440
DELETE FROM item_borrower WHERE item_oid = old.myoid; \
441
DELETE FROM member_history WHERE item_oid = old.myoid AND \
442
type = old.type; \
443
END; \
444
\
445
CREATE TRIGGER grey_literature_purge_trigger AFTER DELETE ON \
446
grey_literature \
447
FOR EACH row \
448
BEGIN \
449
DELETE FROM item_borrower WHERE item_oid = old.myoid; \
450
DELETE FROM member_history WHERE item_oid = old.myoid AND \
451
type = old.type; \
452
END; \
453
\
454
CREATE TRIGGER journal_purge_trigger AFTER DELETE ON journal \
455
FOR EACH row \
456
BEGIN \
457
DELETE FROM item_borrower WHERE item_oid = old.myoid; \
458
DELETE FROM journal_copy_info WHERE item_oid = old.myoid; \
459
DELETE FROM member_history WHERE item_oid = old.myoid AND \
460
type = old.type; \
461
END; \
462
\
463
CREATE TRIGGER magazine_purge_trigger AFTER DELETE ON magazine \
464
FOR EACH row \
465
BEGIN \
466
DELETE FROM item_borrower WHERE item_oid = old.myoid; \
467
DELETE FROM magazine_copy_info WHERE item_oid = old.myoid; \
468
DELETE FROM member_history WHERE item_oid = old.myoid AND \
469
type = old.type; \
470
END; \
471
\
472
CREATE TRIGGER videogame_purge_trigger AFTER DELETE ON videogame \
473
FOR EACH row \
474
BEGIN \
475
DELETE FROM item_borrower WHERE item_oid = old.myoid; \
476
DELETE FROM member_history WHERE item_oid = old.myoid AND \
477
type = old.type; \
478
DELETE FROM videogame_copy_info WHERE item_oid = old.myoid; \
479
END; \
480
\
481
CREATE TABLE item_borrower \
482
( \
483
copy_number INTEGER NOT NULL DEFAULT 1, \
484
copyid VARCHAR(64) NOT NULL, \
485
duedate VARCHAR(32) NOT NULL, \
486
item_oid BIGINT NOT NULL, \
487
memberid VARCHAR(16) NOT NULL, \
488
myoid INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, \
489
reserved_by VARCHAR(128) NOT NULL, \
490
reserved_date VARCHAR(32) NOT NULL, \
491
type VARCHAR(16) NOT NULL, \
492
FOREIGN KEY(memberid) REFERENCES member ON DELETE RESTRICT \
493
); \
494
\
495
CREATE TABLE member \
496
( \
497
city VARCHAR(256) NOT NULL, \
498
comments TEXT, \
499
dob VARCHAR(32) NOT NULL, \
500
email VARCHAR(128), \
501
expiration_date VARCHAR(32) NOT NULL, \
502
first_name VARCHAR(128) NOT NULL, \
503
general_registration_number TEXT, \
504
last_name VARCHAR(128) NOT NULL, \
505
maximum_reserved_books INTEGER NOT NULL DEFAULT 0, \
506
memberclass TEXT, \
507
memberid VARCHAR(16) NOT NULL PRIMARY KEY DEFAULT 1, \
508
membership_fees NUMERIC(10, 2) NOT NULL DEFAULT 0.00, \
509
membersince VARCHAR(32) NOT NULL, \
510
middle_init VARCHAR(1), \
511
overdue_fees NUMERIC(10, 2) NOT NULL DEFAULT 0.00, \
512
sex VARCHAR(32) NOT NULL DEFAULT 'Private', \
513
state_abbr VARCHAR(16) NOT NULL DEFAULT 'N/A', \
514
street VARCHAR(256) NOT NULL, \
515
telephone_num VARCHAR(32), \
516
zip VARCHAR(16) NOT NULL DEFAULT 'N/A' \
517
); \
518
\
519
CREATE TRIGGER item_borrower_trigger AFTER DELETE ON member \
520
FOR EACH row \
521
BEGIN \
522
DELETE FROM item_borrower WHERE memberid = old.memberid; \
523
END; \
524
\
525
CREATE TABLE member_history \
526
( \
527
memberid VARCHAR(16) NOT NULL, \
528
item_oid BIGINT NOT NULL, \
529
copyid VARCHAR(64) NOT NULL, \
530
reserved_date VARCHAR(32) NOT NULL, \
531
duedate VARCHAR(32) NOT NULL, \
532
returned_date VARCHAR(32) NOT NULL, \
533
myoid INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, \
534
reserved_by VARCHAR(128) NOT NULL, \
535
type VARCHAR(16) NOT NULL, \
536
FOREIGN KEY(memberid) REFERENCES member(memberid) ON DELETE CASCADE \
537
); \
538
\
539
CREATE TRIGGER member_history_trigger AFTER DELETE ON member \
540
FOR EACH row \
541
BEGIN \
542
DELETE FROM member_history WHERE memberid = old.memberid; \
543
END; \
544
\
545
CREATE TABLE book_binding_types \
546
( \
547
binding_type TEXT NOT NULL PRIMARY KEY \
548
); \
549
\
550
CREATE TABLE book_conditions \
551
( \
552
condition TEXT NOT NULL PRIMARY KEY \
553
); \
554
\
555
CREATE TABLE book_originality \
556
( \
557
originality TEXT NOT NULL PRIMARY KEY \
558
); \
559
\
560
CREATE TABLE book_target_audiences \
561
( \
562
target_audience TEXT NOT NULL PRIMARY KEY \
563
); \
564
\
565
CREATE TABLE cd_formats \
566
( \
567
cd_format TEXT NOT NULL PRIMARY KEY \
568
); \
569
\
570
CREATE TABLE dvd_aspect_ratios \
571
( \
572
dvd_aspect_ratio TEXT NOT NULL PRIMARY KEY \
573
); \
574
\
575
CREATE TABLE dvd_ratings \
576
( \
577
dvd_rating TEXT NOT NULL PRIMARY KEY \
578
); \
579
\
580
CREATE TABLE dvd_regions \
581
( \
582
dvd_region TEXT NOT NULL PRIMARY KEY \
583
); \
584
\
585
CREATE TABLE grey_literature_types \
586
( \
587
document_type TEXT NOT NULL PRIMARY KEY \
588
); \
589
\
590
CREATE TABLE languages \
591
( \
592
language TEXT NOT NULL PRIMARY KEY \
593
); \
594
\
595
CREATE TABLE locations \
596
( \
597
location TEXT NOT NULL, \
598
type VARCHAR(32) NOT NULL, \
599
PRIMARY KEY(location, type) \
600
); \
601
\
602
CREATE TABLE minimum_days \
603
( \
604
days INTEGER NOT NULL, \
605
type VARCHAR(16) NOT NULL PRIMARY KEY \
606
); \
607
\
608
CREATE TABLE monetary_units \
609
( \
610
monetary_unit TEXT NOT NULL PRIMARY KEY \
611
); \
612
\
613
CREATE TABLE sequence \
614
( \
615
value INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT \
616
); \
617
\
618
CREATE TABLE videogame_platforms \
619
( \
620
videogame_platform TEXT NOT NULL PRIMARY KEY \
621
); \
622
\
623
CREATE TABLE videogame_ratings \
624
( \
625
videogame_rating TEXT NOT NULL PRIMARY KEY \
626
); \
627
"
;
Generated by
1.9.1