2011-01-24 7 views
0

私はページを持っています。ページにはフォームがあります。フォームにはフィールドがあります。フィールドには値があります。 ページにもメニュー、テキスト、ラベルがあります。フォーム、フィールド、値と共有されるもの。 一部のテキストはリンクです。いくつかのメニューはメッセージウィンドウです。すべてのPageシステムオブジェクトをスキーマ内でどのように結びつけるのですか?

私は、私は、ユーザーのトラッキング(リンクトラッキング、フィールド追跡、ページの追跡など)を実装することができますので、それは一緒にすべてを結びつけるやろうとしています。私はこの戦略が次のようなものだと仮定します:
1)タイプ(リンク、ページ、フィールド、値、フォーム、テキスト、ラベル、メニュー、ウィンドウ)ごとにルックアップテーブルを作成します。
2)FKを使用してすべてのテーブルを関連付けますか? (これは私がFKsが誰に関係しているのか分かりません。もし、私が5つのテーブルを毎回読み込んで情報を引き出し、そこから読み込むアクティビティテーブルに書き込む必要がある場合は、多くのユーザー)。実際のところ、これはどのように実装されていますか?

フィールド値のルックアップのようないくつかのデータは、「都市名」、「会社名」などのように異なるテーブルから来ています。したがって、これらは1つのテーブルに入れることはできません。

ウェブサイトは、ソーシャルネットワークです。一般的なテーブルなので、ウェブサイトとモバイルアプリのユーザー追跡が構築されています。プラットフォームはphp/mysqlです。

+0

誰かがこれに答えています:私は方向性がないままこれに固執しています。 – SeanD

答えて

1

これは基本的なテーブルデザインの質問です。

最初のコンセプト。同じようなものは一緒にテーブルに入る。したがって、少なくともページ、フォーム、およびフィールドの表があります。フォームはFKからページまで、フィールドはFKからフォームまであります。一度これを整理すると、値はフォローアップの質問として良くなるかもしれません。

メニューは、通常、典型的menuID属性、PARENTID、テキスト、リンク、一つのテーブルに階層構造として記憶されます。

今のところ、これはそれがよく整理有することの利点と、私たちの4つのテーブルを与えたが、その後、私たちは加入者のすべてと、すべてのページの負荷にこのすべてを組み立てるの問題に直面します。

だから、データどのように安定しているのですか?安定性が高い場合は、データが変更されたときに変更される多くのHTMLをキャッシュファイルにあらかじめ生成することができます。 1週間に1回データが変わると、これははるかに効果的です。データが分単位で変化している場合は、動的な状態を維持する必要があります。

+0

それは大きな問題です。各ページで4つのテーブルを結合し、数百のIDのテキストを読み込みます。 – SeanD

関連する問題