====== 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.