- 2 - Die einzelnen Datenfelder ( Artikelname, Lieferant,...)

Ähnliche Dokumente
Datenbanken Microsoft Access 2010

4. BEZIEHUNGEN ZWISCHEN TABELLEN

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

Datenbanken Kapitel 2

MS Access 2010 Kompakt

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Access 2000 und MS SQL Server im Teamwork

Access Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli inkl. zusätzlichem Übungsanhang ACC2010-UA

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Access Grundlagen. David Singh

Handbuch ECDL 2003 Professional Modul 2: Tabellenkalkulation Arbeiten mit Pivot-Tabellen

Anleitung zur Erstellung einer Gefährdungsbeurteilung

Auf der linken Seite wählen Sie nun den Punkt Personen bearbeiten.

Handbuch zum Statistiktool Pentaho Stand: Dezember 2013

Handbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen

Beispiel des Zusammenführens der APV- Tabellen Stammdaten und Verlaufsdaten mithilfe von Access

Schrittweise Anleitung zur Erstellung einer Angebotseite 1. In Ihrem Dashboard klicken Sie auf Neu anlegen, um eine neue Seite zu erstellen.

Erstellen der Barcode-Etiketten:

Access [basics] Gruppierungen in Abfragen. Beispieldatenbank. Abfragen gruppieren. Artikel pro Kategorie zählen

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

Erstellen von x-y-diagrammen in OpenOffice.calc

Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich

Datenexport aus JS - Software

CAQ Software für Ihr Qualitätsmanagement. Ablauf für die Erfassung der Fehler in der Fertigung

Zwischenablage (Bilder, Texte,...)

ACCESS das Datenbankprogramm. (Einführung) DI (FH) Levent Öztürk

Excel Allgemeine Infos

1 BEDIENUNGSANLEITUNG

Microsoft Access 2010 Auswahlabfragen erstellen. Leibniz Universität IT Services Anja Aue

Schnellanleitung: Verbuchung von Studien- und Prüfungsleistungen

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Übung 1: Ein Haupt-/Unterformular mit dem Formular-Assistenten erstellen

1 Die Bado Schleswig-Holstein

4.3 Dateneingabe in Tabellen

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Punkt 1 bis 11: -Anmeldung bei Schlecker und 1-8 -Herunterladen der Software

Abb. 1. Abb. 2.

Lieferschein Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

Eine Kundendatenbank erstellen

Fallbeispiel: Eintragen einer Behandlung

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

2. Im Admin Bereich drücken Sie bitte auf den roten Button Webseite bearbeiten, sodass Sie in den Bearbeitungsbereich Ihrer Homepage gelangen.

COMPUTERIA VOM SERIENBRIEFE UND ETIKETTENDRUCK

Lehrer: Einschreibemethoden

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

ecaros2 - Accountmanager

1. Einführung. 2. Alternativen zu eigenen Auswertungen. 3. Erstellen eigener Tabellen-Auswertungen

P&P Software - Adressexport an Outlook 05/29/16 14:44:26

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Kontakte Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

Wie kann ich meine Daten importieren? Wie kann ich meine Profile verwalten?

Abfragen in Access. Die einfache Auswahlabfrage aus einer einzigen Tabelle

Auswahlabfragen mit ACCESS

