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
description TEXT NOT NULL, \
46
deweynumber VARCHAR(64), \
47
edition VARCHAR(8) NOT NULL, \
48
front_cover BYTEA, \
49
id VARCHAR(32) UNIQUE, \
50
isbn13 VARCHAR(32) UNIQUE, \
51
keyword TEXT, \
52
language VARCHAR(64) NOT NULL DEFAULT 'UNKNOWN', \
53
lccontrolnumber VARCHAR(64), \
54
location TEXT NOT NULL, \
55
marc_tags TEXT, \
56
monetary_units VARCHAR(64) NOT NULL DEFAULT 'UNKNOWN', \
57
multivolume_set_isbn VARCHAR(32), \
58
myoid BIGINT NOT NULL, \
59
originality TEXT, \
60
pdate VARCHAR(32) NOT NULL, \
61
place TEXT NOT NULL, \
62
price NUMERIC(10, 2) NOT NULL DEFAULT 0.00, \
63
publisher TEXT NOT NULL, \
64
quantity INTEGER NOT NULL DEFAULT 1, \
65
target_audience TEXT, \
66
title TEXT NOT NULL, \
67
type VARCHAR(16) NOT NULL DEFAULT 'Book', \
68
url TEXT, \
69
volume_number TEXT \
70
); \
71
\
72
CREATE TABLE book_copy_info \
73
( \
74
copy_number INTEGER NOT NULL DEFAULT 1, \
75
copyid VARCHAR(64) NOT NULL, \
76
myoid BIGINT NOT NULL, \
77
condition TEXT, \
78
item_oid BIGINT NOT NULL, \
79
originality TEXT, \
80
status TEXT, \
81
PRIMARY KEY(item_oid, copyid), \
82
FOREIGN KEY(item_oid) REFERENCES book(myoid) ON DELETE CASCADE \
83
); \
84
\
85
CREATE TABLE book_files \
86
( \
87
description TEXT, \
88
file BYTEA NOT NULL, \
89
file_digest TEXT NOT NULL, \
90
file_name TEXT NOT NULL, \
91
item_oid BIGINT NOT NULL, \
92
myoid BIGINT NOT NULL, \
93
FOREIGN KEY(item_oid) REFERENCES book(myoid) ON DELETE CASCADE, \
94
PRIMARY KEY(file_digest, item_oid) \
95
); \
96
\
97
CREATE TABLE book_sequence \
98
( \
99
value INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT \
100
); \
101
\
102
CREATE TABLE cd \
103
( \
104
accession_number TEXT, \
105
artist TEXT NOT NULL, \
106
back_cover BYTEA, \
107
category TEXT NOT NULL, \
108
cdaudio VARCHAR(32) NOT NULL DEFAULT 'Mono', \
109
cddiskcount INTEGER NOT NULL DEFAULT 1, \
110
cdformat VARCHAR(128) NOT NULL, \
111
cdrecording VARCHAR(32) NOT NULL DEFAULT 'Live', \
112
cdruntime VARCHAR(32) NOT NULL, \
113
description TEXT NOT NULL, \
114
front_cover BYTEA, \
115
id VARCHAR(32) NOT NULL PRIMARY KEY, \
116
keyword TEXT, \
117
language VARCHAR(64) NOT NULL DEFAULT 'UNKNOWN', \
118
location TEXT NOT NULL, \
119
monetary_units VARCHAR(64) NOT NULL DEFAULT 'UNKNOWN', \
120
myoid BIGINT NOT NULL, \
121
price NUMERIC(10, 2) NOT NULL DEFAULT 0.00, \
122
quantity INTEGER NOT NULL DEFAULT 1, \
123
rdate VARCHAR(32) NOT NULL, \
124
recording_label TEXT NOT NULL, \
125
title TEXT NOT NULL, \
126
type VARCHAR(16) NOT NULL DEFAULT 'CD' \
127
); \
128
\
129
CREATE TABLE cd_copy_info \
130
( \
131
copy_number INTEGER NOT NULL DEFAULT 1, \
132
copyid VARCHAR(64) NOT NULL, \
133
item_oid BIGINT NOT NULL, \
134
myoid BIGINT NOT NULL, \
135
status TEXT, \
136
PRIMARY KEY(item_oid, copyid), \
137
FOREIGN KEY(item_oid) REFERENCES cd(myoid) ON DELETE CASCADE \
138
); \
139
\
140
CREATE TABLE cd_songs \
141
( \
142
albumnum INTEGER NOT NULL DEFAULT 1, \
143
artist TEXT NOT NULL DEFAULT 'UNKNOWN', \
144
composer TEXT NOT NULL DEFAULT 'UNKNOWN', \
145
item_oid BIGINT NOT NULL, \
146
runtime VARCHAR(32) NOT NULL, \
147
songnum INTEGER NOT NULL DEFAULT 1, \
148
songtitle VARCHAR(256) NOT NULL, \
149
PRIMARY KEY(item_oid, albumnum, songnum), \
150
FOREIGN KEY(item_oid) REFERENCES cd(myoid) ON DELETE CASCADE \
151
); \
152
\
153
CREATE TABLE dvd \
154
( \
155
accession_number TEXT, \
156
back_cover BYTEA, \
157
category TEXT NOT NULL, \
158
description TEXT NOT NULL, \
159
dvdactor TEXT NOT NULL, \
160
dvdaspectratio VARCHAR(64) NOT NULL, \
161
dvddirector TEXT NOT NULL, \
162
dvddiskcount INTEGER NOT NULL DEFAULT 1, \
163
dvdformat TEXT NOT NULL, \
164
dvdrating VARCHAR(64) NOT NULL, \
165
dvdregion VARCHAR(64) NOT NULL, \
166
dvdruntime VARCHAR(32) NOT NULL, \
167
front_cover BYTEA, \
168
id VARCHAR(32) NOT NULL PRIMARY KEY, \
169
keyword TEXT, \
170
language VARCHAR(64) NOT NULL DEFAULT 'UNKNOWN', \
171
location TEXT NOT NULL, \
172
monetary_units VARCHAR(64) NOT NULL DEFAULT 'UNKNOWN', \
173
myoid BIGINT NOT NULL, \
174
price NUMERIC(10, 2) NOT NULL DEFAULT 0.00, \
175
quantity INTEGER NOT NULL DEFAULT 1, \
176
rdate VARCHAR(32) NOT NULL, \
177
studio TEXT NOT NULL, \
178
title TEXT NOT NULL, \
179
type VARCHAR(16) NOT NULL DEFAULT 'DVD' \
180
); \
181
\
182
CREATE TABLE dvd_copy_info \
183
( \
184
copy_number INTEGER NOT NULL DEFAULT 1, \
185
copyid VARCHAR(64) NOT NULL, \
186
item_oid BIGINT NOT NULL, \
187
myoid BIGINT NOT NULL, \
188
status TEXT, \
189
PRIMARY KEY(item_oid, copyid), \
190
FOREIGN KEY(item_oid) REFERENCES dvd(myoid) ON DELETE CASCADE \
191
); \
192
\
193
CREATE TABLE grey_literature \
194
( \
195
author TEXT NOT NULL, \
196
client TEXT, \
197
document_code_a TEXT NOT NULL, \
198
document_code_b TEXT NOT NULL, \
199
document_date TEXT NOT NULL, \
200
document_id TEXT NOT NULL PRIMARY KEY, \
201
document_status TEXT, \
202
document_title TEXT NOT NULL, \
203
document_type TEXT NOT NULL, \
204
front_cover BYTEA, \
205
job_number TEXT NOT NULL, \
206
location TEXT, \
207
myoid BIGINT UNIQUE, \
208
notes TEXT, \
209
quantity INTEGER NOT NULL DEFAULT 1, \
210
type VARCHAR(16) NOT NULL DEFAULT 'Grey Literature' \
211
); \
212
\
213
CREATE TABLE grey_literature_files \
214
( \
215
description TEXT, \
216
file BYTEA NOT NULL, \
217
file_digest TEXT NOT NULL, \
218
file_name TEXT NOT NULL, \
219
item_oid BIGINT NOT NULL, \
220
myoid BIGINT NOT NULL, \
221
FOREIGN KEY(item_oid) REFERENCES grey_literature(myoid) ON \
222
DELETE CASCADE, \
223
PRIMARY KEY(file_digest, item_oid) \
224
); \
225
\
226
CREATE TABLE journal \
227
( \
228
accession_number TEXT, \
229
back_cover BYTEA, \
230
callnumber VARCHAR(64), \
231
category TEXT NOT NULL, \
232
description TEXT NOT NULL, \
233
deweynumber VARCHAR(64), \
234
front_cover BYTEA, \
235
id VARCHAR(32), \
236
issueno INTEGER NOT NULL DEFAULT 0, \
237
issuevolume INTEGER NOT NULL DEFAULT 0, \
238
keyword TEXT, \
239
language VARCHAR(64) NOT NULL DEFAULT 'UNKNOWN', \
240
lccontrolnumber VARCHAR(64), \
241
location TEXT NOT NULL, \
242
marc_tags TEXT, \
243
monetary_units VARCHAR(64) NOT NULL DEFAULT 'UNKNOWN', \
244
myoid BIGINT NOT NULL, \
245
pdate VARCHAR(32) NOT NULL, \
246
place TEXT NOT NULL, \
247
price NUMERIC(10, 2) NOT NULL DEFAULT 0.00, \
248
publisher TEXT NOT NULL, \
249
quantity INTEGER NOT NULL DEFAULT 1, \
250
title TEXT NOT NULL, \
251
type VARCHAR(16) NOT NULL DEFAULT 'Journal', \
252
UNIQUE(id, issueno, issuevolume) \
253
); \
254
\
255
CREATE TABLE journal_copy_info \
256
( \
257
copy_number INTEGER NOT NULL DEFAULT 1, \
258
copyid VARCHAR(64) NOT NULL, \
259
item_oid BIGINT NOT NULL, \
260
myoid BIGINT NOT NULL, \
261
status TEXT, \
262
PRIMARY KEY(item_oid, copyid), \
263
FOREIGN KEY(item_oid) REFERENCES journal(myoid) ON DELETE CASCADE \
264
); \
265
\
266
CREATE TABLE journal_files \
267
( \
268
description TEXT, \
269
file BYTEA NOT NULL, \
270
file_digest TEXT NOT NULL, \
271
file_name TEXT NOT NULL, \
272
item_oid BIGINT NOT NULL, \
273
myoid BIGINT NOT NULL, \
274
FOREIGN KEY(item_oid) REFERENCES journal(myoid) ON DELETE CASCADE, \
275
PRIMARY KEY(file_digest, item_oid) \
276
); \
277
\
278
CREATE TABLE magazine \
279
( \
280
accession_number TEXT, \
281
back_cover BYTEA, \
282
callnumber VARCHAR(64), \
283
category TEXT NOT NULL, \
284
description TEXT NOT NULL, \
285
deweynumber VARCHAR(64), \
286
front_cover BYTEA, \
287
id VARCHAR(32), \
288
issueno INTEGER NOT NULL DEFAULT 0, \
289
issuevolume INTEGER NOT NULL DEFAULT 0, \
290
keyword TEXT, \
291
language VARCHAR(64) NOT NULL DEFAULT 'UNKNOWN', \
292
lccontrolnumber VARCHAR(64), \
293
location TEXT NOT NULL, \
294
marc_tags TEXT, \
295
monetary_units VARCHAR(64) NOT NULL DEFAULT 'UNKNOWN', \
296
myoid BIGINT NOT NULL, \
297
pdate VARCHAR(32) NOT NULL, \
298
place TEXT NOT NULL, \
299
price NUMERIC(10, 2) NOT NULL DEFAULT 0.00, \
300
publisher TEXT NOT NULL, \
301
quantity INTEGER NOT NULL DEFAULT 1, \
302
title TEXT NOT NULL, \
303
type VARCHAR(16) NOT NULL DEFAULT 'Magazine', \
304
UNIQUE(id, issuevolume, issueno) \
305
); \
306
\
307
CREATE TABLE magazine_copy_info \
308
( \
309
copy_number INTEGER NOT NULL DEFAULT 1, \
310
copyid VARCHAR(64) NOT NULL, \
311
item_oid BIGINT NOT NULL, \
312
myoid BIGINT NOT NULL, \
313
status TEXT, \
314
PRIMARY KEY(item_oid, copyid), \
315
FOREIGN KEY(item_oid) REFERENCES magazine(myoid) ON DELETE CASCADE \
316
); \
317
\
318
CREATE TABLE magazine_files \
319
( \
320
description TEXT, \
321
file BYTEA NOT NULL, \
322
file_digest TEXT NOT NULL, \
323
file_name TEXT NOT NULL, \
324
item_oid BIGINT NOT NULL, \
325
myoid BIGINT NOT NULL, \
326
FOREIGN KEY(item_oid) REFERENCES magazine(myoid) ON DELETE CASCADE, \
327
PRIMARY KEY(file_digest, item_oid) \
328
); \
329
\
330
CREATE TABLE photograph_collection \
331
( \
332
about TEXT, \
333
accession_number TEXT, \
334
id TEXT PRIMARY KEY NOT NULL, \
335
image BYTEA, \
336
image_scaled BYTEA, \
337
location TEXT NOT NULL, \
338
myoid BIGINT NOT NULL, \
339
notes TEXT, \
340
title TEXT NOT NULL, \
341
type VARCHAR(32) NOT NULL DEFAULT 'Photograph Collection' \
342
); \
343
\
344
CREATE TABLE photograph \
345
( \
346
accession_number TEXT, \
347
callnumber VARCHAR(64), \
348
collection_oid BIGINT NOT NULL, \
349
copyright TEXT NOT NULL, \
350
creators TEXT NOT NULL, \
351
format TEXT, \
352
id TEXT NOT NULL, \
353
image BYTEA, \
354
image_scaled BYTEA, \
355
medium TEXT NOT NULL, \
356
myoid BIGINT NOT NULL, \
357
notes TEXT, \
358
other_number TEXT, \
359
pdate VARCHAR(32) NOT NULL, \
360
quantity INTEGER NOT NULL DEFAULT 1, \
361
reproduction_number TEXT NOT NULL, \
362
subjects TEXT, \
363
title TEXT NOT NULL, \
364
PRIMARY KEY(id, collection_oid), \
365
FOREIGN KEY(collection_oid) REFERENCES \
366
photograph_collection(myoid) ON \
367
DELETE CASCADE \
368
); \
369
\
370
CREATE TABLE videogame \
371
( \
372
accession_number TEXT, \
373
back_cover BYTEA, \
374
description TEXT NOT NULL, \
375
developer TEXT NOT NULL, \
376
front_cover BYTEA, \
377
genre TEXT NOT NULL, \
378
id VARCHAR(32) NOT NULL PRIMARY KEY, \
379
keyword TEXT, \
380
language VARCHAR(64) NOT NULL DEFAULT 'UNKNOWN', \
381
location TEXT NOT NULL, \
382
monetary_units VARCHAR(64) NOT NULL DEFAULT 'UNKNOWN', \
383
myoid BIGINT NOT NULL, \
384
place TEXT NOT NULL, \
385
price NUMERIC(10, 2) NOT NULL DEFAULT 0.00, \
386
publisher TEXT NOT NULL, \
387
quantity INTEGER NOT NULL DEFAULT 1, \
388
rdate VARCHAR(32) NOT NULL, \
389
title TEXT NOT NULL, \
390
type VARCHAR(16) NOT NULL DEFAULT 'Video Game', \
391
vgmode VARCHAR(16) NOT NULL DEFAULT 'Multiplayer', \
392
vgplatform VARCHAR(64) NOT NULL, \
393
vgrating VARCHAR(64) NOT NULL \
394
); \
395
\
396
CREATE TABLE videogame_copy_info \
397
( \
398
copy_number INTEGER NOT NULL DEFAULT 1, \
399
copyid VARCHAR(64) NOT NULL, \
400
item_oid BIGINT NOT NULL, \
401
myoid BIGINT NOT NULL, \
402
status TEXT, \
403
PRIMARY KEY(item_oid, copyid), \
404
FOREIGN KEY(item_oid) REFERENCES videogame(myoid) ON \
405
DELETE CASCADE \
406
); \
407
\
408
CREATE TRIGGER book_purge_trigger AFTER DELETE ON book \
409
FOR EACH row \
410
BEGIN \
411
DELETE FROM book_copy_info WHERE item_oid = old.myoid; \
412
DELETE FROM item_borrower WHERE item_oid = old.myoid; \
413
DELETE FROM member_history WHERE item_oid = old.myoid AND \
414
type = old.type; \
415
END; \
416
\
417
CREATE TRIGGER cd_purge_trigger AFTER DELETE ON cd \
418
FOR EACH row \
419
BEGIN \
420
DELETE FROM cd_copy_info WHERE item_oid = old.myoid; \
421
DELETE FROM cd_songs WHERE item_oid = old.myoid; \
422
DELETE FROM item_borrower WHERE item_oid = old.myoid; \
423
DELETE FROM member_history WHERE item_oid = old.myoid AND \
424
type = old.type; \
425
END; \
426
\
427
CREATE TRIGGER dvd_purge_trigger AFTER DELETE ON dvd \
428
FOR EACH row \
429
BEGIN \
430
DELETE FROM dvd_copy_info 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 grey_literature_purge_trigger AFTER DELETE ON \
437
grey_literature \
438
FOR EACH row \
439
BEGIN \
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 journal_purge_trigger AFTER DELETE ON journal \
446
FOR EACH row \
447
BEGIN \
448
DELETE FROM item_borrower WHERE item_oid = old.myoid; \
449
DELETE FROM journal_copy_info 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 magazine_purge_trigger AFTER DELETE ON magazine \
455
FOR EACH row \
456
BEGIN \
457
DELETE FROM item_borrower WHERE item_oid = old.myoid; \
458
DELETE FROM magazine_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 videogame_purge_trigger AFTER DELETE ON videogame \
464
FOR EACH row \
465
BEGIN \
466
DELETE FROM item_borrower WHERE item_oid = old.myoid; \
467
DELETE FROM member_history WHERE item_oid = old.myoid AND \
468
type = old.type; \
469
DELETE FROM videogame_copy_info WHERE item_oid = old.myoid; \
470
END; \
471
\
472
CREATE TABLE item_borrower \
473
( \
474
copy_number INTEGER NOT NULL DEFAULT 1, \
475
copyid VARCHAR(64) NOT NULL, \
476
duedate VARCHAR(32) NOT NULL, \
477
item_oid BIGINT NOT NULL, \
478
memberid VARCHAR(16) NOT NULL, \
479
myoid INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, \
480
reserved_by VARCHAR(128) NOT NULL, \
481
reserved_date VARCHAR(32) NOT NULL, \
482
type VARCHAR(16) NOT NULL, \
483
FOREIGN KEY(memberid) REFERENCES member ON DELETE RESTRICT \
484
); \
485
\
486
CREATE TABLE member \
487
( \
488
city VARCHAR(256) NOT NULL, \
489
comments TEXT, \
490
dob VARCHAR(32) NOT NULL, \
491
email VARCHAR(128), \
492
expiration_date VARCHAR(32) NOT NULL, \
493
first_name VARCHAR(128) NOT NULL, \
494
general_registration_number TEXT, \
495
last_name VARCHAR(128) NOT NULL, \
496
maximum_reserved_books INTEGER NOT NULL DEFAULT 0, \
497
memberclass TEXT, \
498
memberid VARCHAR(16) NOT NULL PRIMARY KEY DEFAULT 1, \
499
membership_fees NUMERIC(10, 2) NOT NULL DEFAULT 0.00, \
500
membersince VARCHAR(32) NOT NULL, \
501
middle_init VARCHAR(1), \
502
overdue_fees NUMERIC(10, 2) NOT NULL DEFAULT 0.00, \
503
sex VARCHAR(32) NOT NULL DEFAULT 'Private', \
504
state_abbr VARCHAR(16) NOT NULL DEFAULT 'N/A', \
505
street VARCHAR(256) NOT NULL, \
506
telephone_num VARCHAR(32), \
507
zip VARCHAR(16) NOT NULL DEFAULT 'N/A' \
508
); \
509
\
510
CREATE TRIGGER item_borrower_trigger AFTER DELETE ON member \
511
FOR EACH row \
512
BEGIN \
513
DELETE FROM item_borrower WHERE memberid = old.memberid; \
514
END; \
515
\
516
CREATE TABLE member_history \
517
( \
518
memberid VARCHAR(16) NOT NULL, \
519
item_oid BIGINT NOT NULL, \
520
copyid VARCHAR(64) NOT NULL, \
521
reserved_date VARCHAR(32) NOT NULL, \
522
duedate VARCHAR(32) NOT NULL, \
523
returned_date VARCHAR(32) NOT NULL, \
524
myoid INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, \
525
reserved_by VARCHAR(128) NOT NULL, \
526
type VARCHAR(16) NOT NULL, \
527
FOREIGN KEY(memberid) REFERENCES member(memberid) ON DELETE CASCADE \
528
); \
529
\
530
CREATE TRIGGER member_history_trigger AFTER DELETE ON member \
531
FOR EACH row \
532
BEGIN \
533
DELETE FROM member_history WHERE memberid = old.memberid; \
534
END; \
535
\
536
CREATE TABLE book_binding_types \
537
( \
538
binding_type TEXT NOT NULL PRIMARY KEY \
539
); \
540
\
541
CREATE TABLE book_conditions \
542
( \
543
condition TEXT NOT NULL PRIMARY KEY \
544
); \
545
\
546
CREATE TABLE book_originality \
547
( \
548
originality TEXT NOT NULL PRIMARY KEY \
549
); \
550
\
551
CREATE TABLE book_target_audiences \
552
( \
553
target_audience TEXT NOT NULL PRIMARY KEY \
554
); \
555
\
556
CREATE TABLE cd_formats \
557
( \
558
cd_format TEXT NOT NULL PRIMARY KEY \
559
); \
560
\
561
CREATE TABLE dvd_aspect_ratios \
562
( \
563
dvd_aspect_ratio TEXT NOT NULL PRIMARY KEY \
564
); \
565
\
566
CREATE TABLE dvd_ratings \
567
( \
568
dvd_rating TEXT NOT NULL PRIMARY KEY \
569
); \
570
\
571
CREATE TABLE dvd_regions \
572
( \
573
dvd_region TEXT NOT NULL PRIMARY KEY \
574
); \
575
\
576
CREATE TABLE grey_literature_types \
577
( \
578
document_type TEXT NOT NULL PRIMARY KEY \
579
); \
580
\
581
CREATE TABLE languages \
582
( \
583
language TEXT NOT NULL PRIMARY KEY \
584
); \
585
\
586
CREATE TABLE locations \
587
( \
588
location TEXT NOT NULL, \
589
type VARCHAR(32) NOT NULL, \
590
PRIMARY KEY(location, type) \
591
); \
592
\
593
CREATE TABLE minimum_days \
594
( \
595
days INTEGER NOT NULL, \
596
type VARCHAR(16) NOT NULL PRIMARY KEY \
597
); \
598
\
599
CREATE TABLE monetary_units \
600
( \
601
monetary_unit TEXT NOT NULL PRIMARY KEY \
602
); \
603
\
604
CREATE TABLE sequence \
605
( \
606
value INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT \
607
); \
608
\
609
CREATE TABLE videogame_platforms \
610
( \
611
videogame_platform TEXT NOT NULL PRIMARY KEY \
612
); \
613
\
614
CREATE TABLE videogame_ratings \
615
( \
616
videogame_rating TEXT NOT NULL PRIMARY KEY \
617
); \
618
"
;
Generated by
1.9.1