Oletame, et andmebaasis on tabelid Tellimus ja Tellimuse_ajalugu. Tabelis Tellimus registreeritakse iga tellimuse korral selle hetkeseisund. Tabelis Tellimuse_ajalugu registreeritakse iga tellimuse korral kõik selle seisundimuudatused.
Siin on seisundiklassifikaator Tellimuse_seisundi_liik seotud nii tabeliga Tellimus kui ka tabeliga, kus hoitakse tellimuste seisundimuudatuste ajalugu. Kuna mõlemad tabelid kajastavad ühe ja sama objekti, ehk tellimuse elutsüklit, siis on täiesti loogiline, et nad kasutavad täpselt sama klassifikaatorit. Eraldi klassifikaatori loomine ajalootabeli jaoks oleks andmete dubleerimine ja loogikaviga, sest me räägime endiselt tellimuse seisunditest.
Tabelis Tellimuse_seisundi_liik peaks saama registreerida, millised seisundid on hetkel äriloogika järgi kasutusel ja millised seisundid on ajaloolised. Selleks võib tabelisse lisada veeru on_aktiivne.
Millal siis on vaja eraldi seisundiklassifikaatorite tabeleid?
Kujutame ette olukorda, kus andmebaasis on tabel Seisundi_liik ning see on välisvõtmete kaudu seotud nii tabeliga Klient kui ka tabeliga Töötaja. Selline ühise klassifikaatori jagamine täiesti erinevate olemite vahel on halb praktika. Isegi kui klientidel ja töötajatel on hetkel täpselt samasugused seisundid, võivad nende elutsüklid tulevikus lahku lüüa. Kui meil on aga ühine tabel, ei luba andmebaasi struktuur meil kliendile ja töötajale erinevaid seisundite loogikaid luua. Palju parem ja paindlikum disain oleks luua eraldi tabelid nimega Kliendi_seisundi_liik ja Töötaja_seisundi_liik.
Kujutame ette olukorda, kus andmebaasis on tabel Seisundi_liik ning see on välisvõtmete kaudu seotud nii tabeliga Klient kui ka tabeliga Töötaja. Selline ühise klassifikaatori jagamine täiesti erinevate olemite vahel on halb praktika. Isegi kui klientidel ja töötajatel on hetkel täpselt samasugused seisundid, võivad nende elutsüklid tulevikus lahku lüüa. Kui meil on aga ühine tabel, ei luba andmebaasi struktuur meil kliendile ja töötajale erinevaid seisundite loogikaid luua. Palju parem ja paindlikum disain oleks luua eraldi tabelid nimega Kliendi_seisundi_liik ja Töötaja_seisundi_liik.