Relaties met foreign keys wijzigen
Van toepassing op: SQL Server 2016 (13.x) en latere versies
Azure SQL Database
Azure SQL Managed Instance
SQL-database in Microsoft Fabric
U kunt de foreign key-kant van een relatie in SQL Server wijzigen met behulp van SQL Server Management Studio of Transact-SQL. Door de vreemde sleutel van een tabel te wijzigen, verandert u welke kolommen gerelateerd zijn aan kolommen in de primaire-sleuteltabel.
in dit onderwerp
Voordat u begint:
Een buitenlandse sleutel wijzigen met behulp van:
Voordat u begint
Beperkingen en beperkingen
De nieuwe vreemde sleutelkolom moet overeenkomen met het gegevenstype en de grootte van de primaire sleutelkolom waarop het betrekking heeft, met de volgende uitzonderingen:
Een character kolom of sysname kolom kan verbonden zijn met een varchar kolom.
Een binaire kolom kan betrekking hebben op een varbinaire kolom.
Een aliasgegevenstype kan betrekking hebben op het basistype.
Veiligheid
Machtigingen
Vereist ALTER-machtiging voor de tabel.
SQL Server Management Studio gebruiken
Een vreemde sleutel wijzigen
Vouw in Objectverkennerde tabel met de vreemde sleutel uit en vouw vervolgens Sleutelsuit.
Klik met de rechtermuisknop op de vreemde sleutel die u wilt wijzigen en selecteer Wijzigen.
In het dialoogvenster Relaties met vreemde sleutel kunt u de volgende wijzigingen aanbrengen.
geselecteerde relatie
Hiermee worden bestaande relaties weergegeven. Selecteer een relatie om de eigenschappen in het raster aan de rechterkant weer te geven. Als de lijst leeg is, zijn er geen relaties gedefinieerd voor de tabel.toevoegen
Maak een nieuwe relatie. De specificaties voor tabellen en kolommen moeten worden ingesteld voordat de relatie geldig is.verwijderen
De relatie verwijderen die is geselecteerd in de geselecteerde relaties lijst. Als u de toevoeging van een relatie wilt annuleren, gebruikt u deze knop om de relatie te verwijderen.Algemene categorie
Uitklappen om bestaande gegevens te controleren bij creatie of opnieuw inschakelen van en de specificaties van tabellen en kolommen.bestaande gegevens controleren bij het maken of opnieuw inschakelen van
Controleer alle bestaande gegevens in de tabel voordat de beperking is gemaakt of opnieuw is ingeschakeld, op basis van de beperking.Specificaties van Tabel- en Kolomcategorieën
Uitvouwen om te tonen welke kolommen uit welke tabellen fungeren als de vreemde sleutel en primaire (of unieke) sleutel in de relatie. Als u deze waarden wilt bewerken of definiëren, klikt u op de knop met het beletselteken (...) rechts van het eigenschappenveld.basistabel van vreemde sleutels
Hier ziet u welke tabel de kolom bevat die fungeert als een vreemde sleutel in de geselecteerde relatie.Kolommen met vreemde sleutels
Geeft aan welke kolom fungeert als refererende sleutel in de geselecteerde relatie.Primaire/Unieke Sleutel Basistabel
Hier ziet u welke tabel de kolom bevat die fungeert als een primaire (of unieke) sleutel in de geselecteerde relatie.primaire/unieke sleutelkolommen
Geeft aan welke kolom fungeert als een primaire (of unieke) sleutel in de geselecteerde relatie.identiteitscategorie
Vouw uit om de eigenschapsvelden weer te geven voor naam en beschrijving.naam
Geeft de naam van de relatie weer. Wanneer er een nieuwe relatie wordt gemaakt, krijgt deze een standaardnaam op basis van de tabel in het actieve venster in Tabelontwerper. U kunt de naam op elk gewenst moment wijzigen.beschrijving
Beschrijf de relatie. Als u een gedetailleerdere beschrijving wilt schrijven, klikt u op Beschrijving en klikt u vervolgens op het beletselteken (...) rechts van het eigenschappenveld. Dit biedt een groter gebied voor het schrijven van tekst.Tabelontwerper Categorie
Uitvouwen om informatie weer te geven voor Controleer bestaande gegevens bij het aanmaken of opnieuw inschakelen van en Afdwingen van replicatie.afdwingen voor replicatie
Hiermee wordt aangegeven of de beperking moet worden afgedwongen wanneer een replicatieagent een invoeg-, bijwerk- of verwijderbewerking uitvoert in deze tabel.externe-sleutelbeperking afdwingen
Specificeer of wijzigingen zijn toegestaan voor de gegevens van de kolommen in de relatie als deze wijzigingen de integriteit van de referentiële-sleutelrelatie ongeldig zouden maken. Kies Ja als u dergelijke wijzigingen niet wilt toestaan en kies Nee als u ze wel wilt toestaan.INSERT en UPDATE Specificatiecategorie
Vouw uit om informatie weer te geven voor de Regel verwijderen en de Regel bijwerken voor de relatie.Regel verwijderen
Geef op wat er gebeurt als een gebruiker probeert een rij te verwijderen met gegevens die betrokken zijn bij een vreemde sleutelrelatie.Geen actie Een foutbericht geeft de gebruiker aan dat de verwijdering niet is toegestaan en dat DELETE wordt teruggedraaid.
Cascaderen Verwijdert alle rijen met gegevens die betrokken zijn bij de vreemde-sleutelrelatie. Geef CASCADE niet op als de tabel wordt opgenomen in een samenvoegpublicatie die logische records gebruikt.
Null instellen Stelt de waarde op null als alle foreign key kolommen voor de tabel null-waarden kunnen accepteren.
Standaardinstelling instellen Stelt de waarde in op de standaardwaarde die voor de kolom is gedefinieerd, als voor alle kolommen die als vreemde sleutel fungeren voor de tabel standaardwaarden zijn gedefinieerd.
regel bijwerken
Geef op wat er gebeurt als een gebruiker probeert een rij bij te werken met gegevens die betrokken zijn bij een vreemde sleutelrelatie.Geen actie Een foutbericht geeft de gebruiker aan dat de update niet is toegestaan en dat de UPDATE wordt teruggedraaid.
Cascade Werkt alle rijen bij die gegevens bevatten die betrokken zijn bij de relatie met de vreemde sleutel. Specificeer CASCADE niet als de tabel wordt opgenomen in een samenvoegpublicatie waarin logische records worden gebruikt.
Null instellen Stelt de waarde op null in als alle foreign key-kolommen voor de tabel null-waarden kunnen accepteren.
Standaardwaarde instellen Stelt de waarde in op de standaardwaarde die voor de kolom is gedefinieerd als voor alle buitenlandse sleutels van de tabel standaardwaarden zijn gedefinieerd.
Klik in het menu Bestand op Opslaantabelnaam.
Transact-SQL gebruiken
Een vreemde sleutel wijzigen
Als u de beperking REFERERENDE SLEUTEL wilt wijzigen met behulp van Transact-SQL, moet u eerst de bestaande beperking REFERERENDE SLEUTEL verwijderen en deze vervolgens opnieuw maken met de nieuwe definitie. Zie Externe-sleutelrelaties verwijderen en Externe-sleutelrelaties makenvoor meer informatie.