Lösung: Tierheim
Fremdschlüssel
- gehege_id steht in tier. Ein Gehege beherbergt viele Tiere, ein Tier lebt in genau einem Gehege (1:n).
- art_id steht ebenfalls in tier. Eine Tierart umfasst viele Tiere, ein Tier gehört zu genau einer Art (1:n) – zwei Fremdschlüssel in derselben Tabelle.
Mehrere Fremdschlüssel in derselben Tabelle sind kein Fehler: Sie treten immer dann auf, wenn eine Entität an zwei unabhängigen 1:n-Beziehungen die „viele“-Seite ist.
Datentypen
| Spalte | Typ | Begründung |
|---|---|---|
| tier_id, gehege_id, art_id | INT | Ganzzahlige IDs |
| geburtsdatum | DATE | Nur das Datum ist relevant |
| geschlecht | CHAR(1) | Immer genau ein Zeichen (f/m) |
| flaeche | DECIMAL(5,2) | Fläche mit Nachkommastellen, exakt |
| name, standort, bezeichnung, herkunft | VARCHAR | Textlänge variabel |
SQL: Tabellen erstellen
Fremdschlüssel-Spalten sind angelegt, aber noch ohne FOREIGN-KEY-Constraint – den setzen wir später im Modul.
CREATE TABLE gehege ( gehege_id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(20) NOT NULL, standort VARCHAR(20), flaeche DECIMAL(5,2) ); CREATE TABLE tierart ( art_id INT AUTO_INCREMENT PRIMARY KEY, bezeichnung VARCHAR(50) NOT NULL, herkunft VARCHAR(20) ); CREATE TABLE tier ( tier_id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(20) NOT NULL, geburtsdatum DATE, geschlecht CHAR(1), gehege_id INT, art_id INT );