Access [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten

Berechnungen in Access Teil I

Professionelle Seminare im Bereich MS-Office

Bedienung des Web-Portales der Sportbergbetriebe

TABELLEN IN DER ENTWURFSANSICHT...

Stammdatenanlage über den Einrichtungsassistenten

teamsync Kurzanleitung

Wie halte ich Ordnung auf meiner Festplatte?

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Erstellen einer GoTalk-Auflage

Erweiterungen Webportal

Menü Macro. WinIBW2-Macros unter Windows7? Macros aufnehmen

Schnelleinstieg. Datenimport für die EXPOSÉ - Familie. Import von Adress / Objektdaten aus MS Excel. = Datenintegration aus anderen Lösungen

Aufklappelemente anlegen

Ein Ausflug zu ACCESS

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

Anzeige von eingescannten Rechnungen

Einzel- s und unpersönliche Massen-Mails versenden

4 INFORMATIONEN ABFRAGEN

Satzhilfen Publisher Seite Einrichten

Mandant in den einzelnen Anwendungen löschen

Access Verbrecherdatenbank Teil 3

Hilfedatei der Oden$-Börse Stand Juni 2014

Serienbriefe schreiben mit Ratio - Adressen (Microsoft Word Versionen 8.0 und 9.0)

So gehts Schritt-für-Schritt-Anleitung

Anleitung zur Erstellung von Serienbriefen (Word 2003) unter Berücksichtigung von Titeln (wie Dr., Dr. med. usw.)

Customer and Project Services. Teilnehmerunterlagen Aktivitäten

Kurzübericht der implementierten Funktionen der Fachinformatiker -== Info Datenbank ==-

2. ZELLINHALTE UND FORMELN

4.1 Wie bediene ich das Webportal?

Microsoft Word Serienbriefe. Microsoft Word Serienbriefe

Textgestaltung mit dem Editor TinyMCE Schritt für Schritt

Bedienungsanleitung für Mitglieder von Oberstdorf Aktiv e.v. zur Verwaltung Ihres Benutzeraccounts auf

Anleitung für Autoren auf sv-bofsheim.de

Seriendruck. Word Aufbau ZID/Dagmar Serb V.02/Jun 2013

Inventarverwaltung mit Access 2007/10

Einstellungen für SEPA-Lastschriften in der VR-NetWorld-Software

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG

Im Original veränderbare Word-Dateien

EINFACHES HAUSHALT- KASSABUCH

Microsoft Access 2010 Navigationsformular (Musterlösung)

7DVWH.HOOQHU. Kassensystem SANYO (X&D6RIWKapitel 42

I Serverkalender in Thunderbird einrichten

Anleitung zum Einfügen von Daten aus OpenOffice Calc in OpenOffice Base Beispiel anhand einer Adressen Calc-Tabelle

Erstellung eines Seriendrucks MS WORD 2003 vs. MS WORD 2000

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Transkript:

- 1 - Inhalt 1 Grundlagen:... 2 1.1 Neue Datenbank erzeugen... 2 1.2 Verknüpfen mehrerer Tabellen... 4 1.3 In Tabellen arbeiten... 6 2 Abfragen... 6 2.1 Grundsätzliches... 6 2.2 Abfrage speichern... 7 2.3 Parameter... 8 2.4 Abfragen mit mehreren Tabellen... 9 2.5 Aktualisierungsabfragen... 10 2.6 Löschabfragen... 11 3 Datenbankdesign... 12

- 2 - Anleitung Arbeit mit ACCESS 1 Grundlagen: Access ist eine Datenbank, d.h. eine Sammlung von Daten (Personen, Artikel, Bücher,...), die in Tabellen gespeichert sind. Tabellen enthalten Datensätze (= die Zeilen). Datensätze bestehen aus einzelnen Datenfeldern (= die Spalten): Die einzelnen Datenfelder ( Artikelname, Lieferant,...) Spaltenkopf die Datensätze 1.1 Neue Datenbank erzeugen Datei Neu leere Datenbank Dateinamen eingeben (im Unterschied zu WORD-Dokumenten wird schon beim Anlegen gespeichert, daher Name notwendig) Klick auf Erstellen Es öffnet sich das Datenbankfenster (= Schaltzentrale unserer Datenbank, kann jederzeit mit Taste F11 aufgerufen werden), in dem bereits eine Tabelle mit einem Feld (Name des Feldes = ID ) angelegt wurde: Mit Klick in den 2.Spaltenkopf ( Zum Hinzufügen klicken ) kann ein weiteres Feld erzeugt werden. Es ist aus der aufklappenden Liste der passende Felddatentyp auszuwählen (z.b. Text für normale Texte) und anschließend ein Felddatenname einzugeben (z.b. Vorname ):

- 3 - Felddatentyp wählen Name des neuen Feldes In der weißen Zeile darunter kann jetzt der erste Datensatz eingegeben werden, allerdings nicht im Feld ganz links (unter ID ), in dem zwar momentan noch Neu steht, das aber für die automatisch generierte fortlaufende Nummer der Datensätze reserviert ist (Felddatentyp Autowert ). Das 2.Feld daneben (unter Vorname ) steht für beliebige Eingaben zur Verfügung. Wechselt man mit der Pfeiltaste (oder Tabulatortaste) nach unten, erscheint im ersten Feld eine Nummer und wird die zweite Zeile eingeblendet für den nächsten Datensatz: Schließfeld für Tabelle 1.Datensatz 2.Zeile bereit für den nächsten Datensatz Die Tabelle schließen wir mit der Taste F4 oder Klick auf des Schließfeld rechts oben oder Klick mit rechter Maustaste auf die Registerkarte Tabelle1 Menüeintrag Schließen. Wenn wir eine neue Tabelle schließen, wird ein Name verlangt, unter dem sie gespeichert werden soll: Im Fenster links bleibt die gespeicherte Tabelle sichtbar und kann mit Doppelklick wieder geöffnet werden: Wollen wir am Entwurf unserer Tabelle etwas ändern (z.b. anderer Felddatentyp eines Feldes), wechseln wir in die Entwurfsansicht (mit Mausklick rechts auf Tabellenname Entwurfsansicht ) In der Entwurfsansicht sind links die Namen der Felder zu sehen, rechts ihr Felddatentyp. Mausklick in diese Spalte blendet einen Pfeil ein, Mausklick darauf öffnet eine Liste der verfügbaren Felddatentypen: für Texte Text, für Postleitzahlen Zahl, etc. Besonders wichtig ist der Primärschlüssel, der dafür sorgt, dass jeder Datensatz eindeutig identifiziert werden kann. Er wurde bereits beim Erzeugen der Tabelle von Access dem ersten Feld ( ID ) zugewiesen, kann aber mit Mausklick rechts Primärschlüssel auf jedes andere Feld übertragen werden:

- 4 - Um neue Felder einzufügen: Mausklick rechts Zeile einfügen ; Datenfelder löschen: Mausklick rechts Zeile löschen. Wir wechseln von der Entwurfsansicht zurück in die normale Ansicht (in der wir neue Datensätze eingeben können) entweder mit Mausklick rechts Datenblattansicht oder mit Linksklick auf den Ansichtsschalter links oben im Menü Start : Ansichtsschalter 1.2 Verknüpfen mehrerer Tabellen Wenn in einem Feld nur bestimmte Werte möglich sein sollen (z.b. Kategorie in einer Artikeltabelle: Getränke, Gewürze,...), ist ein Kombinationsfeld sinnvoll: statt etwas einzugeben (und sich dabei vertippen zu können) wählt der Anwender aus einer fertigen Liste das Gewünschte aus: Dafür ist eine eigene Tabelle notwendig (z.b. Kategorien ), die alle Kategorien (als Datensätze) enthält. Wie üblich besitzt sie eine automatische Nummerierung (Name: ID, Felddatentyp: Autowert ) mit Primärschlüssel. Daneben benötigen wir ein zweites Feld (Name z.b.: Kategoriename, Felddatentyp: Text ) für die Bezeichnung der einzelnen Kategorien: In dieser neuen Tabelle anschließend die verfügbaren Kategorien als Datensätze einfügen:

- 5-8 Kategorien = 8 Datensätze in der Tabelle Kategorien Um in der Artikeltabelle auf diese Datensätze der neuen Tabelle Kategorien zugreifen zu können, öffnen wir die Artikeltabelle in der Entwurfsansicht (s.s.3) und nehmen einige Änderungen vor: Das Feld der Artikeltabelle, in dem die Liste aufklappen soll (das Feld KategorieNr ), bekommt als Felddatentyp Zahl zugewiesen (da wir hier nur die Nummer (= ID = Primärschlüssel) speichern, unter der diese Kategorie in der Kategorientabelle eingetragen ist) Dieses Feld selektieren und auf der Registerseite Nachschlagen neben Steuerelement anzeigen den Eintrag Kombinationsfeld wählen Herkunftstyp = Tabelle/Abfrage Neben Datensatzherkunft wird der Name der Tabelle (hier: Kategorien ) eingetragen, die die Kategorien enthält Gebundene Spalte bezeichnet die Spalte in der Kategorientabelle, die die Verbindung zur Artikeltabelle herstellt, in unserem Fall die Nummer ( ID = Primärschlüssel), also Spalte 1 Spaltenanzahl wird auf 2 gesetzt, weil beide Spalten aus der Kategorientabelle für unsere Liste relevant sind: die erste enthält die ID (= die gebundene Spalte ), die zweite den dazugehörenden Text, der in der Liste angezeigt werden soll Als Nächstes sorgen wir dafür, dass von diesen beiden Spalten nur die zweite (mit den Texten) sichtbar bleibt: es wird einfach die Breite der ersten Spalte (mit der ID) auf 0cm gesetzt und die zweite, durch Strichpunkt getrennt, auf einen beliebigen Wert (z.b. 5cm ) Zuletzt das Feld Nur Listeneinträge auf Ja setzen, damit auch tatsächlich nichts anderes als die in der Tabelle Kategorien gespeicherten Datensätze ausgewählt werden können Feld wählen, in dem die Liste aufklappen soll Registerkarte Nachschlagen anklicken Mausklick auf Pfeil und Kombinationsfeld auswählen Tabelle, die die Datensätze enthält, die in der Liste erscheinen sollen

- 6 - Die beiden Tabellen stehen in Beziehung (daher bezeichnet man Datenbanksysteme, die solche Beziehungen ermöglichen, als Relationale Datenbankmanagementsysteme - RDBMS), wobei die Tabelle, die Daten aus einer anderen übernimmt, Detailtabelle genannt wird (in unserem Beispiel die Artikeltabelle ). Die Tabelle, die Daten liefert (unsere Kategorientabelle ), nennt man Mastertabelle. Die Beziehung stellen Schlüsselfelder her: in der Mastertabelle der Primärschlüssel, in der Detailtabelle der Fremdschlüssel ( foreign key ). Wenn der Entwurf fertig ist, über den Schalter in der Symbolleiste oben links in die Datenblattansicht wechseln und mit der Eingabe der eigentlichen Datensätze beginnen (mit demselben Schalter wechselt man wieder zurück in die Entwurfsansicht). 1.3 In Tabellen arbeiten Neuen Datensatz einfügen: Strg+ + Datensatz löschen: Strg+ - Zwischen den Datenfeldern wechseln: Tab (zum nächsten Feld), Umschalt+ Tab (zum vorherigen Feld). Sortieren: Mausklick rechts in den Spaltenkopf (den grauen Bereich oberhalb der Spalte) aufsteigend bzw. absteigend wählen Spaltenbreite anpassen: wie in EXCEL Doppelklick im Spaltenkopf zwischen den Spalten, um die Spaltenbreite an den breitesten Eintrag anzupassen 2 Abfragen Es gibt mehrere Arten von Abfragen (Auswahlabfragen, Aktionsabfragen,...). Auswahlabfragen benötigt man, wenn nur bestimmte Teile einer Tabelle interessieren (sie filtern die Datensätze) - aus unserer Schüler -Beispieldatenbank z.b. Alle Schüler die aus Oberndorf oder Salzburg kommen (s.u.). Im Menü Erstellen Klick auf Abfrageentwurf, um das Abfragefenster zu öffnen. Aus der Liste der verfügbaren Tabellen (falls sie nicht angezeigt wird: Menü Entwurf Tabelle anzeigen ) die benötigte(n) mit Doppelklick auswählen. 2.1 Grundsätzliches Mit Doppelklick in die Feldliste der Tabelle die gewünschten Felder in die Abfragespalten darunter übertragen. In der Zeile Kriterien sind die logischen Ausdrücke einzutragen, mit denen die Abfrage gesteuert wird. Falls die Spalten zu klein werden, lässt sich mit Umschalt+F2 ein großes Eingabefenster öffnen (sog. Zoom -Fenster). Texte werden in Anführungszeichen gesetzt, Datumswerte zwischen Kreuze (#), Zahlen ohne zusätzliche Zeichen. In Texten sind als Platzhalter ( wildcards ) Stern (*) für beliebige Zeichen, Fragezeichen für ein einzelnes Zeichen und Kreuz ( # ) für einzelne Ziffer möglich. Werden solche Wildcards verwendet, muss wie vorangestellt werden. Übersicht über die wichtigsten Operatoren, die in Abfragen erlaubt sind:

- 7 - Operator Bedeutung Beispiele für Zahlen für Texte für Datum = Gleich = 20 = "Oberndorf" = #12.08.1992# < Kleiner <100 <"G*" 1 <#10.10.1982# 2 > Größer >100 >"G" >#10.10.1982# <= kleiner oder gleich <=100 <="G" <=#10.10.1982# >= größer oder gleich >=100 >="G" >=#10.10.1982# < > Ungleich <> 100 <>"G" <>#10.10.1982# Ist Null leere Felder 3 Nicht Null Felder mit (irgendeinem) Inhalt Nicht < > Nicht 100 Nicht "Wien" 4 Nicht #31.12.1980# Wie 5 = Wie "M?yer" 6 Zwischen... Und Zwischen 1 Und 3 Zwischen "I*" Und Ja für Felder mit dem Felddatentyp Ja/Nein "L*" Zwischen #01.10.1981# Und #31.12.1981# Der Platzhalter (*) kann zusammen mit dem Operator Wie auch für Datumswerte verwendet werden, allerdings muss das Datum in diesem Fall in Anführungszeichen stehen, z.b.: Wie "*.*.1980" (liefert alle Datensätze mit dem Jahr 1980 - das gleiche Ergebnis würde auch zwischen #01.01.1980# und #31.12.1980# liefern). Mausklick auf das Symbol startet die Abfrage, das Ergebnis dieser Abfrage nennt man Dynaset. Mit Klick auf Entwurfsansicht kehrt man wieder zurück. Beispiel für die Verwendung von "Wie" und "Ja": Zeige die Namen aller weiblichen Schüler, die aus Oberndorf oder Salzburg kommen Tabelle Schülerliste die logischen Ausdrücke in den Kriterienzeilen die Feldliste enthält alle Felder dieser Tabelle mehrere Kriterien untereinander sind mit logischem oder verknüpft (eine von beiden muss zutreffen) mehrere Kriterien nebeneinander sind mit logischem und verknüpft (beide müssen zutreffen) Das Kriterium in beiden Zeilen wiederholen, da es in beiden gelten soll 2.2 Abfrage speichern Taste F12 drücken, anschließend Namen eingeben 1 2 3 4 5 6 liefert alle Datensätze, die mit G beginnen und beliebig lange Texte enthalten liefert alle Datensätze mit einem Datum vor dem 10.10.1982 liefert alle Datensätze, in denen überhaupt nichts steht (weder 0 noch Leerzeichen) liefert alle Datensätze, die nicht Wien enthalten Identisch mit =, aber nur notwendig, wenn Wildcards eingesetzt werden liefert z.b. Mayer und Meyer

- 8-2.3 Parameter Vor der Durchführung der Abfrage können in einem Dialog zusätzliche Angaben vom Anwender eingeholt werden (sog. Parameter ). Der Text, der im Dialog erscheinen soll, muss in eckigen Klammern stehen, mehrere Texte können mit & verknüpft werden. Das folgende Beispiel liefert alle Schüler, die in Ortschaften wohnen, deren Anfangsbuchstabe in einem Dialogfenster eingegeben wurde: In der folgenden Abfrage erscheinen zwei Dialogfenster (für Anfangsdatum und Enddatum ), die Abfrage zeigt anschließend alle Schüler, deren Geburtsdatum zwischen den beiden eingegebenen Daten liegt. Achtung! Die beiden Texte innerhalb der beiden Klammern dürfen nicht identisch sein!

- 9-2.4 Abfragen mit mehreren Tabellen In allen bisherigen Beispielen befanden sich die gewünschten Daten in ein und derselben Tabelle. Will man auch den Inhalt anderer Tabellen miteinbeziehen (z.b. Kategorien ), müssen diese im Abfragefenster angezeigt werden (Menü Abfrage Tabelle anzeigen... ) und miteinander verbunden sein (erkennbar an einer Linie zwischen den Feldlisten der Tabellen). Falls dies nicht von Access automatisch vorgenommen wurde, zieht man mit gedrückter Maustaste das betroffene Feld aus der Mastertabelle (d.h. den Primärschlüssel) auf das zugehörige Feld in der Detailtabelle (d.h. auf den Fremdschlüssel - zu diesen Begriffen s.s.6). Abfragen mit mehreren Tabellen liefern nur sinnvolle Ergebnisse, wenn sie verbunden sind! Im nebenstehenden Beispiel werden alle Artikel angezeigt, die zur Kategorie Getränke gehören. Wir übernehmen daher (natürlich) das Feld Artikelname aus der Tabelle Artikel (durch Doppelklick auf dieses Feld). Um aber die Bezeichnung der Kategorie ( Getränke ) in die Abfrage miteinbeziehen zu können, müssen wir das Feld Kategorienname aus der Tabelle Kategorien (und nicht Kategorien-Nr aus der Tabelle Artikel, denn dort steht ja nur die Nummer, nicht der dazugehörende Text!) auswählen. Weitere Beispiele: 1) Alle Süßwaren der Firma Karkky Oy 2) Alle Artikel, die aus Italien importiert werden:

- 10-3) Alle Getreideprodukte, von denen weniger als 50 Einheiten auf Lager sind: 2.5 Aktualisierungsabfragen Sie erfordert zwei Schritte: 1) normale ( Auswahl -) Abfrage erstellen 2) Klick (im Menü Entwurf ) auf Aktualisierungsabfrage Beispiel: die Preise aller Artikel der Kategorie Süßwaren sollen um 10% erhöht werden: 1.Schritt: eine Auswahlabfrage listet alle Waren der Kategorie Süßwaren auf 2.Schritt: In der Entwurfsansicht dieser Abfrage das Menü Abfrage - Aktualisierungsabfrage aufrufen - eine neue Zeile ( Aktualisieren ) wird eingeblendet. In dieser Zeile ist in der Spalte Einzelpreis die Formel [Einzelpreis]*1,1 einzutragen (d.h. erhöhe den Inhalt des Feldes Einzelpreis um den Faktor 1,1) Ergebnis 1.Schritt:

