OSZ Handel I
Informatik

Autovermietung Flotter Flitzer
Script zum Erzeugen
der Datenbank und der Tabellen
(Informix)

Johann Penon

[Startseite OSZ | Startseite Gymnasiale Oberstufe | Informatik | Unterrichtsmaterialien]
[ Datenbanken]
[Textende]

{ Skriptname    create.sql                                           }
{ Fundort       scripts/create.sql                                   }
{                                                                    }
{ Funktion      Erstellt die Tabellen fuer die Verwaltung der        }
{               Autovermietung Flotter Flitzer                       }
{                                                                    }
{ Autoren       Johann Penon (BICS), Hermann Peltzer (BICS)          }
{                                                                    }
{ DBMS          Informix 4.1                                         }
{                                                                    }
{ erstellt am   18. September 1995                                   }

CREATE DATABASE ff WITH LOG IN "/schule/anwen/db/ff/log1.log";

CREATE TABLE kunden
(
	kunr			SERIAL(1000),
	kuname		        CHAR(30) NOT NULL,
	kuvorname		CHAR(20) NOT NULL,
	kustrasse		CHAR(30) NOT NULL,
	kuplz			CHAR(08) NOT NULL,
	kuort			CHAR(30) NOT NULL,
	kutelefon		CHAR(20),
	kugebdat		DATE     NOT NULL,
	kudatfschein	        DATE     NOT NULL,
	PRIMARY KEY (kunr)
);


CREATE TABLE hersteller
(
	hename		        CHAR(35) NOT NULL,
	hestrasse		CHAR(30),
	heplz			CHAR(05),
	heort			CHAR(30),
	hetelefon		CHAR(20),
	hekontakt		CHAR(20),
	PRIMARY KEY (hename)
);


CREATE TABLE modelle
(
	moname		        CHAR(35) NOT NULL,
	hename		        CHAR(35) NOT NULL,
	moleistung		SMALLINT,
	mohubraum		SMALLINT,
	molaenge		SMALLINT,
	mobreite		SMALLINT,
	PRIMARY KEY (moname),
	FOREIGN KEY(hename) REFERENCES hersteller(hename)
);


CREATE TABLE pkw
(
	pkennzeichen	        CHAR(11) NOT NULL,
	moname		        CHAR(35) NOT NULL,
	perstzulassung	        DATE, 
	peabmeldung		DATE,
	pschiebedach	        CHAR(1),
	pklima		        CHAR(1),
	PRIMARY KEY (pkennzeichen),
	FOREIGN KEY(moname) REFERENCES modelle(moname)
);


CREATE TABLE werkstatt
(
	wename		        CHAR(35) NOT NULL,
	westrasse		CHAR(30),
	weplz			CHAR(05),
	weort			CHAR(30),
	wetelefon		CHAR(20),
	wekontakt		CHAR(20),
	PRIMARY KEY (wename)
);


CREATE TABLE ausleihe
(
	aunr			SERIAL(1),
	pkennzeichen	        CHAR(11) NOT NULL,
	kunr			INTEGER  NOT NULL,
	auleiausdat		DATE     NOT NULL,
	auanfangkm		INTEGER  NOT NULL,
	auleirueckdat	        DATE,
	auendkm		        INTEGER,
	PRIMARY KEY (aunr),
	FOREIGN KEY(pkennzeichen) REFERENCES pkw(pkennzeichen),
	FOREIGN KEY(kunr)         REFERENCES kunden(kunr)
);


CREATE TABLE reparatur
(	pkennzeichen	        CHAR(11) NOT NULL,
	wename		        CHAR(35) NOT NULL,
	redatum		        DATE     NOT NULL,
	reart			CHAR(30),
	redauer		        SMALLINT,
	PRIMARY KEY (pkennzeichen, wename),
	FOREIGN KEY(pkennzeichen) REFERENCES pkw(pkennzeichen),
	FOREIGN KEY(wename)       REFERENCES werkstatt(wename)
);

[Startseite OSZ | Startseite Gymnasiale Oberstufe | Informatik | Unterrichtsmaterialien]
[ Datenbanken]
[Textanfang]

30. Mai 2005    Johann Penon