Von der Tabelle zur Datenbank

Werbung
Von der Tabelle zur Datenbank
RLFB/ E-Session vom 09.07.2013
SchiLf vom 10.07.2013
(CC) Martin Römpp
Staatliche Realschule Bessenbach, 2013
Wikimedia/ RRZEicons
Ein roter Faden zum Einstieg in das
Erstellen relationaler Datenbanken
Von der Tabelle zur Datenbank
Dieses Skript soll einen roten Faden für die Einführung in das Thema „Datenbanken“ liefern und
zeigt anhand einer beispielhaften Aufgabenstellung, welche Schritte dabei unternommen
werden sollten.
Dabei orientiere ich mich inhaltlich am Lehrplan für das Fach Informationstechnologie für
Realschulen in Bayern, Modul D1: „Relationale Datenstrukturen“ [3].
Alle der aufgeführten Themen werden in diesem Skript nur oberflächlich angesprochen und
müssen für ein tiefer gehendes Verständnis z. B. in weiteren Unterrichtseinheiten entsprechend
vertieft und eingeübt werden.
Dieses Skript steht allen Interessierten frei zur Verfügung – entsprechend den
Lizenzbedingungen des CC BY 3.0 (Namensnennung;
http://creativecommons.org/licenses/by/3.0/).
Sollten Sie Fehler im Skript gefunden haben, oder Anregungen bzw. Ergänzungen vorschlagen
wollen, freue ich mich, wenn Sie mir eine Nachricht zukommen lassen: [email protected]
2
Von der Tabelle zur Datenbank
Inhaltsverzeichnis
Arbeiten mit der Tabelle ............................................................................................. 4
Neuen Kunden bzw. neues Produkt hinzufügen..........................................................................................4
Kunden bzw. Produkt löschen..........................................................................................................................5
Kunden-/ Produktdaten ändern......................................................................................................................5
Normalisierung........................................................................................................... 6
Modellierung der Datenstruktur.......................................................................................................................6
Planung der Tabellen.........................................................................................................................................7
Erstellen von Tabellen im DBMS ................................................................................. 7
Eingabe der Daten in die Tabelle...................................................................................................................10
Beziehung der Daten zueinander..................................................................................................................11
Kardinalität....................................................................................................................................................12
Kleine Abfragen: Überprüfung der gemachten Arbeiten ........................................... 14
Ausblick.................................................................................................................... 15
Literaturempfehlungen ............................................................................................. 16
Linkliste.................................................................................................................... 16
3
Von der Tabelle zur Datenbank
Ausgangspunkt der Arbeit sind Daten, die in Tabellenform zusammengestellt wurden.
Arbeitsmaterial:
Datei „IT D1 Normalisierung Vorlage.xlsx“ (Microsoft Excel)
(Die darin enthaltenen Adressdaten wurden von einem Dummydaten-Zufallsgenerator
(http://www.fakenamegenerator.com) erstellt. Es handelt sich also nicht um echte Adressen.)
Diese Datei kann – wie dieses Dokument auch – im Moodle-Kurs [1] heruntergeladen, oder
gemäß folgender Abbildung schnell nachgestellt werden.
Der Einfachheit halber haben wir die Tabelle auf 11 Einträge reduziert. In einem realistischen
Szenario müssen wir von mehreren hundert oder gar mehreren tausend Einträgen ausgehen.
Arbeiten mit der Tabelle
Nun sollen einige regelmäßig anfallende Arbeiten mit den Daten vorgenommen werden.
Neuen Kunden bzw. neues Produkt hinzufügen
Wir wollen in der Tabelle das neue Produkt „Ahorn“ (Artikelnr. 12345, Nettopreis 34,44 €)
aufnehmen.
Ebenso wie das Hinzufügen eines neuen Kunden (s. Abbildung) führt dies zu unvollständigen
Einträgen in der Tabelle.
Dem neuen Produkt fehlen die sonst in der Tabelle zugeordneten Kunden- bzw. Bestelldaten.
Auch dem neuen Kunden fehlen Daten – für die Kundennummer muss zunächst bestimmt
werden, welches die letzte vergebene Kundennummer war. Diesem neu angelegten Kunden
wurden noch keine Produkt- und Bestelldaten zugeordnet.
4
Von der Tabelle zur Datenbank
Wir sprechen von der „Einfüge-Anomalie“, wenn beim Hinzufügen eines neuen Datensatzes („Zeile“
im Tabellenkalkulationsprogramm) nicht alle Felder („Spalten“ im Tabellenkalkulationsprogramm)
ausgefüllt werden können.
Kunden bzw. Produkt löschen
Der Wegzug eines Kunden oder der Wegfall eines Produkts machen es notwendig, einen Kunden
bzw. ein Produkt aus der Tabelle zu entfernen.
Für unser Beispiel soll die Kundin „Loewe, Maria“ gelöscht werden.
Wie die Abbildung zeigt, würden nicht nur die Kundendaten, sondern auch die damit
verbundenen Produkt- und Bestellungsdaten gelöscht werden.
In diesem Fall ist die betreffende Kundin die einzige, die das Produkt „Buche, 3“ bestellt hat.
Damit würde gleichzeitig mit den Daten der Kundin unbeabsichtigt ein Produkt gelöscht werden.
Die selbe Gefahr droht, wenn Produkt- oder Bestellungsdaten entfernt werden sollen.
Die „Lösch-Anomalie“ beschreibt eine Situation, bei der durch das Löschen eines Datensatzes
mehr Informationen als beabsichtigt aus der Datenhaltung entfernt werden.
Kunden-/ Produktdaten ändern
Herr „Zimmermann, Benjamin“ hat seinen Namen geändert. Dieser muss nun in der Tabelle
händisch gesucht werden und an allen Fundorten aktualisiert werden.
Bevor wir die Änderung durchführen, bemerken wir aber, dass wir zwei unterschiedliche
Postleitzahlen für die gleichen Kundendaten eingetragen haben (Zeilen 2 und 12).
Dies ist dem mehrfachen Vorhandensein derselben Daten (redundante Daten) geschuldet.
Wenn wir nach dem Nachnamen „Zimmermann“ suchen, blieben uns möglicherweise
fehlerhafte Einträge mit dem Namen „Zimmerman“ verborgen.
Wenn nicht alle Vorkommen der Daten, die geändert werden sollen, geändert werden, führt dies
zu inkonstistenten Daten. Dieser Effekt wird als „Änderungs-Anomalie“ bezeichnet.
5
Von der Tabelle zur Datenbank
Normalisierung
Als Lösung dieser drei Probleme wird die Tabelle in mehrere Tabellen aufgeteilt und damit das
mehrfache Vorkommen von Daten (redundante Daten) vermieden. Das schrittweise Aufteilen in
mehrere Tabellen wird als Normalisierung bezeichnet.
Zunächst gilt es, die vorhandenen Daten zu analysieren. In der Regel lassen sich schnell
zusammenhängende Daten identifizieren, die dann in eine der zu erstellenden Tabellen
ausgelagert werden können.
In unserem Fall teilen wir die Daten in auf die Tabellen „Kundendaten“, „Produktdaten“ und
„Bestellungsdaten“ auf.
Anmerkung:
Diese Aufteilung kann zur Veranschaulichung zunächst im Tabellenkalkulationsprogramm erfolgen. In diesem Fall ist
für jede der Tabellen ein eigenes Tabellenregister zu erstellen.
Modellierung der Datenstruktur
In der hier abgebildeten (noch unvollständigen) Datenmodellierung (nach dem EntityRelationship-Model, „ERM“ nach Chen) werden die drei Tabellen (ERM: Rechtecke) Kunden,
Produkte und Bestellungen sowie deren Beziehungen zueinander (ERM: Rauten) sichtbar. Für
die Tabellen Kunden und Produkte wurden bereits einige Attribute (ERM: Ellipsen) hinzugefügt.
6
Von der Tabelle zur Datenbank
Die Modellierung steht bei der Konzeption einer Datenbank am Anfang und nimmt einen
umfangreichen zeitlichen Rahmen ein.
Planung der Tabellen
Bei der Planung der Tabellen sollten alle Attribute des ER-Modells (Felder) bestimmt werden
können. Ebenso ist es unerlässlich zu bestimmen, welche Inhalte in den jeweiligen Feldern
eingetragen werden dürfen bzw. nicht eingetragen werden dürfen).
Dazu wird ein passender Felddatentyp gewählt, der bestimmt, ob in einem Feld nur Zahlen, Text
(beinhaltet Zahlen), Binärdaten (z. B. Bilddaten) oder spezielle Daten wie Datum, Uhrzeit,
Währung vorkommen dürfen.
Ebenso ist es wichtig, einen Primärschlüssel für jede der Tabellen festzulegen. Dieser ermöglicht
es, jeden Datensatz einer Tabelle eindeutig zu identifizieren. Meist handelt es sich dabei um eine
ID (z. B. Kunden-ID oder Artikelnummer), die vom Datenbankmanagement-System (DBMS)
automatisch fortlaufend geführt wird („Auto-Wert“).
Erstellen von Tabellen im DBMS
Microsoft Access ist eines von vielen Datenbankmanagement-Programmen auf dem Markt.
Alternativen wären z. B. OpenOffice.org Base bzw. LibreOffice Base, welche beide kostenlos im
Internet verfügbar sind.
Ein Datenbankmanagementsystem (DBMS) führt – vereinfacht gesagt – notwendige
Verwaltungstätigkeiten für die Arbeit mit der Datenbank (DB) aus. Beide zusammen bilden das
Datenbanksystem (DBS).
7
Von der Tabelle zur Datenbank
Wir werden nun die Datenbank mit dem DBMS Microsoft Access erstellen.
Nach dem Start von Microsoft Access 2010 erwartet uns die obige Ansicht, in der wir aufgefordert
werden, einen Namen und einen Speicherort für unsere neue Datenbank anzugeben (s. Ellipse).
Geben Sie als Namen nun „Holzhandel_DB.accdb“ ein und wählen Sie ggf. noch einen
anderen als den angegebenen Speicherort.
Klicken Sie die Schaltfläche „ERSTELLEN“ (unten rechts im Bild).
Zunächst müssen nun Tabellen erstellt werden, in denen dann Daten gespeichert werden
können. Die erste Tabelle wurde bereits vorab erstellt.
8
Von der Tabelle zur Datenbank
Wir gehen in den Entwurfsmodus (s. Ellipse) und nehmen dort das Layout der Tabellen vor:
Als ersten Schritt werden wir nach dem Namen gefragt, unter dem die Tabelle in der Datenbank
gespeichert wird. Ich empfehle, Datenbankobjekte generell mit einem die Identifikation
erleichternden Präfix zu versehen. In unserem Fall „tbl_“ für engl. table = Tabelle.
Also: „tbl_kunde“ (ohne die Anführungszeichen)
Anmerkung:
Es ist generell emfpehlenswert, auf deutsche Umlaute und Sonderzeichen (jenseits von „-“ und „_“) in Datei-, Feld- und
Datenbankobjektsnamen zu verzichten.
Erstellen Sie nun, wie in der obigen Abbildung zu sehen, die Felder mit den entsprechenden
Feldnamen und den angezeigten Felddatentypen.
Die angegebene Beschreibung ist optional, hilft jedoch enorm, wenn später andere an der
Tabelle Änderungen vornehmen sollten. Hier sollten Informationen über die Einheiten
(„Benennungen“) der Daten eingetragen werden.
Sofern noch nicht geschehen, sollte das Feld „kunde_id“ als Primärschlüssel gewählt werden.
Dazu einfach in den Eintrag für das Feld „kunde_id“ klicken und auf die Schaltfläche
„PRIMÄRSCHLÜSSEL“ oben links klicken.
9
Von der Tabelle zur Datenbank
Ein Klick auf die Schaltfläche „ANSICHT“ wechselt wieder zur Tabellenansicht (nach dem erneuten
Speichern der Tabelle). Sie sollte nun so oder ähnlich aussehen:
Eingabe der Daten in die Tabelle
Nun können Sie die Tabelle „tbl_kunde“ mit den Daten der ursprünglichen Tabelle (wie im
Tabellenkalkulationsprogramm) füllen.
Mit Druck auf die <Tab>-Taste kann für die Eingabe von Feld zu Feld gesprungen werden.
Sollen – während der Eingabe eines Datensatzes („Zeile“) - Eingaben oder Änderungen eines
Feldinhaltes rückgängig gemacht werden, genügt ein Druck auf die <ESC>-Taste. Wird die
<ESC>-Taste zwei Mal gedrückt, werden alle Änderungen am aktuellen Datensatz verworfen.
Erstellen Sie anschließend die weiteren Tabellen „tbl_produkt“ und „tbl_bestellung“
(auf „ERSTELLEN“ klicken, „TABELLE“ auswählen) und füllen Sie diese ebenso mit Daten aus der
Tabellenkalkulation.
Beachten Sie dabei, dass beide Tabellen über je eine eigene ID verfügen sollen, sowie dass in der
Tabelle „tbl_bestellung“ zwei Felder für die Verweise auf Kunden- bzw. Produkt-ID
eingerichtet werden (Vorschlag: „ref_kunde_id“ und „ref_produkt_id“, beide vom
Felddatentyp „Zahl“).
Beachten Sie, dass diese Felder mit den Referenzen auf die Kunden- und auf die Produkt-ID
(diese werden als Fremdschlüssel bezeichnet) entsprechend den Zuordnungen der
Ursprungstabelle vorgenommen werden sollten.
In der Tabelle „tbl_bestellung“ muss also über die entsprechend eingetragene
„ref_kunde_id“ ersichtlich sein, welcher Kunde die Bestellung getätigt hat. Ebenso gibt der
im Feld „ref_produkt_id“ eingetragene Wert Auskunft über das vom Kunden bestellte
Produkt.
10
Von der Tabelle zur Datenbank
Beziehung der Daten zueinander
Machen wir uns nun einen Moment Gedanken über die Beziehungen der Tabellen zueinander.
Anders formuliert: Wie stehen die Daten in den drei Tabellen zueinander in Beziehung?
Gehen wir zunächst von der Tabelle „tbl_kunde“ aus.
• Ein Kunde führt eine Bestellung durch.
• Dafür steht in der Tabelle „tbl_bestellung“ für jede aufgeführte Bestellung die
jeweils eindeutige Kunden-ID (in dieser Tabelle als Fremdschlüssel) des bestellenden
Kunden.
• Da wir aber auch Kunden führen, die noch keine Bestellung durchgeführt haben, kann die
Kunden_ID eines Kunden gar nicht (keine Bestellung), einmal (eine Bestellung) oder
sogar mehrmals (mehrere Bestellungen) in der Tabelle „tbl_bestellung“
vorkommen.
•
•
•
•
Da jede Bestellung von genau einem Kunden durchgeführt wurde, steht jeder Datensatz
in der Tabelle „tbl_bestellung“ mit genau einem Datensatz der Tabelle
„tbl_kunde“ in Beziehung.
In unserer vereinfachten Datenbank kann jeder Kunde in einer Bestellung nur genau ein
Produkt (in variabler Stückzahl) bestellen. Also steht jeder Datensatz der Tabelle
„tbl_bestellung“ mit genau einem Datensatz der Tabelle „tbl_produkt“ in
Beziehung.
In der Tabelle „tbl_produkt“ sind die verfügbaren Produkte eingetragen.
Jedes der aufgeführten Produkte kann von beliebig vielen (oder keinen) Kunden bestellt
worden sein. Also steht jeder Datensatz der Tabelle „tbl_produkt“ mit keinem, einem
oder mehreren Datensätzen der Tabelle „tbl_bestellung“ in Verbindung.
Jeder Datensatz in jeder der Tabellen ist über deren Primärschlüssel eindeutig identifizierbar. So
wie wir also aus der bereits erstellten Tabelle „tbl_bestellung“ erkennen können, stehen
die Datensätze in den Tabellen über deren Primärschlüssel zueinander in Beziehung.
Wir haben uns Gedanken darüber gemacht, mit wie vielen Datensätzen anderer Tabellen ein
Datensatz einer konkreten Tabelle in Beziehung steht. Vereinfacht gesagt, unterscheiden wir die
Möglichkeiten für 0, 1 und unendlich (∞ ) viele miteinander in Beziehung stehenden Datensätze.
11
Von der Tabelle zur Datenbank
Kardinalität
Aufgrund der Gegenüberstellung der Beziehung zwischen zwei Tabellen lässt sich der
Beziehungstyp (die Kardinalität) der Tabellen formulieren.
Für unsere Arbeit genügt es, folgende drei Fälle zu unterscheiden:
• 1:1-Beziehung
Ein Datensatz einer Tabelle ist mit genau einem Datensatz einer anderen Tabelle
verbunden – und andersherum genauso. Wir sprechen von der „1:1-Beziehung“ zwischen
zwei Tabellen.
Diese wird dadurch erstellt, dass in der „Detailtabelle“ in den Feldeigenschaften des
Fremdschlüssel-Feldes festgelegt wird, dass alle Feldinhalte nur ein Mal vorkommen
dürfen (keine Duplikate). In Microsoft Access: „Indiziert (keine Duplikate)“.
•
1:n-Beziehung
Ein Datensatz einer Tabelle ist mit beliebig vielen Datensätzen einer anderen Tabelle in
Beziehung. Allerdings steht jeder der Datensätze der anderen Tabelle genau ein
Datensatz der ersten Tabelle gegenüber. Dies wird als „1:n-Beziehung“ bezeichnet.
•
n:m-Beziehung
Steht sowohl ein Datensatz einer Tabelle mit mehreren Datensätzen der anderen Tabelle
in Beziehung, als auch jeder Datensatz der anderen Tabelle wiederum mit mehreren
Datensätzen der ersten Tabelle in Beziehung, handelt es sich um eine „n:m-Beziehung“.
Diese werden in relationalen Datenbanken in Form von einer weiteren Tabelle mit zwei
1:n-Beziehungen zu den eigentlich in n:m-Beziehung stehenden Tabellen umgesetzt. In
unserem Beispiel modelliert die Tabelle „tbl_bestellung“ also eigentlich einen n:mBeziehung zwischen Kunden und Produkten.
Beachte: Wir haben dabei die Möglichkeit außer Acht gelassen,
dass ein Datensatz auch keinen verknüpften Datensatz in einer
anderen Tabelle haben kann. Dies kann über das Zulassen von
leeren Feldern beim Tabellenlayout (in den Feldeigenschaften
im unteren Bereich der Tabellenlayout-Ansicht: „Eingabe
erforderlich“) gesteuert werden.
Nun können wir die Beziehungen der Tabellen zueinander im Datenbankprogramm erstellen.
Dies verhindert eine Eingabe von Daten, die gegen das beabsichtigte Datenbankkonzept
verstoßen würden.
12
Von der Tabelle zur Datenbank
Also klicken wir im Menü auf „DATENBANKTOOLS“ und dort auf das Symbol „BEZIEHUNGEN“.
Nun fügen wir nacheinander alle der erstellten Tabellen hinzu und klicken auf „SCHLIESSEN“.
Wie bereits festgestellt, stehen die Tabellen über die Primärschlüsselfelder (bzw.
Fremdschlüsselfelder) in Beziehung zueinander.
Durch einfaches Ziehen der
Primärschlüsselfelder auf die
entsprechenden Fremdschlüsselfelder
wird eine Beziehung in der Datenbank
erstellt. Dabei kann festgelegt werden,
dass die referentielle Integrität der
beteiligten Tabellen jederzeit gewahrt
bleiben muss.
Unter referentieller Integrität versteht man, dass Datensätze einer Tabelle über ihren
Fremdschlüssel nur auf tatsächlich existierende Datensätze der anderen Tabelle verweisen
dürfen.
Es dürften damit also in der Tabelle „tbl_bestellung“ nur Datensätze vorkommen, die mit dem
Fremdschlüssel-Feld „ref_kunde_id“ auf einen in der Tabelle „tbl_kunde“ existierenden
Datensatz verweisen. Gleiches sollte für die Beziehung zwischen den Tabellen „tbl_bestellung“
und „tbl_produkt“ vorgenommen werden.
Ohne die meist sinnvolle Verwendung der Option „referentielle Integrität“ könnten Datensätze
in der Tabelle „tbl_bestellung“ auf nicht vorhandene Kunden bzw. auf nicht vorhandene
Produkte verweisen.
Sollen Datensätze einer Tabelle gelöscht werden, auf die sich Datensätze einer anderen Tabelle
beziehen, wird dieses Löschen nach den Regeln der referentiellen Integrität unterbunden.
Ebenso wäre es möglich, die referentielle Integrität zu wahren, indem nicht nur die zu
löschenden Datensätze einer Tabelle, sondern die mit ihr verbundenen Datensätze der anderen
Tabelle zu löschen. Diese Löschweitergabe muss jedoch mit Bedacht eingesetzt werden.
13
Von der Tabelle zur Datenbank
Kleine Abfragen: Überprüfung der gemachten Arbeiten
Mit einem neuen Typ von Datenbankobjekten (wir kennen bisher die Tabellen), der Abfrage,
können wir Informationen aus der Datenbank flexibel anzeigen lassen.
Dazu wählen in Access das Menü „Erstellen“ und klicken dann auf „Abfrageentwurf“. Zunächst
müssen wir im sich öffnenden Dialogfenster alle Tabellen auswählen, aus denen wir Daten
darstellen wollen. Auf „Schließen“ klicken, wenn alle benötigten Tabellen eingefügt wurden.
Tabellen, die nicht benötigt werden, können anschließend – wie auch beim Beziehungslayout –
angeklickt und dann mit Druck auf die <ENTF>-Taste aus der Abfrage entfernt werden.
Nun müssen lediglich die benötigten Felder der
eingeblendeten Tabellen per Doppelklick dem
Abfrageentwurf hinzugefügt werden. Die Reihenfolge der
Felder lässt sich per Maus später wieder verändern.
Wählen Sie nun z. B. aus der Tabelle „tbl_kunde“ die
Felder, die Namen, Vornamen und Adresse enthalten.
Ein Klick auf die Schaltfläche „Ansicht“ wechselt zwischen der Tabellen- und der
Entwurfsansicht der Abfrage.
Wieder zurück in der Entwurfsansicht können Sie nun die Felder, die die Menge,
die Artikelbeschreibung und den Nettopreis enthalten, hinzufügen.
Sind diese Felder in einer Tabelle, die Sie im Moment noch nicht im Abfrageentwurf
eingebaut haben, können Sie die Tabelle mit einem Klick auf die Schaltfläche „Tabelle
anzeigen“ hinzufügen.
Auf diese Weise können Sie eine Abfrage erstellen, die die Daten wie in unserer Ausgangstabelle
anzeigen lässt. Jedoch mit dem Unterschied, dass die Daten in unterschiedlichen Tabellen
gespeichert sind.
Spätestens beim Verlassen der Abfrage sollte diese (als Datenbankobjekt in der Datenbank)
gespeichert werden, z. B. unter dem Namen „qry_Bestellungen-Kunden“ (engl. Query =
(Ab-) Frage).
14
Von der Tabelle zur Datenbank
Ausblick
Im IT-Modul „D2: Arbeiten in Datenbanksystemen“ [3] steht die Arbeit mit Abfragen im
Vordergrund. Diese können so erweitert werden, dass z. B. notwendige Einheiten (s. o.) mit
angezeigt werden und weitere Informationen aus den in der Tabelle gespeicherten Daten
berechnet werden können (z. B. MwSt. und Bruttobetrag aus Nettobeträgen).
Ebenso wird die Arbeit mit der Datenbank durch die Erstellung weiterer Datenbankobjekte
(Formulare für die Ein-/ Ausgabe von Daten, Berichte zur Erstellung druckbarer Ausgaben)
erweitert und für den Endbenutzer vereinfacht.
Abfragen, wie auch Tabellen, dienen als Datenquellen für die Ansteuerung von Serienbriefen
oder Etiketten, die durch Textverarbeitungsprogramme vorbereitet werden können.
Im professionellen Bereich spielen neben den hier erwähnten relationalen DBMS vor allem
Datenbank-Server eine Rolle. Diese sind Dienste, die auf einem zentralen Server laufen und
berechtigten Computern den Zugriff auf Teile des Datenbestandes ermöglichen. Beispiele für
solche Datenbank-Serversoftware sind u. a. Oracle DB, MySQL, PostgreSQL.
Viele solche Systeme können mit der standardisierten Abfrage- und Verwaltungssprache „SQL“
(Structured Query Language) erstellt, gesteuert und bedient werden.
15
Von der Tabelle zur Datenbank
Literaturempfehlungen
John Kaufeld: „Access 97 für Dummies“, mitp, Bonn 1999, ISBN 3-8266-2746-6
Allen G. Taylor: „Datenbanken für Dummies“, mitp, Bonn 2001, ISBN 3-8266-2938-8
Gerhard Brosius: „Access 2000 professionell – Datenbankmanagement mit Office 2000“, AddisonWesley, München 1999, ISBN 3-8273-1541-7
Andreas Meier, „Relationale Datenbanken“, Springer, Heidelberg 2001, ISBN 3-540-41468-1
Linkliste
[1] Moodle-Kurs zur E-Session/ SchiLf
http://www.brn-moodle.de > Schulbereich > Unterfranken > Regionale Lehrerfortbildung
http://www.brn-moodle.de/course/view.php?id=4541
[2] Donkarls Access-Seiten:
http://www.donkarl.com/
[3] Lehrplan für das Fach Informationstechnologie (Realschule, Bayern)
http://www.isb.bayern.de > Realschule > Lehrpläne > Informationstechnologie
http://www.isb.bayern.de/download/8868/lehrplan_informationstechnologie_082008.pdf
[4] LibreOffice (eine kostenlose open-source Office-Suite)
https://www.libreoffice.org
[5] OpenOffice (eine kostenlose open-source Office-Suite)
http://www.openoffice.org
[6] LibreOffice-Handbücher
http://de.libreoffice.org/hilfe-kontakt/handbuecher/
16
Herunterladen