69 lines
1.5 KiB
MySQL
69 lines
1.5 KiB
MySQL
|
CREATE TABLE kategori
|
||
|
(id text PRIMARY KEY,
|
||
|
navn text NOT NULL);
|
||
|
|
||
|
CREATE TABLE plassering
|
||
|
(id SERIAL PRIMARY KEY,
|
||
|
kategori text NOT NULL REFERENCES kategori (id),
|
||
|
hylle text NOT NULL);
|
||
|
|
||
|
CREATE TABLE bokserie
|
||
|
(id text PRIMARY KEY,
|
||
|
tittel text NOT NULL);
|
||
|
|
||
|
CREATE TABLE bok
|
||
|
(isbn text PRIMARY KEY,
|
||
|
id text NOT NULL,
|
||
|
tittel text NOT NULL,
|
||
|
undertittel text,
|
||
|
kategori text NOT NULL REFERENCES kategori (id),
|
||
|
forlag text,
|
||
|
utgivelsesaar integer,
|
||
|
utgave text,
|
||
|
sidetall integer,
|
||
|
serie text REFERENCES bokserie (id),
|
||
|
beskrivelse text); -- TODO: bilde?
|
||
|
|
||
|
CREATE TABLE alternativ_tittel
|
||
|
(id SERIAL PRIMARY KEY,
|
||
|
bok text NOT NULL REFERENCES bok (isbn),
|
||
|
alt_tittel text NOT NULL);
|
||
|
|
||
|
CREATE TABLE eksemplar
|
||
|
(bok text REFERENCES bok (isbn),
|
||
|
nummer integer,
|
||
|
eier text,
|
||
|
PRIMARY KEY(bok, nummer));
|
||
|
|
||
|
CREATE TABLE person
|
||
|
(id text PRIMARY KEY,
|
||
|
etternavn text NOT NULL,
|
||
|
fornavn text NOT NULL);
|
||
|
|
||
|
CREATE TABLE rolle
|
||
|
(id text PRIMARY KEY,
|
||
|
navn text NOT NULL);
|
||
|
|
||
|
CREATE TABLE bokperson
|
||
|
(id SERIAL PRIMARY KEY,
|
||
|
bok text NOT NULL REFERENCES bok (isbn),
|
||
|
person text NOT NULL REFERENCES person (id),
|
||
|
relasjon text NOT NULL REFERENCES rolle (id));
|
||
|
|
||
|
CREATE TABLE referansetype
|
||
|
(id text PRIMARY KEY,
|
||
|
navn text NOT NULL);
|
||
|
|
||
|
CREATE TABLE bokreferanse
|
||
|
(id SERIAL PRIMARY KEY,
|
||
|
bok text NOT NULL REFERENCES bok (isbn),
|
||
|
reftype text NOT NULL REFERENCES referansetype (id),
|
||
|
tekst text NOT NULL);
|
||
|
|
||
|
CREATE TABLE personreferanse
|
||
|
(id SERIAL PRIMARY KEY,
|
||
|
person text NOT NULL REFERENCES person (id),
|
||
|
reftype text NOT NULL REFERENCES referansetype (id),
|
||
|
tekst text NOT NULL);
|
||
|
|