Portál AbcLinuxu, 11. května 2025 07:34
Podobný problém obvykle řeším tak, že místo jedné tabulky zavedu dvě, např.
create table TEAM_IDENTITIES( ID integer primary key, CREATED timestamp default CURRENT_TIMESTAMP, FINISHED timestamp, LAST integer ); create table TEAMS( ID integer primary key, IDENTITY integer not null references TEAM_IDENTITIES(ID), CREATED timestamp default CURRENT_TIMESTAMP, FINISHED timestamp, NAME varchar(32) collate cs_CZ, ... ); alter table TEAM_IDENTITIES add foreign key LAST references TEAMS(ID);
Změna údajů o družstvu se provede tak, že se vytvoří nový záznam v tabulce TEAMS
, ukončí se platnost toho předchozího a aktualizuje se sloupec LAST
příslušného záznamu v TEAM_IDENTITIES
. Odkazy na družstvo, např. informace o domácím a hostujícím družstvu, ukazují do tabulky TEAMS
, takže i když se změní název družstva, u utkání která hrálo pod starým, se bude pořád zobrazovat ten původní.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.