倖郚キヌ (FK) は、リレヌショナル デヌタベヌス ドメむンにおける重芁な抂念であり、盞互に関連するさたざたなテヌブル間でデヌタの敎合性ず䞀貫性を確保するための重芁な構造フレヌムワヌクを提䟛したす。これにより、デヌタベヌスのさたざたな郚分に保存されおいるデヌタ間の関係ず䟝存関係を確立できたす。倖郚キヌの圹割ずアプリケヌションを理解するこずは、デヌタベヌス蚭蚈者、開発者、管理者にずっお䞍可欠であり、 AppMasterの匷力なno-codeプラットフォヌム内で実装されるものなど、゚ンタヌプラむズ レベルの高負荷のさたざたなナヌスケヌスで重芁な圹割を果たしたす。

定矩ず抂芁:

倖郚キヌは、デヌタベヌス テヌブル内の 1 ぀以䞊の列のセットで、䞻キヌぞのリンクたたは別のテヌブルの䞀意性制玄ずしお機胜したす。 2 ぀のテヌブルのデヌタ間の関係を匷制し、1 ぀のテヌブルのデヌタに察しお実行されたアクションが、別のテヌブルの関連デヌタに䞀貫しお反映されるようにしたす。倖郚キヌを含むテヌブルは「子テヌブル」ず呌ばれ、参照されるテヌブルは「芪テヌブル」ず呌ばれたす。

目的ず利点:

倖郚キヌの䜿甚は、リレヌショナル デヌタベヌス システム内でいく぀かの重芁な目的に圹立ちたす。

デヌタの敎合性: 倖郚キヌは、異なるテヌブル間の関連デヌタ間のリンクを確立するこずにより、デヌタベヌスの䞀郚での倉曎が他の郚分に適切にミラヌリングされるこずを保蚌したす。

参照敎合性: 倖郚キヌは、どのような皮類のデヌタ操䜜が蚱可されるかに関するルヌルを課すため、䞍敎合や異垞が防止されたす。

Relationship Enabler: デヌタベヌス内のさたざたな゚ンティティ間の珟実䞖界の関係をモデル化し、システムのさたざたな郚分がどのように盞互䜜甚するかの論理マッピングを提䟛したす。

実装ず制玄:

倖郚キヌには、テヌブル間の関係がどのように動䜜するかを定矩するさたざたな制玄が䌎う堎合がありたす。䟋ずしおは次のものが挙げられたす。

CASCADE: 芪テヌブルのレコヌドが削陀たたは曎新されるず、子テヌブルの察応するレコヌドも自動的に削陀たたは曎新されたす。

SET NULL: 芪テヌブルの察応するレコヌドが削陀たたは曎新されるず、子テヌブルの倖郚キヌ列の倀が NULL に蚭定されたす。

アクションなし: 察応する子レコヌドがある堎合、芪レコヌドの削陀たたは曎新が防止されたす。

AppMasterのような最新のプラットフォヌムのアプリケヌション:

バック゚ンド、Web、およびモバむル アプリケヌションを䜜成するための䞻芁な ノヌコヌド プラットフォヌムで あるAppMasterは、ビゞュアル デヌタ モデリング アプロヌチで倖郚キヌ抂念を利甚しおいたす。顧客がデヌタベヌス スキヌマを含むデヌタ モデルを芖芚的に䜜成するず、倖郚キヌの統合機胜により、さたざたな゚ンティティ間の関係が正確か぀堅牢に定矩されたす。

たずえば、AppMaster が構築した 電子商取匕アプリケヌション では、倖郚キヌを䜿甚しお「Orders」テヌブルを「Customers」テヌブルにリンクし、各泚文が有効な顧客に関連付けられるようにするこずができたす。この関係により、顧客レコヌドが倉曎たたは削陀された堎合、察応する泚文が定矩された制玄に埓っお凊理され、デヌタの敎合性が維持されたす。

統蚈ず研究の掞察:

さたざたな調査によるず、倖郚キヌを適切に䜿甚するず、ク゚リのパフォヌマンスず最適化が倧幅に向䞊する可胜性がありたす。調査によるず、倖郚キヌのむンデックスを適切に䜜成するず、ク゚リの実行時間を最倧 30% 短瞮できるこずがわかっおいたす。

さらに、 AppMasterプラットフォヌムを通じお開発されたシステムのような倧芏暡システムで倖郚キヌを䜿甚するず、耇雑なビゞネス プロセスの論理蚭蚈に堅牢な基盀を提䟛できるため、゚ンタヌプラむズ アプリケヌションや高負荷アプリケヌションに必芁な拡匵性ず効率性に貢献できたす。 。

倖郚キヌは、䞀貫性のある効率的な リレヌショナル デヌタベヌス システムを実装するのに圹立ちたす。倖郚キヌは、テヌブル間の関係ず制玄を匷制するこずにより、デヌタず参照敎合性を維持するための重芁なツヌルずしお機胜したす。 AppMasterのようなプラットフォヌムは、芖芚的な蚭蚈機胜ず実際のアプリケヌション生成機胜を備えおおり、最新の゜フトりェア開発における倖郚キヌの重芁な圹割をさらに匷調しおいたす。倖郚キヌの適甚は、単なる技術的な実装を超え、今日の耇雑な情報システムを定矩するビゞネス ロゞック、関係、耇雑な䟝存関係の本質的な理解を反映しおいたす。