2016-08-18 10 views
0

こんにちは私は私が取り組んでいる小さな内部プロジェクトを持っています。現在のところ、私の会社にしかサービスはありませんが、複数の企業にサービスを提供できるように拡大したいと思います。私が今使っているテーブルはUSERSPROJECTSです。私は会社固有の情報を保存し、それをUSERSテーブルに関連づけたいと思います。ユーザーごとに、自分が所属する会社の新しい列が作成されます。MySQLのテーブル構造に関する推奨事項

これで、その企業のテンプレートをデータベースに保存する必要があります。テンプレートは、次のように文字列として格納されます。

「除算器」、「イベント」、「自由形式」など当初

私は個別の行として行くべき各単語を考えていたが、しかしなど私はこれを書いています。おそらく、すべてのテンプレートをコンマで区切って(上記のように)1つのエントリに格納するべきだと思っています。

ボトムライン、私はデータベース設計が新しく、これをどのように設定するのが最適かわかりません。あなたが提供することができます任意の洞察力を事前に

PROJECTS 
Project Number | Title | exacttarget_id | Author | Body | Date 

USERS 
Name | Email | Date Created | Password 

ありがとう:どのように多くのテーブル、今は何列など、私のテーブルの構造は次のようになります。 、

私は別の企業のための一つのテーブルを作成しCOMPANYそれを呼び出すことができます:私はどうなるのか

+0

企業テンプレートとは何ですか?企業との関係は?リレーショナルデータベースで '1 to n'と' m to n'関係について知っていますか?そうでない場合は、前の理論的な研究によってよりうまく始めることができます。誰かがあなたに解決策を与えても、それを理解することはできません。 –

+0

Elzo、あなたが共通の分母(会社IDのような)を結ぶという意味ならば、はい。あなたが何か他のものを意味したら、私は確信していません... – garek007

+0

いいえ。いくつかの読書をする必要があります、ここでスタートですhttp://code.tutsplus.com/articles/sql-for-beginners-part-3-database-relationships--net-8561 –

答えて

0

は、2つのテーブルを作成している

Company_id | Title | Logo | (Whatever other data you want) 

私はまた、上記の設定のために一つのテーブルを作成します

Company_id | Key | Value 

これはあなたを犠牲にすることなく、追加の設定を追加するには、将来の柔軟性を提供します:、COMPANY_SETTINGSそれを呼び出すことができます既存のコード。単純なクエリは、現在のバージョンの数に関係なく、すべての設定を取得します。

SELECT Key, Value FROM COMPANY_SETTINGS WHERE Company_id = :companyId 

Teの結果は、プロジェクト全体で使いやすい連想配列にできます。

+0

これは、私の知る必要があっただけで完璧に聞こえる、テーブルを整理するための良いアプローチです。ありがとう! – garek007

関連する問題