(C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung (C) Hans Hutzler Hans.Hutzler@arcor.de
Was ist ein Datenbanksystem? (Datensammlung) Datenbankprogramm (z.B. MS Access) +
Was ist eine Datenbank? Bezeichner Nr Name Vorname Strasse, Nr PLZ, Ort Telefon 1 Adamow Albert Aalstr. 17 45877 Essen 0201-555470 2 Basolew Berta Bohlweg 8 45887 Essen 0201-885522 3 Dorsch Dorle Dünenweg 9 44137 Dortmund 0231-995544 Geordnete Sammlung (vieler) gleich strukturierter Daten z.B. in Form einer Tabelle
Was ist eine Datenbanktabelle? Bezeichner Nr Name Vorname Strasse, Nr PLZ, Ort Telefon 1 Adamow Albert Aalstr. 17 45877 Essen 0201-555470 2 Basolew Berta Bohlweg 8 45887 Essen 0201-885522 3 Dorsch Dorle Dünenweg 9 44137 Dortmund 0231-995544 Datensatz (Record) Geordnete Sammlung (vieler) gleich strukturierter Daten z.B. in Form einer Tabelle
Was ist eine Datenbanktabelle? Nr Name Vorname Strasse, Nr PLZ, Ort Telefon 1 Adamow Albert Aalstr. 17 45877 Essen 0201-555470 2 Basolew Berta Bohlweg 8 0201-885522 3 Dorsch Dorle Dünenweg 9 44137 Dortmund 0231-995544
Was ist eine Datenbanktabelle? Nr Name Vorname Strasse, Nr PLZ, Ort Telefon 1 Adamow Albert Aalstr. 17 45877 Essen 0201-555470 2 Basolew Berta Bohlweg 8 0201-885522 3 Dorsch Dorle Dünenweg 9 44137 Dortmund 0231-995544 PLZ Ort 45877 Essen 44137 Dortmund ´Redundanz´ Jede Datenbank besteht aus mehreren Tabellen
Access starten und beenden Neu: Leere Datenbank
Access starten und beenden Bereits am Anfang muss schon der Dateiname angegeben werden, da alle Eintragungen unmittelbar gespeichert werden
Access starten und beenden
Entwurfsansicht aktivieren Tabelle erstellen Entwurfsansicht aktivieren
Feldnamen und zugehörige Datentypen eingeben Tabelle erstellen Feldnamen und zugehörige Datentypen eingeben
Datentypen: Text / Memo Maximal 255 beliebige Zeichen Sortierung möglich Maximal 65535 beliebige Zeichen Sortierung nur nach den ersten 255 Zeichen
Datentyp: Zahl
Wie werden Zahlen gespeichert? Mantisse Jeder Dezimalzahl lässt sich mit geeigneten Exponenten so darstellen, dass alle Vorkommastellen Null und die erste Nachkommastelle von Null verschieden ist. Exponent 3245,77 = 0,34577·103 Dies gilt auch für Dualzahlen: 100111,101 = 0,100111101·26 Mantisse Exponent
Wie wird der Single-Typ gespeichert? 100111,101 = 0,100111101·26 00000110 10011110 10000000 00000000
Wie wird der Single-Typ gespeichert? 00000110 10011110 10000000 00000000 Da diese Stelle laut Definition 1 sein muss, ist diese redundant und kann statt dessen mit dem Vorzeichen der Zahl belegt werden: 0 für positiv und 1 für negativ
Wie wird der Single-Typ gespeichert? Wird der Exponent größer, so wird das darstellbare Zahlenintervall größer Wird die Mantisse länger, so werden die Zahlen genauer! 00000110 10011110 10000000 00000000 Double-Typ: 16 Bit für den Exponenten und 48 Bit für die Mantisse Größere und genauere Zahlen
Datentypen: AutoWert Eindeutige, nur für diesen Datensatz vom System vergebene LongInt-Zahl (z.B. Identifikationsnummern, Artikelnummern, etc.)
Datentyp: sonstige Währung (richtet sich nach Ländereinstellung) Datum/Uhrzeit (verschiedene Formate) Ja/Nein (Haken) OLE (Object Linking and Embedding z.B. Bild) Hyperlink (z.B. Aufruf einer Web-Site) Nachschlags-Assistent (zum Erstellen von Auswahlwerten)
Beispiel Übungsdatenbank „Nordwind“ Hierbei handelt es sich um eine Microsoft Übungsdatenbank zum Erlernen von Access Dargestellt wird dabei die Verwaltung von Bestellungen eines Großhandels-Unternehmens
Nordwind-Tabellen
Kunden-Tabelle
Abfrage
Abfrage nach Ort Umschalten auf Datenblattansicht Es sollen nur drei Felder des Datensatzes angezeigt werden. Der betreffende Kunde soll aus London kommen
Abfrage nach Ort Ort = London!
Abfrage nach Ort Umschalten auf Datenblattansicht Alternativ soll Madrid ausgewählt werden
Abfrage nach Alternativ-Ort London oder Madrid
Ein UND-Kriterium soll erfüllt werden Abfragen Ein UND-Kriterium soll erfüllt werden
Abfragen
Kunden-Formular
Kunden-Formular
Rechte-Maus-Klick : „Eigenschaften“ Kunden-Formular Rechte-Maus-Klick : „Eigenschaften“
Datenherkunft: Tabelle „Kunde“ Kunden-Formular Datenherkunft: Tabelle „Kunde“
Gewünschte Felder in Detailbereich ziehen Kunden-Formular Gewünschte Felder in Detailbereich ziehen
Mit „Autoformat“ lässt sich das Design ändern Kunden-Formular Mit „Autoformat“ lässt sich das Design ändern
Kunden-Formular
Berichte
Beziehungen Einfache Beziehungen Beziehungen sind notwendig, um die Daten eines Datensatzes, die in relationalen Datenbankkonzepten in verschiedenen Tabellen (=´Master- und Detailtabellen´) gespeichert sind, wieder zusammenhängend darstellen zu können – sei es in Abfragen, Formularen oder Berichten. Einfache Beziehungen Beziehungen mit referentieller Integrität Referentielle Integrität mit Aktualisierungsweitergabe an den Detaildatensatz Referentielle Integrität mit Löschweitergabe an den Detaildatensatz.
Einfache Beziehungen 1:1 - Beziehungen 1:N - Beziehungen Jedem Datensatz in der Haupttabelle ist genau ein Datensatz in der Detailtabelle zugeordnet. 1:1 - Beziehungen 1:N - Beziehungen M:N - Beziehungen Jedem Datensatz in der Haupttabelle sind mehrere Datensätze in der Detailtabelle zugeordnet. Mehreren Datensätzen in der Haupttabelle sind mehrere Datensätze in der Detailtabelle zugeordnet.
´1:1´ Jeder Bundesbürger hat genau eine Personalausweisnummer Jeder Mensch hat einen charakteristischen Fingerabdruck Jeder Studierende eine Studiennummer Jeder Pkw hat ein charakteristisches Kennzeichen Jedes Vereinsmitglied hat eine Mitgliedsnummer Jeder Kunde hat eine Kundennummer
´1:N´ Jeder Mathematik-Lehrer unterrichtet in mehreren Klassen, aber jede Klasse hat nur einen Mathematiklehrer Jeder Mensch kann mehrere Pkw besitzen, aber jeder Pkw gehört nur einer bestimmten Person Ein Kundenbetreuer betreut mehrere Kunden, aber jeder Kunde hat genau einen Kundenbetreuer
´M:N´ Jeder Lehrer hat mehrere Schüler und jeder Schüler hat mehrere Lehrer Jeder Laden verkauft mehrere Artikel und jeder Artikel wird in mehreren Läden verkauft Eine Bank betreut mehrere Kunden und jeder Kunde kann mehrere Banken besuchen In Access nur möglich mit Hilfe einer Zuordnungstabelle
Beziehungen mit referentieller Integrität In Beziehungen mit referentieller Integrität stellt Access sicher, dass zu jedem Datensatz in der Detailtabelle ein passender Datensatz in der Mastertabelle vorhanden ist. Halter Pkw Jeder in die Tabelle Pkw eingefügte Datensatz muss einen gültigen Halter-Code besitzen. Es darf kein Halter gelöscht werden, zu dem noch Pkw in der Datenbank vorliegen. Sobald zu einem Halter Pkw angelegt wurden, kann sein Halter-Code in der Mastertabelle nicht geändert werden.
Referentielle Integrität mit Aktualisierungsweitergabe In Beziehungen, für die eine referentielle Integrität mit Aktualisierungsweitergabe eingerichtet wurde, reicht das Datenbanksystem Änderungen am Primärschlüssel der Mastertabelle an die entsprechenden Verknüpfungsfelder der Detailtabelle weiter. Ändert sich in unserem Beispiel also einmal der Halter-Code in einem Datensatz der Mastertabelle, so wird diese Änderung in jedem Datensatz der Detailtabelle Pkw nachvollzogen, der eben diesen Halter-Code besitzt. So bleibt der Zusammenhang der Daten erhalten. Dies geschieht völlig automatisch und transparent für den Benutzer.
Referentielle Integrität mit Löschweitergabe Auch für den Fall des Löschens auf der Master-Seite in verknüpften Tabellen gibt es die Möglichkeit einer Weitergabe. Wird in Beziehungen, die mit einer Löschweitergabe eingerichtet wurden, ein Datensatz aus der Mastertabelle entfernt, so löscht Access die dazu gehörenden Detaildatensätze ebenfalls. Das Löschen eines Halterdatensatzes würde in unserem Beispiel also das Löschen der verknüpften Pkwdaten nach sich ziehen. Vorsicht: Eine Löschweitergabe kann fatale Folgen haben. Beispielsweise dann, wenn beim Löschen eines Kundendatensatzes unbemerkt auch noch offene Rechnungen gelöscht werden.
Durchführung ´Beziehungen´-Icon
Durchführung
Durchführung
Welche Tabellen braucht man? Beispiel: Schule Ein Lehrer unterrichtet mehrere Fächer Eine Klasse wird in mehreren Fächern unterrichtet Jede Klasse hat mehrere Schüler Welche Tabellen braucht man?
Zuordnungstabellen für M:N-Beziehungen: Lehrer-Fach, Fach-Klasse Beispiel: Schule Ein Lehrer unterrichtet mehrere Fächer Eine Klasse wird in mehreren Fächern unterrichtet Jede Klasse hat mehrere Schüler Zuordnungstabellen für M:N-Beziehungen: Lehrer-Fach, Fach-Klasse
Beispiel: Schule