|
SQL /
ALTER TABLE< CREATE TABLE | SQL postupnì | CREATE VIEW > Tímto pøíkazem upravujeme definici struktury tabulky, a nebo pøidáváme èi ru¹íme omezení. Je mo¾no pøidávat sloupce, mìnit jejich typ nebo velikost, eventuelnì ru¹it sloupce. Pøi tomto je tøeba mít na mysli, ¾e pokud provádíme zmìny struktury tabulek, které jsou ji¾ pou¾ívány nìjakými aplikacemi, mù¾e dojít k zásadním problémùm (viz i Principy datového modelování). Také samotné provedení tìchto zmìn v databázovém systému nemusí být jednoduchá zále¾itost, do hry vstupuje management úlo¾ných kapacit. Tak¾e zmìny struktury tabulky ani nebudeme ukazovat (ètenáøe odká¾eme eventuelnì na referenèní pøírùèku jazyka), a zamìøíme se na definice integritních omezení. Syntaxe definice omezení:
alter table <jméno_tabulky> add constraint <jméno_omezení> <definice_omezení>;
Zru¹ení omezení:
alter table <jméno_tabulky> drop constraint <jméno_omezení>;
Zmìnu omezení lze dìlat jen tak, ¾e ho zru¹íme a definujeme nové. Pøíklad: Definujte referenèní integritu mezi tabulkami OSOBA a KOMUNIKAT, tak aby cizí klíè ID_OS v tabulkce KOMUNIKÁT odkazoval na primární klíè tabulky ID tabulky OSOBA. Nastavte kaskádovou variantu pro DELETE.
Pøíklad: Zmìòte konrolu záznamù o komunikaci tak, aby obsah mohl být prázdný, ale obsah nebo odkaz byl v¾dy vyplnìn.
Uka¾me si je¹tì, jak bychom napravili jednu chybu na¹eho databázového návrhu, a to tu týkající se telefonù. Aby jedna osoba mohla mít i více telefonù, pøidáme tabulku TELEFON, pøesuneme do ní telefony, a zru¹íme sloupce TEL1 a TEL2. Pøíklad: Vytvoøíme tabulku TELEFON a pøesunme do ní telefony.
< CREATE TABLE | SQL postupnì | CREATE VIEW > Obsah: |