CREATE TABLE Land ( Land_ID int NOT NULL PRIMARY KEY, Langname varchar(100), Kurzname varchar(60) NOT NULL UNIQUE, Flaeche int NOT NULL, Erdteil varchar(20) NOT NULL DEFAULT 'unbekannt', Hauptstadt_ID int NOT NULL, Kartenverweis varchar(100), Flaggenverweis varchar(100), Infotext clob(5000), Lagebeschreibung clob(5000), Katastrophen clob(5000), Laengengrad smallint, Laengenmin smallint, Laengenrichtung char(1), Breitengrad smallint, Breitenmin smallint, Breitenrichtung char(1) ); CREATE TABLE Hauptstadt ( Ortschaft_ID int NOT NULL PRIMARY KEY, Name varchar(100) NOT NULL ); CREATE TABLE Land_Alternativnamen ( Land_Alternativ_ID int NOT NULL PRIMARY KEY, Alternativname varchar(100), Land_ID int NOT NULL REFERENCES Land(Land_ID) ) ; CREATE TABLE Religion ( Reli_ID smallint NOT NULL PRIMARY KEY, Name varchar(100) NOT NULL ); CREATE TABLE Agrarprodukt ( Produkt_ID smallint NOT NULL PRIMARY KEY, Name varchar(100) NOT NULL ); CREATE TABLE Landinformation ( Land_ID int NOT NULL REFERENCES Land, Jahr smallint NOT NULL , Einwohnerzahl int NOT NULL, Bruttoinlandsprodukt bigint, Lebenserwartung_M smallint check(Lebenserwartung_M between -1 and 100), Lebenserwartung_W smallint check(Lebenserwartung_W between -1 and 100), M_W_Verhaeltnis_Geb smallint check(M_W_Verhaeltnis_Geb between -1 and 200), M_W_Verhaeltnis_Ges smallint check(M_W_Verhaeltnis_Ges between -1 and 200) , PRIMARY KEY(Land_ID, Jahr) ); CREATE TABLE Ortschaft ( Ortschaft_ID int NOT NULL PRIMARY KEY, Laengengrad float, Breitengrad float, Name varchar(100) NOT NULL, AltName varchar(100), Land_ID int NOT NULL REFERENCES Land, istHafenstadt char(1) NOT NULL, istHauptstadt char(1) NOT NULL, Einwohnerzahl int NOT NULL ); CREATE TABLE Organisation ( Org_ID smallint NOT NULL PRIMARY KEY, Name varchar(100) , Kurzname varchar(15) NOT NULL ) ; CREATE TABLE Religionszugehoerigkeit ( Reli_ID smallint NOT NULL REFERENCES Religion, Prozent smallint check(Prozent between -1 and 100), Land_ID int NOT NULL, Jahr smallint NOT NULL, FOREIGN KEY (Land_ID, Jahr) REFERENCES Landinformation ); ALTER TABLE Religionszugehoerigkeit ADD PRIMARY KEY(Land_ID, Jahr, Reli_ID); CREATE TABLE Produktion ( Produkt_ID smallint NOT NULL REFERENCES Agrarprodukt, Land_ID int NOT NULL, Jahr smallint NOT NULL, PRIMARY KEY (Produkt_ID, Land_ID, Jahr), FOREIGN KEY (Land_ID, Jahr) REFERENCES Landinformation ) ; CREATE TABLE Mitglied ( Land_ID int NOT NULL REFERENCES Land, Org_ID smallint NOT NULL REFERENCES Organisation, PRIMARY KEY (Land_ID, Org_ID) ) ; CREATE TABLE Nachbar ( Land1_ID int NOT NULL REFERENCES Land(Land_ID), Land2_ID int NOT NULL REFERENCES Land(Land_ID), Grenzlaenge int, PRIMARY KEY(Land1_ID, Land2_ID) ) ;