Microsoft Access

Werbung
Microsoft Access
Einführung
(C) Hans Hutzler
[email protected]
Was ist ein Datenbanksystem?
Datenbank
(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
45877 Essen
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
45877 Essen
0201-885522
3
Dorsch
Dorle
Dünenweg 9
44137 Dortmund
0231-995544
PLZ
Ort
45877
Essen
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
Tabelle erstellen
Entwurfsansicht
aktivieren
Tabelle erstellen
Feldnamen und
zugehörige
Datentypen
eingeben
Datentypen: Text / Memo
Text
•Maximal 255 beliebige Zeichen
•Sortierung möglich
Memo
•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
Exponent
darstellen, dass alle Vorkommastellen Null und die
erste
Nachkommastelle von Null verschieden ist.
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ßhandelsUnternehmens
Nordwind-Tabellen
Kunden-Tabelle
Abfrage
Umschalten auf
Datenblattansicht
Abfrage nach Ort
Es sollen nur drei Felder
des Datensatzes
angezeigt werden.
Der betreffende Kunde
soll aus London
kommen
Abfrage nach Ort
Ort = London!
Umschalten auf
Datenblattansicht
Abfrage nach Ort
Alternativ soll
Madrid
ausgewählt
werden
Abfrage nach Alternativ-Ort
London oder
Madrid
Abfragen
Ein UNDKriterium soll
erfüllt werden
Abfragen
Kunden-Formular
Kunden-Formular
Kunden-Formular
Rechte-MausKlick :
„Eigenschaften“
Kunden-Formular
Datenherkunft:
Tabelle „Kunde“
Kunden-Formular
Gewünschte Felder
in Detailbereich
ziehen
Kunden-Formular
Mit „Autoformat“
lässt sich das
Design ändern
Kunden-Formular
Berichte
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
•
•
•
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
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?
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
Herunterladen