Ich habe ein paar Tabellen: Konten und Mitarbeiter, und ich versuche, eine Bewertung und Timestamp für jede gegebene Kombination zwischen Konten und Mitarbeitern zu speichern. Es sollte nicht möglich sein, dass zwei Bewertungen für dieselbe Zeitmarke für eine bestimmte Konto + Mitarbeiter-Kombination existieren.Definiere ich alle meine Schlüssel richtig? Muss ich einen Index hinzufügen?
Dies ist, was ich bisher:
CREATE TABLE main_table (
_ID INTEGER PRIMARY KEY AUTOINCREMENT,
account_id INTEGER NOT NULL,
employee_id INTEGER NOT NULL,
rating REAL NOT NULL,
timestamp LONG NOT NULL,
FOREIGN KEY(account_id) REFERENCES ACCOUNTS(_ID),
FOREIGN KEY(employee_id) REFERENCES EMPLOYEES(_ID),
UNIQUE (account_id, employee_id, timestamp));
Ist dies der richtige Weg zu definieren, was ich tun möchte? Muss ich auch einen separaten Index erstellen?
CREATE INDEX main_table_idx ON main_table (account_id, employee_id, timestamp);
Wie ist das eine Java oder Android-Frage? – shmosel
Was ist falsch mit dem 'UNIQUE' Index in Ihrer Tabelle? – shmosel
@smossel Idk letztes Mal, das ich nicht eingeschlossen habe, dass ich Java/Android benutzte Ich wurde gezüchtigt, also ich schließe es immer jetzt ein – user6183183