|
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: |