Warum noch ein Access-Buch?
Für wen ist das Buch?
Jetzt bestellen
+ direkter Download des eBooks!
Nur EUR 59,95!
Fehler gefunden?
Bitte melden!
Wünsche an das Buch?
Her damit!
Was denken die Leser über dieses Buch?
Lesen Sie aktuelle Rezensionen!
Kapitel des noch nicht veröffentlichten Buchs zum Downloaden, Probelesen und Kommentieren
Beispieldatenbanken
Zusätzliches Material

Das Buch im HTML-Format

Für unbestimmte Zeit bieten Addison-Wesley und André Minhorst den kompletten Inhalt des Buchs als Download an. Schauen Sie rein und informieren Sie sich über den Inhalt! Und wenn Ihnen das Buch nützlich erscheint und Sie glauben, dass Sie etwas gelernt haben oder durch das Gelesene sogar etwas Zeit und somit Geld bei Ihrer Arbeit einsparen konnten, können Sie sich ja beim Autor und beim Verlag revanchieren - beispielsweise durch den Kauf dieses Buchs.

Am schönsten wäre es natürlich, wenn Sie das Buch direkt hier bestellen - Sie erhalten das Buch dann direkt vom Verlag, und der Autor und Verlag haben dann noch mehr davon, als wenn Sie es anderswo kaufen.

Danke für Ihr Interesse!

2.1.2 Felder hinzufügen

2.1.3 Schlüssel festlegen

Access bietet verschiedene Schlüsselarten an. Schlüssel haben gemeinsam, dass sie das Anlegen eines Index nach sich ziehen. Einen Index können Sie sich als eine Tabelle vorstellen, die alle Daten eines Schlüsselfeldes in der angegebenen Reihenfolge sowie den Primärschlüssel der Tabelle enthält. Beim Sortieren der Tabelle oder beim Suchen nach einem bestimmten Wert aus dem Schlüsselfeld zieht Access dann die Index-Tabelle zu Rate und kommt somit schneller zum Ziel. Im Gegenzug verursachen Indizes beim Anlegen von Datensätzen zusätzliche Arbeit für den Rechner, da der Datensatz ja nicht nur in der eigentlichen Tabelle, sondern auch noch in der Index-Tabelle gespeichert werden muss (oder auch in mehreren). Genaue Informationen über die Auswirkungen und den Einsatz von Indizes finden Sie in Kapitel 14, »Performance«, in Abschnitt 14.1.2, »Indizes«. In den folgenden Abschnitten erfahren Sie zunächst einmal, wie Sie diese festlegen. Daneben haben Schlüssel noch weitere Eigenschaften, die sie von normalen Feldern abheben - auch diese beschreiben die folgenden Abschnitte.

Primärschlüssel

Sie sollten für jede Tabelle einen Primärschlüssel festlegen. Ein Primärschlüssel ist ein eindeutiger Index, mit dem Sie - wie der Name schon sagt - die Eindeutigkeit der Datensätze einer Tabelle sicherstellen. So können Sie zwei ansonsten völlig identische Datensätze immer noch aufgrund des Feldes mit dem Primärschlüssel unterscheiden. Den Primärschlüssel legen Sie fest, indem Sie im Datenbankentwurf das passende Feld markieren und den Ribbon-Eintrag Entwurf|Tools|Primärschlüssel betätigen. Access markiert das Feld dann etwa wie das Feld MitarbeiterID in Abbildung 2.2. Meist hat das Primärschlüsselfeld den Datentyp Autowert; damit stellen Sie automatisch sicher, dass niemals ein doppelter Wert für dieses Feld angelegt wird - zumindest nicht, wenn Sie die Daten immer in diese Tabelle eingeben. Alternativ können Sie hier den Unterdatentyp Replikations-ID verwenden; das macht beispielsweise Sinn, wenn Mitarbeiter unabhängig voneinander neue Datensätze in verschiedenen Kopien der Datenbank anlegen und diese zu einem bestimmten Zeitpunkt zusammengeführt werden sollen. Bis Access 2003 war diese Vorgehensweise unter dem Stichwort Replikation bekannt. Datenbanken, die im Format von Access 2007 erstellt wurden, können Sie nicht replizieren.

