Informatik - Arbeiten mit Datenbanken
Wir hatten letzte Stunde die Datei "einkauf" aus der Tabellenkalkulation in eine Datenbank umgewandelt. Diese Datei einkauf.odb
kannst du, falls du sie nicht mehr hast in Mebis herunterladen.
Große Datenmengen werden so gespeichert, dass gezielt ausgewählte Teile der Daten wiedergewonnen und je nach Fragestellung in geeigneter Zusammenstellung ausgegeben werden können. Dies erfolgt in Datenbanken. |
Nach welchen Kriterien erstellt man eine Datenbank?
Unsere Datenbank haben wir aus einer Tabellenkalkulationsdatei durch Konvertierung übernommen. Alle Einträge aus der Tabellenkalkulation wurden eins zu eins in die Datenbank geschrieben.
Festlegungen, welche Anforderungen und Arbeitsabläufe man an ein Datenbanksystem stellt, werden in einem sogenannten 'Pflichtenheft formuliert. Dazu ist eine objektorientierte Analyse der Datensammlung hilfreich.
Für unsere Datenbank einkauf sieht das Klassendiagramm wie folgt aus:
Vereinbarung: Klassennamen werden groß geschrieben, deshalb ist der Klassenname EINKAUF im Klassendiagramm groß gesschrieben.
Dagegen ist der Name der Tabelle einkauf klein geschrieben.
Für Objekte einer Klasse kann man wie auch schon in der Tabellenkalkulation Datentypen festlegen. Man unterscheidet:
Datentyp | Formatangabe | Wertebereich |
---|---|---|
VARCHAR | maximale Zeichenzahl für den Text | Zeichenfolge von variabler, aber begrenzter Länge z.B. VARCHAR(20) |
CHAR | Zeichenzahl für den Text | Zeichenfolge mit fester Länge |
INT | ganze Zahl | |
FLOAT | Kommazahl mit etwa 7 gültigen Ziffern | |
DOUBLE | Kommazahl mit etwa 15 gültigen Ziffern | |
DECIMAL | Ziffernzahl, Nachkommastellen | Kommazahl im Dezimalsystem mit genau festgelegter Stellenzahl |
DATE | Datumsangabe | |
TIME | Zeitangabe | |
DATETIME | kombinierte Datums- und Zeitangabe |
Vergleiche auch Buch S. 73-75!
Diese Datentypen werden den Objekten unserer Klasse zugeordnet. Dies macht man beim erstellen einer Tabelle, wenn man die Objekte einträgt und dabei den Datentyp zuweist.
Man notiert dies im Pflichtenheft als Tabellenschena.
Für unser Beispiel EINKAUF schaut dann das Tabellenschema für die Tabelle einkauf wie folgt aus:
einkauf(Kunde:varchar(50), Geschlecht:varchar(1), Sparte:varchar(25), Warenbezeichnung:varchar(50), Preis:decimal(8,2), Zahlungsart:varchar(10), Geschäft:varchar(25), Kaufdatum:date)
Im Tabellenschema kommt zuerst der Name der Tabelle, danach werden in runden Klammern die Objekte mit ihrem Dateityp aufgeführt. |
Man kann die Begriffe wie Klasse, Objekt, Attribut, ... eines objektorientierten Datenmodells auf das Datenbankschema übertragen.
objektorientiertes Datenmodell | Datenbankschema | |
---|---|---|
Klasse | Tabellendefinition | |
Objekt | Datensatz (Tabellenzeile) | |
Attribut (bei der Klasse) | Spalte in der Tabelle | |
Attribut (bei einem Objekt) | Feld | |
Attributwert | Feldinhalt | |
Menge aller Objekte einer Klasse | alle Datensätze einer Tabelle |
Damit hat man eine Verbindung der Begriffe aus objektorientierten Modellen (z.B. Robot Karol) zum Datenbankschema.
In der von mir in Mebis bereitgestellten Datei gibt es bereits eine Tabelle buch. Wenn du sie nicht löschen willst, dann benenne sie um.
Zum Erstellen einer neuen Tabelle klicke in der linken Spalte auf Tabelle und dann in der rechten Spalte "Tabelle in Entwurfsansicht erstellen". Es öffnet sich ein neues Fenster mit einer Tabelle. In diese Tabelle trägst du bitte die Begriffe, die du dir im Tabellenschema überlegst hast ein und wählst einen geeigneten Dateityp aus (Feldtyp anklicken und im drop-down-menue auswählen). Wähle als Eintrag in der ersten Zeile Buchnummer! Die Erklärung hierzu folgt in der Lösung.
Ein Primärschlüssel""" dient dazu einen Datensatz eindeutig zu identifizieren. Warum kann man nicht den Buchtitel verwenden. Es kann sein, dass man zwei Bücher mit gleichem Buchtitel oder ein Buch mit gleichem Titel mehrere Bände hat. Der Autor eignet sich auch nicht, da man eventuell mehrere Bücher desselben Autors hat. Ebenso fallen die anderen Begriffe heraus.
Deshalb solltest du als ersten Eintrag in der Tabelle die Buchnummer eintragen. Diese ist ein geeigneter Primärschlüssel, da die Bücher durchnummeriert werden und jedes Buch über seine Buchnummer eindeutig identifiziert werden kann.
In der Datenbank unserer Schulbibliothek hat auch jedes Buch eine Signatur, die bei jedem Buch als ID angezeigt wird.
Merke:
Die Datensätze in einer Tabelle müssen eindeutig unterscheidbar sein. Da für die Datensätze kein Bezeichner zur Verfügung steht, können sie nur nach den Werten ihrer Felder unterschieden werden. Daher darf es niemals zwei Datensätze geben die in allen Feldwerten übereinstimmen! Deshalb muss für eine Tabelle ein Primärschlüssel vereinbart werden. |
Will man keine ID als eigene Spalte in der Tabelle haben, kann man auch mehrere Spalten, die dazu geeignet sind Datensätze zu unterscheiden als Schlüssel nehmen.
Nun ist die Seite ganz schön lang geworden. Damit es weiterhin übersichtlich bleibt kommt eine neue Seite Informatik - Modellierung von Datenbanken