- 11 - Ergebnis 2.Schritt: 2.6 Löschabfragen Beispiel: Lösche alle Schüler, die aus Salzburg kommen. Zuerst sicherheitshalber eine normale Auswahlabfrage erstellen, um zu sehen, welche Datensätze eigentlich betroffen sind (in unserem Fall drei): Anschließend in die Entwurfsansicht der Abfrage wechseln und (im Menü Entwurf ) Löschabfrage wählen. Die Zeile Löschen wird eingeblendet. In dieser Zeile muss nun irgendeine Spalte den Eintrag von anzeigen, sonst ist die Löschabfrage nicht ausführbar. Diesen Eintrag wird man aber nur finden, wenn in der ersten Zeile ( Feld ) einer Spalte der Tabellenname mit einem Sternchen ( Schüler.* ) versehen ist, d.h. alle Felder und nicht bloß (wie wir es bisher bei allen anderen Abfragen gemacht haben) ein einzelnes Feld der Tabelle. Denn gelöscht werden können nur ganze Datensätze, nicht einzelne Felder daraus (Abb. unten links: löschen nicht möglich, rechts: so gehört s): Datensätze aus Mastertabellen zu löschen, erfordert aus Sicherheitsgründen zusätzliche Schritte. Denn könnte man unbekümmert z.b. Getränke aus der Kategorien -Tabelle löschen, würden in der davon abhängigen Detailtabelle Artikel alle Getränke in der Luft hängen. Der Fremdschlüssel im Feld Kategorie hätte ja keinen entsprechenden Primärschlüssel mehr in der Mastertabelle. Zuerst muss die Löschweitergabe an die Artikel-Tabelle (und alle anderen Tabellen, auf die der Löschvorgang Auswirkungen hat) erlaubt werden: Menü Datenbanktools - Beziehungen, Doppelklick auf die Linie zwischen der Kategorien-Tabelle und der Artikel-Tabelle, im Dialogfenster Beziehungen bearbeiten auf Löschweitergabe an verwandte Datensätze klicken. Erste jetzt lässt sich der Datensatz Getränke in der Kategorien- Tabelle löschen. Damit werden auch alle entsprechenden Datensätze (also alle Getränke) in der Detailtabelle entfernt!

- 12 - Aus diesen Gründen ist eine Abfrage wie lösche alle Artikel der Kategorie Getränke nur in der Kategorie-Tabelle selbst möglich (die Detailtabelle darf nicht einmal geladen sein, sonst meldet Access Löschen nicht möglich!): Entfernt man die Detailtabelle aus dem Abfragefenster, klappt s wie gewünscht. 3 Datenbankdesign Um Datenbanken effizient und vor allem gegen falsche Eingaben sicher zu machen, muss ihr Aufbau optimiert werden. Grundsätzlich sollte, wenn an einem Datensatz eine Änderung nötig ist (wenn z.b. ein Lieferant an eine neue Adresse übersiedelt), diese nur einmal an einer Stelle ausgeführt werden müssen. Auswirkungen auf andere Datensätze sollten automatisch erfolgen (z.b. alle Artikel, die von diesem Lieferanten bezogen werden). In der Praxis bedeutet das, eine Datenbank auf möglichst viele Einzeltabellen aufzuteilen. Die Optimierung einer Datenbank nennt man Normalisierung. Eine Datenbank sollte folgende Forderungen erfüllen: a) Jedes Feld darf nur einfache (nicht weiter teilbare) Daten enthalten (d.h. es soll atomar sein). In Namensfeldern z.b. werden Vor- und Nachname getrennt. Das linke Beispiel zeigt, wie man es nicht machen sollte, das rechte ein atomares Feld: b) Jedes Feld sollte nur vom Primärschlüssel abhängig sein (er allein ist verantwortlich, jeden Datensatz eindeutig zu kennzeichnen). Felder, die darüber hinaus voneinander abhängig sind, gehören in eine eigene Tabelle: Im folgenden Beispiel sind Klasse und KlassenVorstand voneinander abhängig und gehören daher in getrennte Tabellen (z.b. Schüler und Klasse ), da sonst bei jeder Aktualisierung fehlerträchtige Mehrfachänderungen nötig würden (wenn ein Schüler die Klasse wechselt, muss auch sein Feld KlassenVorstand korrigiert werden): c) Mit der Auslagerung von Daten in eigene Tabellen ist es außerdem möglich, Redundanz zu vermeiden, d.h. mehrfache Eingabe gleicher Daten: statt 1A für jeden Schüler dieser Klasse einzutippen (mit der Möglichkeit von Fehleingaben, die sich bei Abfragen auswirken, z.b. 1.A oder 1 A ) wird der entsprechende Wert aus einem Listfeld übernommen, das seinen Inhalt aus einer eigenen Tabelle bezieht (s.s.6). Die Beziehung der beiden Tabellen wird durch Primärschlüssel in der Mastertabelle und Fremdschlüssel in der Detailtabelle bestimmt. In den meisten Fällen wird dieser Schlüssel eine Zahl sein

