私はこのウェブアプリを投稿、リンク用に書いています。ユーザーはこれらのリンクや投稿にカテゴリを追加することになります。これらのカテゴリの数は、ウェブサイトが大きくなるにつれて増加します。 SQLスキーマでこれを実装するにはどうすればよいですか?私はどのデータ型を使うべきですか? TEXTデータ型はユーザーの投稿を保存するのに適していますか?SQLでカテゴリのスキーマを設計するにはどうすればよいですか?
-1
A
答えて
1
明らかに、最初にあなたがすべきことは、すでにこれを行う既存の仕事のためにGitHubや他の場所をサーフィンすることです。 (たぶん、あなたは、単にが既に書き込まれている何かを使用することができます!)
理論的に言えば、「リンク/ポスト」と「カテゴリ」の関係が呼ばれ多対多。は(リンク/ポスト「多」の属性を有することができ、そして指定された属性は、「多くの」リンク/ポストに割り当てることができる)ため、中間テーブルは、以下の簡単な例のように、使用されている:
CREATE TABLE LINKS_POSTS (LINK_ID INTEGER, CONTENT TEXT) PRIMARY KEY (LINK_ID);
CREATE TABLE ATTRIBS (ATTRIB_ID INTEGER, ATTRIB_NAME TEXT) PRIMARY KEY (ATTRIB_ID);
今魔法...
CREATE TABLE LINKS_POSTS_ATTRIBS (LPA_ID INTEGER, LINK_ID INTEGER NOT NULL,
ATTRIB_ID INTEGER NOT NULL) PRIMARY KEY (LPA_ID)
FOREIGN KEY (LINK_ID) REFERENCES LINKS_POSTS (LINK_ID)
FOREIGN KEY (ATTRIB_ID) REFERENCES ATTRIBS (ATTRIB_ID);
CREATE UNIQUE INDEX FOOBAR ON LINKS_POSTS_ATTRIBS(LINK_ID, ATTRIB_ID);
...(またはそのような何か!)私は私の頭の上にこれをオフに書いているので、tpyosまたはsintax erursがあるかもしれません。 ;-)
与えられた投稿に特定の属性がある場合、LINKS_POSTS_ATTRIBS
テーブルのエントリがそれを表します。 FOREIGN KEY
属性では、値が外部テーブルの既存のエントリと一致する必要があることが規定されています。 UNIQUE INDEX
は重複を避けます。
さらに、「参照整合性」制約を使用して、たとえば、LINKS_POSTS_ATTRIBS
エントリが参照されている場合に属性行が削除されないことを規定する必要があります。
関連する問題
- 1. 次のSQLスキーマのエンティティデータクラスを最適に設計するにはどうすればよいですか?
- 2. ユーザー、ロール、およびアクセス許可のスキーマを設計するにはどうすればよいですか?
- 3. monster.comに似たWebサイトのスキーマを設計するにはどうすればよいですか?
- 4. このアプリはどのように設計すればよいですか?
- 5. SQL Serverで単純な計算フィールドを設定するにはどうすればよいですか?
- 6. Thelia:URLでカテゴリをクエリするにはどうすればよいですか?
- 7. SQLでの売上合計の日次スナップショットを計算するにはどうすればよいですか?
- 8. Djangoのデータベースをどのように設計すればよいですか?
- 9. Oracle SQL Developerでデータベースのスキーマのツリー・リストを表示するにはどうすればよいですか。
- 10. パブリッシュ/ドラフトテーブルを使用してSQLデータベースを設計するにはどうすればよいですか?
- 11. Excel Q:各人の各カテゴリの合計を取得するにはどうすればよいですか?
- 12. シリーズオブジェクトの各カテゴリの値を合計するにはどうすればよいですか?
- 13. セキュリティモデルをどのように設計すればよいですか?
- 14. app engine managed VMでSQLスキーマの移行を実行するにはどうすればよいですか?
- 15. データセットをあるスキーマから別のスキーマに転送するにはどうすればよいですか?
- 16. 私のモデルクラスを設計するにはどうすればいいですか
- 17. Pythonでロジスティック回帰の成功カテゴリを設定するにはどうすればよいですか?
- 18. ハイチャートでは、複数のシリーズで表示されるすべてのカテゴリとxAxisタイプをカテゴリに設定するにはどうすればよいですか?
- 19. SQL Server 2008のスキーマを別のコンピュータにエクスポートするにはどうすればよいですか?
- 20. SQL Serverストアドプロシージャをスクリプト化するときにスキーマを含めるにはどうすればよいですか?
- 21. 各カテゴリに色を付けるにはどうすればよいですか?
- 22. これはどのように設計するのですか?
- 23. Google検索でウェブサイトの階層設計を設定するにはどうすればよいですか?
- 24. グループ合計を計算するにはどうすればよいですか?
- 25. マッピングテーブルを設計するにはどうすればいいですか?
- 26. sqlを使用して投影合計を計算するにはどうすればよいですか?
- 27. クライアントがXMLスキーマを確認できるようにするにはどうすればよいですか?
- 28. 次のようなインターフェイスを設計するにはどうすればいいですか
- 29. どうすればhtmlをこのように設計できますか?
- 30. WindowsコンピュータでXamarinアプリケーション用のVisual Studioでユーザーインターフェイスを設計するにはどうすればよいですか?
あなたのアプリを書いている言語は何ですか?私が提案しているのは、「タグ」に関する少しの研究です。なぜなら、あなたがそれらをどのように設定するかで行われた多くの作業があることを知っているからです。そして、それはあなたが設定しているものです。 – MageeWorld
投稿には 'TEXT'と' VARCHAR'の両方が動作します(MySQL 5.0以降では最大65KBです)。 –
私はgolangを使うつもりです。 –