Hva innebærer å opprettholde en logg over alle oppdateringer i databasen?

Mange situasjoner gjør det nødvendig å utvikle en database med informasjon. I de fleste tilfeller er det også nødvendig å holde styr på alle innsettinger, oppdateringer og slettinger gjort i databasen. Dette krever opprettholde en logg over alle slike endringer. Opprette en "historie" tabell som går parallelt til bordet som viser alle databasens aktuell informasjon ( "dagens" tabellen) er en effektiv måte å gjøre dette. Hver oppføring i en "historie" table krever flere opplysninger.

Eksempel

For å illustrere, vurdere en database som lagrer informasjon om prisen på et bestemt produkt, for eksempel et videospill (Assassin Creed, for eksempel). Det vi trenger er et system som holder styr på alle endringer i pris, slik at informasjonen i "dagens" tabellen forblir nøyaktig. Løsningen er å lage en "historie" tabell for hvert produkt i databasen.

Informasjon

"History" tabeller krever et spekter av informasjon som er lagret i rekkene i tabellen. Først vil det ha å inkludere navnet på produktet ( "Assassins Creed"). For det andre vil det ha å inkludere produkt-ID. Dette er nødvendig for å unngå forveksling med andre produkter med lignende titler (for eksempel "Assassins Creed: Brotherhood» eller «Assassin Creed: Deluxe Edition).. For det tredje vil det ha å inkludere dagens pris på produktet fjerde, vil det ha å inkludere datoen den gjeldende oppføringen ble gjort. Femte, vil det ha å inkludere navnet på brukeren som gjorde endringen. til slutt, siden slettinger kan være svært vanskelig å få øye på, vil det ha å inkludere en rangering identifisere eventuelle slettinger som ble gjort .

Å gjøre en endring

Når en endring er gjort til "dagens" tabellen, vil en tilsvarende oppføring må gjøres i "historie" tabellen. For å gjøre dette, må en autorisert person logger inn i systemet. En gang han logger inn, kan han gå inn relevant informasjon som beskrevet ovenfor, inkludert endring i pris eller antall strykninger gjort, avhengig av saken. Endringen vil vises på "historie" tabell med navnet på personen som gjorde endringen tydelig merket. "Dagens" tabellen viser den nye prisen.

evaluering

Denne metoden er enkel å sette opp, spesielt hvis du bruker en kodegenerator for å gjøre den uønskede programmeringsarbeidet. Det er også enkelt å administrere, slik at brukerne kan kjøre søk etter oppdateringer gjort av visse folk eller til visse tider. Den største ulempen er at administratorer må fysisk logge inn og oppdatere endringer i både "dagens" bord og "historie" tabellen. Et alternativ vil være å finne en måte å konsolidere tabellene. Dette ville kreve administratorer å gjøre bare én endring; det ville gjelde for alle relevante tabeller.