(C) Hans Hutzler [email protected] Microsoft Access Einführung.

51
(C) Hans Hutzler Hans.Hu (C) Hans Hutzler Hans.Hu [email protected] [email protected] Microsoft Access Microsoft Access Einführung Einführung

Transcript of (C) Hans Hutzler [email protected] Microsoft Access Einführung.

Page 1: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

(C) Hans Hutzler Hans.Hutzler@arc(C) Hans Hutzler [email protected]

Microsoft AccessMicrosoft AccessEinführungEinführung

Page 2: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

Was ist ein Was ist ein Datenbanksystem?Datenbanksystem?

Datenbank(Datensammlun

g)

Datenbankprogramm

(z.B. MS Access)+

Page 3: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

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

Page 4: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

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

Page 5: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

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

Page 6: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

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

Page 7: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

Access starten und beendenAccess starten und beenden

Neu: Leere

Datenbank

Page 8: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

Access starten und beendenAccess starten und beendenBereits am

Anfang muss schon

der Dateiname angegeben werden, da

alle Eintragung

en unmittelbar gespeichert

werden

Page 9: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

Access starten und beendenAccess starten und beenden

Page 10: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

Tabelle erstellenTabelle erstellenEntwurfsansicht aktivieren

Page 11: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

Tabelle erstellenTabelle erstellenFeldnamen und

zugehörige Datentypen eingeben

Page 12: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

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

Page 13: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

Datentyp: ZahlDatentyp: Zahl

Page 14: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

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

Page 15: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

Wie wird der Single-Typ Wie wird der Single-Typ gespeichert?gespeichert?

100111,101 = 0,100111101·26

00000110

10011110

10000000

00000000

Page 16: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

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

Page 17: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

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

Page 18: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

Datentypen: AutoWertDatentypen: AutoWert

Eindeutige, nur für diesen Datensatz vom System vergebene LongInt-

Zahl(z.B. Identifikationsnummern,

Artikelnummern, etc.)

Page 19: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

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)

Page 20: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

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

Page 21: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

Nordwind-TabellenNordwind-Tabellen

Page 22: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

Kunden-TabelleKunden-Tabelle

Page 23: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

AbfrageAbfrage

Page 24: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

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

Page 25: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

Abfrage nach OrtAbfrage nach Ort

Ort = London!

Page 26: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

Abfrage nach OrtAbfrage nach Ort

Alternativ soll Madrid

ausgewählt werden

Umschalten auf Datenblattansic

ht

Page 27: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

Abfrage nach Alternativ-OrtAbfrage nach Alternativ-Ort

London oder Madrid

Page 28: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

AbfragenAbfragen

Ein UND-Kriterium soll erfüllt werden

Page 29: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

AbfragenAbfragen

Page 30: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

Kunden-FormularKunden-Formular

Page 31: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

Kunden-FormularKunden-Formular

Page 32: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

Kunden-FormularKunden-Formular

Rechte-Maus-Klick :

„Eigenschaften“

Page 33: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

Kunden-FormularKunden-Formular

Datenherkunft: Tabelle „Kunde“

Page 34: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

Kunden-FormularKunden-FormularGewünschte Felder in

Detailbereich ziehen

Page 35: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

Kunden-FormularKunden-Formular

Mit „Autoformat“ lässt sich das Design ändern

Page 36: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

Kunden-FormularKunden-Formular

Page 37: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

BerichteBerichte

Page 38: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

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.

Page 39: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

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.

Page 40: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

´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

Page 41: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

´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

Page 42: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

´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

Page 43: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

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

Page 44: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

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.

Page 45: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

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.

Page 46: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

DurchführungDurchführung

´Beziehungen´-Icon

Page 47: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

DurchführungDurchführung

Page 48: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

DurchführungDurchführung

Page 49: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einfü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?

Page 50: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

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

Page 51: (C) Hans Hutzler Hans.Hutzler@arcor.de Microsoft Access Einführung.

Beispiel: SchuleBeispiel: Schule