Úprava vztahů cizího klíče
platí pro: SQL Server 2016 (13.x) a novější verze
Azure SQL Database
Azure SQL Managed Instance
SQL Database v Microsoft Fabric
Cizí klíč relace v SQL Serveru můžete upravit pomocí aplikace SQL Server Management Studio nebo jazyka Transact-SQL. Úprava cizího klíče tabulky mění sloupce propojené se sloupci v tabulce primárního klíče.
v tomto tématu
Než začnete:
Úprava cizího klíče pomocí:
Než začnete
Omezení a restrikce
Nový sloupec cizího klíče se musí shodovat s datovým typem a velikostí sloupce primárního klíče, ke kterému se vztahuje, s těmito výjimkami:
Sloupec char nebo sloupec sysname může souviset s varchar sloupcem.
Binární sloupec může souviset s varbinárním sloupcem.
Datový typ aliasu může souviset s jeho základním typem.
Bezpečnost
Dovolení
Vyžaduje oprávnění ALTER na tabulce.
Použití aplikace SQL Server Management Studio
Úprava cizího klíče
V Object Explorerrozbalte tabulku s cizím klíčem a potom rozbalte Klíče.
Klikněte pravým tlačítkem myši na cizí klíč, který chcete upravit, a vyberte Upravit.
V dialogovém okně Vztahy cizích klíčů můžete provést následující úpravy.
Vybraný vztah
Zobrazí seznam existujících relací. Vyberte relaci, která zobrazí její vlastnosti v mřížce vpravo. Pokud je seznam prázdný, nebyly pro tabulku definovány žádné relace.Přidat
Vytvořte novou relaci. Než bude relace platná, musí být nastaveny specifikace tabulek a sloupců a.Smazat
Odstraňte relaci vybranou v seznamu Vybrané relace. Pokud chcete zrušit přidání relace, pomocí tohoto tlačítka odeberte relaci.Obecná Kategorie
Rozbalením zobrazíte Kontrola existujících dat při vytváření nebo opětovném povolení a tabulky a specifikace sloupců.Kontrola existujících dat při vytváření nebo znovupovolení
Ověřte všechna existující data v tabulce oproti omezení před vytvořením nebo znovu povolením daného omezení.Specifikace kategorií tabulek a sloupců
Rozbalte, abyste zobrazili, které sloupce z jakých tabulek fungují jako cizí klíč a které jako primární (nebo jedinečný) klíč v relaci. Chcete-li tyto hodnoty upravit nebo definovat, klikněte na tlačítko se třemi tečky (...) napravo od pole vlastnosti.Základní tabulka cizího klíče
Zobrazuje, která tabulka obsahuje sloupec, který ve vybrané relaci funguje jako cizí klíč.sloupce cizího klíče
Zobrazuje, který sloupec ve vybrané relaci funguje jako cizí klíč.Základová tabulka primárního/unikátního klíče
Zobrazuje, která tabulka obsahuje sloupec fungující jako primární (nebo jedinečný) klíč ve vybrané relaci.Sloupce Primárního/Jedinečného Klíče
Zobrazuje, který sloupec funguje jako primární (nebo jedinečný) klíč ve vybrané relaci.kategorie identity
Rozbalením zobrazíte pole vlastností pro Název a Popis.názvu
Zobrazuje název relace. Když se vytvoří nová relace, je jí přiřazeno výchozí jméno založené na tabulce v aktivním okně v Návrhář tabulky. Název můžete kdykoli změnit.popis
Popište vztah. Pokud chcete napsat podrobnější popis, klikněte na Popis a potom klikněte na tři tečky (...), které se zobrazí napravo od pole vlastnosti. To poskytuje větší oblast, ve které se má psát text.kategorie návrháře tabulky
Rozbalte pro zobrazení informací o Kontrole existujících dat při vytváření nebo opětovném povolení a Vynucení pro replikaci.Vynutit pro replikaci
Určuje, jestli se má omezení vynutit, když agent replikace provede vložení, aktualizaci nebo odstranění v této tabulce.Vynutit Omezení Cizího Klíče
Určete, zda jsou změny povoleny pro data sloupců v relaci, pokud by tyto změny zneplatněly integritu relace cizího klíče. Pokud nechcete takové změny povolit, zvolte Ano a pokud je chcete povolit, zvolte Ne.Kategorie specifikace ÚPRAVA a PŘIDÁNÍ
Rozbalením zobrazíte informace pro pravidlo Odstranit a pravidlo Aktualizovat pro relaci.odstranit pravidlo
Určete, co se stane, když se uživatel pokusí odstranit řádek s daty, která jsou součástí relace cizího klíče:žádná akce chybová zpráva uživateli oznámí, že odstranění není povolené a funkce DELETE se vrátí zpět.
Kaskádová Odstraní všechny řádky obsahující data zahrnutá v relaci cizího klíče. Nezadávejte CASCADE, pokud bude tabulka zahrnuta do slučovací publikace, která používá logické záznamy.
Nastavit hodnotu Null Nastaví hodnotu null, pokud všechny sloupce cizího klíče tabulky mohou přijímat hodnoty null.
Nastavit výchozí Nastaví hodnotu na výchozí hodnotu definovanou pro sloupec, pokud všechny sloupce cizího klíče v tabulce mají definované výchozí hodnoty.
pravidlo aktualizace
Určete, co se stane, když se uživatel pokusí aktualizovat řádek s daty, která jsou zapojená do relace cizího klíče.žádná akce chybová zpráva uživateli oznámí, že aktualizace není povolená a aktualizace se vrátí zpět.
Kaskádová aktualizace aktualizuje všechny řádky, které obsahují data zapojená do relace cizího klíče. Nezadávejte CASCADE, pokud bude tabulka zahrnuta do slučovací publikace, která používá logické záznamy.
Nastavit hodnotu Null Nastaví hodnotu null, pokud všechny sloupce cizího klíče tabulky mohou přijímat hodnoty null.
Nastavit výchozí Nastaví hodnotu na výchozí hodnotu definovanou pro daný sloupec, pokud mají všechny sloupce cizího klíče pro tabulku definované výchozí hodnoty.
V nabídce Soubor klikněte na Uložitnázev tabulky.
Použití Transact-SQL
Upravit cizí klíč
Chcete-li upravit omezení CIZÍ KLÍČ pomocí jazyka Transact-SQL, musíte nejprve odstranit existující omezení CIZÍ KLÍČ a pak ho znovu vytvořit s novou definicí. Další informace naleznete v tématu Odstranění relací cizích klíčů a Vytvoření relací cizích klíčů.