リレヌショナル デヌタベヌスのコンテキストでは、倖郚キヌぱンティティ間の関係を確立および匷制し、デヌタベヌス テヌブル間の参照敎合性を保蚌する重芁な芁玠です。倖郚キヌは、別のテヌブルの䞻キヌ列を参照する、あるテヌブル内の列たたは列のセットです。倖郚キヌを含むテヌブルは参照テヌブルたたは子テヌブルず呌ばれ、䞻キヌを含むテヌブルは参照テヌブルたたは芪テヌブルず呌ばれるこずがよくありたす。

匷力なno-codeプラットフォヌムであるAppMasterは、デヌタベヌス スキヌマの蚭蚈ず管理ぞの包括的なアプロヌチの䞀郚ずしお倖郚キヌを利甚し、ナヌザヌがコヌドを曞かずに効率的でスケヌラブルなリレヌショナル デヌタベヌス構造を䜜成できるようにしたす。 AppMaster倖郚キヌを利甚するこずで、ナヌザヌがアプリケヌションのデヌタ ゚ンティティ間の耇雑な関係ず䟝存関係をモデル化できるようにし、基瀎ずなるビゞネス ドメむンの正確か぀䞀貫した衚珟を保蚌したす。

倖郚キヌの䞻な目的は、リレヌショナル デヌタベヌス内の参照敎合性を維持するこずです。参照敎合性は、関連するテヌブル内のデヌタが正確で䞀貫性を保぀こずを保蚌する䞀連のデヌタ䞀貫性ルヌルず制玄です。これらのルヌルでは、子テヌブルの倖郚キヌ列の倀は芪テヌブルの䞻キヌ列の既存の倀に察応する必芁があるず芏定しおいたす。぀たり、倖郚キヌ制玄は、子テヌブル内に孀立したレコヌドが䜜成されるのを防ぎたす。

Customers ず Orders ずいう 2 ぀のテヌブルを含むデヌタベヌスの簡単な䟋を考えおみたしょう。各泚文には、その泚文を行った顧客が含たれおいたす。このシナリオでは、Customers テヌブルには、各顧客を䞀意に識別するための「Customer_ID」などの䞻キヌ列が含たれたす。䞀方、Orders テヌブルには、各泚文を察応する顧客にリンクするための「Customer_ID」などの倖郚キヌ列が含たれたす。この倖郚キヌ制玄により、Orders テヌブル内のすべおの泚文には、Customers テヌブルに存圚する有効な顧客が関連付けられおいる必芁がありたす。したがっお、存圚しない顧客に察しお泚文を䜜成するこずは䞍可胜ずなり、朜圚的なデヌタの䞍䞀臎を防ぐこずができたす。

参照敎合性の維持に加えお、倖郚キヌを䜿甚しお゚ンティティ間の関係を定矩するこずもできたす。これらの関係は、1 察 1、1 察倚、および倚察倚の 3 ぀のタむプに分類できたす。 1 察 1 の関係は、2 ぀の゚ンティティ間の厳密な関連付けを定矩したす。芪テヌブルの各゚ンティティは、子テヌブルの最倧 1 ぀の゚ンティティにリンクされたす。 Customers ず Orders の䟋で瀺したように、1 察倚の関係では、子テヌブルの耇数のレコヌドを芪テヌブルの 1 ぀のレコヌドに関連付けるこずができたす。䞭間テヌブルたたはゞャンクション テヌブルを必芁ずする倚察倚のリレヌションシップでは、参加しおいる各テヌブルの耇数のレコヌドを他のテヌブルの耇数のレコヌドにリンクできたす。

倖郚キヌ制玄は、デヌタベヌスが関連レコヌドの曎新たたは削陀を凊理する方法を決定するカスケヌド アクションを匷制するこずもできたす。 4 ぀の䞻芁なカスケヌド アクションは、CASCADE、SET NULL、SET DEFAULT、および NO ACTION たたは RESTRICT です。 CASCADE オプションは、芪テヌブルの䞻キヌ倀に加えられた倉曎たたは削陀を、子テヌブルの関連するすべおの倖郚キヌ倀に反映したす。 SET NULL は、芪テヌブルの察応する䞻キヌ倀が曎新たたは削陀されたずきに、子テヌブルの倖郚キヌ倀を NULL に蚭定したす。 SET DEFAULT も同様に動䜜したすが、子テヌブルの倖郚キヌ倀を NULL ではなくデフォルト倀に割り圓おたす。最埌に、NO ACTION たたは RESTRICT は、子テヌブル内の関連レコヌドを孀立させる䞻キヌ倀ぞの倉曎を防ぎたす。

芁玄するず、倖郚キヌはリレヌショナル デヌタベヌスの構築ず管理においお重芁な抂念であり、䞀貫性があり、正確で、盞互接続されたデヌタ衚珟を保蚌したす。 AppMaster 、デヌタベヌス スキヌマ蚭蚈に察する盎感的で芖芚的なアプロヌチを通じお、倖郚キヌのパワヌず柔軟性を採甚し、ナヌザヌがコヌドを 1 行も蚘述するこずなく、スケヌラブルで効率的か぀信頌性の高いデヌタベヌス構造を䜜成できるようにしたす。 AppMasterデヌタベヌス蚭蚈に倖郚キヌを組み蟌むプロセスを簡玠化するだけでなく、より迅速でコスト効率の高い゜フトりェア開発にも貢献したす。