69 lines
1.5 KiB
SQL
69 lines
1.5 KiB
SQL
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);
|
|
|