多くの多国籍企業がリレーショナルデータベースを使用してデータを処理する今日の市場では、すべてのテーブルが互いにどのように関連しているかを理解することが非常に重要です。したがって、外部キーSQLに関するこの記事では、テーブル間の関係を理解できるように、テーブル内の外部キーについて説明します。
この記事では、次のトピックについて説明します。
- 外部キー制約とは何ですか?
- 外部キーのルール
- 外部キー操作:
- テーブル作成時のSQL外部キー
- ALTERTABLEのSQL外部キー
- 外部キーを削除する
外部キー制約とは何ですか?
外部キーは、データベース内の2つのテーブルをリンクするために使用されるキーの一種です。したがって、外部キーは、あるテーブルの属性または属性のコレクションであり、別のテーブルの主キーを参照します。
たとえば、テーブルAとテーブルBが相互に関連している場合、テーブルAが主キーで構成されている場合、このテーブルは参照テーブルまたは親テーブルと呼ばれます。同様に、テーブルBが外部キーで構成されている場合、そのテーブルは参照テーブルまたは子テーブルと呼ばれます。下の画像を参照してください:
外部キーとは何かがわかったので、次に外部キーSQLに関するこの記事で、外部キーの規則を理解しましょう。
外部キーのルール
外部キーのルールは次のとおりです:
- 外部キーを持つテーブルは子テーブルと呼ばれ、外部キーによって参照されるテーブルは親テーブルと呼ばれます。
- 外部キーではヌル値を使用できます
- 外部キーは複製できます
- テーブルには複数の外部キーが存在する可能性があります
- テーブル間に確立された関係は、参照整合性と呼ばれます
外部キーのルールがわかったので、次に外部キーSQLに関するこの記事で、外部キーの操作を見てみましょう。
外部キー操作:
外部キーに存在するさまざまな操作を理解するには、次の2つの表を検討してください。
顧客テーブル:
CustomerID | CustomerName | PhoneNumber |
1 | ローハン | 9876543210 |
2 | ソナリ | 9876567864 |
3 | Ajay | 9966448811 |
4 | Geeta | 9765432786 |
5 | Shubham | 9944888756 |
コーステーブル:
CourseID | CourseName | CustomerID |
c01 | DevOps | 2 |
c02 | 機械学習 | 4 |
c03 | RPA | 1 |
c04 | Tableau | 3 |
c05 | AWS | 2 |
これで、観察すると、コーステーブルのcustomerID列はcustomersテーブルのcustomerID列を参照しています。 CustomersテーブルのcustomerID列は主キーであり、coursesテーブルのcustomerID列はそのテーブルの外部キーです。
最初の操作から開始:
テーブル作成の外部キー
「コース」テーブルを作成するときに、次の構文を使用して「customerID」列に外部キーを作成できます。
#For SQL Server/ MS Access/ Oracle CREATE TABLE courses ( courseID varchar NOT NULL PRIMARY KEY, courseName varchar NOT NULL, customerID int FOREIGN KEY REFERENCES customers(customerID) ); #For MySQL CREATE TABLE courses ( courseID varchar NOT NULL PRIMARY KEY, courseName varchar NOT NULL, customerID int PRIMARY KEY (courseID), FOREIGN KEY (customerID) REFERENCES customers(customerID) );
複数の列に外部キーを適用する
テーブルの作成中に複数の列に外部キーを適用するには、次の例を参照してください。
CREATE TABLE courses ( courseID varchar NOT NULL, courseName varchar NOT NULL, customerID int, PRIMARY KEY (courseID), CONSTRAINT FK_CustomerCourse FOREIGN KEY (customerID) REFERENCES customers(customerID) );
次に、外部キーSQLに関するこの記事では、AlterTableで外部キーを使用する方法を見てみましょう。
変更テーブルの外部キー
「courses」テーブルがすでに作成されていて、テーブルを変更したい場合は、次の構文を使用して「customerID」列に外部キーを作成できます。
ALTER TABLE courses ADD FOREIGN KEY (customerID) REFERENCES customers(customerID);
外部キー制約に名前を追加して複数の列で定義する場合は、次のSQL構文を使用します。
ALTER TABLE courses ADD CONSTRAINT FK_CustomerCourse FOREIGN KEY (customerID) REFERENCES Customers(customerID);
次に、外部キーSQLに関するこの記事では、外部キーを削除する方法を理解しましょう
外部キーを削除
外部キーを削除するには、次の例を参照してください。
#For SQL Server/ MS Access/ Oracle ALTER TABLE courses DROP CONSTRAINT FK_CustomerCourse; For MYSQL ALTER TABLE courses DROP FOREIGN KEY FK_CustomerCourse;
これで、この記事は終わりです。 SQLで外部キーを使用する方法を理解していただければ幸いです。 詳細を知りたい場合 MySQL そしてこのオープンソースのリレーショナルデータベースを理解してから、をチェックしてください。 MySQLDBA認定トレーニング には、インストラクター主導のライブトレーニングと実際のプロジェクトの経験が含まれています。このトレーニングは、MySQLを深く理解し、主題をマスターするのに役立ちます。
質問がありますか?この記事の「外部キーSQL」に関するコメントセクションでそれについて言及してください。折り返しご連絡いたします。