(C) Hans Hutzler [email protected] Microsoft Access Einführung.
-
Upload
karl-schmitzer -
Category
Documents
-
view
218 -
download
0
Transcript of (C) Hans Hutzler [email protected] Microsoft Access Einführung.
(C) Hans Hutzler Hans.Hutzler@arc(C) Hans Hutzler [email protected]
Microsoft AccessMicrosoft AccessEinführungEinführung
Was ist ein Was ist ein Datenbanksystem?Datenbanksystem?
Datenbank(Datensammlun
g)
Datenbankprogramm
(z.B. MS Access)+
Was ist eine Datenbank?Was ist eine Datenbank?
Geordnete Sammlung (vieler) gleich strukturierter Daten z.B. in Form einer Tabelle
NrNr NameName VornameVorname Strasse, Strasse, NrNr
PLZ, OrtPLZ, Ort TelefonTelefon
11 AdamowAdamow AlbertAlbert Aalstr. 17Aalstr. 17 45877 Essen45877 Essen 0201-0201-555470555470
22 BasolewBasolew BertaBerta Bohlweg 8Bohlweg 8 45887 Essen45887 Essen 0201-0201-885522885522
33 DorschDorsch DorleDorle Dünenweg 9Dünenweg 9 44137 44137 DortmundDortmund
0231-0231-995544995544
Bezeichner
Was ist eine Was ist eine Datenbanktabelle?Datenbanktabelle?
Geordnete Sammlung (vieler) gleich strukturierter Daten z.B. in Form einer Tabelle
NrNr NameName VornameVorname Strasse, Strasse, NrNr
PLZ, OrtPLZ, Ort TelefonTelefon
11 AdamowAdamow AlbertAlbert Aalstr. 17Aalstr. 17 45877 Essen45877 Essen 0201-0201-555470555470
22 BasolewBasolew BertaBerta Bohlweg 8Bohlweg 8 45887 Essen45887 Essen 0201-0201-885522885522
33 DorschDorsch DorleDorle Dünenweg 9Dünenweg 9 44137 44137 DortmundDortmund
0231-0231-995544995544Datensat
z (Record)
Bezeichner
Was ist eine Was ist eine Datenbanktabelle?Datenbanktabelle?
NrNr NameName VornameVorname Strasse, Strasse, NrNr
PLZ, OrtPLZ, Ort TelefonTelefon
11 AdamowAdamow AlbertAlbert Aalstr. 17Aalstr. 17 45877 Essen45877 Essen 0201-0201-555470555470
22 BasolewBasolew BertaBerta Bohlweg 8Bohlweg 8 45877 Essen45877 Essen 0201-0201-885522885522
33 DorschDorsch DorleDorle Dünenweg 9Dünenweg 9 44137 44137 DortmundDortmund
0231-0231-995544995544
Was ist eine Was ist eine Datenbanktabelle?Datenbanktabelle?
NrNr NameName VornameVorname Strasse, Strasse, NrNr
PLZ, OrtPLZ, Ort TelefonTelefon
11 AdamowAdamow AlbertAlbert Aalstr. 17Aalstr. 17 45877 Essen45877 Essen 0201-0201-555470555470
22 BasolewBasolew BertaBerta Bohlweg 8Bohlweg 8 45877 Essen45877 Essen 0201-0201-885522885522
33 DorschDorsch DorleDorle Dünenweg 9Dünenweg 9 44137 44137 DortmundDortmund
0231-0231-995544995544
PLZPLZ OrtOrt4587745877 EssenEssen
4587745877 EssenEssen
4413744137 DortmundDortmund
´Redundanz´
Jede Datenbank besteht aus mehreren
Tabellen
Access starten und beendenAccess starten und beenden
Neu: Leere
Datenbank
Access starten und beendenAccess starten und beendenBereits am
Anfang muss schon
der Dateiname angegeben werden, da
alle Eintragung
en unmittelbar gespeichert
werden
Access starten und beendenAccess starten und beenden
Tabelle erstellenTabelle erstellenEntwurfsansicht aktivieren
Tabelle erstellenTabelle erstellenFeldnamen und
zugehörige Datentypen eingeben
Datentypen: Text / MemoDatentypen: Text / MemoTextText MemoMemo
•Maximal 255 beliebige Maximal 255 beliebige Zeichen Zeichen •Sortierung möglichSortierung möglich
•Maximal 65535 beliebige Maximal 65535 beliebige ZeichenZeichen•Sortierung nur nach den Sortierung nur nach den ersten 255 Zeichenersten 255 Zeichen
Datentyp: ZahlDatentyp: Zahl
Wie werden Zahlen Wie werden Zahlen gespeichert?gespeichert?
Jeder Dezimalzahl lässt sich mit geeigneten Exponenten so darstellen, dass alle Vorkommastellen Null und die erste
Nachkommastelle von Null verschieden ist.
Dies gilt auch für Dualzahlen:
100111,101 = 0,100111101·26
3245,77 = 0,34577·103
Mantisse
Mantisse
Exponent
Exponent
Wie wird der Single-Typ Wie wird der Single-Typ gespeichert?gespeichert?
100111,101 = 0,100111101·26
00000110
10011110
10000000
00000000
Wie wird der Single-Typ Wie wird der Single-Typ gespeichert?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 Wie wird der Single-Typ gespeichert?gespeichert?
00000110
10011110
10000000
00000000
Wird der Exponent größer, so wird das darstellbare Zahlenintervall
größerWird die Mantisse länger, so werden
die Zahlen genauer!
Double-Typ: 16 Bit für den Exponenten und 48 Bit für die Mantisse
Größere und genauere Zahlen
Datentypen: AutoWertDatentypen: AutoWert
Eindeutige, nur für diesen Datensatz vom System vergebene LongInt-
Zahl(z.B. Identifikationsnummern,
Artikelnummern, etc.)
Datentyp: sonstigeDatentyp: sonstige• Währung (richtet sich nach Ländereinstellung)Währung (richtet sich nach Ländereinstellung)• Datum/Uhrzeit (verschiedene Formate)Datum/Uhrzeit (verschiedene Formate)• Ja/Nein (Haken)Ja/Nein (Haken)• OLE (Object Linking and Embedding z.B. Bild)OLE (Object Linking and Embedding z.B. Bild)• Hyperlink (z.B. Aufruf einer Web-Site)Hyperlink (z.B. Aufruf einer Web-Site)• Nachschlags-Assistent (zum Erstellen von Nachschlags-Assistent (zum Erstellen von
Auswahlwerten)Auswahlwerten)
Beispiel Übungsdatenbank Beispiel Übungsdatenbank „Nordwind“„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-TabellenNordwind-Tabellen
Kunden-TabelleKunden-Tabelle
AbfrageAbfrage
Abfrage nach OrtAbfrage nach Ort
Es sollen nur drei Felder des
Datensatzes angezeigt werden.
Der betreffende Kunde soll aus
London kommen
Umschalten auf Datenblattansic
ht
Abfrage nach OrtAbfrage nach Ort
Ort = London!
Abfrage nach OrtAbfrage nach Ort
Alternativ soll Madrid
ausgewählt werden
Umschalten auf Datenblattansic
ht
Abfrage nach Alternativ-OrtAbfrage nach Alternativ-Ort
London oder Madrid
AbfragenAbfragen
Ein UND-Kriterium soll erfüllt werden
AbfragenAbfragen
Kunden-FormularKunden-Formular
Kunden-FormularKunden-Formular
Kunden-FormularKunden-Formular
Rechte-Maus-Klick :
„Eigenschaften“
Kunden-FormularKunden-Formular
Datenherkunft: Tabelle „Kunde“
Kunden-FormularKunden-FormularGewünschte Felder in
Detailbereich ziehen
Kunden-FormularKunden-Formular
Mit „Autoformat“ lässt sich das Design ändern
Kunden-FormularKunden-Formular
BerichteBerichte
BeziehungenBeziehungen
• Einfache Beziehungen Einfache Beziehungen • Beziehungen mit referentieller Integrität Beziehungen mit referentieller Integrität • Referentielle Integrität mit Referentielle Integrität mit
Aktualisierungsweitergabe an den Aktualisierungsweitergabe an den Detaildatensatz Detaildatensatz
• Referentielle Integrität mit Löschweitergabe an Referentielle Integrität mit Löschweitergabe an den Detaildatensatz. den Detaildatensatz.
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 BeziehungenEinfache Beziehungen
• 1:1 - Beziehungen 1:1 - Beziehungen • 1:N - Beziehungen 1:N - Beziehungen • M:N - Beziehungen M:N - Beziehungen
Jedem Datensatz in der Haupttabelle ist genau ein Datensatz in der Detailtabelle
zugeordnet.
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´´1:1´Jeder Bundesbürger hat genau eine
PersonalausweisnummerJeder 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´´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´´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 Beziehungen mit referentieller IntegritätIntegrität
• Jeder in die Tabelle Jeder in die Tabelle PkwPkw eingefügte Datensatz muss einen gültigen eingefügte Datensatz muss einen gültigen HalterHalter-Code besitzen. -Code besitzen.
• Es darf kein Es darf kein HalterHalter gelöscht werden, zu dem noch gelöscht werden, zu dem noch PkwPkw in der in der Datenbank vorliegen. Datenbank vorliegen.
• Sobald zu einem Sobald zu einem Halter PkwHalter Pkw angelegt wurden, kann sein angelegt wurden, kann sein HalterHalter--Code in der Mastertabelle nicht geändert werden.Code in der Mastertabelle nicht geändert werden.
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
Referentielle Integrität mit Referentielle Integrität mit Aktualisierungsweitergabe 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 Referentielle Integrität mit LöschweitergabeLö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ührungDurchführung
´Beziehungen´-Icon
DurchführungDurchführung
DurchführungDurchführung
Beispiel: SchuleBeispiel: Schule
• Ein Lehrer unterrichtet mehrere FächerEin Lehrer unterrichtet mehrere Fächer• Eine Klasse wird in mehreren Fächern unterrichtetEine Klasse wird in mehreren Fächern unterrichtet• Jede Klasse hat mehrere SchülerJede Klasse hat mehrere Schüler
Welche Tabellen braucht man?
Beispiel: SchuleBeispiel: Schule
• Ein Ein LehrerLehrer unterrichtet mehrere unterrichtet mehrere FächerFächer• Eine Eine KlasseKlasse wird in mehreren Fächern unterrichtet wird in mehreren Fächern unterrichtet• Jede Klasse hat mehrere Jede Klasse hat mehrere SchülerSchüler
Zuordnungstabellen für M:N-Beziehungen: Lehrer-Fach, Fach-Klasse
Beispiel: SchuleBeispiel: Schule