Michel Beger
1 Inhaltsverzeichnis
1 Inhaltsverzeichnis. 2
2 Datenbanken - Theorie kurz bündig 5
2.1 Was ist eine Datenbank? 5
2.2 Merkmale eines Datenbankprogramms 5
2.3 Relationale Datenbank 5
3 Datenbanken - Theorie ausführlich. 6
3.1 Manuelle Datenbanken. 6
3.2 EDV-gestützte Datenbanken 6
3.3 Die Tabelle in der Datenbank. 7
3.4 Datensatzaufbau 8
3.5 Relationale Datenbank 8
3.6 Was sind Primärschlüsselfelder und Fremdschlüsselfelder? 10
3.6.1 Primärschlüsselfeld. 10
3.6.2 Fremdschlüsselfeld. 10
3.7 Beziehungen 10
3.7.1 Die 1:n-Beziehung. 10
3.7.2 Die n : m-Beziehung. 11
3.7.3 Die 1 : 1-Beziehung. 13
3.8 Referentielle Integrität 13
3.9 Die Normalformen 14
3.9.1 Erste Normalform (1. NF) 14
3.9.2 Zweite Normalform (2. NF): 17
3.9.3 Dritte Normalform (3. NF) 17
3.10 Indizes 18
4 Die Benutzeroberfläche von Access 2003 20
4.1 Die Oberfläche nach dem Start von Access 2003 20
4.2 Was es sonst noch so gibt 24
5 Die erste Tabelle 27
5.1 1. Vorüberlegung. 27
5.1.1 Aus wie vielen Tabellen soll die Datenbank bestehen? 27
5.1.2 Die Entwurfsansicht: Feldnamen, Felddatentyp und Feldgröße: 28
Access 2003 Grundlagen Seite 2
Michel Beger
5.1.3 Feldeigenschaften 32
5.2 Ungarische Notation. 40
5.3 Eingabe von Feldnamen und ihren Eigenschaften 41
5.4 Bestimmung und Eingabe der Feldeigenschaften 44
5.4.1 Eingabe von Daten. 48
5.4.2 Ändern der Datenstruktur 48
5.4.3 Bewegen in den Tabellen (Navigationssymbole und Tastaturbelegung) 49
5.4.4 Datensätze in der Tabellenansicht suchen 50
5.5 Tabellen verknüpfen 52
6 Eine Datenbank aufbauen 55
6.1 Beispiel: Bücherverwaltung. 55
6.2 Reihenfolge der Datenbank-Erstellung 56
7 Daten eingeben und löschen. 57
7.1 Dateneingabe. 57
7.2 Datensatz löschen. 57
8 Filtern und Sortieren 58
8.1 Sortieren. 58
8.2 Filtern. 58
8.3 Filter als Abfrage speichern 59
8.4 „Filtern nach“-Methode 59
8.5 Spezialfilter in Abfragen 60
9 Abfragen 61
9.1 Trennen von Daten und Pflege der selben 61
9.2 Was leisten Abfragen? 62
9.3 Wie erstellt man eine Abfrage? 63
9.3.1 Allgemeines 63
9.3.2 Eine Abfrage und ihr Dynaset - Eine Frage und ihre Antwort. 65
9.3.3 Spezielles: Beispiele, Übungen und Tricks 65
9.3.4 Komplexes. 75
9.4 Tabellenerstellungsabfrage 82
9.5 Die Aktualisierungsabfrage 84
9.6 Die Löschabfrage. 85
Access 2003 Grundlagen Seite 3
Michel Beger
9.7 Die Anfügeabfrage. 85
10 Seriendruck in Word 88
11 Export der Daten nach Word oder Excel 89
12 Berichte - Kurzerläuterung 90
12.1 Kurzerläuterung Berichtserstellung 90
12.2 Tabellarischer Bericht. 91
12.3 Bericht in Blöcken 91
13 Berichte - Drucken in Access. 92
13.1 Listendruck mit dem Berichtsassistenten. 92
13.1.1 Der Assistent, was leistet er? 92
13.1.2 Nachbesserungen von Hand. 97
13.2 2. Gruppierungen mit dem Assistenten 103
13.3 3. Seiteneinrichtung 108
14 Formulare - Kurzerläuterung 109
15 Formulare erstellen. 111
15.1 Formulare mit dem Auto-Formular erstellen 111
15.2 Arbeiten mit Formularen. 113
15.2.1 Bewegen in Formularen 113
15.2.2 Datensätze hinzufügen 113
15.2.3 Datensätze löschen 114
15.2.4 Speicherung von Eingaben und Änderungen. 114
15.2.5 Änderungen rückgängig machen 114
15.2.6 Suchen und Ersetzen. 114
15.3 3. Ändern eines Formularentwurfs. 115
15.3.1 Formular in der Entwurfansicht 115
15.3.2 Erstellen einer Überschrift. 116
15.3.3 Markieren von Steuerelementen 116
15.3.4 Verschieben von Steuerelementen. 118
16 Unterdatenblätter einfügen 120
17 Etikettendruck 121
Access 2003 Grundlagen Seite 4
Michel Beger
2 Datenbanken - Theorie kurz & bündig
2.1 Was ist eine Datenbank?
In einer Datenbank können Daten in Tabelle eingegeben werden, die sich auf einen gemeinsamen Themenbereich beziehen oder für einen bestimmten Zweck gedacht sind. Beispiel: Personaldaten der Mitarbeiter Adressen der Mitarbeiter Gehaltslisten der Mitarbeiter
Ein Datenbankprogramm ist ein System, welches große Datenmengen in Tabellen speichert, verwaltet und den Zugriff auf die enthaltenen Daten regelt. Außerdem stellt ein Datenbankprogramm wie Access zahlreiche Werkzeuge zur Auswertung, Analyse, Bearbeitung und Präsentation der Daten bereit.
2.2 Merkmale eines Datenbankprogramms
Man kann die Daten einer Datenbank
als Beziehungen zwischen Daten aus mehreren Tabellen definieren, beliebig bearbeiten und verändern, beliebig sortieren und nach bestimmten Kriterien filtern, mit Hilfe von Abfragen auswerten und mit Hilfe von Berichten übersichtlich ausdrucken.
Alle Eingaben wirken sich sofort auf die anderen Objekte aus: Wenn man z.B. in der Tabelle einen neuen Datensatz eingibt, so wird dieser bei einer schon bestehenden Abfrage gleich mit erfasst.
2.3 Relationale Datenbank
In einer relationalen Datenbank wird mit mehreren Tabellen gearbeitet (= Querverbindungen). Mit Hilfe von so genannten Schlüsselfeldern können Verknüpfungen zwischen den Tabellen erstellt werden. Die Datenmenge kann dadurch gering gehalten werden, da Daten nicht doppelt geführt werden müssen.
Access 2003 Grundlagen Seite 5
Michel Beger
3 Datenbanken - Theorie ausführlich
Eine Datenbank ist eine Ansammlung von Informationen, die sich auf ein bestimmtes Thema oder einen bestimmten Zweck beziehen, z. B.: Bücher in einer Bibliothek, Waren im Warenlager oder Gehaltsabrechnungen im Betrieb etc., die verwaltet werden müssen. In der Datenverarbeitung spricht man von einem Datenbanksystem, wenn dieses aus einer Datensammlung und einem Verwaltungssystem besteht. Die Datensammlung ist nach einer bestimmten Struktur aufgebaut und das Verwaltungssystem organisiert die Zugriffe auf die Datenbank und deren Bestand. Was aber bedeutet "...welches die Zugriffe auf die Datenbank und deren Bestand organisiert..." genauer?
Es bedeutet nichts anderes, als dass dieses Verwaltungssystem dem Nutzer ermöglicht, bestimmte Informationen (Daten) zu erfassen, zu speichern, wieder aufzufinden, zu aktualisieren oder weitere Operationen mit den Daten durchzuführen, wie z. B. das Sortieren nach bestimmten Kriterien.
3.1 Manuelle Datenbanken
Ein Beispiel für manuelle Datenbanken sind Karteikästen. Das Auffinden der Daten wird hier durch zusätzliche Register erleichtert. Ein Karteikasten enthält zusammengehörende, nach bestimmten Kriterien geordnete Daten. Jede Karte enthält i. d. R. die gleiche, festgelegte Anzahl von Eintragungen. Der Benutzer erfasst seine Daten manuell auf eine Karteikarte und ordnet diese nach dem von ihm bestimmten Kriterien in seinen Karteikasten. Um Änderungen vornehmen zu können, muss er die entsprechende Karte aus dem Karteikasten heraussuchen, die Daten ändern und die Karte dann wieder an seinen Platz zurückstellen.
3.2 EDV-gestützte Datenbanken
Wie schon erwähnt, besteht eine EDV-gestützte Datenbank aus einer Datensammlung und einem Verwaltungsprogramm, das diese Datensammlung nach bestimmten Kriterien organisiert und kontrolliert.
Im Vergleich mit den oben genannten Datenbanken weisen EDV-gestützte Datenbanken erhebliche Vorteile auf. Sie erlauben bequemere Erfassung der Daten, schnelleres Finden,
einfachere, z. T. automatische Aktualisierung der Daten,
flexible, datenbankübergreifende Anordnung und Zusammenstellung von Daten, somit das Aufdecken bisher unbekannter Informationszusammenhänge und damit eine effektivere Auswertung der Daten.
Access 2003 Grundlagen Seite 6
Michel Beger
Als Ergebnis kann man folgende Vergleiche und Erklärungen für herkömmliche Datenbanken und EDV-gestützte Datenbanken aufstellen:
Karteikastensystem
Ein Karteikastensystem enthält zusammengehörende, nach bestimmten Kriterien geordnete Karteien wie ein Datenbanksystem nur mit dem Unterschied, dass ein Datenbanksystem zusätzlich noch ein Verwaltungsprogramm besitzt.
Karteikasten
Jede Karte enthält i. d. R. die gleiche festgelegte Anzahl von Eintragungen.Ähnlich faßt eine Tabelle eine Datenmenge unter einem gemeinsamen Oberbegriff, dem Tabellenname, zusammen.
Karteikarte
Jede Karteikarte entspricht einem Datensatz. Als Beispiel steht auf einer Karte folgende Angabe: 2, Müller Michael, 50939 Köln.
Genauso enthält dementsprechend ein Datensatz die genannten Informationen.
Eintragungsfeld
3.3 Die Tabelle in der Datenbank
Jede Datenbank besteht aus beliebig vielen, gleichartigen Datensätzen, wobei ein Datensatz einer Tabellenzeile entspricht. Jeder Datensatz besteht aus einer bestimmten Anzahl von Datenfeldern, hier entspricht jedes Feld einer Tabellenspalte. Es ergibt sich somit insgesamt ein tabellenartiger Aufbau.
Die folgende Abbildung zeigt die vereinfachte Darstellung der Datenbankdatei „Kunde“ in Form einer Tabelle.
Die Tabelle ´Kunden´ hat fünf Datenfelder oder Attribute, die jeweils durch einen eindeutigen Namen definiert sind. Hier: Kundennr., Nachname, Vorname, PLZ und Ort.
Michel Beger
Jeder Datensatz dieser Tabelle setzt sich zusammen aus genau fünf Datenfeld-Werten und hat somit die gleiche Datenstruktur. Er zeigt zusammengehörige Informationen zu einem Kunden in einer Zeile an. Als Beispiel: Der Kunde ´Michael, Müller´ mit der Kundennr. ´2´, Wohnort in ´Köln´ und der PLZ = ´50939´.
3.4 Datensatzaufbau
Der erste Schritt bei der Erstellung einer Datenbankdatei ist die Festlegung des Datensatzaufbaus (Struktur), also die Herstellung der Definition der erforderlichen Datenfelder eines Datensatzes. Für jedes einzelne Datenfeld müssen die nun folgende Merkmale angegeben werden: Datenfeldname Datenfeldtyp Datenfeldlänge Datenfeld-Name
Der Datenfeld-Name sollte auf den Verwendungszweck des Feldes hinweisen. Die Datenfeldnamen der Tabelle ´Kunde´ heißen in diesem Beispiel: ´Kundennr´ ´Name´, ´Vorname´, ´PLZ´ und ´Ort´. Man könnte auch noch als Präfix (Vorsilbe) eine Abkürzung des Datenfeldtypes schreiben. Datenfeld-Typ
Der Datenfeld-Typ richtet sich nach dem geplanten Verwendungszweck. Man unterscheidet hier z. B. Text und Zahlenfelder. Während Textfelder lediglich "starre" Informationen enthalten, können mit den Inhalten der Zahlenfelder Berechnungen durchgeführt werden. Als Beispiel hierfür ist der Datenfeld-Typ für das Datenfeld ´Name´ gleich ´Text´. Datenfeld-Länge
Für jedes Datenfeld muss eine genaue Länge festgelegt werden, um entsprechend Platz für den Feldeintrag zu schaffen. Z. B braucht das Feld PLZ genau 5 Zeichen, der Ort braucht sicher mehr und die Kundennummer eventuell auch. Man muss sich also frühzeitig überlegen, wie viel Einträge man an jeder Stelle braucht.
3.5 Relationale Datenbank
Microsoft Access ist ein relationales Datenbank-Managementsystem. Relational ist eine Datenbank, wenn die einzelnen Tabellen untereinander in einer Beziehung (Relationalität) stehen können. Dieses setzt natürlich voraus, dass die Datenbank aus mehreren Tabellen besteht. Eine nichtrelationale Datenbank kann nur aus einer Tabelle bestehen (MS Works besitzt z. B. eine solche Datenbank, oder aber auch Excel). Der Nachteil bei nicht-relationalen Datenbanken sind u. a. redundante, also sich wiederholende Informationen, die man in die Tabelle eintragen muss. Eine Access-Datenbank enthält im Normalfall mehrere Tabellen und zusätzlich Informationen darüber, wie die Tabellen zusammenhängen. Ein Beispiel:
An der Universität gibt es eine Datenbank, in der alle Studenten der Universität mit ihren persönlichen Daten (Matrikelnummer, Name, Adresse, Fachbereiche etc.) eingetragen werden. In
Access 2003 Grundlagen Seite 8
Michel Beger
der Regel ist ein Student in mehreren Fachbereichen eingeschrieben. Bestünde die Datenbank aus nur einer Tabelle, müsste für jeden Fachbereich eine eigene Zeile angelegt werden, die jeweils die selben persönlichen Daten enthält. Eine große Tabelle für alle Informationen
Erstens enthält diese Tabelle redundante Informationen (Vorname, Nachname, Ort). Zweitens müsste man bei einem Umzug der Person deshalb diesen in jeder Zeile vornehmen. Ein großer Aufwand.
Gibt es nun mehrere Tabellen die man zueinander in Beziehung setzten kann, wird die Änderung der Adresse nur einmal in der Tabelle für Adressen vorgenommen und danach mit der Tabelle für die Matrikelnummer verknüpft. So kann jeder Fachbereich, in den sich der Student eingeschrieben hat, über die Matrikelnummer auf die aktuelle Adresse zugreifen. Das ist mit Access möglich. Tabelle 1
Tabelle 2, die mit der ersten verknüpft ist
In diesem Beispiel enthält die erste Tabelle z. B. die persönlichen Daten aller Studenten, die zweite alle Fachbereiche, in denen sich ein Student eingeschrieben hat. Will man nun die Adresse des Studenten herausbekommen, sucht man in der ersten Tabelle nach dem Datensatz, der die jeweilige Matrikelnummer enthält (in Access geht das über eine Abfrage sehr schnell, was später erklärt wird).
Access 2003 Grundlagen Seite 9
Michel Beger
3.6 Was sind Primärschlüsselfelder und Fremdschlüsselfelder?
3.6.1 Primärschlüsselfeld
Ein Primärschlüsselfeld ist ein besonderes Feld (Spalte) einer Tabelle. In dieser Spalte darf jeder Wert nur einmal vorkommen. Duplikate sind nicht erlaubt. Dieses Feld verknüpft eine Tabelle mit der anderen und dient zur eindeutigen Zuordnung der verschiedenen Daten aus mehreren Tabellen. Ein einzelner Wert in diesem Feld ist der Primärschlüssel.
In der obigen Tabelle 1 ist die Matrikelnummer der Primärschlüssel. Dieser Wert kommt nur einmal vor, so dass man genau weiß welcher Student gemeint ist, auch wenn Studenten dieselbe Adresse oder denselben Namen haben. Wenn man den Primärschlüssel gestaltet, sollte man ihn sprechend machen, das heißt: Im Primärschlüssel sollte man schon erkennen, was den Datensatz ausmacht. So könnte man eine Personalnummer aus drei Buchstaben Vorname, drei Buchstaben Nachname und einer laufenden Nummer erzeugen. Leider ist das bei den Matrikelnummern nicht der Fall… Der eigentliche Witz am Primärschlüssel wird deutlich, wenn man zwei Tabellen miteinander verknüpfen, also in Beziehung zueinander setzen will.
3.6.2 Fremdschlüsselfeld
Ein Fremdschlüsselfeld ist ein Feld in einer Tabelle, das in einer anderen Tabelle Primärschlüsselfeld ist. Das Fremdschlüsselfeld enthält dieselben Werte, wie das Primärschlüsselfeld, nur dass diesmal die Daten mehrmals, keinmal oder nur einmal vorkommen können. Bezogen auf das obige Tabellenbeispiel bedeutet dies, dass sich ein Student entweder in einem oder mehreren Fachbereichen einschreibt. Der Fremdschlüssel bildet das Gegenstück der Beziehung, verbindet also zwei Datensätze aus unterschiedlichen Tabellen, hier die Datensätze der Tabelle Matrikelnummer und der Tabelle Fachbereiche.
3.7 Beziehungen
Dass Tabellen miteinander in Beziehung stehen, wurde schon erwähnt. Eine Beziehung stellt die logische Verbindung zwischen zwei Tabellen dar. Wie sehen die Beziehungen genau aus bzw. wie müssen sie aussehen, damit die ganze Datenbank auch funktioniert? In Access gibt es drei Arten von Beziehungen: 1. die 1 : n-Beziehung 2. die n : m-Beziehung und 3. die 1 : 1-Beziehung.
3.7.1 Die 1:n-Beziehung
Die 1er-Seite besteht aus einer Tabelle die keine redundanten Informationen enthält, ein Wert in einer Spalte also nur einmal vorkommt. Diese wird auch Mastertabelle genannt. Die Tabelle, die die n-Seite der Beziehung darstellt, kann diesen Wert mehrmals (n = unendlich) oder gar nicht enthalten. Diese ist die Detailtabelle. Anders gesagt: bei einer derartigen Beziehung entsprechen einem Datensatz (Tabellenzeile) in der Mastertabelle mehrere Datensätze in der Detailtabelle, wobei mehrere auch die Zahl 0 einschließt. Access 2003 Grundlagen Seite 10
Michel Beger
Beispiel:
Das Prüfungsamt einer Universität braucht eine Datenbank, die in der ersten Tabelle für Matrikelnummern (Mastertabelle) alle Studenten des Fachbereiches Erziehungswissenschaft auflistet. In einer zweiten Tabelle für Prüfungen (Detailtabelle) werden alle Studenten, die in diesem Fachbereich schon eine Prüfung absolviert haben, eingetragen. Weiterhin werden in diese noch Prüfungstitel, Note, Datum und Prüfer vermerkt. Mastertabelle (Tabelle Matrikelnummer)
In der Mastertabelle darf die Matrikelnummer nur einmal vorkommen, da das Feld Matrikelnummer Primärschlüssel ist. Detailtabelle (Tabelle Prüfungen)
In der Detailtabelle wird das Primärschlüsselfeld zum Fremdschlüsselfeld (Matrikelnummerfeld in der Detailtabelle) und stellt die andere Seite der Beziehung dar. Die Logik dieser Tabelle erfordert, dass die Matrikelnummer mehrmals oder gar nicht auftauchen darf. In der Detailtabelle gilt es nämlich festzuhalten, welche Prüfungen Student 1234567 wann und bei wem abgelegt hat. Ein Student legt mit der Zeit mehrere Prüfungen ab, weswegen eine Matrikelnummer mehrmals auftauchen können muss. Umgekehrt kann eine Prüfungsbenotung einem Studenten über die Matrikelnummer genau zugeordnet werden. Auch erfährt man, dass Student 14151617 noch keine Prüfungen absolviert hat, da er in der Tabelle für Prüfungen nicht eingetragen ist.
3.7.2 Die n : m-Beziehung
In einer n : m-Beziehung kann ein Datensatz in einem Feld der Tabelle 1 zu einen, keinen oder mehreren Datensätzen in Tabelle 2 in Beziehung gesetzt werden. Umgekehrt besteht von Tabelle 2 die gleichartige Beziehung zu Tabelle 1, dass also ein Datensatz der Tabelle 2 zu einem, keinem
Access 2003 Grundlagen Seite 11
Michel Beger
oder mehreren Datensätzen der Tabelle 1 zugeordnet werden können. In der 1 : n-Beziehung besteht diese Verbindung nur in einer Richtung, von der Mastertabelle zur Detailtabelle. Die n : m-Beziehung kann nur indirekt über eine dritte Tabelle definiert werden. Die Tabelle 3 enthält die Primärschlüssel der Tabellen 1 und 2 als Fremdschlüssel, wodurch eine genaue Zuordnung der jeweiligen Primärschlüssel definiert ist. Beispiel:
Die Universität will nicht nur die Prüfungen die ein Student abgelegt hat festhalten, sondern auch welcher Student welche Veranstaltungen besucht und welcher Professor die jeweiligen Seminare hält. Es muss also wieder eine Tabelle geben in der alle Studenten mit Matrikelnummer z.B. eines Fachbereichs eingetragen sind, eine zweite Tabelle in der alle Professoren mit Personalnummer und eine dritte Tabelle, die sowohl Matrikel- und Personalnummer enthält, als auch die Seminare. Diese dritte Tabelle setzt dann Tabelle 1 und 2 in Beziehung. Tabelle 1
In Tabelle 1 ist die Matrikelnummer wieder der Primärschlüssel.
Tabelle 2
In Tabelle 2 ist die Personalnummer der Primärschlüssel.
Tabelle 3
In Tabelle 3 sind die Primärschlüssel der Tabellen 1 und 2 zu Fremdschlüsseln geworden, da diese eben mehrmals einmal oder keinmal vorkommen können. Ein Student kann mehrere Seminare besuchen (oder auch keine, was man in diesem Fall nicht hoffen will) und ein Professor kann mehrere Seminare halten. Jeder Student kann jedes Seminar besuchen, kann also jedem Professor zugeordnet werden. Der Professor C5638764 taucht nicht in der Tabelle 3 auf da er ein Freisemester hat und somit keine Seminare abhält.
Um diese realen Verhältnisse in Tabellen festhalten zu können, müssen die einzelnen Datensätze der Tabelle 1 und 2 kombinierbar sein. Dies ist in Tabelle 3 der Fall.
3.7.3 Die 1 : 1-Beziehung
Der dritte Beziehungstyp tritt relativ selten auf, da die Felder die in der zweiten Tabelle gespeichert werden, eigentlich direkt in der Tabelle 1 gespeichert werden könnten, ohne dass wiederholende Daten auftreten würden. In beiden Tabellen dieser Beziehung existiert der Wert nur einmal und ist in beiden Tabellen Primärschlüssel. Gründe für so eine Beziehung können sein: Um eine möglichst schnelle Datenabfrage zu gewährleisten, versucht man die Tabellen klein zu halten. So macht man aus einer Tabelle mit vielen Spalten zwei kleine, deren jeweilige Daten in einer 1 : 1-Beziehung stehen.
Tabellen können Daten enthalten, auf die Personen aus unterschiedlichen Zwecken zugreifen müssen, aber nicht alle eingetragenen Informationen zu dem Subjekt brauchen (siehe auch 1.9.2., zweite Normalform).
3.8 Referentielle Integrität
Die so genannte referentielle Integrität bestimmt eine weitere Forderung an verknüpfte Tabellen, die für die Richtigkeit der Daten und ihrer Verknüpfung sorgen soll. Die beiden Forderungen beinhalten Folgendes:
Wenn man einen Datensatz in einer Detailtabelle einfügt, dürfen nur Fremdschlüssel verwendet werden, die in der Mastertabelle vorkommen. In der obigen Tabelle 3 für Veranstaltungen dürfen z.B. nur Professoren vorkommen, die es an der Universität auch tatsächlich gibt, also schon in der Mastertabelle 2 für Professoren eingetragen sind. Man darf nicht einfach einen Datensatz in einer Mastertabelle löschen, wenn dieser mit anderen Detailtabellen verknüpft ist. Dies würde zur Folge haben, das eine Menge Datensätze verwaist, also ohne Heimat, in Detailtabellen entstehen. Es gäbe Vorlesungen ohne Professoren und Seminare ohne Studenten. Das wäre nicht gut…oder doch ?
Access 2003 Grundlagen Seite 13
Michel Beger
Schaltet man die referentielle Integrität nicht ein, ist das Löschen oder Ändern von Datensätzen, ohne seine komplette Entfernung aus der Datenbank möglich. Ein weiterer Vorteil besteht darin, dass Access anzeigt, welcher Beziehungstyp zwischen den Tabellen besteht und nicht nur dass eine Beziehung überhaupt besteht.
3.9 Die Normalformen
Normalformen sind Regeln für die Bildung von logischen Datenzusammenhängen, die dann in Tabellen umgesetzt werden.
Wieso ist eine so genannte Normalisierung, also die Anwendung der Normalformen auf die Tabellen, notwendig ? Normalisierte Tabellen weisen erstens ein Minimum an redundanten Informationen auf, was zweitens die physische Größe der Datenbank gering hält. So wird der logische Aufbau klarer, was die Arbeit mit und die Pflege von Datenbanken vereinfacht. Der Normalisierungsprozess beinhaltet eigentlich 5 Schritte, die streng nacheinander vollzogen werden müssen. In der Praxis verwendet man aber nur die ersten drei, weswegen hier auch nur auf diese eingegangen wird.
Eine Normalisierung beginnt mit der 1. Normalform; ist dieser Schritt abgeschlossen folgt die 2. und dann die 3. Normalform.
Generell kann man sagen, dass ein Normalisierungsschritt mit der Zerlegung von Tabelle endet, wenn diese die jeweilige Normalform nicht erfüllt hat.
3.9.1 Erste Normalform (1. NF)
Eine Tabelle befindet sich in der ersten Normalform, wenn sich die Werte in jeder Zeile und in jeder Spalte im atomaren Zustand befinden, d.h. sich in keine kleineren Einheiten mehr zerlegen lassen.
Access 2003 Grundlagen Seite 14
Michel Beger
Tabelle 1: Studenten
In dieser Tabelle sind alle Informationen zu einem Studenten eingetragen, seien es persönliche Daten, wie Matrikelnummer, Adresse, Name und auch Daten, die das Studium des Studenten betreffen, wie die Fachrichtungen. Weiterhin sind in der Spalte Adresse alle Adressanteile, wie Straßenname und Stadt untergebracht. Es gibt zwei Probleme bei dieser Tabelle.
Das erste besteht darin, dass die Werte in der Spalte Adresse nicht in atomarer Form vorhanden sind. Die Informationen im Feld Adressen sind weiter zerlegbar (atomisierbar), nämlich in Strasse, Stadt und Postleitzahl.
Diese Trennung ist notwendig, um bei Abfragen (siehe Abfragen) möglichst schnell ein Ergebnis zu erzielen. Will die Universität wissen, wie viele Studenten aus welcher Stadt kommen, würde das Programm bei der obigen Tabelle mehr Zeit für ein Ergebnis brauchen, als wenn die Stadt in einer eigenen Spalte aufgeführt wäre. Zusätzlich ist es wesentlich übersichtlicher, wenn man genau weiß wo der Eintrag Stadt zu finden ist. Es muss also noch eine Spalte Stadt eingefügt werden.
Der zweite Nachteil dieser Tabelle ist, dass sie nur eine begrenzte Anzahl Spalten für die Fachbereiche hat. Wenn nun ein Student in vielen Fachbereichen eingeschrieben hat, muss man bei dieser Tabelle Spalten an der rechten Seite anfügen. Dadurch wird die Tabelle ewig breit und manche Felder sind einfach leer, weil sich nun nicht jeder Student in gleich viele Fachbereiche einschreibt.
Auch ist hier eine Abfrage nur sehr unökonomisch zu haben, wenn man wissen will welcher Student in welchem Fachbereich studiert. In welcher Spalte soll man z.B. nach Fachbereich 13 suchen ? Dieser Fachbereich kann sich sowohl in der Spalte „Fachbereich 1“ oder „Fachbereich 2“ befinden.
Access 2003 Grundlagen Seite 15
Michel Beger
Diese Tabelle muss also sowohl in einer Spalte (Adressen) atomisiert werden, als auch in den Zeilen, damit sie die erste Normalform erfüllt. Dafür braucht man eine zweite Tabelle. Die folgende Tabelle enthält nur atomare Werte, denn jede logische Einheit (Strasse, Stadt, Postleitzahl etc.) hat eine eigene Spalte. Die Abfrage welcher Student in welcher Stadt wohnt ist nun kein Problem mehr.
Tabelle 1: Persönliche Daten der Studenten (Adresse)
Die Matrikelnummer ist hier der Primärschlüssel.
Nun fehlt aber noch die zweite Tabelle, die direkte Informationen zum Studium der Studenten, wie die Fachbereiche enthält. Tabelle 2: Fachbereiche
Die Tabelle 2 Fachbereiche enthält für jeden Fachbereich, in der sich der Student eingeschrieben hat, eine Zeile. So wächst die Tabelle nicht in die Breite sondern in die Länge. Bei diesem Tabellenaufbau muss die Struktur nicht verändert werden. Die Matrikelnummer ist in dieser Tabelle Fremdschlüssel.
Die Informationen über einen Student sind nun logisch voneinander getrennt. In Tabelle 1 tauchen nur persönliche Daten der Studenten auf, in der Tabelle 2 nur Informationen zum Studium derselbigen. Die Werte in beiden Tabellen sind atomar und erfüllen dadurch die erste Normalform.
Access 2003 Grundlagen Seite 16
Michel Beger
3.9.2 Zweite Normalform (2. NF):
Eine Tabelle befindet sich in der zweiten Normalform, wenn sie sich in der ersten Normalform befindet
jede Tabellenzeile nur Informationen enthält, die sich auf das Subjekt (Student) beziehen, das durch den Primärschlüssel (Matrikelnummer) dargestellt wird
Unsere Tabelle 1 (persönliche Daten) erfüllt die erste Normalform, jedoch nicht die zweite Bedingung, nämlich dass alle Felder direkt vom Primärschlüssel abhängig sind. Die folgende Tabelle verstößt offensichtlich gegen die zweite Normalform.
Das Feld Gebäude hat nichts mit der Matrikelnummer zu tun, und gehört in eine andere Tabelle. Dies wäre ein grober Verstoß gegen den logischen Aufbau einer Datenbank, der auch schnell auffallen würde.
3.9.3 Dritte Normalform (3. NF)
Die 3. Normalform enthält die Forderungen dass die zweite Normalform muss erfüllt sein
dass alle Spalten nur einmal vorkommen dürfen und alle Spalten, die nicht den Primärschlüssel bilden, voneinander unabhängig sein müssen
In dieser Tabelle persönliche Daten kommen zwar alle Spalten nur einmal vor, jedoch ist die Spalte Postleitzahl direkt mit der Spalte Ort verbunden. Sie sind von einander abhängig. Deshalb Access 2003 Grundlagen Seite 17
Michel Beger
muss man eigentlich eine eigene Tabelle nur mit PLZ und Ort haben (die gibt es auch im Internet) und in die Tabelle schreibt man nur die PLZ hinein. Der passende Ort wird sich dann aus der anderen Tabelle kopiert.
Die Tabelle persönliche Daten die alle drei Normalformen erfüllt sieht dann so aus:
3.10 Indizes
Indizes sind Zusätze, die man in einer Tabelle definieren kann, um Such- und Sortieroptionen zu beschleunigen. Wenn man in eine Tabelle für ein oder mehrere Felder einen Index (Einzahl von Indizes, also dasselbe) definiert, speichert das Datenbanksystem spezielle Informationen über diesen Index in einer getrennten, nicht sichtbaren Systemtabelle.
Mit dem Index kann man z.B. eine bestimmte Reihenfolge der Datensätze definieren, nämlich ab-oder aufsteigend. Ist die Tabelle einmal nach einem bestimmten Kriterium sortiert, merkt sich das Access, weswegen man immer schnell auf die Daten zurückgreifen kann. Sucht man einen bestimmten Wert in einer schon sortierten Spalte, läuft dies wesentlich schneller ab, als bei unsortierten Tabellen, weil das Programm nicht die große sichtbare Tabelle sortiert, sondern die unsichtbare nur zweispaltige Systemtabelle.
Es gibt aber auch Nachteile. Das Suchen und Sortieren läuft zwar schneller, gibt man jedoch neue Daten in die Ausgangstabelle ein, aktualisiert Access gleichzeitig die Systemtabelle. Das verzögert den Eingabeprozess.
Man sollte also mit Indizes sparsam umgehen und sie nur dort definieren, wo es Sinn macht. Primärschlüssel und Indizes haben ein festes Verhältnis :
Ein Primärschlüssel einer Tabelle ist auch immer ein Index. Das wird vom Programm bei der Festlegung des Schlüssels automatisch vorgenommen Umgekehrt muss ein Index nicht Primärschlüssel sein.
Indizes können in mehreren Feldern gesetzt werden, also mehrere Kriterien bilden, nach denen die Daten einer Tabelle sortiert werden sollen. Dafür muss man festlegen, nach welchem Kriterium die Tabelle zuerst sortiert werden soll. Ist die Tabelle nach dem ersten Kriterium sortiert, wird sie nach dem zweiten Kriterium sortiert usw. Beispiel:
Access 2003 Grundlagen Seite 18
Michel Beger
Ein aufsteigend sortierter Index auf die Felder Nachname, Vorname, Geburtsdatum sortiert nach dem Nachnamen, bei gleichem Nachnamen nach Vornamen, bei gleichem Nach- und Vorname, nach Geburtsdatum.
Die Reihenfolge der Felder wird bei der Definition des Indizes festgelegt. Indizes können Duplikate, also zweimal den selben Wert in einem Feld, zulassen oder auch nicht. Im letzteren Fall funktioniert er wie ein Primärschlüssel, da dann ein Wert nur einmal eingegeben werden kann.
Access 2003 Grundlagen Seite 19
Michel Beger
Die Benutzeroberfläche von Access 2003 4
4.1 Die Oberfläche nach dem Start von Access 2003
Nach dem Start von Access erscheint die Oberfläche von Access auf dem Bildschirm. Zu sehen gibt es erst einmal nicht viel
Der Startbildschirm ist sehr übersichtlich: nur die Menüzeile am oberen Rand und einen Kasten am rechten Rand, der sich Aufgabenbereich nennt, hier mit "Erste Schritte" betitelt ist.
Access 2003 Grundlagen Seite 20
Unter Erste Schritte Neue Datei kann man eine neue Datenbank öffnen. Weiterhin kann man durch Eingabe einer Frage die Access -Hilfe aktivieren und unter dem Menü Öffnen schon vorhandene Datenbanken öffnen.
Legt man eine neue, leere Datenbank an, dann passiert etwas, das man von Word oder Excel nicht kennt. Access fordert einen auf, die noch gar nicht erstellte Datenbank zu benennen und zu speichern. Das liegt daran, dass später bei der Dateneingabe in eine Tabelle nicht mehr separat gespeichert wird. Sobald man einen Datensatz fertig eingegeben hat, wird dieser auf der Festplatte gespeichert. Deswegen braucht Access den Dateinamen schon beim Erstellen. Es ist gut, wenn man sich an dieser Stelle daran gewöhnt, den Dateinamen der Datenbank, in der man seine Tabellen anlegt im Präfix mit tab_ zu benennen. So kann man sie später auseinander halten von der Datenbank, in der die Aufbereitung der Daten passiert.
Access 2003 Grundlagen Seite 21
Hier kann man einen Namen für die neue Datei vergeben.
Vergibt man einen Namen und speichert ab, öffnet sich automatisch das in der Abbildung zu sehende Menüfenster. Über dieses Übersichtsmenü (Datenbankfenster) können die verschiedenen Objekte (Tabellen, Abfragen, Formulare etc.) und Ansichtsmöglichkeiten (Entwurfsansicht, Druckansicht) von Access geöffnet werden.
Leider hat Microsoft Access an dieser Stelle eine Hilfe eingebaut, die eher verwirrt: Neben den Objekten sieht man auch drei Befehle im Fenster des Containers. Diese Befehle bewirken das Gleiche, wie die in der Menüleiste des Containers. In einem Fenster sind normalerweise immer nur Objekte angeordnet, jedoch keine Befehle wie hier. Es entspricht also nicht der Logik eines Fensteraufbaus. Dies kann man unter Extras " Optionen " Ansicht " ‚Neue Objektverknüpfung' ändern.
Access 2003 Grundlagen Seite 22
Eine leere neue Datenbank
Klickt man dort das Häkchen weg, verschwinden die Befehle aus dem Fenster und es öffnet sich das zu sehende Fenster ‚Neue Tabelle'.
Access 2003 Grundlagen Seite 23
Übersichtsmenü mit Fenster ‚Neue Tabelle'
Über dieses Fenster hat man auf viel mehr Befehle Zugriff, als bei der vorherigen Einstellung. Mit dem markierten Button ‚Neu' in der Menüleiste kann das Fenster geöffnet werden.
4.2 Was es sonst noch so gibt
Schaut man sich die linke Containerseite an, sieht man eine Auflistung verschiedener Objekte. Die Objekte haben folgende Funktionen:
Arbeit zitieren:
Michel Beger, 2008, Seminarunterlage Access 2003, München, GRIN Verlag GmbH
Dieser Text kann über folgende URL aufgerufen und zitiert werden:
Einbetten
DOI
Formatvorlage (Microsoft Word) für eine Diplomarbeit, Masterarbeit, Ha...
Für MS Word 2003 - Update 2010
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 25 Seiten
Formatvorlage (OpenOffice) für eine Diplomarbeit, Masterarbeit, Hausar...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 35 Seiten
Formatvorlage / Vorlage zur Erstellung einer Diplomarbeit, Bachelorarb...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 15 Seiten
Formatvorlage / Vorlage für eine Diplomarbeit / Hausarbeit
Für MS Word 2007 - dotx
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 25 Seiten
Anleitung zum Erstellen schriftlicher Arbeiten: Der Aufbau einer wisse...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 20 Seiten
Erstellen einer schriftlichen Hausarbeit
Vorlagen, Muster, Formulare, Infobroschüren
Hausarbeit, 14 Seiten
Grundtechniken wissenschaftlichen Arbeitens
Bibliografieren - Reden - Schr...
Vorlagen, Muster, Formulare, Infobroschüren
Skript, 46 Seiten
Ratgeber zur Erstellung wissenschaftlicher Arbeiten. Diplomarbeiten - ...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 39 Seiten
Michel Beger's Text Seminarunterlage Access 2003 ist nun auf dem Buchmarkt erhältlich
Michel Beger hat den Text Seminarunterlage Access 2003 veröffentlicht
Michel Beger hat einen neuen Text hochgeladen
Excel - Access - PowerPoint 2003
für berufliche Schulen Schüler...
Olaf Apel, Stefan Lorscheid, Markus Peters
Microsoft Office Access 2003 paso a paso
Online Training Solutions Inc, María Inés Carbonel Ayuso
0 Kommentare