2012-02-26 18 views
1

私は雑誌管理と公開システムを念頭に置いERDのためのユーザー設定/設定

維持するためのERDを設計しています。各ジャーナルの管理者だけでなく、

したがって、各ジャーナルには独自のセクションwww.abc.com/journal/abcとそれに対する別のサイト管理セクションがあります。各管理者が設定した各ジャーナルの設定を維持するERDを作成するにはどうすればよいですか。

私は現在MySQL Workbenchを使用しています。

答えて

3

まあ、スタータの場合、ユーザーがフォームでを記入することを期待するものに基づいてテーブルを作成する(本を追加する?booksを行います。ユーザーの追加?usersしてください)。これらはあなたの「もの」であり、最も簡単なものです。ただし、キーフィールドのみを追加するだけです。次に、テーブルに参加します。このプロセスでは、あなたの「もの」がデータベース内で一生懸命に進む活動、関係、またはある程度の進展を表現するために、いくつかの中間テーブルを作成する必要があることがわかります。あなたが何をしていても、余分なフィールドをあなたの目に見えるようにリンクさせるまで、余分なフィールドをテーブルに追加しないでください。これは、フィールドを最小限に保ち、テーブルが小さく表示され、ERDを見て散漫になるのを防ぐために役立ちます。

完全なスキーマを投稿できません。それは愚かなことでしょう。トン私たちの両方のために働くので、私はあなたにとにかく尋ねるべきであるすべての質問をしなければならないでしょう。うまくいけば、これらのポインタは自分でシステムを構築するのに役立ちます。

EDIT

あなただけの単一の機能を必要とするので、私がお手伝いします、と指摘しました。

実際には、preferencesjournal_preferencesという2つのテーブルが必要です。 1つのジャーナルは多くのプリファレンスを持つことができ、プリファレンスは複数のジャーナルに属することができるため、特別な中間テーブルjournal_preferencesが必要です。 journal_preferencesは、作業するには2つのフィールド、journal_preferences.journal_id、およびjournal_preferences.preference_idのみが必要です。だから、

、我々はこれを持っていると言う:

SELECT * FROM journal_preferences; 

journal_id preference_id 
========== ============= 
1    2 
1    3 
1    5 
2    1 
2    2 

これビーイングは、当然のことながら、preference_id# 'sの2、3、5最初の雑誌のために、とするための第1および第2の好みを参照します二番目のジャーナル。

SELECT preference_id, preference_name from preferences; 

preference_id  preference_name 
=============  =============== 
1     auto-post to facebook 
2     auto-post to google plus 
3     auto-post link to twitter 
4     auto-post to rss feed 
5     is hidden     

など。そうすれば、ジャーナルに最大限のオプションを与え、ストレージコストを最小限に抑えることができます。

いくつかの設定には値が必要です。この表は、環境設定がオンまたはオフであるが値についてはどのように変更できますか?

pref_id pref_name     pref_value pref_value_code 
======= =========     ========== =============== 
1   auto-post to facebook  1   BLN 
2   auto-post to google plus 0   BLN     
3   auto-post link to twitter 1   BLN 
4   auto-post to rss feed  0   BLN 
5   is hidden     0   BLN 
6   post_as_new     720   HRS 

1と0のは、この場合には、TrueFalseためのブールコードです:あなたが唯一のpreference_valueを指定する必要があると思い

アプリケーションロジックに保存されている設定もありますか?アプリケーションがその特定のジャーナルIDのprefernce_idとその値を保存することを意味するのでしょうか?テーブル内

私は値の解釈方法を知ることに可能な解決法を指摘しました。そして、あなたのアプリケーションは、必要に応じて、可能な値がマスターテーブルへのルックアップを行うことで「知っている」でしょう:

SELECT * FROM preference_values; 

preference_value_id preference_value_code preference_value_description 
=================== ===================== ============================ 
1      BLN     boolean 
2      HRS     hours 
+0

それは私が心配しているサイト管理の部分です。ジャーナルサイトの各管理者が設定した設定を管理するには、どのようなテーブルを作成する必要がありますか。 – SupaOden

+0

一部の設定には値が必要です。この表は、環境設定がオンまたはオフであるが値についてはどのように変更できますか? – SupaOden

+0

アプリケーションロジックに保存されている設定もありますか?アプリケーションがその特定のジャーナルIDのprefernce_idとその値を保存することを意味するのでしょうか?表に – SupaOden