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:
| id | name | category |
|---|---|---|
| 1 | Cordless drill | tools |
| 2 | Folding table | events |
| 3 | Projector | electronics |
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
| Spalte | Was hier hingehört |
|---|---|
id | eine ganzzahlige ID für den Gegenstand |
name | Text mit dem Namen des Gegenstands |
category | Text, 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:
| Tabelle | Eine Zeile beschreibt |
|---|---|
members | eine Person, die Ausrüstung ausleihen kann |
items | einen Gegenstand, der ausgeliehen werden kann |
loans | einen 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.