Finestra di dialogo Relazioni chiavi esterne (Visual Database Tools)
Questa finestra di dialogo consente di creare o modificare le relazioni tra le tabelle del database. In una relazione di chiave esterna, i vincoli FOREIGN KEY interagiscono con i vincoli PRIMARY KEY o UNIQUE per applicare l'integrità referenziale tra tabelle specificate. È possibile, ad esempio, applicare un vincolo FOREIGN KEY sulla colonna ProductID della tabella Order_Details per garantire che il valore immesso in tale colonna corrisponda a un valore esistente nella colonna ProductID della tabella Products.
[!NOTA]
Se la tabella viene pubblicata per la replica, è necessario apportare modifiche allo schema utilizzando l'istruzione ALTER TABLE di Transact-SQL oppure SMO (SQL Server Management Objects). Quando viene modificato lo schema tramite Progettazione tabelle o Progettazione diagrammi di database, l'applicazione tenta di eliminare e ricreare la tabella, La modifica allo schema avrà esito negativo, poiché non è consentita la rimozione di oggetti pubblicati.
Per accedere a questa finestra di dialogo, aprire la definizione della tabella con la chiave esterna, fare clic con il pulsante destro del mouse sulla griglia della definizione della tabella e quindi scegliere Relazioni.
Opzioni
Relazione selezionata
Elenca le relazioni esistenti. Selezionarne una per visualizzarne le proprietà nella griglia a destra. Se l'elenco è vuoto, significa che per la tabella non sono state definite relazioni.Aggiungi
Crea una nuova relazione. È necessario impostare l'opzione Specifiche di tabelle e colonne per rendere valida la relazione.Elimina
Elimina dall'elenco Relazione selezionata la relazione selezionata. Per annullare l'aggiunta di una relazione, utilizzare questo pulsante per rimuovere la relazione.Categoria Generale
Viene espansa per visualizzare Verifica dati esistenti durante la creazione o la riattivazione e Specifica tabelle e colonne.Verifica dati esistenti durante la creazione o la riattivazione
Consente di verificare in base al vincolo tutti i dati esistenti nella tabella prima della creazione o della riattivazione del vincolo.Categoria Specifica tabelle e colonne
Viene espansa per visualizzare le colonne che fungono da chiave esterna e chiave primaria o univoca nella relazione, nonché le tabelle in cui sono contenute. Per modificare o definire questi valori, fare clic sul pulsante con puntini di sospensione (…) a destra del campo della proprietà.Tabella di base chiavi esterne
Visualizza la tabella in cui è contenuta la colonna che funge da chiave esterna nella relazione selezionata.Colonne chiavi esterne
Visualizza la colonna che funge da chiave esterna nella relazione selezionata.Tabella di base chiavi primarie/univoche
Visualizza la tabella in cui è contenuta la colonna che funge da chiave primaria o univoca nella relazione selezionata.Colonne chiavi primarie/univoche
Visualizza la colonna che funge da chiave primaria o univoca nella relazione selezionata.Categoria Identità
Viene espansa per visualizzare i campi delle proprietà Nome e Descrizione.Nome
Visualizza il nome della relazione. Quando viene creata una nuova relazione, le viene assegnato un nome predefinito sulla base della tabella presente nella finestra attiva di Progettazione tabelle. Il nome può essere modificato in qualunque momento.Descrizione
Descrive la relazione. Per inserire una descrizione più dettagliata, fare clic su Descrizione, quindi sui puntini di sospensione (…) a destra del campo della proprietà. Viene così visualizzata un'area più grande in cui scrivere il testo.Categoria Progettazione tabelle
Viene espansa per visualizzare le informazioni relative a Verifica dati esistenti durante la creazione o la riattivazione e Attiva per replica.Attiva per replica
Indica se applicare il vincolo quando un agente di replica esegue un'inserimento, un aggiornamento o un'eliminazione in questa tabella. Per ulteriori informazioni, vedere Controllo di vincoli, identità e trigger con l'opzione NOT FOR REPLICATION.Attiva vincolo della chiave esterna
Specifica se le modifiche ai dati delle colonne coinvolte nella relazione sono consentite quando rischiano di compromettere l'integrità della relazione di chiave esterna. Fare clic su Sì per non accettare tali modifiche e su No per accettarle.Categoria Specifica INSERT e UPDATE
Viene espansa per visualizzare le informazioni relative a Elimina regola e Aggiorna regola per la relazione.Elimina regola
Specifica che cosa accade se un utente tenta di eliminare una riga contenente dati coinvolti in una relazione di chiave esterna:Nessuna azione Un messaggio di errore indica che l'eliminazione non è consentita e viene eseguito il rollback dell'operazione DELETE.
Sovrapponi Elimina tutte le righe che contengono dati coinvolti nella relazione di chiave esterna. Non specificare CASCADE se la tabella verrà inclusa in una pubblicazione di tipo merge che utilizza record logici. Per ulteriori informazioni sui record logici, vedere Raggruppamento di modifiche alla righe correlate con record logici.
Imposta Null Imposta il valore su Null se tutte le colonne di chiave esterna della tabella possono accettare valori Null. Non applicabile a SQL Server 2000.
Imposta predefinito Imposta il valore predefinito per la colonna se per tutte le colonne di chiave esterna della tabella sono stati impostati valori predefiniti. Non applicabile a SQL Server 2000.
Aggiorna regola
Specifica ciò che accade se un utente tenta di aggiornare una riga contenente dati coinvolti in una relazione di chiave esterna:Nessuna azione Un messaggio di errore indica che l'aggiornamento non è consentito e viene eseguito il rollback dell'operazione UPDATE.
Sovrapponi Aggiorna tutte le righe che contengono dati coinvolti nella relazione di chiave esterna. Non specificare CASCADE se la tabella verrà inclusa in una pubblicazione di tipo merge che utilizza record logici. Per ulteriori informazioni sui record logici, vedere Raggruppamento di modifiche alla righe correlate con record logici.
Imposta Null Imposta il valore su Null se tutte le colonne di chiave esterna della tabella possono accettare valori Null. Non applicabile a SQL Server 2000.
Imposta predefinito Imposta il valore predefinito definito per la colonna se per tutte le colonne di chiave esterna della tabella sono stati impostati valori predefiniti. Non applicabile a SQL Server 2000.