0%

Wenn eine Datei nicht mehr reicht

Tabellen, Zeilen, Spalten und ein Schema

SQLite gibt dem Verleihprojekt eine echte Datenbank-Engine. Wir müssen noch entscheiden, wie die Fakten innerhalb der Datenbank angeordnet werden. Rileys E-Mail-Adresse wurde kopiert, weil jede CSV-Zeile gleichzeitig ein Mitglied, einen Gegenstand und einen Ausleihvorgang beschreiben wollte. Eine relationale Datenbank kann jeder Art von Sache eine eigene Tabelle geben. Deshalb beginnen wir mit den Gegenständen, die Menschen ausleihen können.

Hier sind die aktuellen Zeilen der Tabelle items:

idnamecategory
1Cordless drilltools
2Folding tableevents
3Projectorelectronics

Finde jetzt den Projektor in dieser Tabelle und lies seine Zeile von links nach rechts. Die drei Werte gehören zu einem Gegenstand: Seine Nummer ist 3, sein Name ist Projector, und seine Kategorie ist electronics.

Eine Zeile enthält einen Datensatz. Eine Spalte gibt derselben Art von Wert in jeder Zeile einen Namen. Wenn du die Spalte category von oben nach unten liest, erhältst du tools, events und electronics.

Das Schema der Tabelle zeigen

Die Zeilen oben sind die aktuell gespeicherten Daten. Die Tabelle hat außerdem einen Aufbau, der festlegt, was jede Zeile enthalten kann:

Schema für items

SpalteWas hier hingehört
ideine ganzzahlige ID für den Gegenstand
nameText mit dem Namen des Gegenstands
categoryText, der die Gruppe des Gegenstands benennt

Dieser Aufbau ist das Schema der Tabelle. Es gibt der Tabelle ihren Namen und jeder Spalte einen Namen und einen Zweck.

Angenommen, Projector wird in Portable projector umbenannt. Nur ein Wert in den aktuellen Zeilen ändert sich. Das Schema hat weiterhin dieselben drei Spalten.

Angenommen, der Katalog soll jetzt erfassen, ob jeder Gegenstand in gutem Zustand ist. Eine Spalte condition hinzuzufügen würde das Schema ändern, weil jede Gegenstandszeile einen neuen benannten Platz für diese Information erhielte.

Welche Aktion verändert das Schema der Tabelle items?

Unterschiedliche Fakten, unterschiedliche Tabellen

Die fertige Verleihdatenbank gibt jeder Art von Sache eine eigene Tabelle:

TabelleEine Zeile beschreibt
memberseine Person, die Ausrüstung ausleihen kann
itemseinen Gegenstand, der ausgeliehen werden kann
loanseinen einzelnen Vorgang, bei dem ein Mitglied einen Gegenstand ausleiht

Wir verbinden diese Tabellen später. Bleibe vorerst bei items und stell dir vor, jemand fragt: „Was kann man ausleihen?“ Die Antwort braucht nur die Namen, nicht jeden Wert in jeder Zeile. In der nächsten Lektion bittest du SQLite, nur die Spalte name zurückzugeben.