03|Oracle の学習 (主キー制約、結合主キー)

1. 主キー制約の概要

  • 主キー: データ テーブル内の 1 つ以上のフィールド。データ テーブル内のレコードを一意に識別するために使用されます。

2. 主キー制約を追加する

2.1 テーブル作成時に制約を追加する

ここに画像の説明を挿入
書き込み 1:

CREATE TABLE tb_students(
    stu_num char(5) primary key,
    stu_name varchar(10) not null,
    stu_sex char(1) not null,
    stu_age number(2) not null,
    stu_tel char(11) not null
);

書き方2(裏面に記載):

CREATE TABLE tb_students(
    stu_num char(5),
    stu_name varchar(10) not null,
    stu_sex char(1) not null,
    stu_age number(2) not null,
    stu_tel char(11) not null,
    primary key(stu_num)
);

2.2 テーブル作成後に制約を追加する

以下を次のように変更します: ADD CONSTRAINTS
ここに画像の説明を挿入
例: これで、制約なしの学生情報テーブル td_students が作成されました。

CREATE TABLE tb_students(
    stu_num char(5),
    stu_name varchar(10) not null,
    stu_sex char(1) not null,
    stu_age number(2) not null,
    stu_tel char(11) not null
);

これで、次のコードを使用して、主キーを td_students テーブルの stu_nums に追加できます。

ALTER TABLE tb_students ADD CONSTRAINTS pk_students PRIMARY KEY(stu_num);

ここに画像の説明を挿入

3. 結合された主キー

  • 結合主キー: 2 つ以上のフィールドを主キーとして使用します。

4. 複合主キーを追加する

4.1 テーブル作成時に結合主キーを追加する

ここに画像の説明を挿入
成績テーブル tb_grades を作成する

CREATE TABLE tb_grades(
    course_id char(3),
    course_name varchar2(50),
    stu_num char(5),
    stu_name varchar2(10),
    score number(3),
    primary key(course_id,stu_num)
);

4.2 最初にテーブルを作成し、次に結合主キーを追加します

以下を次のように変更します: ADD CONSTRAINTS
ここに画像の説明を挿入
まず、制約なしでスコア テーブルを作成します。

CREATE TABLE tb_grades(
    course_id char(3),
    course_name varchar2(50),
    stu_num char(5),
    stu_name varchar2(10),
    score number(3)
);

制約を追加する

ALTER TABLE tb_grades ADD CONSTRAINTS pk_grades PRIMARY KEY(course_id,stu_num);

おすすめ

転載: blog.csdn.net/qq_41714549/article/details/132043111