連想エンティティとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > 連想エンティティの意味・解説 

連想エンティティ

(多対多リゾルバ から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/03/23 04:59 UTC 版)

連想エンティティ関連実体[1][2][3]関連エンティティ[4][5] (: associative entity) は関係モデル理論や実体関連モデル理論で使用される用語である。リレーショナルデータベースでは、多対多の関係を解決するために、基本関係(または基本テーブル)を実装する必要がある。この種のエンティティを表す基本関係は、非公式に連想テーブルと呼ばれる。 上記のように、連想エンティティは、連想テーブルを使用してデータベース構造に実装される。連想テーブルは、同じデータベース内の同じまたは異なるデータベーステーブルからの列への参照を含むことができるテーブルである。

マッピングテーブルの概念

連想(またはジャンクション)テーブルは、各データテーブルの主キーを参照することにより、2つ以上のテーブルを一緒にマップする。実際には、多数の外部キーが含まれており、それぞれがジャンクションテーブルから個々のデータテーブルまで多対1の関係にある。連想テーブルのPKは通常、FK列自体で構成される。

連想テーブルは、関連テーブル[6]ブリッジテーブル相互参照テーブル中間テーブル交差テーブル[6]結合テーブル[6]ジャンクションテーブルリンクテーブル多対多テーブル[6]多対多リゾルバマップテーブルマッピングテーブル[6]ペアリングテーブルピボットテーブルLaravelにおける誤用。スプレッドシートのピボットテーブルと混同)、または遷移テーブルなど、多くの通称で知られる。

連想テーブルの使用

連想テーブルの使用例として、ユーザーに権限を割り当てることを考える。複数のユーザーが存在する可能性があり、各ユーザーに0個以上の権限を割り当てる。 1人以上のユーザーに個別の権限を付与することになる。

CREATE TABLE Users (
  UserLogin varchar(50) PRIMARY KEY,
  UserPassword varchar(50) NOT NULL,
  UserName varchar(50) NOT NULL
);

CREATE TABLE Permissions (
  PermissionKey varchar(50) PRIMARY KEY,
  PermissionDescription varchar(500) NOT NULL
);

-- これは結合テーブルです
CREATE TABLE UserPermissions (
  UserLogin varchar(50) REFERENCES Users (UserLogin),
  PermissionKey varchar(50) REFERENCES Permissions (PermissionKey),
  PRIMARY KEY (UserLogin, PermissionKey)
);
説明されているテーブルスキーマの視覚的描写と、示されている関係

ジャンクションテーブル上でのSELECTステートメントはメインテーブルとジャンクションテーブルを接合する。

SELECT * FROM Users 
JOIN UserPermissions USING (UserLogin);

これにより、すべてのユーザーとその権限のリストが返される。 ジャンクションテーブルへの挿入には、複数のステップが含まれます。最初にメインテーブルに挿入し、次にジャンクションテーブルを更新する。

-- 新しいユーザーの作成
INSERT INTO Users (UserLogin, UserPassword, UserName)
VALUES ('SomeUser', 'SecretPassword', 'UserName');

-- 新しいパーミッションの作成
INSERT INTO Permissions (PermissionKey, PermissionDescription)
VALUES ('TheKey', 'A key used for several permissions');

-- 最後にジャンクションを更新
INSERT INTO UserPermissions (UserLogin, PermissionKey)
VALUES ('SomeUser', 'TheKey');

外部キーを使用して、データベースはUserPermissionsテーブルの値を独自のテーブルに自動的に逆参照する。

関連項目

参考文献

  • Hoffer, Jeffrey A.; Prescott, Mary B.; McFadden, Fred R. (2004). Modern Database Management (7th ed.). Prentice Hall. ISBN 978-0131453203 
  1. ^ ミック『達人に学ぶDB設計徹底指南書』(第2版)翔泳社、2024年、158頁。 ISBN 9784798186627 
  2. ^ JISX0137-1:2003 CASEデータ交換形式-CDIFフレームワーク-第1部:概要”. kikakurui.com. 2025年3月19日閲覧。
  3. ^ JIS X 0137-1:2003 CASEデータ交換形式―CDIFフレームワーク―第1部:概要”. www.ny.ics.keio.ac.jp. 2025年3月19日閲覧。
  4. ^ ミック『達人に学ぶDB設計徹底指南書』(第2版)翔泳社、2024年、131頁。 ISBN 9784798186627 
  5. ^ associative entit...の意味・使い方”. eow.alc.co.jp. 2025年3月23日閲覧。
  6. ^ a b c d e 『SQLアンチパターン』オライリー・ジャパン、2013年、9頁。 ISBN 978-4-87311-589-4 



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  
  •  連想エンティティのページへのリンク

辞書ショートカット

すべての辞書の索引

「連想エンティティ」の関連用語

1
18% |||||

連想エンティティのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



連想エンティティのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの連想エンティティ (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS