Meine erste Frage hier, also sei nett!Verwenden eines natürlichen Schlüssels oder Verwenden von Ersatzschlüsseln und Audit-Tabelle (n) für Auditing/Änderungsprotokoll
Ich bin ein Junior-Entwickler mit nicht viel Erfahrung und habe Probleme mit diesem Problem.
Ich habe eine Tabelle, die auditierbar sein muss. Nehmen wir an, diese Tabelle zeichnet Telefonanrufe auf, die von einem Call-Center getätigt wurden (das ist es nicht, aber es ist nur ein Beispiel). Ich werde es "CallHistory" nennen.
Ich hatte ursprünglich geplant, eine separate Tabelle namens "Callees" zu führen, die den Namen, die Telefonnummer usw. der Anrufer hat. Diese Tabelle würde einen Ersatz-Primärschlüssel verwenden.
Die CallHistory-Tabelle hätte einen Fremdschlüssel für die Callee-Tabelle.
Ich tat ursprünglich dies, so dass, wenn ich die Telefonnummer eines Anrufers änderte, es im ganzen System propagieren würde und ich die Telefonnummer in mehreren Tabellen nicht ändern müsste.
Das Problem ist, der ganze Punkt der CallHistory-Tabelle ist die Aufzeichnung der Geschichte von Anrufen, einschließlich falsch gewählte Anrufe (sagen, ein Anrufer wählte die falsche Nummer). Die Geschichte würde mit diesem Ersatzschlüssel-Ansatz verloren gehen.
Einer der leitenden Entwickler bei der Arbeit schlug vor, Kopien der Telefonnummer für jedes Wählen eines Anrufers zu diesem bestimmten Zeitpunkt in der CallHistory-Tabelle zu behalten, um den Verlauf zu bewahren.
Ich dachte darüber nach, eine Audit/Change Log-Tabelle für den gleichen Zweck zu halten.
Würde mein Ansatz für diese purposeose ausreichen oder bin ich total vom Weg abgekommen? Welchen Ansatz bevorzugen Sie?
Cheers, Andrew