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