Maison >base de données >Oracle >Oracle définit la clé primaire

Oracle définit la clé primaire

PHPz
PHPzoriginal
2023-05-07 20:36:063154parcourir

Dans la base de données Oracle, la clé primaire est une contrainte utilisée pour identifier de manière unique les données de ligne dans chaque table. Les contraintes de clé primaire peuvent garantir que chaque ligne de données de la table possède une identité unique. Par conséquent, lors de la conception d'une base de données, il est très important de définir une clé primaire pour la table. Ci-dessous, nous expliquerons en détail comment configurer les clés primaires dans Oracle.

  1. Définir les contraintes de clé primaire lors de la création d'une table

Lors de la création d'une table, vous pouvez définir la clé primaire de la table en définissant la clé primaire contraintes. Voici la syntaxe permettant de définir les contraintes de clé primaire lors de la création d'une table :

CREATE TABLE table_name (
   column1 datatype constraint constraint_name PRIMARY KEY,
   column2 datatype,
   column3 datatype,
   .....
);

Dans la syntaxe ci-dessus, column1 représente le nom de la colonne dans la table et datatype représente le type de données de la colonne. La contrainte PRIMARY KEY est utilisée pour définir la contrainte de clé primaire, et constraint_name est le nom de la contrainte de clé primaire. column1 代表表中的列名,datatype 代表该列的数据类型。而 PRIMARY KEY 约束用来设置主键约束,constraint_name 则是主键约束的名称。

例如,我们可以创建一个 Employee 表,并将 EmployeeID 列设置为主键:

CREATE TABLE Employee (
   EmployeeID number(10) constraint pk_Employee PRIMARY KEY,
   FirstName varchar2(50),
   LastName varchar2(50),
   Age number(3)
);
  1. 在已存在的表中添加主键约束

如果在创建表时没有设置主键约束,我们也可以在表创建后再添加主键约束。以下是在已存在表中添加主键约束的语法:

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

在以上语法中,table_name 代表要添加主键约束的表名,constraint_name 是主键约束的名称,(column1, column2, ... column_n) 代表要设置为主键的列名,可以设置多个列作为主键。

例如,如果我们已经创建了一个 Orders 表,我们可以在该表中添加 OrderIDOrderDate 列作为主键:

ALTER TABLE Orders
ADD CONSTRAINT pk_Orders PRIMARY KEY (OrderID, OrderDate);
  1. 禁止 Null 值

在设置主键约束后,Oracle 会自动禁止表中出现 Null 值。如果插入任何一行数据时,包含一个 Null 值,则会被拒绝并触发错误消息。因此,要确保表中主键列中的全部值不为 Null。

在某些情况下,我们需要主键允许有 Null 值。此时,需要在主键列中使用 NULL 关键字来允许 Null 值。

例如,在 Employee 表中,如果我们不想要通过 EmployeeID

Par exemple, nous pouvons créer une table Employee et définir la colonne EmployeeID comme clé primaire :

CREATE TABLE Employee (
   EmployeeID number(10) constraint pk_Employee PRIMARY KEY,
   FirstName varchar2(50),
   LastName varchar2(50),
   Age number(3),
   AltEmpID number(10) NULL
);
    Ajouter des contraintes de clé primaire à une table existante#🎜🎜##🎜🎜##🎜🎜#Si les contraintes de clé primaire ne sont pas définies lors de la création de la table, nous pouvons également ajouter les contraintes de clé primaire après le tableau est créé. Voici la syntaxe pour ajouter une contrainte de clé primaire à une table existante : #🎜🎜#rrreee#🎜🎜#Dans la syntaxe ci-dessus, table_name représente le nom de la table à laquelle la contrainte de clé primaire doit être ajouté, constraint_name code> est le nom de la contrainte de clé primaire, <code>(column1, column2, ... column_n) représente le nom de la colonne à définir comme clé primaire . Plusieurs colonnes peuvent être définies comme clé primaire. #🎜🎜##🎜🎜#Par exemple, si nous avons créé une table Commandes, nous pouvons ajouter OrderID et OrderDate à la colonne de la table comme clé primaire : #🎜🎜#rrreee
      #🎜🎜#Prohibit Null value#🎜🎜##🎜🎜##🎜🎜#Après avoir défini la contrainte de clé primaire, Oracle interdira automatiquement que Null apparaisse dans la valeur du tableau. Si une ligne de données insérée contient une valeur Null, elle sera rejetée et un message d'erreur sera déclenché. Par conséquent, assurez-vous que toutes les valeurs des colonnes de clé primaire du tableau ne sont pas nulles. #🎜🎜##🎜🎜#Dans certains cas, nous avons besoin de la clé primaire pour autoriser les valeurs Null. Dans ce cas, vous devez utiliser le mot-clé NULL dans la colonne de clé primaire pour autoriser les valeurs Null. #🎜🎜##🎜🎜#Par exemple, dans la table Employee, si nous ne voulons pas identifier les employés via la colonne EmployeeID, nous pouvons la configurer pour autoriser Null valeurs : #🎜🎜#rrreee#🎜🎜#Ce qui précède est la méthode de définition des contraintes de clé primaire dans Oracle. La définition des clés primaires est très importante pour les performances de la base de données et l'intégrité des données. Par conséquent, lors de la conception de la base de données, veillez à définir des contraintes de clé primaire pour garantir la cohérence et l'intégrité des données. #🎜🎜#

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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn