====== Relationale Datenbank, Tabellenschema ======
Eine **relationale Datenbank** speichert Daten in **Tabellen**. Der Aufbau einer Tabelle ist dabei durch das **Tabellenschema** gegeben, das beschreibt, welche Spalten die Tabelle besitzt, insbesondere, welchen **Bezeichner** sie tragen und welchen **Datentyp** die Werte der einzelnen Spalten haben.
Ein **Datentyp** beschreibt die "Art" der Daten, z.B.
^Datentyp ^Art der Daten ^
|''varchar(40)'' |Text mit Maximallänge 40 |
|''int'' | ganze Zahl im Bereich von ca. $-2\cdot 10^9$ bis ca. $2\cdot 10^9$ |
|''decimal(8, 2)'' |rationale Zahl mit 8 Dezimalstellen, davon 2 Nachkommastellen |
|''boolean'' |Wahrheitswert, also ''true'' oder ''false'' |
|''date'' |Datum |
Die Zeilen einer Datenbanktabelle nennt man **Datensätze**.
===== Beispiel: Tabelle mit den Daten von Staaten =====
Die folgende Tabelle mit den Daten von Staaten hat das Schema
Staat(id: int; Name varchar(50); Bevölkerung: int; Fläche: int, Gründungsdatum date)
^id^Name^Bevölkerung^Fläche^Gründungsdatum^
|1|Afghanistan|44700000|652230|1919-08-19|
|2|Ägypten|119000000|1002450|1922-02-28|
|3|Albanien|2751000|28748|1912-11-28|
|4|Algerien|48000000|2381741|1962-07-05|
usw.
===== Aufgabe 1: Tabellenschemata =====
Schreibe Schemata(("Schemata" ist der Plural von "Schema")) für die folgenden Tabellen:
* a) Für die Benutzerverwaltung eines Computerraums wird eine Tabelle "Benutzer" benötigt, die für jede Nutzerin/jeden Nutzer folgendes speichert: Rufname, Familienname, Benutzername, Geburtsdatum sowie die Tatsache, ob ein Benutzer eine Lehrkraft ist.
* b) Für einen Internetshop wird eine Tabelle "Waren" benötigt, die für jede verkaufte Ware deren Bezeichner, Preis und Lagerbestand speichert.