Veel situaties het nodig om een database van informatie te ontwikkelen . In de meeste gevallen , is het ook noodzakelijk om al inserties , updates en verwijderingen in de database te houden . Dit vereist het handhaven van een logboek bij van al deze veranderingen . Het creëren van een " geschiedenis " tabel die parallel aan de tafel, met weergave van alle actuele informatie van de database ( de " huidige " tabel) loopt is een efficiënte manier om dit te doen . Iedere vermelding in een " geschiedenis " table vereist verschillende stukjes informatie . Voorbeeld Om dit te illustreren , overweeg dan een database die informatie opslaat over de prijs van een bepaald product , zoals een video- spel ( Assassin's Creed , bijvoorbeeld ) . Wat we nodig hebben is een systeem dat bijhoudt van alle wijzigingen in de prijs, zodat de informatie in de " huidige " tafel accuraat blijft . De oplossing is om een " geschiedenis " tabel te maken voor elk product in de database . Information " Geschiedenis " tafels vereisen een scala van informatie die is opgeslagen in rangen binnen de tafel . Ten eerste zal het moeten de naam van het product omvatten ( " Assassin's Creed " ) . Ten tweede , zal het moeten de product-id bevatten . Dit is nodig om verwarring met andere producten met soortgelijke titels ( bv , " Assassin 's Creed : Brotherhood " of " Assassin's Creed : Deluxe Edition ) te voorkomen . . Ten derde , zal het moeten de huidige prijs van het product omvatten vierde , zal het moeten onder meer de datum van de huidige ingang werd gemaakt . Ten vijfde , zal het moeten de naam van de gebruiker die de wijziging omvatten . slot, aangezien verwijderingen kan heel moeilijk te herkennen , zal het moeten een rang identificeren van alle verwijderingen die gemaakt zijn . Making a Change Wanneer er een wijziging wordt aangebracht in de " huidige " tafel , zal een overeenkomstige vermelding moeten worden gemaakt in de " geschiedenis " tafel . om dit te doen moet een gemachtigde inloggen in het systeem . Zodra hij inlogt , kan hij de relevante informatie zoals hierboven beschreven , inclusief de wijziging in prijs of het aantal deleties gemaakt , afhankelijk van het geval voeren . The verandering zal verschijnen op de " geschiedenis " tabel met de naam van de persoon die de verandering duidelijk gemarkeerd gemaakt . de " huidige " tafel zal de nieuwe prijs te geven. Evaluatie Deze methode is eenvoudig in te stellen , vooral als je een code generator gebruiken om de ongewenste programmering werk te doen . het is ook gemakkelijk te beheren , zodat gebruikers zoekopdrachten uitvoeren voor updates die door bepaalde mensen of op bepaalde tijdstippen . het belangrijkste nadeel is dat beheerders moeten fysiek inloggen en veranderingen in zowel de " huidige " tafel en de " geschiedenis " tabel bij te werken een alternatief zou zijn om een manier om de tafels te consolideren vinden Dit zou vereisen beheerders slechts een wijziging aan te brengen ; . . dat het zou toepassing zijn op alle relevante tabellen .
|