PMG2224 4/DB Beleg/Soraya

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>SQL</language>
==Datenbank-Beleg:==

'''''Thema der Datenbank:'''''
Fahrschule 

'''''Ziel/Begründung:''''' 
* verschiedene Datenpunkte, die effizient organisiert werden können
* erleichterter Zugriff auf:

** Schülerinformationen 
** Fahrstunden 
** Prüfungstermine
** Fahrlehrerdaten 
** Fahrzeuge
<code id="65f6bce623267">create database Fahrschule;

use Fahrschule;

CREATE TABLE Fahrzeug
(
  id INT NOT NULL auto_increment,
  Name VARCHAR(128) NOT NULL,
  PRIMARY KEY (id)
);

CREATE TABLE Fahrlehrer
(
  id INT NOT NULL auto_increment,
  Vorname VARCHAR(128) NOT NULL,
  Nachname VARCHAR(128) NOT NULL,
  Telefonnummer VARCHAR(16) NOT NULL,
  PRIMARY KEY (id)
);

CREATE TABLE Fahrschueler
(
  id INT NOT NULL auto_increment,
  Vorname VARCHAR(128) NOT NULL,
  Nachname VARCHAR(128) NOT NULL,
  Telefonnummer VARCHAR(16) NOT NULL,
  PRIMARY KEY (id)
);

CREATE TABLE Fahrstunde
(
  id INT NOT NULL auto_increment,
  Start DATETIME NOT NULL,
  Ende DATETIME NOT NULL,
  istSonderfahrt INT NOT NULL,
  kostenProStunde FLOAT NOT NULL,
  istPruefung INT NOT NULL,
  FahrschuelerID INT NOT NULL,
  FahrzeugID INT NOT NULL,
  PRIMARY KEY (id),
  FOREIGN KEY (FahrschuelerID) REFERENCES Fahrschueler(id),
  FOREIGN KEY (FahrzeugID) REFERENCES Fahrzeug(id)
);

CREATE TABLE TheorieUnterricht
(
  Start DATETIME NOT NULL,
  Ende DATETIME NOT NULL,
  istPruefung INT NOT NULL,
  id INT NOT NULL auto_increment,
  FahrlehrerID INT NOT NULL,
  PRIMARY KEY (id),
  FOREIGN KEY (FahrlehrerID) REFERENCES Fahrlehrer(id)
);

CREATE TABLE nimmtTeil
(
  FahrschuelerID INT NOT NULL,
  TheorieUnterrichtID INT NOT NULL,
  PRIMARY KEY (FahrschuelerID, TheorieUnterrichtID),
  FOREIGN KEY (FahrschuelerID) REFERENCES Fahrschueler(id),
  FOREIGN KEY (TheorieUnterrichtID) REFERENCES TheorieUnterricht(id)
);

CREATE TABLE fuertDurch
(
  istPruefer INT NOT NULL,
  FahrlehrerID INT NOT NULL,
  FahrstundeID INT NOT NULL,
  PRIMARY KEY (FahrlehrerID, FahrstundeID),
  FOREIGN KEY (FahrlehrerID) REFERENCES Fahrlehrer(id),
  FOREIGN KEY (FahrstundeID) REFERENCES Fahrstunde(id)
);
</code>