Ich versuche, eine Datenbank für die Inventursteuerung mit einer großen Anzahl von Tabellen und erzwungenen Beziehungen zu erstellen, und ich lief gerade in der 32-Beziehung (Index) Grenze für eine Access-Tabelle (mit Access 2007).Umgehen der Grenze von 32 Beziehungen pro Tabelle in Access
Nur um zu verdeutlichen: Das Problem besteht nicht darin, dass die Employees-Tabelle 32 explizite Indizes hat. Das Problem liegt eher in der Beschränkung der Anzahl der Zeiten, in denen die Employee-Tabelle in FOREIGN KEY
Constraints referenziert werden kann. Zum Beispiel:
CREATE TABLE Employees (employee_number INTEGER NOT NULL UNIQUE)
;
CREATE TABLE Table01 (employee_number INTEGER NOT NULL REFERENCES Employees (employee_number))
;
CREATE TABLE Table02 (employee_number INTEGER NOT NULL REFERENCES Employees (employee_number))
;
CREATE TABLE Table03 (employee_number INTEGER NOT NULL REFERENCES Employees (employee_number))
;
...
CREATE TABLE Table30 (employee_number INTEGER NOT NULL REFERENCES Employees (employee_number))
;
CREATE TABLE Table31 (employee_number INTEGER NOT NULL REFERENCES Employees (employee_number))
;
CREATE TABLE Table32 (employee_number INTEGER NOT NULL REFERENCES Employees (employee_number))
;
Eine Ausnahme in der letzten Zeile oben geworfen wird, „Index konnte nicht erstellt werden, zu viele Indizes definiert
Welche Möglichkeiten habe ich, um diese Einschränkung arbeiten
.? Ich habe gehört, dass das Erstellen einer doppelten Tabelle mit einer 1: 1-Beziehung eine Methode ist.Ich bin neu im Datenbankdesign, also bitte korrigieren Sie mich, wenn ich falsch liege, aber bei einer Tabelle Mitarbeiter mit 31 Indizes würde ich eine erstellen Tabelle Employees2 (mit einem Feld?) mit einer 1: 1-Beziehung zu Employees und Beziehungen zu dieser neuen Tabelle aus allen verbleibenden Beziehungen, in denen die EmployeeID ein Forei ist gn Schlüssel. Was ist der beste Weg, um sicherzustellen, dass die zweite Tabelle neben der ersten belegt ist?
Gibt es einen anderen Ansatz?
Aufgrund des Mangels an verfügbaren Informationen scheint dies ein seltenes Problem mit einer richtig gestalteten Datenbank zu sein, oder die Lösung ist allgemein bekannt. Verzeih den Noob!
Update: Sofortiger Konsens ist, dass mein Design borked oder viel zu ehrgeizig ist. Dies könnte sehr wohl der Fall sein. Allerdings würde ich lieber eine allgemeine Design-Diskussion in einer separaten Frage haben, um diese Frage zu beantworten, kann jemand diese Frage beantworten? Wenn die Antwort einfach lautet: "Tu das niemals", muss ich es akzeptieren.
Ich denke, Sie werden feststellen, dass Ihr Gesamtdesign fehlerhaft ist. Dieses spezielle Limit wird sonst nicht erfüllt. – Smandoli
"Gesamtdesign ist fehlerhaft" ist falsch. Ich hatte eine Reihe von Systemen, die dieses Problem hatten. –
@Tony: Ah! Danke für diese Einsicht. Ich muss jedoch darauf hinweisen, dass unser Fragesteller sagt, er sei "neu im Datenbankdesign" .... – Smandoli