Warum ist es nun so wichtig, dass jede Tabelle ein Feld mit eindeutigen Werten enthält? Eine der wichtigsten Eigenschaften relationaler Datenbanksysteme wie Microsoft Access ist die Möglichkeit, Beziehungen zwischen Tabellen herzustellen. So kann man etwa einen Kunden einem Projekt zuordnen. Und diese Zuordnung erfolgt über die Zuweisung des Primärschlüsselfeldes der Projektetabelle zu einem Fremdschlüsselfeld der Kundentabelle; das heißt, man trägt den Primärschlüsselwert in ein passendes Feld der Kundentabelle ein. Und wenn das Primärschlüsselfeld keine eindeutigen Werte enthält, wäre auch keine eindeutige Zuordnung der Datensätze dieser beiden Tabellen möglich.

Sie können nur einen Primärschlüssel je Tabelle anlegen, der allerdings nicht nur eines, sondern auch mehrere Felder enthalten kann. Dies macht etwa Sinn, wenn Sie eine Verknüpfungstabelle zur Herstellung einer m:n-Beziehung verwenden und die darin enthaltenen Verknüpfungsfelder zu einem Primärschlüssel zusammenfassen. Weitere Informationen zu diesem Thema erhalten Sie in Abschnitt 2.5.5, »m:n-Beziehungen«.

Primärschlüssel dürfen keine Null-Werte enthalten, nur für Felder mit den Datentypen Autowert, Zahl, Text, Datum/Uhrzeit und Währung angelegt werden und nur für Felder, die noch keine doppelten Werte enthalten. Theoretisch ginge das auch für Ja/Nein-Felder, aber das macht selbstverständlich keinen Sinn.

Sekundärschlüssel

Neben dem Primärschlüssel können Sie weitere Schlüssel anlegen, die zumindest dafür sorgen, dass Sie schneller nach Daten in den mit einem Schlüssel versehenen Feld suchen oder diese abfragen können. Sie definieren einen Sekundärschlüssel für ein Feld, indem Sie dessen Eigenschaft Indiziert entweder auf Ja (Duplikate möglich) oder auf Ja (Ohne Duplikate) einstellen. Im letzteren Fall darf dieses Feld wie ein Primärschlüsselfeld nur eindeutige Werte enthalten. Kandidaten für Sekundärschlüsselfelder sind etwa Fremdschlüsselfelder in Beziehungen (weitere Informationen in Abschnitt 2.1.5, »Beziehungen herstellen«) oder solche Felder, in denen Sie vermutlich oft nach Daten suchen.

Anzeigen aller Schlüssel

Das Bearbeiten des Primärschlüssels und der nachfolgend vorgestellten Sekundärschlüssel ist auch in einem speziellen Dialog möglich, den Sie in der Entwurfsansicht einer Tabelle mit dem Ribbon-Eintrag Entwurf|Einblenden/Ausblenden|Indizes öffnen. Der nun erscheinende Dialog Indizes zeigt eine Liste mit allen Schlüsselfeldern der Tabelle an (siehe Abbildung 2.14).

Abbildung 2.14: Dieser Dialog zeigt sämtliche Indizes einer Tabelle

Hier finden Sie zum jeweils markierten Index die drei Eigenschaften Primärschlüssel, Eindeutig und Nullwerte ignorieren. Die Eigenschaft Primärschlüssel können Sie wie oben erwähnt nur für einen Schlüssel auf Ja einstellen. Wenn ein Schlüssel aus mehreren Feldern zusammengesetzt sein soll, fügen Sie unterhalb der Zeile mit der Schlüsselbezeichnung eine weitere Zeile hinzu, deren Feld Indexname leer bleibt und die im Feld Feldname den Namen des weiteren zum Schlüssel gehörenden Feldes enthält (siehe Abbildung 2.15).

Abbildung 2.15: Beispiel für einen zusammengesetzten Schlüssel im Indizes-Dialog

Wenn Sie die Eigenschaft Nullwerte ignorieren auf Ja einstellen, ignoriert Access Datensätze mit Nullwerten in dem angegebenen Feld bei der Bildung des Index, was bei Feldern mit vielen Nullwerten im Schlüsselfeld Speicherplatz spart.

Automatisch angelegte Indizes

Access legt Felder, deren Feldnamen bestimmte Zeichenfolgen enthalten, automatisch als Index fest. Welche dies sind, können Sie im Dialog Access-Optionen unter Objekt-Designer|Tabellenentwurf|AutoIndex beim Importieren/Erstellen festlegen (siehe Abbildung 2.16).

Abbildung 2.16: Für Felder, deren Feldname eine der unter AutoIndex beim Importieren/Erstellen angegebenen Zeichenfolgen enthält, legt Access automatisch einen Index an

Nächster Abschnitt:

2.1.4 Eigenschaften festlegen

© 2006-2008 André Minhorst Alle Rechte vorbehalten.