2012-04-05 15 views
0

私はSQLの世界ですから、テーブルや関係などはNoSQLにはないと私には分かりませんが、私には分かりません関係なくカテゴリにニュースを保存する方法を理解する。NoSQLを使用したシンプルなWebアプリケーション用の優れたデータベースの構築

データベースのニュース、ニュース、タグ、ユーザープロファイルのカテゴリ、およびユーザーによるニュースのコメントを保持したいと考えているとします。

このタスクは、MongoDBの/ CouchDBの/のNoSQLを解決することができますどのように
categories (id, title) 
news (id, title, content, category_id) 
users (id, first_name, last_name, homepage_url) 
news_comments (id, news_id, user_id, comment) 
tags (id, title) 
news_tags (news_id, tag_id) 

:SQLで、私は、このタスクは、(構文を見ていない、それは擬似コードである)このようなアーキテクチャで解決することができると思いますか?私は良いアーキテクチャーに興味があり、インデックスのような特定のものについて知る必要はありません。

+0

おそらく、質問を1つのデータベースに絞り込む必要があります.nosqlのすべての味について網羅的な答えを得ることはまずありません。 – biziclop

答えて

1

通常、データを非正規化する必要があります。あなたの "ニュース" レコードは次のようになります。

news (id, title, content, category_title, [tags]) # that is list of tags 

または技術的に、より正確な、のようなもの:あなたはとても

news_comments (id, news_id, user_id, comment) 

ではありません有する "外部キー" でフィルタリングすることができます

(id, type=news, title, content, category_title, [tags]) 

あなたが特定のニュースのコメントを選択したい場合は、多くの問題がありますが、ユーザーのfirst_nameを表示する場合は、そのデータをコメントレコード自体に含めることをお勧めします。

コメントした後にユーザーがデータを変更するとどうなりますか?

  1. あなたが本当にあなたは、あなたがすべてのコメントを検索し、それらを更新するが、それは一般的な十分なケースだ場合は、オプション3がある仕事

の間違ったツールを使用している

  • を気にしませんたぶんリレーショナルデータベースが必要です。

  • 関連する問題