Maison  >  Article  >  base de données  >  Exemple détaillé d'Oracle ajoutant des contraintes uniques

Exemple détaillé d'Oracle ajoutant des contraintes uniques

WBOY
WBOYavant
2022-04-13 18:59:465320parcourir

Cet article vous apporte des connaissances pertinentes sur Oracle, qui présente principalement les problèmes liés à l'ajout de contraintes uniques. Une contrainte unique fait référence à une contrainte dans laquelle un ou plusieurs champs de la table peuvent être combinés pour identifier de manière unique un enregistrement. jetez-y un œil ensemble, j'espère que cela sera utile à tout le monde.

Exemple détaillé d'Oracle ajoutant des contraintes uniques

Tutoriel recommandé : "Tutoriel vidéo Oracle"

1 Objectif

Utilisez des exemples de démonstration pour montrer comment créer, supprimer, désactiver et utiliser des contraintes uniques

2 Qu'est-ce qu'une contrainte unique ?

La contrainte d'unicité fait référence à la contrainte selon laquelle un ou plusieurs champs combinés de la table peuvent identifier de manière unique un enregistrement.

Les champs Union peuvent inclure des valeurs nulles.

Remarque : Dans Oracle, les contraintes uniques peuvent avoir jusqu'à 32 colonnes.

Des contraintes uniques peuvent être créées lors de la création d'une table ou à l'aide de l'instruction ALTER TABLE.

3 La différence entre les contraintes uniques et les clés primaires

  • Clé primaire : Toutes les colonnes qui composent la clé primaire ne peuvent pas inclure de valeurs nulles.
  • Contrainte unique : supposons que la contrainte unique se compose de plusieurs colonnes et que certaines colonnes peuvent inclure des valeurs nulles.
  • Oracle ne permet pas de créer à la fois une clé primaire et une contrainte unique sur la même colonne.

4 Définir des contraintes uniques lors de la création d'une table

1) Syntaxe :

CREATE TABLE table_name
(
    column1 datatype null/not null,
    column2 datatype null/not null,
    ...
    CONSTRAINT constraint_name UNIQUE (column1, column2,...,column_n)
);

2) Échantillon de démonstration de contraintes uniques basées sur une seule colonne :

create table tb_supplier
(
  supplier_id          number not null
 ,supplier_name        varchar2(50)
 ,contact_name         varchar2(50)
 ,CONSTRAINT tb_supplier_u1 UNIQUE (supplier_id)--创建表时创建唯一性约束
);

3) Échantillon de démonstration de contraintes uniques basées sur plusieurs columns Exemple :

create table tb_products
(
  product_id        number not null,
  product_name      number not null,
  product_type      varchar2(50),
  supplier_id       number,
  CONSTRAINT tb_products_u1 UNIQUE (product_id, product_name) --定义复合唯一性约束
);

5 Utilisez la syntaxe ALTER TABLE pour créer une contrainte unique

1) Syntaxe

ALTER TABLE table_name
ADD CONSTRAINT constraint_name
UNIQUE (column1, column2, ... , column_n);

2) Démontrez la préparation de l'échantillon, créez d'abord une table

drop table tb_supplier;
drop table tb_products;

create table tb_supplier
(
  supplier_id          number not null
 ,supplier_name        varchar2(50)
 ,contact_name         varchar2(50)
);

create table tb_products
(
  product_id        number not null,
  product_name      number not null,
  product_type      varchar2(50),
  supplier_id       number
);

3) Contrainte unique basée sur une seule colonne

alter table tb_supplier
add constraint  tb_supplier_u1
unique (supplier_id);

4) Contraintes uniques basées sur plusieurs colonnes

alter table tb_products
add constraint  tb_products_u1
unique (product_id,product_name);

6 Désactiver les contraintes uniques

1) Syntaxe :

ALTER TABLE table_name
DISABLE CONSTRAINT constraint_name;

2) Exemple de démonstration :

ALTER TABLE tb_supplier
DISABLE CONSTRAINT  tb_supplier_u1;

7 Utiliser des contraintes uniques

1) Syntaxe :

ALTER TABLE tb_supplier
ENABLE CONSTRAINT tb_supplier_u1;

2 ) Exemple de démonstration :

ALTER TABLE tb_supplier
ENABLE CONSTRAINT tb_supplier_u1;

7 Supprimer la contrainte unique

1) Syntaxe :

ALTER TABLE table_name
DROP CONSTRAINT constraint_name;

2) Exemple de démonstration :

ALTER TABLE tb_supplier DROP CONSTRAINT tb_supplier_u1;
ALTER TABLE tb_products DROP CONSTRAINT tb_products_u1;

Tutoriel recommandé : "Tutorial Oracle"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer