2011-01-17 6 views
0

私の質問は、特定の状況をモデル化することです。 私のモデルでは、私はテーブルがあります:ユーザー、オフィス、パートナー。 システムには、Officeのユーザー(カウンセラー、プリンシパル、アシスタント)、パートナー(機関、..)のユーザー、管理ユーザーの各ユーザープロファイルがあります。 - ユーザーが一意である(2人のユーザーが同じログインを持つ必要があります - 1つのテーブルのみにする必要があります) - オフィスユーザーが1人のみに関連付けられていますオフィス - パートナーユーザーはパートナーとのみ関連付けられています。データベースモデリング

オフィスユーザー用のテーブルとパートナーユーザー用のテーブルである必要がありますか? この場合、多対多の関係はうまくいかないでしょうか? ご協力いただきありがとうございます。

+0

ここには[サンプルモデルの束](http://www.databaseanswers.org/data_models/)が掲載されています。それらのいくつかを読んでいくことはインスピレーションを与えるかもしれません。 – Seth

+1

@Seth。それらは「モデル」ではなく、データベースとは無関係で、魚のバケツです。 Juanは技術的な質問を真っ直ぐに尋ねてきました.SOは技術的な答えを出しています。 – PerformanceDBA

+0

@PerformanceDBA - リレーショナルデータ構造の図です。そのため、彼らはデータベースとは関係がありますが、魚とは関係がありません。私は答えを出さなかったことに気付きました。それが私がコメントとして投稿した理由です。 – Seth

答えて

0

このモデルが決して変更されないと仮定して、ユーザーにフィールドを追加して、そのモデルの所在を特定します。 'office'、 'partner'、または 'admin'の可能な値を持つuser_typeという名前の列挙型を置くことができます。そして、必要に応じてテーブルに参加できるようにoffice_idとpartner_idの列を配置できます。

0

私は最善のルートが...あなたはどのようなグループに誰かを決定するための関連テーブルを使用するアカウントのグループ構造、と

グループ

IDを行くことになるだろうと思います|

group_assoc

group_idの名前を付けます| account_id

1

あなたは十分な定義を提出していないので、モデルの部分はまだ完成していませんが、あなたが求めている主な質問はこの▶Data Model◀に答えられていると思います。私はそれを理解したよう:

  • ユーザー(ログイン、ユーザ名は一意であり、あなたはそれが不明瞭になりたくない)
  • ユーザーが(それが半円形でXである)、もっぱらオフィス/パートナーです/スーパータイプ - サブタイプ構造を必要とする管理者
    • カーディナリティは1 :: 0-1
  • ユーザーはOfficeまたはパートナーにのみ属します。
    • OfficeTypeまたはOfficeTitleの場合があります。

あなたは、もう少しその最後の項目を定義した場合、私はモデルを終了することができます。

リレーショナルデータベースのモデリングに慣れていない読者は、▶IDEF1X Notation◀が役に立ちます。

+0

データモデルの作成に使用するソフトウェアの名前を尋ねることはできますか?ありがとう –

関連する問題