Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Access 2010 für Profis

Erstellen von Primärschlüsseln, Indizes und Einschränkungen

Testen Sie unsere 2021 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Lernen Sie in diesem Film, wie Sie bei der Erstellung einer Tabelle Primärschlüssel und Zwangsbedingungen mit CONSTRAINT und PRIMARY KEY hinzufügen. Sie lernen auch, wie Sie ein neues Feld, das kein Primärschlüsselfeld, aber dennoch einmalig ist, hinzufügen. Erreicht wird dies mit Hilfe des Schlüsselworts UNIQUE. Die Verbindung zweier Tabellen über Primär- und Fremdschlüssel erfolgt mit CONSTRAINT, FOREIGN KEY und REFERENCES.

Transkript

Nachdem wir diese Tabelle erfolgreich erstellt haben, müssen wir jedoch feststellen, dass der Primärschlüssel fehlt. Das ist kein Problem. Diesen Primärschlüssel werden wir jetzt ebenfalls mit SQL-Code hinzufügen. Zunächst schließe ich die Tabelle und lösche sie, denn sonst bekomme ich beim Neuerzeugen dieser Tabelle eine Fehlermeldung, und nun ändere ich meinen Programmcode entsprechend ab. Statt ID-Kundennummer, Integer und NotNull steht jetzt hier: Integer, Constraint, ID-Kundennummer, Primary Key. Constraints sind Zwangsbedingungen und werden in Datenbanken durch sogenannte Integritätsbedingungen definiert. Ohne zu wissen, dass es sich hierbei um eine solche Einschränkung handelt, haben wir bereits  "NotNull" vergeben. Ein weiterer Constraint ist Primary Key, und was Sie noch kennenlernen werden sind der sogenannte Foreign Key, d. h., der Wert wird auf referentielle Integrität überprüft, und Unique - der Wert muss einzigartig sein, also er darf nicht mehrfach vorkommen. Nachdem ich meine Abfrage entsprechend abgeändert habe, möchte ich natürlich auch die Wirkung sehen. Ich gehe auf "Entwurf", klicke auf "Ausführen" und Sie sehen, die Tabelle wird wieder erstellt. Und wir schauen natürlich gleich nach, ob tatsächlich alles so ist, wie wir es uns vorgestellt haben. Und tatsächlich: der Primärschlüssel wurde vergeben. Nachdem dies erfolgreich war, schließe ich meine Tabelle "Kunden" wieder und lösche sie. Ich werde jetzt einen eindeutigen Index anlegen, und zwar soll meine Tabelle "Kunden" um ein Feld erweitert werden, das Feld "Kundennummer". Dieses Feld soll eindeutig sein, und die geänderte Anweisung sieht nun wie folgt aus: Ich habe hier eine weitere Zeile eingefügt, "Mitarbeiter", der Datentyp ist "Integer", Constraint "Mitarbeiternummer unique". D. h., diese Mitarbeiternummer soll jetzt einzigartig, also eindeutig sein. Wenn ich das Ganze ausführe, wird mir meine neue Tabelle "Kunden" erstellt. Ich gehe wieder über die rechte Maustaste in die "Entwurfsansicht". Sie sehen hier die Mitarbeiternummer, hier unten steht folgerichtig indiziert "Ja, ohne Duplikate". D. h. also, ich habe hier eine eindeutige Mitarbeiternummer angelegt, d. h., beim Kunden wird jeder Mitarbeiter über eine eindeutige Nummer identifiziert. Ich schließe meine Tabelle "Kunden" wieder, und meine Abfrage werde ich jetzt abspeichern, weil an der Tabelle "Kunden" sollen im Moment keine weiteren Änderungen durchgeführt werden. Diese Abfrage soll den Namen "QRY" und dann "DDL - (für  Data Definition Language) - Kunden" heißen. Diese Erweiterung mit "DDL" ist kein Standard, aber Sie erkennen dann vielleicht relativ einfach, dass mit dieser Abfrage immer eine neue Kundentabelle erstellt wird. Das benötigen Sie allerdings immer nur dann, wenn Sie die Datenbank neu aufbauen wollten, oder wenn Sie die Tabelle "Kunden" löschen oder verändern wollen. Ich werde nun eine neue Tabelle erstellen - die Tabelle "Aufträge". Diese Tabelle "Aufträge"  enthält einen Fremdschlüssel, über den ich die Tabelle "Kunden" mit der Tabelle "Aufträge" verbinde. Ich klicke wieder auf die Registerkarte "Erstellen", gehe in den "Abfrageentwurf", schließe die Tabellen, gehe in die SQL-Ansicht und erstelle hier den entsprechenden Programmcode. Den Schlüsselbegriff zur Erstellung kennen Sie bereits: "CreateTable", der Name der Tabelle, die ich erstellen möchte, dann kommt der Primärschlüssel für die Auftragsnummer, auch das ist bereits bekannt. Dann kommt der Fremdschlüssel vom Typ Integer, der eingegeben werden muss und dann folgt die Constraint-Bedingung, Constraint FI-Kundennummer, Foreign Key - also der Fremdschlüssel - "FI-Kundennummer" referenziert zur Tabelle "Kunden" - und dann wieder eine  normale Feldangabe für das Auftragsdatum, vom Typ "Datum": Date, Time. Das Auftragsdatum muß nicht zwingend eingegeben werden. Auch hier versuche ich diese Abfrage auszuführen, und Sie sehen, es gelingt: die Tabelle "Aufträge" wird angelegt. Wir wollen natürlich auch hier einen Blick auf die Tabellenstruktur werfen: ID-Auftragsnummer - der Felddatentyp ist hier "Text", das weicht von unserer ursprünglichen Datenbank ab - dann habe ich den Fremdschlüssel und das Auftragsdatum. Woher soll ich nun wissen, dass das Herstellen der Beziehung erfolgreich war? Sie erinnern sich sicherlich an die Datenbank-Tools: Ich gehe auf die "Beziehungen", und Sie sehen, hier wird mir die Beziehung zwischen der Tabelle "Kunden" und der Tabelle "Aufträge" angezeigt. Ich hätte auch die Möglichkeit gehabt, in die "Datenbanktools" und auf die "Objektabhängigkeiten" zu gehen - das kann bei größeren Datenbanken längere Zeit dauern. Ich klicke jetzt hier auf "OK" und speichere die Abfrage, mit der ich meine Tabelle "Aufträge" erstellt habe, entsprechend ab. Auch hier "QRY- DDL-Aufträge", klicke auf "OK", und nun werden mir diese Objektabhängigkeiten angezeigt, und zwar auf der rechten Seite. Sie sehen hier: Tabelle "Aufträge": Abfragen: keine - Formulare: keine - Berichte: keine - ignorierte Objekte - "nicht-unterstützte Objekte" steht hier. Wenn ich aber auf die Tabelle "Aufträge" gehe und auf das Pluszeichen klicke, dann sehen Sie die Abhängigkeit zwischen diesen beiden Tabellen, zwischen der Tabelle "Aufträge"  und der Tabelle "Kunden". Klicken Sie auf "Objekte, von denen ich abhänge", dann sehen Sie: die Tabelle "Aufträge" hängt von der Tabelle "Kunden" ab. Angenommen, ich möchte die Tabelle "Aufträge" jetzt manuell löschen, so wie ich es zuvor immer mit der Tabelle "Kunden" gemacht habe, dann klicke ich auf die Tabelle "Aufträge" und klicke auf "Löschen". Jetzt bekomme ich die Abfrage: Möchten Sie Tabelle "Aufträge" löschen? Wenn Sie dieses Objekt löschen, wird es aus allen Gruppen entfernt. Ich klicke auf "Ja", bekomme aber eine Warnmeldung: Sie können die Tabelle "Aufträge" erst löschen, nachdem deren Beziehungen zu anderen Tabellen gelöscht sind. D. h., die Beziehung, die ich hergestellt habe, müsste aufgelöst werden, und Access ist so komfortabel, diese Beziehung für mich zu löschen, und erst dann kann die Tabelle "Aufträge" gelöscht werden. Wenn ich jetzt "Ja" sage, wird die Beziehung entfernt und die Tabelle "Aufträge" wird gelöscht. Das kann ich auch nachkontrollieren, wenn ich hier auf die "Tabellentools" gehe und sage: Ich möchte gerne die direkten Beziehungen meiner Tabelle "Kunden" sehen - dann wird mir nichts angezeigt. Das Ganze ist kein Problem. Da wir es ja als SQL-Code oder genauer gesagt als DDL-Code hinterlegt haben, führe ich meine Abfrage nochmal neu aus. Dann wird wieder meine Tabelle "Aufträge" erstellt. Ich möchte jetzt wieder die direkten Beziehungen sehen, und Sie sehen: Kein Problem, die Tabelle "Aufträge" wird mit den Beziehungen zur Tabelle "Kunden" wieder entsprechend angezeigt.

Access 2010 für Profis

Lassen Sie sich anhand vieler praktischer Beispiele zeigen, wie Sie in Access 2010 eine Datenbank aufbauen und mit Abfragen, Formularen und Berichten auf Ihre Daten zugreifen.

7 Std. 24 min (123 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Hersteller:
Exklusiv für Abo-Kunden
Erscheinungsdatum:28.09.2010

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!