Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ 外部キーとリレーションシップ | セクション
データベース設計パターン

book外部キーとリレーションシップ

メニューを表示するにはスワイプしてください

外部キーはリレーショナルデータベース設計において不可欠な要素であり、テーブル間に意味のある関連を作成する役割を持つ。外部キーとは、あるテーブル内の1つまたは複数のカラムで、他のテーブルの主キーを参照するもの。これにより、studentsテーブル内の学生記録と、学生の履修情報など、関連するデータをテーブル間で結び付けることが可能となる。外部キーを定義することで、異なるテーブルに保存されたデータが論理的に接続され、複数の情報源からデータを取得する複雑なクエリやレポートの作成を支援する。

CREATE TABLE enrollments (
    enrollment_id INT PRIMARY KEY,
    student_id INT,
    course_id INT,
    enrollment_date DATE,
    grade CHAR(2),
    FOREIGN KEY (student_id) REFERENCES students(student_id)
);

外部キーは、テーブル間の有効なリレーションシップを強制する上で重要な役割を果たす。外部キーを定義すると、データベースは外部キー列のすべての値が参照先の主キー列に存在する値と一致することを保証する。これにより、親テーブルに存在しない行を参照する子テーブルの孤立レコードの作成が防止される。その結果、外部キーはデータの一貫性整合性を維持し、すべての履修情報が必ず有効な学生に対応することを保証する。

123
-- This statement will fail if there is no student with student_id = 999 INSERT INTO enrollments (enrollment_id, student_id, course_id, enrollment_date, grade) VALUES (2001, 999, 101, '2023-09-10', 'A');
copy

1. 外部キーの主な機能は何ですか?

2. 外部キーはどのようにデータの整合性を維持しますか?

3. enrollments テーブルで参照されている student を削除しようとした場合、どうなりますか?

question mark

外部キーの主な機能は何ですか?

正しい答えを選んでください

question mark

外部キーはどのようにデータの整合性を維持しますか?

正しい答えを選んでください

question mark

enrollments テーブルで参照されている student を削除しようとした場合、どうなりますか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 1.  3

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 1.  3
some-alt