AD Blog

Geo: N 49° 6' 11.34 E 16° 22' 38.64
jdi na obsah

Vančák bloguje - text spotu:

Historie v relačních databázích

Malý příspěvek k diskuzi na Intervalu .

Abych nezaplevelil již tak rozsáhlou diskuzi v anotaci zmíněném článku, pokusím se tady popsat jak jsem tento úkol řešil v roce 1993 v databázi Foxpro 2.

Pro mladší: Foxpro 2 je (byla) realační databáze v prostředí DOS, datový systém dbx (soubory typu dbf, co tabulka to soubor, co index to soubor atd.)

Jednalo se o poměrně rozsáhlou aplikaci nejmenované firmy, jejíž cílem bylo sledovat platby zákazníků. Bezpečnost dat tedy byla jedním ze základních předpokladů úspěšné implemetace. Dalším faktorem bylo, že požadavek zněl na sledování a archivaci všech změn v datech.

Vzhledem k množství různých tabulek jsem zvolil následující strategii:

Vytvořil jsem tabulku archiv s následujícími poli:

  • id (integer – primární klíč tabulky)
  • tabulka (char – jméno tabulky ve které byla změna)
  • id_tabulka (integer – primární klíč změněného záznamu)
  • zmenil (char – kdo provedl změnu, zalogovaný uživatel)
  • kdy_zmenil (date – datum a čas změny)
  • puvodni (memo /v mysql odpovídá tomuto typu text/ – původní hodnoty záznamu v CSV formátu – oddělovač byl tuším „;“)
  • nove (memo – nové hodnoty záznamu v CSV formátu – oddělovač byl tuším „;“)

Pak zbývalo ošetřit okrajové podmínky:

  • nový záznam – pole puvodni zůstalo prázdné
  • smazání záznamu – pole nove zůstalo prázdné

Jak to fungovalo: v okamžiku kdy obsluha zadala pokyn k uložení dat, vygeneroval se záznam v archívu a naplnili se do něj data, pole puvodni z tabulky (nová data nebyla tam zatím uložena), pole novy z formuláře a nová data byla potom uložena do kmenové tabulky. To celé v rámci jedné transakce.

Jaké to mělo výhody:

  • nezávislost na struktuře tabulky – do jednoho souboru se zapisovaly změny asi ze 40 tabulek v systému
  • dokonalý přehled co, kdy a jak
  • možnost zpětné rekonstrukce dat

A nevýhody:

  • neustále bobtnající tabulka archiv
  • určitá chybovost memo souboru ve Foxpro 2
  • nepochybně větší zátěž sítě a serveru

No, třeba se to bude někomu hodit.

1 srpen 2005, 15:18 Autor:Aleš Dobrovolný

MSN: adobrovolny@hotmail.com

Jabber: adobrovolny@jabbim.cz
Stav na jabber:

ICQ: 278 396 374
Stav na ICQ:

Líbil se vám tento článek? Pošlete odkaz na:

Přidej odkaz na Bookmarky.cz Clip to Evernote

Nebo pošlete sponzorskou SMS.


Zde vložte Váš komentář

Formát Texy

Opište, prosím, text na obrázku

jdi na menu

Podobné články:

 
V případě problémů kontaktujte a nebo můžete stáhnout vCard
Powered by TextPattern ::CZ Celkový počet aktivních článků blogu: 541
N 49° 6.1957 E 16° 22.6636