Microsoft Access Grundkurs
Gliederung Einleitung Konzeption von relationalen Datenbanken ER-Modell, Normalisierung Erste Schritte in Access Tabellenbearbeitung Arbeiten mit Abfragen Arbeit mit Formularen Arbeit mit Berichten Datenaustausch mit anderen Office Programmen
Einleitung Datenbanken unter Windows: Access (Microsoft) FoxPro (Microsoft) Paradox und Delphi (Borland) dBase (Borland) Superbase Navision und andere Warum Access?  Weil Access die meistverbreitetste Datenbank ist, komfortabel zu bedienen und leistungsstark ist. Außerdem kann es zum Zugriff auf ODBC-fähige Datenbankserver wie Oracle, SQL-Server verwendet werden.
Grundbegriffe 1/5 Datenbank In einer Datenbank können Daten in Tabellen eingegeben werden, die sich auf einen gemeinsamen Themenbereich beziehen oder für einen bestimmten Zweck gedacht sind. Karteikasten  = Datenbank Karteikarte  = Datensatz Karteikartenfeld  = Datenfeld
Grundbegriffe 2/5 Datenbank  = Karteikasten = Tabelle(n) Datensatz  = Karteikarte  Datenfeld  = Karteikartenfeld
Grundbegriffe 3/5 D atenbank s ystem  (DBS) = D aten b ank /  D aten b asis  (DB) + D aten b ank  M anagement  S ystem  (DBMS) D aten b ank  M anagement  S ystem Ein System, das große Datenmengen in Tabellen speichert, verwaltet und den Zugriff auf die enthaltenen Daten regelt.
Grundbegriffe 4/5 Tabelle In einer Tabelle sind die eigentlichen Daten gespeichert. Sie besteht aus Spalten, denen jeweils ein Datentyp zugeordnet ist. Relationales Datenbankmodell Modell zur Strukturierung einer Datenbank: - relationale Datenbanken arbeiten mit mehreren Tabellen, - die mit Hilfe von Schlüsselfeldern miteinander verknüpft werden. andere Datenbankmodelle sind z.B. das hierarchische Datenbankmodell oder das objektorientierte Datenbankmodell.
Grundbegriffe 5/5 Abfrage Sicht (View) auf die Tabelle(n) einer Datenbank. Dabei können Einschränkungen an bestimmte Werte (filtern/suchen), Sortierung und Beschränkungen auf ein Teil der Spalten vorgenommen  werden.   SQL (Structed Query Language) Standartisierte Sprache, in der sich Abfragen und andere Datenbank- Operationen formulieren lassen.
Warum Datenbanken einsetzen? um Daten zentral und einheitlich zu halten um Daten schneller und einfacher zu finden um Speicherplatz zu sparen um Mehrbenutzerbetrieb zu ermöglichen um Datensicherheit zu erhöhen
Probleme beim DB-Entwurf beachten (1/3) Redundanz Redundanz liegt vor, wenn (manche) Datensätze und/oder Datenfelder, die in verschiedenen Tabellen benötigt werden, auch mehrfach gespeichert sind. Problem: unnötig hoher Speicherplatzbedarf Lösung: Mehrfachspeicherungen auflösen, Tabellen verknüpfen
Probleme beim DB-Entwurf beachten (2/3) Datenintegrität-/ Datenkonsistenzverletzung Datenintegrität und -konsistenz bedeutet, daß alle (mehrfach) gespeicherten Daten an allen Stellen den richtigen Inhalt haben müssen. Problem: bei mehrfach gespeicherten Daten führt eine Änderung an nur einer Stelle zu uneinheitlichen oder gar falschen Informationen. Lösung: Mehrfachspeicherungen auflösen, Tabellen verknüpfen
Probleme beim DB-Entwurf beachten (3/3) Synchronisation Auf Synchronisation muß geachtet werden wenn Daten von  mehreren Personen gleichzeitig genutzt werden sollen. Problem: gleichzeitige Änderungen Lösung: Zusammenfassung in einer Datenbank und Einrichtung einer Mehrbenutzerumgebung
schlechte Beispiele (1/3)   Die Speicherung von Kunden und Bestellungen soll erfolgen: Problem Nr. 1: mehrere Bestellnummern in einem Datenfeld schlecht !     z.B. Such- oder Sortieroperationen
schlechte Beispiele (2/3)   denkbare Lösung:  Mehrfachwerte in einzelne Felder auflösen Problem Nr. 2: mehrere nur feste Anzahl Bestellungen möglich    hier max. 4
schlechte Beispiele (3/3) denkbare Lösung:  pro Bestellung einen Zeileneintrag führen Problem Nr. 3: Redundanz – gleiche Kundeninformationen mehrfach gespeichert    unnötiger Speicherverbrauch Problem Nr. 4: Inkonsistenzgefahr – was passiert wenn bei gleichem Kundencode unterschiedliche Firmeneinträge?    Daten sind widersprüchlich und unzuverlässig
so geht‘s richtig – das gute Beispiel bessere Lösung:  Auflösung in 2 Tabellen Tabelle  KUNDEN Tabelle  BESTELLUNGEN  Jetzt liegt keine Redundanz mehr vor, da die Tabellen KUNDEN und BESTELLUNGEN mit Hilfe des Schlüsselfeldes  Kunden-Code  verknüpft sind. In der Tabelle BESTELLUNGEN können beliebig viele Bestellungen zu einem Kunden gespeichert werden, die mit zusätzlichen Informationen versehen sind.
was lernen wir daraus?   Wenn eine Datenbank neu entwickelt wird, sollte man sich  die Struktur der Datenbank sehr gründlich überlegen und planen . Die Leistungsfähigkeit einer Datenbank hängt zum größten Teil von der Vermeidung der vorgestellten Probleme ab. Zum professionellen Gestalten einer Datenbankstruktur wird häufig das  Entity-Relationship-Modell (ER-Modell)  eingesetzt.
Entity-Relationship-Modell (ERM)   Elemente des ERM: Entitäten Beziehungen Attribute
Entity-Relationship-Modell (ERM) Entität  (Entity) unterscheidbare (identifizierbare) Dinge aus der realen Welt z.B.: Objekte, Personen, Gegenstände Entitäten unterscheiden sich durch die Ausprägung ihrer jeweiligen Eigenschaften Entitätstyp (Entity-Typ) abstrakte Zusammenfassung aller Entitäten, die die gleiche Eigenschaftsstruktur  aufweisen Beispiele: Abteilung  FiBu Mitarbeiter  Meyer Projekt  6487 Beispiele.
Entity-Relationship-Modell (ERM) Beziehung (Relationship) Verknüpfung von Entitäten Beziehungen unterscheiden sich durch ihre jeweiligen Eigenschaften Beziehungstyp (Relationship-Typ) Beschreibung der numerischen Zusammenhänge zwischen den einzelnen Entitäten Beispiele: Mitarbeiter  Meyer arbeitet an  Projekt  6487 Mitarbeiter  Meyer gehört zu  Abteilung  FiBu 0 keine Zuordnung 1 genau eine Zuordnung n ,  m  viele Zuordnungen
Entity-Relationship-Modell (ERM) Attribute sind Eigenschaften einer Entität oder einer Beziehung bzw. später verschiedene Felder eines Datensatzes in Access. Beispiele:  Mitarbeiternummer, Mitarbeitername, Projektnummer, Projektname, Arbeitszeit Domäne   Wertebereich einer Eigenschaft / eines Attributs Beispiele:   Mitarbeiter: Mitarbeiternummer  1 – 9999 Mitarbeitername  max. 256 Zeichen /nicht leer arbeitet an: Arbeitszeit  0 - 999
Entity-Relationship-Modell (ERM)   Primärschlüssel   ermöglicht die eindeutige Identifizierung  einer Entität  setzt sich aus einem oder mehren  Attributen zusammen  wird grafisch durch Unterstreichung der  entsprechende Attribute gekennzeichnet
Entity-Relationship-Modell (ERM) Gesamtdarstellung Aussagen des abgebildeten ERMs: - ein Mitarbeiter gehört zu genau  1  Abteilung - zu einer Abteilung gehören  n  Mitarbeiter - ein Mitarbeiter arbeitet an  m  Projekten
Entity-Relationship-Modell (ERM) Vorgehensweise: Zu Beginn des Datenbankentwurfs müssen die  Entitäten  bzw.  Entitätstypen  bestimmt werden. 2.  Die  Beziehungen  bzw.  Beziehungstypen  zwischen den Entitäten müssen bestimmt und ihre  Kardinalitäten  (0, 1, n) müssen festgelegt werden. Die  Attribute  zu jeder Entität und jeder Beziehung müssen festgelegt werden. Dazu die zugehörigen Domänen. 4.  Für jeden Entitätstypen muß ein  Primärschlüssel  festgelegt  werden.
Relationenmodell vom ER-Modell zum Relationenmodell Form  TABELLENNAME ( Primärschlüssel , Attribut2, Attribut3, ...) Vorgehensweise zur Transformation 1. Aus jedem Entitätstypen kann eine Tabelle mit dem Namen des Entitätstypen abgeleitet werden. 2.  Jede 1: n-Beziehung schlägt sich nieder als identische Datenfelddefinition in den zugehörigen Tabellen. Jede n: m-Beziehung ergibt eine zusätzliche Tabelle, die aus den Primärschlüsseln der zugehörigen Tabellen im ER-Modell und Attributen der Beziehung besteht. Ihr Name muß sinnvoll neu gewählt werden. 4.  Beziehungen zwischen Tabellen werden notiert.
Relationenmodell ABTEILUNG ( Abteilungsnummer , Abteilungsname) MITARBEITER ( Mitarbeiternummer , Mitarbeitername, Abteilungsnummer) PROJEKTARBEIT ( Projektnummer ,  Mitarbeiternummer , Arbeitszeit) PROJEKT ( Projektnummer , Projektname)
Normalisierung von Daten Frage Wie komme ich zum guten relationalen Datenbankdesign? Antwort durch Normalisierung (3 Normalformen einhalten) Resultat   keine Redundanz    keine Inkonsistenzen    Integrität in und zwischen den Tabellen
1. Normalform Es sind zusätzliche Schlüsselfelder einzufügen. Jeder Datenwert muß durch Schlüsselfelder ermittelt werden können. Mehrfacheinträge Auflösen durch Duplizieren des Datensatzes so,  daß ein Datensatz für jeden Wert  des Mehrfacheintrages existiert. Jedem Datenfeld eines Daten- satzes darf höchstens ein Wert zugewiesen sein. D.h. es  dürfen keine Mehrfacheinträge in einem Datenfeld vorliegen. Lösung / Transformation Regel
1. Normalform Normalisierung Normalisierung
2. Normalform   Überprüfen und ggf. neue  Schlüsselfelder hinzufügen oder  zusammengesetzte Schlüssel  definieren. Jedes Nicht-Schlüsselfeld  muß durch ein Schlüsselfeld identi-  fizierbar sein und vom gesamten Schlüssel abhängen. Aufteilung in mehre Tabellen  nach Themen/ Informations- gebieten. Eine Tabelle enthält nur  Daten eines Themen- bzw. Informationsbereiches. zuvor anhand 1.NF normalisieren  Tabelle erfüllt die 1. Normalform  Lösung / Transformation Regel
2. Normalform
3. Normalform
Integritätsregeln Integrität auf Datenfeldebene Durch die Wahl von passenden Datenfeldtypen und durch die Angabe von Gültigkeitsregeln im Tabellenentwurf von Access sowie durch Nachschlagelisten (z.B. können die möglichen Werte  mit Kombinationsfeldern in Formularen eingegeben werden) kann  die Beschränkung auf Werte der zugehörigen Domäne erfolgen. Integrität auf Datensatzebene Durch den Normalisierungsprozeß ist die Datenintegrität auf Datensatzebene weitgehend sichergestellt. Integrität auf Beziehungsebene Eine relationale Beziehung besteht automatisch, wenn die Tabellen nach den Grundsätzen der relationalen Datenbank erstellt wurden. Das Einfügen oder Löschen von Datensätzen kann zu uner- wünschten Ergebnissen führen, vor allem zu Datensätzen, denen entsprechende in einer verknüpften Tabelle fehlen. Eine Problem- lösung wird durch referentielle Integrität erreicht.
Integritätsregeln Das Aktivieren der referentiellen Integrität alleine bewirkt schon, dass Datensätze nicht versehentlich geändert oder gelöscht werden wenn die Integrität dadurch verletzt würde. Es erfolgen dann Meldungen und die durchgeführte Änderung oder Löschung läßt sich nur dann ausführen, wenn zuvor alle verknüpften Daten ebenfalls geändert bzw. gelöscht wurden. Zusätzliche Optionen zur referentiellen Integrität bewirken eine Automatisierung dieser Vorgänge: „ Aktualisierungsweitergabe an Detailfeld“  bewirkt eine automatische analoge Änderung der verknüpften Felder im Detaildatensatz Beispiel:  würde die Projekt-Nr in der Tabelle Projekte für Projekt 2 auf 7  geändert, wird in allen Datensätzen der Tabelle Projektauswertung ebenfalls die Projektnummer 2 auf 7 geändert. „ Löschweitergabe an Detaildatensatz“  bewirkt das automatische Löschen von verknüpften Detaildatensätzen Beispiel:   wird in der Tabelle Projekt das Projekt mit der Projekt-Nr 22 gelöscht, werden in  der Tabelle Projektarbeit alle Datensätze mit Projekt-Nr 22 ebenfalls gelöscht.
Objekttypen in Access
Datentypen in Access (1/2) Numerische Typen 8 Bytes 15 Speichert Zahlen von –1.79769313486231E308 bis –4.94065645841247E–324  für negative Werte und von  4.94065645841247E–324 bis  1.79769313486231E308 für positive Werte. Double 4 Bytes 7 Speichert Zahlen von -3.402823E38  bis –1.401298E–45  für negative Werte und von 1.401298E–45 bis 3.402823E38 für positive Werte. Single 4 Bytes Keine (Voreinstellung) Speichert Zahlen von -2.147.483.648  bis 2.147.483.647 (keine Bruchzahlen). Long Integer 2 Bytes Keine Speichert Zahlen von -32.768 bis 32.767 (keine  Bruchzahlen). Integer 12 Byte 28 Speichert Zahlen von –10^38–1 bis 10^38–1 (ADP) Dezimal 1 Byte Keine Speichert Zahlen von 0 bis 255 (keine Bruchzahlen). Byte Speicher- größe Dezimale  Genauigkeit Beschreibung Einstellung
Datentypen in Access (2/2) Zeichenketten Typen Sonstige Typen Speicher- größe Beschreibung Einstellung Für Internet- adressen bis zu  2048 Zeichen. Alphanumerisches, interaktives Feld. Hyperlink Bis zu 65,535  Zeichen.  Langer Text oder Kombinationen aus Text und Zahlen. Memo Bis zu 255 Zeichen. (Voreinstellung) Text oder Kombinationen aus Text und  Zahlen und auch Zahlen, die keine Berechnungen erfordern,  z.B. Telefonnummern. Text Bis zu 1 Gigabyte  (durch den verfüg- baren Festplatten- speicher begrenzt). Ein Objekt (wie z.B. eine Microsoft Excel-Tabelle, ein Microsoft  Word-Dokument, Grafiken, Klänge oder andere binäre Daten),  das mit einer Microsoft Access-Tabelle  verknüpft  oder darin  eingebettet  ist. OLE-Objekt 1 Bit. Ja - und  Nein -Werte und -Felder, die nur einen von zwei Werten enthalten ( Ja/Nein ,  True/False  oder  Ein/Aus ). Ja/Nein 8 Byte. Datums- und Zeitwerte für die Jahre 100 bis 9999. Datum Uhrzeit
Leere Datenfelder Datenbanken können (physikalisch) keine leeren Felder enthalten. Es existiert daher der (virtuelle) Wert „ Null “, der ein leeres Feld  repräsentiert. Dieser Nullwert ist ein symbolischer Wert und ist nicht mit dem numerischen Wert Null gleichzusetzen. 0  ≠  Null  ≠  “ “ (“ “ ist eine leere Zeichenkette, d.h. eine mit Länge 0) Beim Datenbankentwurf: Die Eigenschaften  Eingabe erforderlich  verbietet bzw. erlaubt Null-Werte, d.h. leere Felder. Die Eigenschaft  Leere Zeichenfolge  verbietet bzw. erlaubt „“
Tabellenstrukturen
Tabellenstrukturen
Begriffe zum Tabellenentwurf 1/2 Indizierung: Ein Index mit den Inhalten eines bestimmten Feldes wird erzeugt. Optimiert Suchen und Sortieren  deutlich, benötigt u.U. aber viel Speicherplatz. Schlüsselfeld : Ein Schlüsselfeld enthält Daten, die  - den Datensatz eindeutig identifizieren Primärschlüssel) - ein Verweis auf einen Datensatz in einer verknüpften Tabelle darstellen (Fremdschlüssel)
Begriffe zum Tabellenentwurf 2/2 Beziehung Verknüpfung von mehreren Tabellen Referentielle Integrität Für eine Beziehung kann referentielle Integrität verlangt werden •  damit Schlüsselfelder nicht auf einen nicht vorhandenen Datensatz in einer verknüpften Tabelle verweisen •  ein Datensatz nicht verändert oder gelöscht werden kann solange Verweise in Schlüsselfeldern einer ver- knüpften Tabelle dadurch unrichtig werden
Beziehungen
Abfragen verstehen (1/2) Erstellen von Abfragen: • Eine Abfrage speichert keine Daten, sondern nur die Vorschrift,  welche Daten wie angezeigt und ausgewertet werden sollen. • Abfragen können Daten nicht nur aus einer Tabelle enthalten,  sondern auch aus mehreren Tabellen und auch aus anderen  Abfragen. • Abfragen können auch direkt mit SQL erstellt werden. Hierzu läßt  sich die SQL-Ansicht benutzen.
Abfragen verstehen (2/2) Mit einer Abfrage kann man • … Daten aus mehr als einer Tabelle ansehen und bearbeiten • … eine Auswahl an Feldern und Daten treffen, die man sich  ansehen möchte • …Datensätze sortieren  • …Berechnungen durchführen bzw. Gesamtsummen ermitteln
Abfragen-Grundlagen (1/3)
Abfragen-Grundlagen (2/3)
Abfragen-Grundlagen (3/3)
Ausdruck definieren Ein  Ausdruck  ist eine beliebige Verkettung von •  Zahlen (z.B. 123) •  Texten (in Anführungszeichen, z.B “ABC“) •  Feldreferenzen ([Tabellenname].[Feldname]) •  Platzhalter •  Access-Funktionen, die zum Teil wiederum Ausdrücke als Parameter erhalten. z.B. Wie(Ausdruck) Jetzt() Jahr(Zahl) die man durch Operatoren (+, –, /, *, &, Und, Oder, Nicht) ergänzen kann.
Platzhalter verwenden
Ausdrucks-Generator
Verknüpfungseigenschaften
Aggregatfunktionen (1/2)
Aggregatfunktionen (2/2)
Aggregatfunktionen - Beispieldaten
Aggregatfunktionen - Beispiel (1/3)
Aggregatfunktionen - Beispiel (2/3)
Aggregatfunktionen - Beispiel (3/3)
Abfragetypen
Standardformulare   Vorteile von Formularen •  Individuelle graphische Oberflächengestaltung •  Einfache, unkomplizierte Dateneingabe und Datenmanipulation •  Vermeidung von fehlerhaften Eingaben Standardformulare  können erstellt werden: •  in der Entwurfsansicht •  mit dem Formular Assistenten •  als Auto Formular (Einspaltig, Tabellarisch, Datenblatt)
Steuerelemente
Standardberichte   Vorteile von Formularen •  Individuelle Gestaltung durch Graphiken, OLE-Objekte … •  Übersichtliche Datenauswertung •  zusätzliche Möglichkeiten zur Gruppierung und Sortierung Standardberichte  können erstellt werden •  in der Entwurfsansicht •  mit dem Bericht Assistenten •  als Auto Bericht (Einspaltig, Tabellarisch) Adressetiketten  – besonders nützliche Form (assistentengestützt)
Exporte
Importe
Serienbriefe mit MS Word
Serienbriefe mit MS Word
Quellen Vladislav Richter http://www.uni-koeln.de

Microsoft Access Grundkurs

  • 1.
  • 2.
    Gliederung Einleitung Konzeptionvon relationalen Datenbanken ER-Modell, Normalisierung Erste Schritte in Access Tabellenbearbeitung Arbeiten mit Abfragen Arbeit mit Formularen Arbeit mit Berichten Datenaustausch mit anderen Office Programmen
  • 3.
    Einleitung Datenbanken unterWindows: Access (Microsoft) FoxPro (Microsoft) Paradox und Delphi (Borland) dBase (Borland) Superbase Navision und andere Warum Access? Weil Access die meistverbreitetste Datenbank ist, komfortabel zu bedienen und leistungsstark ist. Außerdem kann es zum Zugriff auf ODBC-fähige Datenbankserver wie Oracle, SQL-Server verwendet werden.
  • 4.
    Grundbegriffe 1/5 DatenbankIn einer Datenbank können Daten in Tabellen eingegeben werden, die sich auf einen gemeinsamen Themenbereich beziehen oder für einen bestimmten Zweck gedacht sind. Karteikasten = Datenbank Karteikarte = Datensatz Karteikartenfeld = Datenfeld
  • 5.
    Grundbegriffe 2/5 Datenbank = Karteikasten = Tabelle(n) Datensatz = Karteikarte Datenfeld = Karteikartenfeld
  • 6.
    Grundbegriffe 3/5 Datenbank s ystem (DBS) = D aten b ank / D aten b asis (DB) + D aten b ank M anagement S ystem (DBMS) D aten b ank M anagement S ystem Ein System, das große Datenmengen in Tabellen speichert, verwaltet und den Zugriff auf die enthaltenen Daten regelt.
  • 7.
    Grundbegriffe 4/5 TabelleIn einer Tabelle sind die eigentlichen Daten gespeichert. Sie besteht aus Spalten, denen jeweils ein Datentyp zugeordnet ist. Relationales Datenbankmodell Modell zur Strukturierung einer Datenbank: - relationale Datenbanken arbeiten mit mehreren Tabellen, - die mit Hilfe von Schlüsselfeldern miteinander verknüpft werden. andere Datenbankmodelle sind z.B. das hierarchische Datenbankmodell oder das objektorientierte Datenbankmodell.
  • 8.
    Grundbegriffe 5/5 AbfrageSicht (View) auf die Tabelle(n) einer Datenbank. Dabei können Einschränkungen an bestimmte Werte (filtern/suchen), Sortierung und Beschränkungen auf ein Teil der Spalten vorgenommen werden. SQL (Structed Query Language) Standartisierte Sprache, in der sich Abfragen und andere Datenbank- Operationen formulieren lassen.
  • 9.
    Warum Datenbanken einsetzen?um Daten zentral und einheitlich zu halten um Daten schneller und einfacher zu finden um Speicherplatz zu sparen um Mehrbenutzerbetrieb zu ermöglichen um Datensicherheit zu erhöhen
  • 10.
    Probleme beim DB-Entwurfbeachten (1/3) Redundanz Redundanz liegt vor, wenn (manche) Datensätze und/oder Datenfelder, die in verschiedenen Tabellen benötigt werden, auch mehrfach gespeichert sind. Problem: unnötig hoher Speicherplatzbedarf Lösung: Mehrfachspeicherungen auflösen, Tabellen verknüpfen
  • 11.
    Probleme beim DB-Entwurfbeachten (2/3) Datenintegrität-/ Datenkonsistenzverletzung Datenintegrität und -konsistenz bedeutet, daß alle (mehrfach) gespeicherten Daten an allen Stellen den richtigen Inhalt haben müssen. Problem: bei mehrfach gespeicherten Daten führt eine Änderung an nur einer Stelle zu uneinheitlichen oder gar falschen Informationen. Lösung: Mehrfachspeicherungen auflösen, Tabellen verknüpfen
  • 12.
    Probleme beim DB-Entwurfbeachten (3/3) Synchronisation Auf Synchronisation muß geachtet werden wenn Daten von mehreren Personen gleichzeitig genutzt werden sollen. Problem: gleichzeitige Änderungen Lösung: Zusammenfassung in einer Datenbank und Einrichtung einer Mehrbenutzerumgebung
  • 13.
    schlechte Beispiele (1/3) Die Speicherung von Kunden und Bestellungen soll erfolgen: Problem Nr. 1: mehrere Bestellnummern in einem Datenfeld schlecht !  z.B. Such- oder Sortieroperationen
  • 14.
    schlechte Beispiele (2/3) denkbare Lösung: Mehrfachwerte in einzelne Felder auflösen Problem Nr. 2: mehrere nur feste Anzahl Bestellungen möglich  hier max. 4
  • 15.
    schlechte Beispiele (3/3)denkbare Lösung: pro Bestellung einen Zeileneintrag führen Problem Nr. 3: Redundanz – gleiche Kundeninformationen mehrfach gespeichert  unnötiger Speicherverbrauch Problem Nr. 4: Inkonsistenzgefahr – was passiert wenn bei gleichem Kundencode unterschiedliche Firmeneinträge?  Daten sind widersprüchlich und unzuverlässig
  • 16.
    so geht‘s richtig– das gute Beispiel bessere Lösung: Auflösung in 2 Tabellen Tabelle KUNDEN Tabelle BESTELLUNGEN Jetzt liegt keine Redundanz mehr vor, da die Tabellen KUNDEN und BESTELLUNGEN mit Hilfe des Schlüsselfeldes Kunden-Code verknüpft sind. In der Tabelle BESTELLUNGEN können beliebig viele Bestellungen zu einem Kunden gespeichert werden, die mit zusätzlichen Informationen versehen sind.
  • 17.
    was lernen wirdaraus? Wenn eine Datenbank neu entwickelt wird, sollte man sich die Struktur der Datenbank sehr gründlich überlegen und planen . Die Leistungsfähigkeit einer Datenbank hängt zum größten Teil von der Vermeidung der vorgestellten Probleme ab. Zum professionellen Gestalten einer Datenbankstruktur wird häufig das Entity-Relationship-Modell (ER-Modell) eingesetzt.
  • 18.
    Entity-Relationship-Modell (ERM) Elemente des ERM: Entitäten Beziehungen Attribute
  • 19.
    Entity-Relationship-Modell (ERM) Entität (Entity) unterscheidbare (identifizierbare) Dinge aus der realen Welt z.B.: Objekte, Personen, Gegenstände Entitäten unterscheiden sich durch die Ausprägung ihrer jeweiligen Eigenschaften Entitätstyp (Entity-Typ) abstrakte Zusammenfassung aller Entitäten, die die gleiche Eigenschaftsstruktur aufweisen Beispiele: Abteilung FiBu Mitarbeiter Meyer Projekt 6487 Beispiele.
  • 20.
    Entity-Relationship-Modell (ERM) Beziehung(Relationship) Verknüpfung von Entitäten Beziehungen unterscheiden sich durch ihre jeweiligen Eigenschaften Beziehungstyp (Relationship-Typ) Beschreibung der numerischen Zusammenhänge zwischen den einzelnen Entitäten Beispiele: Mitarbeiter Meyer arbeitet an Projekt 6487 Mitarbeiter Meyer gehört zu Abteilung FiBu 0 keine Zuordnung 1 genau eine Zuordnung n , m viele Zuordnungen
  • 21.
    Entity-Relationship-Modell (ERM) Attributesind Eigenschaften einer Entität oder einer Beziehung bzw. später verschiedene Felder eines Datensatzes in Access. Beispiele: Mitarbeiternummer, Mitarbeitername, Projektnummer, Projektname, Arbeitszeit Domäne Wertebereich einer Eigenschaft / eines Attributs Beispiele: Mitarbeiter: Mitarbeiternummer 1 – 9999 Mitarbeitername max. 256 Zeichen /nicht leer arbeitet an: Arbeitszeit 0 - 999
  • 22.
    Entity-Relationship-Modell (ERM) Primärschlüssel ermöglicht die eindeutige Identifizierung einer Entität setzt sich aus einem oder mehren Attributen zusammen wird grafisch durch Unterstreichung der entsprechende Attribute gekennzeichnet
  • 23.
    Entity-Relationship-Modell (ERM) GesamtdarstellungAussagen des abgebildeten ERMs: - ein Mitarbeiter gehört zu genau 1 Abteilung - zu einer Abteilung gehören n Mitarbeiter - ein Mitarbeiter arbeitet an m Projekten
  • 24.
    Entity-Relationship-Modell (ERM) Vorgehensweise:Zu Beginn des Datenbankentwurfs müssen die Entitäten bzw. Entitätstypen bestimmt werden. 2. Die Beziehungen bzw. Beziehungstypen zwischen den Entitäten müssen bestimmt und ihre Kardinalitäten (0, 1, n) müssen festgelegt werden. Die Attribute zu jeder Entität und jeder Beziehung müssen festgelegt werden. Dazu die zugehörigen Domänen. 4. Für jeden Entitätstypen muß ein Primärschlüssel festgelegt werden.
  • 25.
    Relationenmodell vom ER-Modellzum Relationenmodell Form TABELLENNAME ( Primärschlüssel , Attribut2, Attribut3, ...) Vorgehensweise zur Transformation 1. Aus jedem Entitätstypen kann eine Tabelle mit dem Namen des Entitätstypen abgeleitet werden. 2. Jede 1: n-Beziehung schlägt sich nieder als identische Datenfelddefinition in den zugehörigen Tabellen. Jede n: m-Beziehung ergibt eine zusätzliche Tabelle, die aus den Primärschlüsseln der zugehörigen Tabellen im ER-Modell und Attributen der Beziehung besteht. Ihr Name muß sinnvoll neu gewählt werden. 4. Beziehungen zwischen Tabellen werden notiert.
  • 26.
    Relationenmodell ABTEILUNG (Abteilungsnummer , Abteilungsname) MITARBEITER ( Mitarbeiternummer , Mitarbeitername, Abteilungsnummer) PROJEKTARBEIT ( Projektnummer , Mitarbeiternummer , Arbeitszeit) PROJEKT ( Projektnummer , Projektname)
  • 27.
    Normalisierung von DatenFrage Wie komme ich zum guten relationalen Datenbankdesign? Antwort durch Normalisierung (3 Normalformen einhalten) Resultat  keine Redundanz  keine Inkonsistenzen  Integrität in und zwischen den Tabellen
  • 28.
    1. Normalform Essind zusätzliche Schlüsselfelder einzufügen. Jeder Datenwert muß durch Schlüsselfelder ermittelt werden können. Mehrfacheinträge Auflösen durch Duplizieren des Datensatzes so, daß ein Datensatz für jeden Wert des Mehrfacheintrages existiert. Jedem Datenfeld eines Daten- satzes darf höchstens ein Wert zugewiesen sein. D.h. es dürfen keine Mehrfacheinträge in einem Datenfeld vorliegen. Lösung / Transformation Regel
  • 29.
  • 30.
    2. Normalform Überprüfen und ggf. neue Schlüsselfelder hinzufügen oder zusammengesetzte Schlüssel definieren. Jedes Nicht-Schlüsselfeld muß durch ein Schlüsselfeld identi- fizierbar sein und vom gesamten Schlüssel abhängen. Aufteilung in mehre Tabellen nach Themen/ Informations- gebieten. Eine Tabelle enthält nur Daten eines Themen- bzw. Informationsbereiches. zuvor anhand 1.NF normalisieren Tabelle erfüllt die 1. Normalform Lösung / Transformation Regel
  • 31.
  • 32.
  • 33.
    Integritätsregeln Integrität aufDatenfeldebene Durch die Wahl von passenden Datenfeldtypen und durch die Angabe von Gültigkeitsregeln im Tabellenentwurf von Access sowie durch Nachschlagelisten (z.B. können die möglichen Werte mit Kombinationsfeldern in Formularen eingegeben werden) kann die Beschränkung auf Werte der zugehörigen Domäne erfolgen. Integrität auf Datensatzebene Durch den Normalisierungsprozeß ist die Datenintegrität auf Datensatzebene weitgehend sichergestellt. Integrität auf Beziehungsebene Eine relationale Beziehung besteht automatisch, wenn die Tabellen nach den Grundsätzen der relationalen Datenbank erstellt wurden. Das Einfügen oder Löschen von Datensätzen kann zu uner- wünschten Ergebnissen führen, vor allem zu Datensätzen, denen entsprechende in einer verknüpften Tabelle fehlen. Eine Problem- lösung wird durch referentielle Integrität erreicht.
  • 34.
    Integritätsregeln Das Aktivierender referentiellen Integrität alleine bewirkt schon, dass Datensätze nicht versehentlich geändert oder gelöscht werden wenn die Integrität dadurch verletzt würde. Es erfolgen dann Meldungen und die durchgeführte Änderung oder Löschung läßt sich nur dann ausführen, wenn zuvor alle verknüpften Daten ebenfalls geändert bzw. gelöscht wurden. Zusätzliche Optionen zur referentiellen Integrität bewirken eine Automatisierung dieser Vorgänge: „ Aktualisierungsweitergabe an Detailfeld“ bewirkt eine automatische analoge Änderung der verknüpften Felder im Detaildatensatz Beispiel: würde die Projekt-Nr in der Tabelle Projekte für Projekt 2 auf 7 geändert, wird in allen Datensätzen der Tabelle Projektauswertung ebenfalls die Projektnummer 2 auf 7 geändert. „ Löschweitergabe an Detaildatensatz“ bewirkt das automatische Löschen von verknüpften Detaildatensätzen Beispiel: wird in der Tabelle Projekt das Projekt mit der Projekt-Nr 22 gelöscht, werden in der Tabelle Projektarbeit alle Datensätze mit Projekt-Nr 22 ebenfalls gelöscht.
  • 35.
  • 36.
    Datentypen in Access(1/2) Numerische Typen 8 Bytes 15 Speichert Zahlen von –1.79769313486231E308 bis –4.94065645841247E–324  für negative Werte und von  4.94065645841247E–324 bis  1.79769313486231E308 für positive Werte. Double 4 Bytes 7 Speichert Zahlen von -3.402823E38 bis –1.401298E–45  für negative Werte und von 1.401298E–45 bis 3.402823E38 für positive Werte. Single 4 Bytes Keine (Voreinstellung) Speichert Zahlen von -2.147.483.648 bis 2.147.483.647 (keine Bruchzahlen). Long Integer 2 Bytes Keine Speichert Zahlen von -32.768 bis 32.767 (keine Bruchzahlen). Integer 12 Byte 28 Speichert Zahlen von –10^38–1 bis 10^38–1 (ADP) Dezimal 1 Byte Keine Speichert Zahlen von 0 bis 255 (keine Bruchzahlen). Byte Speicher- größe Dezimale Genauigkeit Beschreibung Einstellung
  • 37.
    Datentypen in Access(2/2) Zeichenketten Typen Sonstige Typen Speicher- größe Beschreibung Einstellung Für Internet- adressen bis zu 2048 Zeichen. Alphanumerisches, interaktives Feld. Hyperlink Bis zu 65,535 Zeichen. Langer Text oder Kombinationen aus Text und Zahlen. Memo Bis zu 255 Zeichen. (Voreinstellung) Text oder Kombinationen aus Text und Zahlen und auch Zahlen, die keine Berechnungen erfordern, z.B. Telefonnummern. Text Bis zu 1 Gigabyte (durch den verfüg- baren Festplatten- speicher begrenzt). Ein Objekt (wie z.B. eine Microsoft Excel-Tabelle, ein Microsoft Word-Dokument, Grafiken, Klänge oder andere binäre Daten), das mit einer Microsoft Access-Tabelle verknüpft oder darin eingebettet ist. OLE-Objekt 1 Bit. Ja - und Nein -Werte und -Felder, die nur einen von zwei Werten enthalten ( Ja/Nein , True/False oder Ein/Aus ). Ja/Nein 8 Byte. Datums- und Zeitwerte für die Jahre 100 bis 9999. Datum Uhrzeit
  • 38.
    Leere Datenfelder Datenbankenkönnen (physikalisch) keine leeren Felder enthalten. Es existiert daher der (virtuelle) Wert „ Null “, der ein leeres Feld repräsentiert. Dieser Nullwert ist ein symbolischer Wert und ist nicht mit dem numerischen Wert Null gleichzusetzen. 0 ≠ Null ≠ “ “ (“ “ ist eine leere Zeichenkette, d.h. eine mit Länge 0) Beim Datenbankentwurf: Die Eigenschaften Eingabe erforderlich verbietet bzw. erlaubt Null-Werte, d.h. leere Felder. Die Eigenschaft Leere Zeichenfolge verbietet bzw. erlaubt „“
  • 39.
  • 40.
  • 41.
    Begriffe zum Tabellenentwurf1/2 Indizierung: Ein Index mit den Inhalten eines bestimmten Feldes wird erzeugt. Optimiert Suchen und Sortieren deutlich, benötigt u.U. aber viel Speicherplatz. Schlüsselfeld : Ein Schlüsselfeld enthält Daten, die - den Datensatz eindeutig identifizieren Primärschlüssel) - ein Verweis auf einen Datensatz in einer verknüpften Tabelle darstellen (Fremdschlüssel)
  • 42.
    Begriffe zum Tabellenentwurf2/2 Beziehung Verknüpfung von mehreren Tabellen Referentielle Integrität Für eine Beziehung kann referentielle Integrität verlangt werden • damit Schlüsselfelder nicht auf einen nicht vorhandenen Datensatz in einer verknüpften Tabelle verweisen • ein Datensatz nicht verändert oder gelöscht werden kann solange Verweise in Schlüsselfeldern einer ver- knüpften Tabelle dadurch unrichtig werden
  • 43.
  • 44.
    Abfragen verstehen (1/2)Erstellen von Abfragen: • Eine Abfrage speichert keine Daten, sondern nur die Vorschrift, welche Daten wie angezeigt und ausgewertet werden sollen. • Abfragen können Daten nicht nur aus einer Tabelle enthalten, sondern auch aus mehreren Tabellen und auch aus anderen Abfragen. • Abfragen können auch direkt mit SQL erstellt werden. Hierzu läßt sich die SQL-Ansicht benutzen.
  • 45.
    Abfragen verstehen (2/2)Mit einer Abfrage kann man • … Daten aus mehr als einer Tabelle ansehen und bearbeiten • … eine Auswahl an Feldern und Daten treffen, die man sich ansehen möchte • …Datensätze sortieren • …Berechnungen durchführen bzw. Gesamtsummen ermitteln
  • 46.
  • 47.
  • 48.
  • 49.
    Ausdruck definieren Ein Ausdruck ist eine beliebige Verkettung von • Zahlen (z.B. 123) • Texten (in Anführungszeichen, z.B “ABC“) • Feldreferenzen ([Tabellenname].[Feldname]) • Platzhalter • Access-Funktionen, die zum Teil wiederum Ausdrücke als Parameter erhalten. z.B. Wie(Ausdruck) Jetzt() Jahr(Zahl) die man durch Operatoren (+, –, /, *, &, Und, Oder, Nicht) ergänzen kann.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
    Standardformulare Vorteile von Formularen • Individuelle graphische Oberflächengestaltung • Einfache, unkomplizierte Dateneingabe und Datenmanipulation • Vermeidung von fehlerhaften Eingaben Standardformulare können erstellt werden: • in der Entwurfsansicht • mit dem Formular Assistenten • als Auto Formular (Einspaltig, Tabellarisch, Datenblatt)
  • 61.
  • 62.
    Standardberichte Vorteile von Formularen • Individuelle Gestaltung durch Graphiken, OLE-Objekte … • Übersichtliche Datenauswertung • zusätzliche Möglichkeiten zur Gruppierung und Sortierung Standardberichte können erstellt werden • in der Entwurfsansicht • mit dem Bericht Assistenten • als Auto Bericht (Einspaltig, Tabellarisch) Adressetiketten – besonders nützliche Form (assistentengestützt)
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
    Quellen Vladislav Richterhttp://www.uni-koeln.de