Organisieren
Ohne Daten kein Schulalltag: Stundenpläne, Kurslisten und Zeugnisse entstehen aus gespeicherten Daten.
B01 · Name: ____________________ · Datum: __________
◉ Einstiegzu zweitPlenum
Heute Morgen bist du wahrscheinlich schon in mehreren Datenbanken aufgetaucht – so heißen dauerhaft gespeicherte, geordnete Sammlungen von Daten: beim Anmelden bei IServ, bei der Anwesenheitskontrolle, vielleicht beim Musikhören im Bus. Über jede und jeden von uns sind an vielen Stellen Daten gespeichert – in der Schule, in der Arztpraxis, im Verein, in Apps.
Leitfrage: Welche Daten werden über uns gesammelt – und wie verwaltet man so viele Daten, ohne dass ein Durcheinander entsteht?
Dein Ziel heuteIch kann erklären, warum Daten gesammelt werden und wann man dafür ein Datenbanksystem braucht. Ich ordne Daten in einer Tabelle, finde ihren Primärschlüssel und stelle meine erste Abfrage in SQL.Neue Fachwörter heute: Datenbank · Datenbankmanagementsystem (DBMS) · Datenbanksystem · Relationale Datenbank · SQL · Tabelle (Relation) · Datensatz · Attribut · Attributwert · Datentyp · Primärschlüssel · NULL · Abfrage · Projektion · Big Data · Amtlicher Gemeindeschlüssel (ags) · Ergebnistabelle
Schreibt nur die Art der Angabe auf, zum Beispiel „Adresse“ oder „Geburtsdatum“ – keine echten Adressen, Nummern oder Noten.
Das hältst du fest: je drei Beispiele aus der Schule und von außerhalb und einen Zweck.
B01 · Name: ____________________ · Datum: __________
▣ Nachholenalleinzusätzlich
Du warst bei Block 01 nicht da oder arbeitest ihn allein zu Hause durch. Diese Seite sagt dir, in welcher Reihenfolge du vorgehst und woran du merkst, dass du fertig bist. Alles, was im Unterricht gemeinsam besprochen wird, steht auch im Heft: Lies es und beantworte die Fragen schriftlich. Was im Unterricht zu zweit geschieht, machst du allein.
Einen Computer, ein Tablet oder ein Handy mit aktuellem Browser (Edge, Chrome, Firefox oder Safari). Für das Folienheft brauchst du kein Konto; zum Abgeben nutzt du dein IServ-Konto.
Erst selbst versuchen. Dann: Wissen nachschlagen → Glossar → Hilfe 1 → Hilfe 2 → nach deinem Prüfversuch die Lösung vergleichen. Eine Lösung abschreiben ist erlaubt, wenn du danach die nächste Aufgabe allein schaffst.
Schreibe im Exit in das Feld „Hier brauche ich noch Hilfe“, an welcher Stelle du hängst. Die Lehrkraft bzw. die Fachansprechperson liest das; du arbeitest im nächsten Block weiter. Block 02 beginnt mit einem Kurzcheck und einer Förderansicht genau zu diesen Inhalten.
B01 · Name: ____________________ · Datum: __________
▣ WissenPlenum
Ohne Daten kein Schulalltag: Stundenpläne, Kurslisten und Zeugnisse entstehen aus gespeicherten Daten.
Manche Daten muss eine Stelle speichern, weil ein Gesetz es verlangt – zum Beispiel muss die Schule wissen, wer bei ihr angemeldet ist.
Wie viele Schulplätze braucht eine Stadt in zehn Jahren? Amtliche Statistiken wie das Gemeindeverzeichnis helfen bei solchen Entscheidungen.
Onlineshops und Streamingdienste werten aus, was du kaufst und hörst – für Empfehlungen und für Werbung.
Daten werden gesammelt, weil man mit ihnen Fragen beantworten und Entscheidungen treffen kann. Die Schule beantwortet Fragen wie „Wer hat heute gefehlt?“, eine Stadt „Wo brauchen wir eine neue Kita?“, ein Streamingdienst „Welcher Song könnte dir gefallen?“.
Ob man so viel von sich preisgeben möchte, ist eine wichtige Frage. Darum geht es in Block 15 wieder: Dort untersuchst du, wie viel verknüpfte Daten über eine Person verraten.
In dieser Reihe nimmst du zuerst die andere Seite ein: Wer Daten sammelt, muss sie verwalten. Sie müssen geordnet, aktuell, richtig und geschützt sein, und man muss Fragen an sie stellen können. Das ist schwieriger, als es klingt – besonders, wenn es sehr viele Daten sind und viele Menschen gleichzeitig damit arbeiten.
Merksatz: Daten werden gesammelt, um zu organisieren, Pflichten zu erfüllen, zu planen und zu forschen oder Geld zu verdienen. Wer Daten sammelt, muss sie auch verwalten.
Ein Datenbestand, mehrere Zwecke: Die Fehlzeiten einer Schülerin braucht die Klassenleitung im Alltag (organisieren) und für das Zeugnis (Pflicht). Zusammengezählt und ohne Namen können sie der Schulleitung zeigen, in welchen Jahrgangsstufen Lernende besonders häufig fehlen (planen).
Das hältst du fest: die vier Zwecke mit je einem Beispiel aus eurer Sammlung.
B01 · Name: ____________________ · Datum: __________
✎ Auftrag 1allein
Datenanfrage · Gründungsteam einer neuen Schule
„Bisher führen wir die Liste unserer ersten 120 Lernenden in einer Excel-Datei. Nächstes Jahr werden es 600, und alle Lehrkräfte sollen gleichzeitig Kurse, Fehlzeiten und Noten eintragen. Reicht die Datei dafür – oder brauchen wir etwas anderes?“
Wozu: Entscheidung, wie die Schule ihre Daten künftig verwaltet
Eine geordnete Datensammlung in einer Tabellenkalkulation wie Excel kann schon als einfache Datenbank dienen: Die Daten stehen geordnet in Zeilen und Spalten. Für viele gleichzeitige Zugriffe, unterschiedliche Berechtigungen und verbindliche Regeln ist ein Datenbanksystem besser geeignet – ein Programm, das Daten zentral speichert und für viele Nutzende gleichzeitig verwaltet. Die Frage ist, wo die Grenze liegt.
Legende: Tabellenkalkulation = Programm wie Excel oder LibreOffice Calc; die Daten liegen in einer Datei. Datenbanksystem = Programm, das Daten zentral speichert und für viele Nutzende gleichzeitig verwaltet.
Das hältst du fest: sechs Entscheidungen und deine Antwort an das Gründungsteam.
Werkzeug: Auswahlliste mit Prüfknopf, Antwortfeld, Übersicht zum Aufklappen.
| Tabellenkalkulation (z. B. Excel) | Datenbanksystem | |
|---|---|---|
| Wo liegen die Daten? | in einer Datei – oft in mehreren Kopien mit verschiedenem Stand | zentral an einer Stelle, meist auf einem Server – einem Rechner, den viele über das Netz erreichen; alle arbeiten mit demselben Stand |
| Gleichzeitig arbeiten | bei gemeinsamen Online-Dateien möglich, aber Änderungen können sich gegenseitig überschreiben | Das Datenbanksystem koordiniert gleichzeitige Änderungen. Mit passenden Regeln wird der letzte Konzertplatz nur einmal verkauft. |
| Wer darf was? | Wer die Datei öffnen kann, sieht meist alles. | Viele Datenbanksysteme vergeben Rechte je Person: Eine Lehrkraft sieht die Noten ihrer Kurse, aber nicht die Adressen aller Lernenden. |
| Regeln | Eingaberegeln sind möglich, aber freiwillig; ohne sie kann man in fast jede Zelle alles schreiben. | Regeln sind fest eingebaut: welche Art von Wert in eine Spalte darf (z. B. nur ganze Zahlen), welche Angaben Pflicht sind, dass keine Kennnummer doppelt vorkommt |
| Menge | bei Excel höchstens gut eine Million Zeilen pro Tabellenblatt | auch Milliarden Zeilen |
| Gut geeignet für | eine Person oder wenige, überschaubare Daten, schnelle Rechnungen und Diagramme | viele Nutzende, große Datenmengen, Daten, die verlässlich stimmen müssen; Apps und Websites greifen darauf zu |
Frage dich bei jeder Situation: Wie viele Menschen arbeiten gleichzeitig damit? Dürfen alle alles sehen?
Eine Person und überschaubare Daten: Tabellenkalkulation. Viele gleichzeitig, verschiedene Rechte, Daten müssen verlässlich stimmen: Datenbanksystem.
gleichzeitig – Rechte – zentral – doppelt – Kopie – Regeln
Geburtstagsliste, Vokabelliste, Kassenliste: Tabellenkalkulation reicht. Schülerverwaltung, Kartenverkauf, Streaming: Datenbanksystem. Probleme mit einer Datei: Zwei Personen ändern gleichzeitig und überschreiben sich; es entstehen Kopien mit verschiedenem Stand; wer die Datei hat, sieht alle Noten und Adressen; Tippfehler und doppelte Einträge rutschen leicht durch.
B01 · Name: ____________________ · Datum: __________
▣ WissenPlenum
Eine dauerhaft gespeicherte, geordnete Sammlung von Daten zu einem Thema – zum Beispiel alle Kurse und Lernenden einer Schule.
Ein Programm, das die Daten verwaltet, gleichzeitige Zugriffe koordiniert, Regeln prüft und Fragen beantwortet. Viele DBMS bieten außerdem eine Rechteverwaltung. Im SQL-Labor arbeitet das DBMS SQLite – es läuft nur in deinem Browser, dem Programm, mit dem du Webseiten öffnest. Datenbank und DBMS zusammen heißen Datenbanksystem.
Die Daten stehen in Tabellen (Relationen). Mehrere Tabellen können über Schlüssel – eindeutige Kennzeichen wie ein Kurskürzel – miteinander verbunden werden.
Die Sprache, mit der man einer relationalen Datenbank Fragen stellt (Structured Query Language). Eine solche Frage heißt Abfrage. SQL ist eine Datenbanksprache: Man beschreibt, was im Ergebnis stehen soll – nicht Schritt für Schritt, wie gesucht wird.
| nr | vorname | kurs |
|---|---|---|
| 1 | Ali | BIO |
| 2 | Mia | INF |
| 3 | Ben | INF |
| 4 | Lea | SPA |
| 5 | Tom | INF |
| kuerzel | fach | raum |
|---|---|---|
| BIO | Biologie | R 104 |
| INF | Informatik | R 204 |
| SPA | Spanisch | R 015 |
Hervorgehoben: der Schlüssel jeder Tabelle – eine Angabe, die jede Zeile eindeutig kennzeichnet. Das Kürzel in der Spalte kurs verweist auf genau eine Zeile der Tabelle kurs.
Ein Datenbanksystem besteht aus zwei Teilen: der Datenbank – den gespeicherten Daten – und dem DBMS, dem Programm, das sie verwaltet. Bei großen Systemen läuft das DBMS meist zentral auf einem Server; Apps, Websites und Programme wie das Schulverwaltungsprogramm schicken ihre Fragen dorthin. Wer sie benutzt, sieht davon nur die Oberfläche.
Die meisten Datenbanken sind relational: Die Daten stehen in Tabellen. Meist bekommt jede Art von Gegenstand eine eigene Tabelle – eine für Lernende, eine für Kurse –, und die Tabellen werden über Schlüssel verbunden. Im Beispiel steht bei Mia nur das Kürzel INF; Fach und Raum stehen ein einziges Mal in der Tabelle kurs.
Das hat einen Vorteil: Zieht der Informatikkurs in einen anderen Raum, ändert man genau einen Eintrag. Stünde der Raum bei jeder Person, müsste man ihn dreimal ändern – und vergisst man eine Stelle, widersprechen sich die Daten.
Achtung, Wortfalle: „Relation“ ist der Fachbegriff für eine Tabelle, nicht für die Verbindung zwischen zwei Tabellen.
SQL ist eine deklarative Datenbanksprache: Du beschreibst das gewünschte Ergebnis, und das DBMS bestimmt selbst, wie es die Daten ermittelt. In Python dagegen schreibst du meist Schritt für Schritt auf, was der Computer tun soll.
Unser Gemeindeverzeichnis beginnt mit einer einzigen Tabelle. Auch das ist schon eine relationale Datenbank. Ab Block 05 kommen weitere Tabellen dazu, die über Schlüssel verbunden sind. Das DBMS SQLite verwaltet die Tabellen; mit SQL stellst du ihm Fragen.
Merksatz: Eine relationale Datenbank speichert Daten in Tabellen; mehrere Tabellen können über Schlüssel verbunden werden. Ein DBMS verwaltet sie, mit SQL fragt man sie ab. Datenbank + DBMS = Datenbanksystem.
Das hältst du fest: die Begriffe Datenbank, DBMS, Datenbanksystem, relationale Datenbank, SQL und den Vorteil der Verbindung über Schlüssel.
B01 · Name: ____________________ · Datum: __________
▣ WissenPlenum
Beantwortet Fragen mit Daten, zum Beispiel: „Welche Produkte verkaufen sich in welcher Region?“ – so wie die Datenanfragen in dieser Reihe. Ein wichtiges Werkzeug ist SQL.
Untersucht Daten mit Statistik und Informatik und entwickelt daraus zum Beispiel Vorhersagen – für Empfehlungen oder Unwetterwarnungen, oft mit sehr großen Datenmengen (Big Data).
Betreibt Datenbanksysteme: richtet sie ein, vergibt Rechte, sichert die Daten und stellt sie nach Fehlern wieder her.
Zum Beispiel Fachinformatikerin oder Fachinformatiker für Daten- und Prozessanalyse. Viele andere Berufe nutzen SQL nebenbei: Logistik, Marketing, Verwaltung, Forschung, Datenjournalismus.
Big Data heißt: Datenmengen, die so groß sind, so schnell entstehen oder so verschieden aufgebaut sind, dass man besondere Verfahren braucht, um sie effizient zu verarbeiten.
Programme mit künstlicher Intelligenz (KI), etwa Chatbots, können heute aus einer Frage in Alltagssprache eine SQL-Abfrage erzeugen. Dadurch können Routineaufgaben entfallen; wie sich ganze Berufe verändern, ist offen. Sicher ist: Ergebnisse und die Nutzung der Daten müssen geprüft werden – von Menschen, die beurteilen können, ob eine Abfrage wirklich die gestellte Frage beantwortet und ob man die Daten so verwenden darf.
So arbeitest du in dieser Reihe – mit Datenanfragen: Jemand braucht eine Information. Eine Band plant eine Tour, ein Lieferdienst sein Liefergebiet, eine Zeitung prüft eine Behauptung. Du klärst die Frage mit dem Computer als Werkzeug: Du stellst einer Datenbank die passende Frage, prüfst das Ergebnis und gibst eine Antwort, die stimmt.
Merksatz: Mit Daten arbeiten viele Berufe: Sie werten Daten aus (Datenanalyse, Data Science) oder betreiben und sichern Datenbanksysteme (Datenbankadministration). SQL ist ihr gemeinsames Werkzeug.
Das hältst du fest: einen Beruf, der dich interessiert, und was man dort mit Daten tut.
B01 · Name: ____________________ · Datum: __________
✎ Auftrag 2allein oder zu zweit
Datenanfrage · Frau Demir, Theater-AG
„Für die Theater-AG sind sechs Anmeldungen als Nachrichten gekommen – jede anders geschrieben. Ich brauche eine ordentliche Liste: Wer ist in welcher Klasse, und wer möchte in welchen Bereich?“
Wozu: Gruppen für Schauspiel, Technik und Kostüme einteilen
Daten kommen selten ordentlich an. Bevor man mit ihnen arbeiten kann, muss man sie ordnen: Gleiche Angaben kommen in dieselbe Spalte, jede Anmeldung bekommt eine eigene Zeile.
Legende: Sechs ausgedachte Nachrichten. Bereiche der AG: Schauspiel, Technik, Kostüme.
Das hältst du fest: deine Tabelle und deine Antwort zu den zwei Leons.
Werkzeug: Antwortfelder, danach Vergleich mit einer Musterlösung.
Beginne mit den Angaben, die in fast jeder Nachricht stehen: Vorname, Klasse, Bereich.
Der Nachname fehlt manchmal. Die Handynummer der Mutter braucht man für die Gruppeneinteilung nicht – was man nicht braucht, speichert man nicht.
Spalte – Zeile – fehlt – gleicher Name – Nummer – eindeutig
Spalten: vorname | nachname | klasse | bereich | hinweis. Erste Zeile: Leon | – | 7b | Schauspiel | –. Zu den Leons: Man kann es nicht sicher sagen. Deshalb bekommt jede Person eine Nummer, die nur einmal vergeben wird.
B01 · Name: ____________________ · Datum: __________
▣ WissenPlenum
Eine Sammlung gleich aufgebauter Einträge – zum Beispiel eure AG-Liste. Unsere große Tabelle heißt gemeinde.
Eine Zeile: alle Angaben zu genau einem Gegenstand – einer Person in der Teilnehmerliste, einer Gemeinde.
Eine Spalte mit Namen, zum Beispiel klasse oder einwohner.
Ein einzelner Eintrag: der Wert eines Attributs in einem Datensatz, zum Beispiel „8a“ bei Sara.
Legt fest, welche Art Wert ein Attribut hat: INTEGER (ganze Zahl), REAL (Kommazahl), TEXT (Text, z. B. ein Name).
Ein Attribut (oder eine Kombination von Attributen), dessen Wert jeden Datensatz eindeutig kennzeichnet und nie fehlt – in der AG-Liste die Nummer nr.
| nr | vorname | nachname | klasse | bereich |
|---|---|---|---|---|
| 1 | Leon | – | 7b | Schauspiel |
| 2 | Sara | Yilmaz | 8a | Technik |
| 3 | Ben | Krüger | 9c | Schauspiel |
Jede Zeile ist ein Datensatz, jede Spalte ein Attribut. Nach dem Nachfragen hat jede Person eine Nummer nr. Sie ist der Primärschlüssel: Sie wird nur einmal vergeben, auch wenn zwei Personen gleich heißen.
| ags | name | bundesland | einwohner | flaeche_km2 |
|---|---|---|---|---|
| 05911000 | Bochum | Nordrhein-Westfalen | 358676 | 145,66 |
| 05913000 | Dortmund | Nordrhein-Westfalen | 603462 | 280,71 |
| 05914000 | Hagen | Nordrhein-Westfalen | 190384 | 160,45 |
Eure AG-Liste ist schon eine Tabelle. In der bereinigten Teilnehmerliste ist jede Person ein Datensatz, jede Spalte ein Attribut. Weil derselbe Vorname mehrfach vorkommen kann, braucht die Liste eine Nummer als Primärschlüssel.
Genauso ordnet das Statistische Bundesamt die Gemeinden in Deutschland. Jedes Jahr veröffentlicht es ein Verzeichnis aller Gemeinden mit Name, Einwohnerzahl, Fläche, Postleitzahl und mehr. Einwohnerzahlen entscheiden zum Beispiel mit darüber, wie viel Geld eine Gemeinde vom Land bekommt. In unserer Datenbank stehen daraus 10.957 Datensätze: 10.752 Gemeinden und 205 gemeindefreie Gebiete wie unbewohnte Forsten. Mit dieser Tabelle arbeitest du bis Block 04.
Jede Tabelle hat feste Attribute – bei uns zum Beispiel name, einwohner und flaeche_km2. Jeder Datensatz hat für jedes Attribut genau einen Attributwert. Fehlt ein Wert, steht dort NULL (kein Wert bekannt) – so wie der Strich in eurer AG-Liste.
Die Tabelle heißt gemeinde, enthält aber auch gemeindefreie Gebiete. Welche Art ein Datensatz ist, steht im Attribut gebietsart. Wer später Gemeinden zählt, muss das beachten – sonst ist die Rechnung richtig, die Aussage aber falsch.
Für jedes Attribut ist ein Datentyp festgelegt. In einwohner stehen ganze Zahlen (INTEGER), in flaeche_km2 Kommazahlen (REAL), in name Texte (TEXT). Die Datenbank kann deshalb mit Einwohnerzahlen rechnen und sie der Größe nach ordnen.
Damit man einen Datensatz sicher wiederfindet, braucht jede Tabelle einen Primärschlüssel. Welches Attribut das im Gemeindeverzeichnis ist, findest du in Auftrag 3 selbst heraus.
Merksatz: Datensatz = Zeile, Attribut = Spalte, Attributwert = Eintrag. Der Primärschlüssel macht jeden Datensatz eindeutig.
Das hältst du fest: die sechs Begriffe, je mit einem Beispiel aus der AG-Liste oder der Tabelle gemeinde.
B01 · Name: ____________________ · Datum: __________
✎ Auftrag 3Plenumallein
Datenanfrage · Schülerzeitung
„In unserer nächsten Ausgabe erklären wir, wie eine Datenbanktabelle aufgebaut ist. Woran erkennt die Datenbank zum Beispiel Dortmund eindeutig – am Namen? Und stimmen unsere Fachbegriffe?“
Du siehst noch einmal den Auszug mit Dortmund. Zuerst untersuchst du, welches Attribut als Primärschlüssel taugt. Dann ordnest du die Fachbegriffe zu.
Legende: Tabelle gemeinde; im Auszug die Attribute ags, name, bundesland, einwohner, flaeche_km2. Außerdem gibt es plz_verwaltungssitz.
Das hältst du fest: deine Schlüsselentscheidung mit Begründung und sechs richtige Zuordnungen.
Werkzeug: Auswahllisten mit Prüfknopf, Antwortfeld, Auflösung zum Aufklappen.
| ags | name | bundesland | einwohner | flaeche_km2 |
|---|---|---|---|---|
| 05911000 | Bochum | Nordrhein-Westfalen | 358676 | 145,66 |
| 05913000 | Dortmund | Nordrhein-Westfalen | 603462 | 280,71 |
| 05914000 | Hagen | Nordrhein-Westfalen | 190384 | 160,45 |
| ags | name | kreis | bundesland | einwohner |
|---|---|---|---|---|
| 01051075 | Neuenkirchen | Dithmarschen | Schleswig-Holstein | 937 |
| 03251028 | Neuenkirchen | Diepholz | Niedersachsen | 1196 |
| 03352038 | Neuenkirchen | Cuxhaven | Niedersachsen | 1326 |
| 03358017 | Neuenkirchen | Heidekreis | Niedersachsen | 5365 |
| 03359033 | Neuenkirchen | Stade | Niedersachsen | 873 |
| 03459027 | Neuenkirchen | Osnabrück | Niedersachsen | 4640 |
| 05566060 | Neuenkirchen | Steinfurt | Nordrhein-Westfalen | 13915 |
| 13071108 | Neuenkirchen | Mecklenburgische Seenplatte | Mecklenburg-Vorpommern | 1116 |
| 13073059 | Neuenkirchen | Vorpommern-Rügen | Mecklenburg-Vorpommern | 272 |
| 13075101 | Neuenkirchen | Vorpommern-Greifswald | Mecklenburg-Vorpommern | 216 |
| 13075102 | Neuenkirchen | Vorpommern-Greifswald | Mecklenburg-Vorpommern | 2340 |
| ags | name | gebietsart | plz_verwaltungssitz |
|---|---|---|---|
| 07232003 | Altscheid | Gemeinde | 54636 |
| 07232009 | Baustert | Gemeinde | 54636 |
| 07232014 | Bickendorf | Gemeinde | 54636 |
| 07232015 | Biersdorf am See | Gemeinde | 54636 |
| 07232020 | Brecht | Gemeinde | 54636 |
| 03151501 | Giebel | gemeindefreies Gebiet | NULL |
| 03153504 | Harz (Landkreis Goslar) | gemeindefreies Gebiet | NULL |
name: 11 Datensätze heißen „Neuenkirchen“, zwei davon liegen sogar im selben Kreis (Vorpommern-Greifswald). Insgesamt kommen 410 Namen mehrfach vor.
plz_verwaltungssitz: Bei 199 Datensätzen fehlt die Postleitzahl, und viele kleine Gemeinden teilen sich eine: Unter 54636 sind 39 Datensätze eingetragen.
einwohner: Viele Gemeinden haben gleich viele Einwohner, und die Zahl ändert sich jedes Jahr. Dass sich die Neuenkirchen-Zeilen heute zufällig in der Einwohnerzahl unterscheiden, hilft deshalb nicht: Ein Schlüssel muss eine fest zugeteilte Kennung sein, die immer eindeutig bleibt.
ags steht für amtlicher Gemeindeschlüssel. Die Statistikämter teilen jeder Gemeinde (und jedem gemeindefreien Gebiet) genau einen zu. Er identifiziert jeden Eintrag eindeutig, auch wenn Namen mehrfach vorkommen oder Einwohnerzahlen sich ändern. Die acht Ziffern verraten außerdem, wo die Gemeinde liegt – Dortmund hat 05913000:
| 05 | 9 | 13 | 000 |
|---|---|---|---|
| Bundesland Nordrhein-Westfalen | Regierungsbezirk Arnsberg | Kreis: hier die kreisfreie Stadt Dortmund | Gemeinde (bei kreisfreien Städten 000) |
Zweites Beispiel: Laer hat 05566036 – 05 Nordrhein-Westfalen, 5 Regierungsbezirk Münster, 66 Kreis Steinfurt, 036 Gemeinde Laer. Der ags besteht aus Ziffern, wird aber als TEXT gespeichert: Er beginnt oft mit 0 – wie bei Dortmund –, und mit ihm wird nie gerechnet.
Frage bei jedem Attribut: Kann derselbe Wert bei zwei verschiedenen Gemeinden vorkommen? Kann er fehlen? Schau dafür in die zwei Auszüge.
Im ersten Auszug wiederholt sich der Name, im zweiten die Postleitzahl – und zweimal fehlt sie.
eindeutig – kommt mehrfach vor – fehlt – ändert sich – fest zugeteilt – amtlicher Gemeindeschlüssel
name: ungeeignet (mehrfach). plz_verwaltungssitz: ungeeignet (mehrfach, fehlt manchmal). einwohner: ungeeignet (mehrfach, ändert sich). ags: geeignet (fest zugeteilt, eindeutig, nie leer). Zuordnung: Zeile → Datensatz, Spaltenüberschrift → Attribut, ein Kästchen → Attributwert, Art der Werte → Datentyp, besondere Rolle von ags → Primärschlüssel, alles zusammen → Tabelle.
B01 · Name: ____________________ · Datum: __________
✎ Auftrag 4allein
Datenanfrage · Datenredaktion der Lokalzeitung
„Wir haben das Gemeindeverzeichnis als Datenbank bekommen. Wie viele Einträge hat es, und welche Angaben stehen darin?“
SQL ist die Sprache, mit der man Datenbanken Fragen stellt. Eine solche Frage heißt Abfrage. Das Labor unten schickt deine Abfrage an die Datenbank und zeigt die Antwort als Tabelle – die Ergebnistabelle. Die vorbereitete Abfrage liest du so: SELECT * – zeige alle Attribute, FROM gemeinde – aus der Tabelle gemeinde.
Legende: Tabelle gemeinde mit 10.957 Datensätzen. Im Kasten „Tabellen“ stehen alle Attribute und Datentypen.
Das hältst du fest: Vorhersage, Ergebnis und die Bedeutung von *.
Werkzeug: SQL-Labor: Kasten „Tabellen“, Eingabefeld, Ausführen, Ergebnistabelle (es werden höchstens 200 Datensätze angezeigt).
gemeindeags | TEXT | Primärschlüssel |
name | TEXT | Pflichtfeld (muss ausgefüllt sein) |
zusatz | TEXT | |
name_amtlich | TEXT | Pflichtfeld (muss ausgefüllt sein) |
bundesland | TEXT | Pflichtfeld (muss ausgefüllt sein) |
kreis | TEXT | Pflichtfeld (muss ausgefüllt sein) |
gebietsart | TEXT | Pflichtfeld (muss ausgefüllt sein) |
einwohner | INTEGER | |
maennlich | INTEGER | |
weiblich | INTEGER | |
flaeche_km2 | REAL | |
plz_verwaltungssitz | TEXT | |
laengengrad | REAL | |
breitengrad | REAL | |
reisegebiet | TEXT | |
verstaedterung | TEXT |
Schränkst du nichts ein, liefert eine Abfrage alle Datensätze der Tabelle.
Die Zahl der Datensätze steht in der Legende.
alle Attribute – alle Datensätze – Spalten – Zeilen
Vorhersage: so viele Datensätze, wie die Tabelle hat. * zeigt alle Attribute in der Reihenfolge der Tabelle.
B01 · Name: ____________________ · Datum: __________
▣ Wissenallein
Welche Attribute sollen im Ergebnis stehen? Mehrere werden durch Kommas getrennt.
Aus welcher Tabelle? Hier: gemeinde.
Die Attribute erscheinen im Ergebnis in der Reihenfolge, in der du sie schreibst.
SQL-Wörter wie SELECT und FROM groß, Tabellen- und Attributnamen klein und genau wie im Kasten „Tabellen“. Jeder Teil (SELECT …, FROM …) in eine eigene Zeile, am Ende ein Semikolon (;).
So kannst du dir die Auswertung vorstellen: Erst wird die Tabelle geholt, dann werden die Spalten ausgewählt. (Wie die Datenbank intern arbeitet, kann davon abweichen.)
Eine Abfrage mit SELECT verändert die Daten nicht. Sie erzeugt eine neue Ergebnistabelle.
SELECT name, einwohner FROM gemeinde; liefert genauso viele Datensätze wie die Tabelle, aber nur zwei Attribute. Das Auswählen von Spalten heißt in der Fachsprache Projektion.
Vorsicht beim Komma: SELECT name einwohner ohne Komma ist kein Fehler für die Datenbank. Sie zeigt dann nur das Attribut name – und schreibt „einwohner“ als Überschrift darüber.
Merksatz: SELECT wählt die Spalten, FROM nennt die Tabelle. Kommas trennen die Attribute.
Handgerechnetes Mini-Beispiel mit drei Datensätzen:
| name | bundesland | einwohner |
|---|---|---|
| A-Stadt | Hessen | 5000 |
| B-Dorf | Bayern | 800 |
| C-Hausen | Bayern | 1200 |
SELECT einwohner, name FROM … ergibt drei Datensätze mit zwei Spalten: 5000 | A-Stadt, 800 | B-Dorf, 1200 | C-Hausen.
Das hältst du fest: den Aufbau SELECT … FROM … ; und die Bedeutung des Kommas.
B01 · Name: ____________________ · Datum: __________
✎ Auftrag 5allein
Datenanfrage · Schülervertretung
„Wir planen ein Quiz „Wie groß ist deine Gemeinde?“. Wir brauchen für jeden Eintrag nur den Namen und die Einwohnerzahl. Später soll noch die Fläche dazu.“
Wozu: Quizkarten mit Name, Einwohnerzahl und Fläche
Bevor du die Liste schreibst, untersuchst du, was eine Abfrage mit zwei Attributen liefert.
Legende: Tabelle gemeinde; Attribute name, einwohner, flaeche_km2.
Das hältst du fest: deine Beobachtung zum Vertauschen und eine geprüfte Abfrage mit drei Attributen.
Werkzeug: SQL-Labor mit Vorhersagefeld; zweites Labor mit Prüfknopf.
Zähle die Attribute nach SELECT – so viele Spalten hat das Ergebnis.
Die Reihenfolge der Attribute nach SELECT bestimmt die Reihenfolge der Spalten.
Spaltenreihenfolge – gleiche Datensätze – Komma – flaeche_km2
Vorhersage: 2 Spalten, so viele Datensätze wie die Tabelle. Vertauscht: andere Spaltenreihenfolge, gleiche Daten. Erweitert: SELECT name, einwohner, flaeche_km2 FROM gemeinde;
B01 · Name: ____________________ · Datum: __________
✎ Übenalleinzusätzlich
Zum Üben bis Block 02 – besonders, wenn du dich im Exit unsicher eingestuft hast. Drei Datenanfragen sind eingegangen. Jede braucht andere Attribute – genau die und keine weiteren.
Legende: Tabelle gemeinde. Die genauen Attributnamen stehen im Kasten „Tabellen“.
Das hältst du fest: drei geprüfte Abfragen.
Werkzeug: SQL-Labor mit Prüfknopf. Geprüft wird das ganze Ergebnis; die Spaltenreihenfolge ist frei.
gemeindeags | TEXT | Primärschlüssel |
name | TEXT | Pflichtfeld (muss ausgefüllt sein) |
zusatz | TEXT | |
name_amtlich | TEXT | Pflichtfeld (muss ausgefüllt sein) |
bundesland | TEXT | Pflichtfeld (muss ausgefüllt sein) |
kreis | TEXT | Pflichtfeld (muss ausgefüllt sein) |
gebietsart | TEXT | Pflichtfeld (muss ausgefüllt sein) |
einwohner | INTEGER | |
maennlich | INTEGER | |
weiblich | INTEGER | |
flaeche_km2 | REAL | |
plz_verwaltungssitz | TEXT | |
laengengrad | REAL | |
breitengrad | REAL | |
reisegebiet | TEXT | |
verstaedterung | TEXT |
Datenanfrage · Lena, Klasse 8
„Zu meiner Deutschlandkarte im Erdkunde-Referat gehört ein Ortsverzeichnis. Kannst du mir zu jedem Eintrag den Namen und das Bundesland geben?“
Datenanfrage · Fahrradkurier (Bestellformular)
„In unser Bestellformular kommt eine Auswahlliste. Wir brauchen zu jedem Eintrag des Verzeichnisses – auch zu gemeindefreien Gebieten – den Gemeindeschlüssel, den Namen und die Postleitzahl des Verwaltungssitzes.“
Datenanfrage · Lokalzeitung, Ressort Statistik
„Wir vergleichen Stadt und Land. Bitte schick uns den amtlichen Namen, den Kreis und den Grad der Verstädterung (dicht besiedelt, mittlere Besiedlungsdichte oder gering besiedelt).“
Beginne mit SELECT, schreibe die Attribute mit Kommas, dann FROM gemeinde;
b) Die Postleitzahl heißt in der Tabelle plz_verwaltungssitz. c) Der amtliche Name heißt name_amtlich.
SELECT – Komma – FROM – gemeinde – name_amtlich – plz_verwaltungssitz – verstaedterung
a) SELECT name, bundesland FROM gemeinde; b) SELECT ags, name, plz_verwaltungssitz FROM gemeinde; c) SELECT name_amtlich, kreis, verstaedterung FROM gemeinde;
B01 · Name: ____________________ · Datum: __________
✎ Übenalleinzusätzlich
Datenanfrage · Praktikant im Rathaus
„Ich soll Name und Einwohnerzahl aller Einträge des Verzeichnisses herausziehen, einschließlich der gemeindefreien Gebiete. Ich habe es dreimal versucht – und keiner der Versuche klappt richtig. Kannst du sie reparieren?“
Drei Versuche sind schiefgegangen. Nicht jeder Fehler wird gemeldet.
Legende: Ziel jeder Abfrage: Attribute name und einwohner aus der Tabelle gemeinde.
Das hältst du fest: drei reparierte Abfragen und deine Erklärung.
Werkzeug: SQL-Labor mit Prüfknopf.
Versuch 2 und 3 melden einen Fehler. Versuch 1 nicht – schau dir die Spaltenüberschrift an.
Zähle die Spalten im Ergebnis von Versuch 1.
fehlendes Komma – Tippfehler im Tabellennamen – überflüssiges Komma – Überschrift
Versuch 1: Komma zwischen name und einwohner fehlt. Versuch 2: Tabelle heißt gemeinde. Versuch 3: Komma vor FROM entfernen.
B01 · Name: ____________________ · Datum: __________
◇ Knobelnzusätzlich
Legende: Attribute name, zusatz, name_amtlich, plz_verwaltungssitz.
| name | bundesland | plz_verwaltungssitz |
|---|---|---|
| Dresden | Sachsen | 01067 |
Das hältst du fest: drei kurze Erklärungen.
B01 · Name: ____________________ · Datum: __________
▮ Exitallein
Zeige, was du heute kannst – ohne Hilfen und ohne Nachschlagen.
Das hältst du fest: eine geprüfte Abfrage, zwei Erklärungen, deine Einstufung.
Zum Üben bis Block 02: Üben A · Drei Datenanfragen und Üben B · Fehler finden – besonders, wenn du dich unsicher eingestuft hast.
Brücke: Nächstes Mal zeigen wir nicht mehr alle 10.957 Datensätze, sondern nur die, die wir brauchen – mit WHERE.
B01 · Name: ____________________ · Datum: __________
▣ Nachschlagenzusätzlich
Alle Fachbegriffe der Reihe bis zu diesem Block. neu = in diesem Block eingeführt.
B01 · Name: ____________________ · Datum: __________
▰ Sichern
Sichere deinen Stand. Die gesicherte Datei (Endung .json) öffnet deinen bearbeitbaren Stand wieder – auch an einem anderen PC.
Dateiname: B01_Nachname_Vorname_Arbeitsstand.json