L'integrità del dominio dei dati o l'integrità del dominio sono una funzione di database che garantisce che tutti i dati forniti in una colonna tabella aderiscano a un set definito di valori validi. Questa funzione minimizza la corruzione dei dati e duplica i valori in un determinato database.
In questo tutorial, imparerai come far rispettare l'integrità del dominio nel tuo database Oracle utilizzando il vincolo di controllo.
ORACLE CONTROLLO VINGLIO
Un vincolo di controllo ci consente di definire espressioni logiche che possono restituire vere o false. Il motore del database valuterà quindi tutti i dati inseriti o aggiornati in quella colonna per garantire che aderiscano alle regole di espressione.
Se i dati aderiscono alle regole di espressione, il motore del database accetta i dati e consente l'istruzione insert o aggiornamento. In caso contrario, se i dati non rispettano le leggi, il motore del database rifiuta i dati e nega l'operazione di inserto o aggiornamento.
Una singola colonna può avere uno o più vincoli di controllo, a condizione che non siano in conflitto con gli altri vincoli di controllo esistenti. Inoltre, non si dovrebbe assumere l'ordine di valutazione dell'espressione.
Allo stesso modo, puoi avere più di una colonna con un vincolo di controllo.
Regole di un vincolo di assegno in Oracle
Quando si definisce un vincolo di controllo nei database Oracle, assicurarsi:
Oracle Crea vincolo di controllo
Si consiglia di creare un vincolo di controllo durante la creazione di una tabella. Ciò garantisce che tutti i dati inseriti o aggiornati nella tabella corrispondano alle regole del vincolo.
Di seguito è riportata la sintassi per l'aggiunta di un vincolo di controllo durante la creazione della tabella:
Crea table table_name (Per definire un vincolo di controllo, iniziamo con il nome della colonna su cui desideriamo applicare il vincolo-next, il tipo di dati della colonna e la parola chiave di controllo. Infine, l'espressione del vincolo è fornita all'interno di una coppia di parentesi.
Sebbene non necessario, a volte potrebbe essere necessario assegnare manualmente un identificatore univoco al vincolo di controllo; In tale scenario, è possibile utilizzare la dichiarazione di vincolo:
Crea table table_nam (Oracle crea un esempio di vincolo
Il seguente esempio crea una tabella dei prodotti con un vincolo di controllo che garantisce che lo stock sia sempre disponibile:
Crea prodotti da tavolo (Nella tabella sopra, definiamo la colonna di quantità con un vincolo di controllo che garantisce che il valore dei dati di quella colonna sia maggiore di 0.
In tal caso, il vincolo garantisce che i prodotti memorizzati nel database siano sempre disponibili.
Se tentiamo di aggiungere un record in cui la quantità è 0 o un numero negativo, Oracle restituirà un errore e fallirà la richiesta di inserimento.
Esempio:
INSERT IN Products (Product_name, quantità, prezzo) Valori ('Microsoft Volterra', 0, 599);La richiesta di cui sopra restituisce un errore:
Errore SQL [2290] [23000]: ORA-02290: controlla il vincolo (HR.Sys_c007662) violatoVincolo di controllo del drop Oracle
Una volta che non hai più bisogno di un vincolo di controllo sul tavolo, puoi lasciarlo cadere dalla tabella usando l'alter
Comando di vincolo di caduta della tabella:Oracle Disabilita Controllo vincolo
A volte, potresti voler disabilitare temporaneamente un vincolo senza rimuoverlo dal tavolo. Usa il comando:
Alter table table_nameOracle Abilita Controllo vincolo
Per abilitare un vincolo di controllo inattivo, eseguire quanto segue:
Alter table table_nameConclusione
In questo tutorial, hai scoperto come utilizzare il vincolo di controllo nei database Oracle per consentire solo i valori che corrispondono a una condizione specifica da aggiungere o aggiornare in una determinata tabella.