DB schema
This commit is contained in:
parent
33305ef823
commit
bcc683e0c3
132
the_works/schema.sql
Normal file
132
the_works/schema.sql
Normal file
@ -0,0 +1,132 @@
|
||||
DROP TABLE IF EXISTS "AutorHrsg_Index";
|
||||
DROP TABLE IF EXISTS "AutorInnen_und_Hrsg";
|
||||
DROP TABLE IF EXISTS "TextGenres_Index";
|
||||
DROP TABLE IF EXISTS "WerkGenres_Index";
|
||||
DROP TABLE IF EXISTS "Genres";
|
||||
DROP TABLE IF EXISTS "Reihen";
|
||||
DROP TABLE IF EXISTS "Sprachen";
|
||||
DROP TABLE IF EXISTS "Tete";
|
||||
DROP TABLE IF EXISTS "Textformen";
|
||||
DROP TABLE IF EXISTS "Verlage";
|
||||
DROP TABLE IF EXISTS "Veroeffentlichungen_Index";
|
||||
DROP TABLE IF EXISTS "Werke";
|
||||
DROP TABLE IF EXISTS "Werksformen";
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "AutorHrsg_Index" (
|
||||
"ID" INTEGER,
|
||||
"Werk" INTEGER NOT NULL,
|
||||
"AutorIn_oder_Hrsg" INTEGER NOT NULL DEFAULT 1,
|
||||
PRIMARY KEY("ID" AUTOINCREMENT),
|
||||
FOREIGN KEY("AutorIn_oder_Hrsg") REFERENCES "AutorInnen_und_Hrsg"("ID"),
|
||||
FOREIGN KEY("Werk") REFERENCES "Werke"("ID")
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS "AutorInnen_und_Hrsg" (
|
||||
"ID" INTEGER,
|
||||
"Name" TEXT NOT NULL,
|
||||
"Funktion" TEXT NOT NULL,
|
||||
PRIMARY KEY("ID" AUTOINCREMENT)
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS "TextGenres_Index" (
|
||||
"ID" INTEGER,
|
||||
"Text" INTEGER NOT NULL,
|
||||
"Genre" INTEGER NOT NULL,
|
||||
PRIMARY KEY("ID" AUTOINCREMENT),
|
||||
FOREIGN KEY("Genre") REFERENCES "Genres"("ID"),
|
||||
FOREIGN KEY("Text") REFERENCES "Texte"("ID")
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS "WerkGenres_Index" (
|
||||
"ID" INTEGER,
|
||||
"Werk" INTEGER NOT NULL,
|
||||
"Genre" INTEGER NOT NULL,
|
||||
PRIMARY KEY("ID" AUTOINCREMENT),
|
||||
FOREIGN KEY("Genre") REFERENCES "Genres"("ID"),
|
||||
FOREIGN KEY("Werk") REFERENCES "Werke"("ID")
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS "Genres" (
|
||||
"ID" INTEGER,
|
||||
"Genre" TEXT NOT NULL,
|
||||
PRIMARY KEY("ID" AUTOINCREMENT)
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS "Reihen" (
|
||||
"ID" INTEGER,
|
||||
"Reihentitel" TEXT NOT NULL,
|
||||
"Verlag" TEXT,
|
||||
PRIMARY KEY("ID" AUTOINCREMENT),
|
||||
FOREIGN KEY("Verlag") REFERENCES "Verlage"("ID")
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS "Sprachen" (
|
||||
"ID" INTEGER,
|
||||
"Sprache" TEXT NOT NULL,
|
||||
PRIMARY KEY("ID" AUTOINCREMENT)
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS "Texte" (
|
||||
"ID" INTEGER,
|
||||
"Titel" TEXT NOT NULL,
|
||||
"Untertitel" TEXT,
|
||||
"Reihe" INTEGER,
|
||||
"Textform" INTEGER,
|
||||
"Originalsprache" INTEGER,
|
||||
PRIMARY KEY("ID" AUTOINCREMENT),
|
||||
FOREIGN KEY("Originalsprache") REFERENCES "Sprachen"("ID"),
|
||||
FOREIGN KEY("Reihe") REFERENCES "Reihen"("ID"),
|
||||
FOREIGN KEY("Textform") REFERENCES "Textformen"("ID")
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS "Textformen" (
|
||||
"ID" INTEGER,
|
||||
"Textform" TEXT NOT NULL,
|
||||
PRIMARY KEY("ID" AUTOINCREMENT)
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS "Verlage" (
|
||||
"ID" INTEGER,
|
||||
"Verlag" TEXT NOT NULL,
|
||||
PRIMARY KEY("ID" AUTOINCREMENT)
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS "Veröffentlichungen_Index" (
|
||||
"ID" INTEGER,
|
||||
"Text" INTEGER NOT NULL,
|
||||
"Werk" INTEGER NOT NULL,
|
||||
"neuer Titel" TEXT,
|
||||
"neuer Untertitel" TEXT,
|
||||
"Veröffentlicht als" INTEGER NOT NULL,
|
||||
PRIMARY KEY("ID" AUTOINCREMENT),
|
||||
FOREIGN KEY("Text") REFERENCES "Texte"("ID"),
|
||||
FOREIGN KEY("Veröffentlicht als") REFERENCES "AutorInnen_und_Hrsg"("ID"),
|
||||
FOREIGN KEY("Werk") REFERENCES "Werke"("ID")
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS "Werke" (
|
||||
"ID" INTEGER,
|
||||
"Werkstitel" TEXT NOT NULL,
|
||||
"Werksuntertitel" TEXT,
|
||||
"Werksform" INTEGER,
|
||||
"Verlag" INTEGER,
|
||||
"Reihe" INTEGER,
|
||||
"Reihennummer" TEXT,
|
||||
"Erscheinungsdatum" TEXT,
|
||||
"ISBN_13" TEXT,
|
||||
"ISBN_10" TEXT,
|
||||
"ISSN" TEXT,
|
||||
"Preis" TEXT,
|
||||
"Titelbild" BLOB,
|
||||
"Klappentext" TEXT,
|
||||
"Anmerkungen" TEXT,
|
||||
PRIMARY KEY("ID" AUTOINCREMENT),
|
||||
FOREIGN KEY("Reihe") REFERENCES "Reihen"("ID"),
|
||||
FOREIGN KEY("Verlag") REFERENCES "Verlage"("ID"),
|
||||
FOREIGN KEY("Werksform") REFERENCES "Werksformen"("ID")
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS "Werksformen" (
|
||||
"ID" INTEGER,
|
||||
"Werksform" TEXT NOT NULL,
|
||||
"Medium" TEXT,
|
||||
PRIMARY KEY("ID" AUTOINCREMENT)
|
||||
);
|
||||
CREATE VIEW Meine_Buecher AS
|
||||
SELECT DISTINCT w.Werkstitel
|
||||
, a.Name
|
||||
, a.Funktion
|
||||
FROM Werke w
|
||||
INNER JOIN AutorHrsg_Index i
|
||||
ON w.ID = i.Werk
|
||||
INNER JOIN AutorInnen_und_Hrsg a
|
||||
ON i.AutorIn_oder_Hrsg = a.ID
|
||||
WHERE a.ID < 4;
|
||||
Loading…
Reference in New Issue
Block a user