Shadowhelix:Datenbank/Umsetzung SQL
Zur Navigation springen
Zur Suche springen
Datenbankstruktur
Skript für Tabellenerstellung:
CREATE TABLE sources( id_source INTEGER(0) NOT NULL ,description TEXT NOT NULL ,language_code TEXT NOT NULL ,type TEXT ); CREATE TABLE sources_catalog( id_source INTEGER(0) NOT NULL ,id_drivethru TEXT ,id_amazon TEXT ,id_rpggeek TEXT ); CREATE TABLE contributors( id_contributor INTEGER(0) NOT NULL ,surname TEXT NOT NULL ,surname_suffix TEXT ,forename_first TEXT ,forename_second TEXT ,forename_third TEXT ,year_birth TEXT ,year_death TEXT ); CREATE TABLE contributors_weblink( id_contributor INTEGER(0) NOT NULL ,url TEXT NOT NULL ); CREATE TABLE contributions( id_contributor INTEGER(0) NOT NULL ,id_source INTEGER(0) NOT NULL ,standard_descriptor TEXT NOT NULL ,uncredited CHAR(1) ,title_contribution TEXT ); CREATE TABLE contributions__illustration( id_contributor INTEGER(0) NOT NULL ,id_illustration INTEGER(0) ); CREATE TABLE illustrations( id_illustration INTEGER(0) NOT NULL ,id_constructed TEXT ); CREATE TABLE illustrations_source( id_illustration INTEGER(0) NOT NULL ,id_source INTEGER(0) NOT NULL ,issue TEXT ,page_reference TEXT ,entry_reference TEXT ,position TEXT ); CREATE TABLE illustrations_weblink( id_illustration INTEGER(0) NOT NULL ,web_link TEXT ,direct_link TEXT ); CREATE TABLE corporations_name( id_corporation INTEGER(0) NOT NULL ,language_code TEXT ,short_name TEXT ,full_name TEXT ,abbreviation TEXT ); CREATE TABLE corporations_ownership( id_corporation INTEGER(0) NOT NULL ,id_corporation_owner INTEGER(0) ,id_organisation_owner INTEGER(0) ,id_person_owner INTEGER(0) ,fraction TEXT ,from_year TEXT ,from_month TEXT ,to_year TEXT ,to_month TEXT ); CREATE TABLE products_name( id_product INTEGER(0) NOT NULL ,language_code TEXT ,name TEXT ); CREATE TABLE products_source( id_product INTEGER(0) NOT NULL ,id_source INTEGER(0) ,issue TEXT ,page_reference TEXT ,entry_reference TEXT ); CREATE TABLE products_type( id_product INTEGER(0) NOT NULL ,id_type INTEGER(0) ); CREATE TABLE types( id_type INTEGER(0) NOT NULL ,language_code TEXT ,name TEXT ); CREATE TABLE shadow_matrix_users( id_user INTEGER(0) NOT NULL ,id_person INTEGER(0) ,name TEXT ); CREATE TABLE shadow_matrix_shadowtalk_source( id_user INTEGER(0) NOT NULL ,id_source INTEGER(0) NOT NULL ,issue TEXT ,page_reference TEXT ,entry_reference TEXT );
Beispielimplementierung - SQLite
Anleitung - Erstellung der Datenbank
- Voraussetzung: SQLite ist installiert.
- Obenstehendes Skript in die Datei create_tables.sql kopieren.
- Datenbank-Dateien herunterladen.
- Import-Skript schreiben, z.B. import.sql. Inhalt:
.separator "\t" .import entwurf_sources.txt sources .import entwurf_contributors.txt contributors ..
- Alle Dateien in ein Verzeichnis zusammenführen.
- Neue Datenbank anlegen ggf. systemabhängig aber normalerweise durch Aufruf des SQLite-Kommandos mit Datenbankname, z.B.
- > sqlite shx.db
- In SQlite die Tabellen durch Ausführen von create_tables.sql erstellen.
- sqlite> .read create_tables.sql
- In SQlite den Inhalt der Datenbankdateien durch Ausführen von import.sql in die Tabellen importieren.
- sqlite> .read import.sql