ホームページ  >  記事  >  データベース  >  オラクルは主キーを設定します

オラクルは主キーを設定します

PHPz
PHPzオリジナル
2023-05-07 20:36:063091ブラウズ

Oracle データベースでは、主キーは各テーブル内の行データを一意に識別するために使用される制約です。主キー制約により、テーブル内のデータ行が一意であることが保証されるため、データベースを設計する際には、テーブルに主キーを設定することが非常に重要です。 Oracleで主キーを設定する方法を詳しく説明します。

  1. テーブルの作成時に主キー制約を設定する

テーブルを作成するときに、主キー制約を設定することでテーブルの主キーを定義できます。以下は、テーブルの作成時に主キー制約を設定するための構文です。

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

上記の構文では、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. table

に主キー制約を追加する テーブルの作成時に主キー制約が設定されていない場合は、テーブルの作成後に主キー制約を追加することもできます。以下は、既存のテーブルに主キー制約を追加するための構文です。

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

上記の構文では、table_name は、主キー制約が適用されるテーブルの名前を表します。追加され、constraint_name は主キーです制約の名前 (column1, column2, ... column_n) は主キーとして設定される列名を表します。主キーとして設定できます。

たとえば、Orders テーブルを作成した場合、そのテーブルに OrderID 列と OrderDate 列を主キーとして追加できます。

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

主キー制約を設定すると、Oracle はテーブルに Null 値が表示されることを自動的に禁止します。挿入されたデータの行に Null 値が含まれている場合、その行は拒否され、エラー メッセージが表示されます。したがって、テーブル内の主キー列のすべての値が Null でないことを確認してください。

場合によっては、Null 値を許可するために主キーが必要になります。現時点では、Null 値を許可するには、主キー列で NULL キーワードを使用する必要があります。

たとえば、Employee テーブルで、従業員を EmployeeID 列で識別したくない場合は、Null 値を許可するように設定できます。

CREATE TABLE Employee (
   EmployeeID number(10) constraint pk_Employee PRIMARY KEY,
   FirstName varchar2(50),
   LastName varchar2(50),
   Age number(3),
   AltEmpID number(10) NULL
);

上記はOracleで主キー制約を設定する方法です。主キーの設定は、データベースのパフォーマンスとデータの整合性にとって非常に重要であるため、データベースを設計するときは、データの一貫性と整合性を確保するために必ず主キー制約を設定してください。

以上がオラクルは主キーを設定しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。