- 13 - (z.b. die Buchnummer in einer Bibliotheksdatenbank), muss aber nicht: jedes Feld eignet sich als Primärschlüssel, das in allen Datensätzen mit Sicherheit unterschiedliche Werte enthält. In unserem Beispiel verwenden wir die beiden Buchstaben der Klasse (da sie die Klasse eindeutig kennzeichnen und stets nur aus zwei Zeichen bestehen, eignen sie sich als Primärschlüssel in der Mastertabelle Klassen ). Eine solche Beziehung zwischen zwei Tabellen nennt man 1:n Beziehung, d.h. in der Mastertabelle gibt es je einen Datensatz (z.b. 1A, 1B,... ), der in der Detailtabelle beliebig oft auftauchen kann (in den Datensätzen aller Schüler dieser Klasse): d) Die Datenbank sollte referentielle Integrität sicherstellen, d.h. dafür sorgen, dass weder in der Mastertabelle Datensätze gelöscht werden, zu denen noch Bezüge in einer Detailtabelle existieren (z.b. 1A in der Tabelle Klassen löschen, solange noch Schüler diese Klasse besuchen), noch umgekehrt Werte im Fremdschlüsselfeld der Dateiltabelle eingetragen werden können, die nicht in der Mastertabelle existieren (z.b. 1Z in der Schülertabelle eintragen, obwohl es diese Klasse nicht gibt). Referentielle Integrität wird in ACCESS über das Menü Datenbanktools Beziehungen... eingeschaltet: im Dialogfeld Tabelle anzeigen (falls es nicht automatisch angezeigt wird, mit Klick auf das entsprechende Symbol öffnen) mit Doppelklick die Tabellen auswählen, die in Beziehung zueinander stehen: Doppelklick auf die einzelnen Tabellen blendet sie zur Bearbeitung der Beziehungen ein Falls noch keine Linien zwischen den Tabellen die Beziehungen anzeigen, zieht man mit gedrückter Maustaste den Primär- zum Fremdschlüssel ACCESS blendet eine Linie ein mit Symbolen für die 1 - und für die n -Seite. Doppelklick auf diese Linie öffnet das Dialogfenster Beziehungen bearbeiten. Dort kann nun mit Klick auf die Checkbox Mit referentieller Integrität diese aktiviert werden. Die Beziehung zwischen Primär- und Fremdschlüssel wird durch eine Linie angezeigt. Das Symbol steht für die n -Seite