私はユーザーアカウント(ユーザー)のテーブルを持っています。サブアカウントには機能が必要です。データベース設計のヘルプ - 階層データ
たとえば、Dunder Mifflinという名前の会社がアカウントを持っている可能性があります。会社には、会計と会計のサブアカウントがあります。アカウンティングアカウントには、Kevin、Angela、Oscarのサブアカウントがあります。レベルの数に制限はありません。
私の最初のアイデアは、このようなテーブルを作成することでした。
CREATE TABLE Users
(
UserID INTEGER,
ParentUserID INTEGER,
...
)
プライマリアカウントのParentUserID122とは、単にnullになりますが、サブアカウントは、親のユーザーIDが含まれます。
これは良い設計ですか?私は他の方法を知らない。
私には似ています。 – rwilliams
これは良いアプローチです。デザインは隣接リストと呼ばれます。 SQL Serverの共通テーブル式を使用すると、解決しようとしている問題に対して比較的容易にアプローチできます。データベースの階層を表す方法の詳細については、次の質問を参照してください。http://stackoverflow.com/questions/4048151/what-are-the-options-for-storing-hierarchical-data-in-a-relational-database – orangepips