historie a jedinecnost [Re: Platnost zaznamu v ciselniku jeste jednou]

Radek Kanovsky rk na dat.cz
Pondělí Červenec 21 11:07:24 CEST 2003


On Mon, Jul 21, 2003 at 10:07:30AM +0200, Ing. Pavel Janousek wrote:

> > -----Original Message-----
> > From: Radek Kanovsky [mailto:rk na dat.cz] 
> > Predpokladejme, ze mame historickou tabulku, kde sloupec "a" ma byt
> > unikatni v kteremkoliv okamziku. Je sice mozne, aby dva zaznamy mely
> > stejnou hodnotu polozky "a", ale jejich platnost se nesmi prekryvat.
> 
> 	Tohle je IMHO velmi jednoduche... PK prece muze byt slozeny...
> => unikatni musi byt dvojice A:platnost...

Platnost je ale zadana jako datum_od - datum_do:

  insert into hist (id, a, od, do) values(1, 12, '2003-01-01', '2003-02-28');
  insert into hist (id, a, od, do) values(2, 12, '2003-02-01', '2003-03-31');

Cili hodnota "a" a platnost jsou pri pouziti jednoduchecho UNIQUE
jedinecne, ale je videt, ze v unoru se hodnoty "a" prekryvaji a podminka
na jedinecnost v case neni splnena. Pokud bych chtel delat platnost
vyctem datumu (pro kazdy den platnosti jeden zaznam), tak by Vas princip
zafungoval, ale enorme by narostl pocet zaznamu v tabulce hist.

Zdravi

Radek Kaňovský


Další informace o konferenci Test