2017-11-19 8 views
-1

私はこれらの機能を備えたデータベースを設計したいと思っています: 1.ユーザー 2.映画 ユーザーは映画を評価することができ、そのランキングで新しい映画を推薦します!デザインデータベース

また、私には最高のデータベースは何ですか? SQLまたはNoSQL?

私はDjangoを使用します。 私を助けてください:

+0

しばらく前に私はこの記事を読んでいます(http://www.sarahmei.com/blog/2013/11/11/why-you-should-never-use-mongodb/)。私はあなたのアプリケーションが非常に似ているのでここに入れます。記事はかなり古いことに注意してください。 – Stefano

+0

ありがとうございます。それは非常に便利だった:) – Lobster

答えて

1

構造に関しては、私は2つの独立したテーブルMOVIESと第三のテーブルを介して接続さUSERSをお勧めしたい、多かれ少なかれ、このように:このように

CREATE TABLE movie 
(id SERIAL PRIMARY KEY 
, name VARCHAR(100) 
, date DATE 
[other attributes] 
); 

CREATE TABLE user 
(id SERIAL PRIMARY KEY 
, name VARCHAR(100) 
[other attributes] 
); 

CREATE TABLE user_movie 
(id SERIAL PRIMARY KEY 
, user_id INTEGER NOT NULL REFERENCES user(id) 
, movie_id INTEGER NOT NULL REFERENCES movie(id) 
, rating INTEGER NOT NULL 
[other attributes] 
); 

、ユーザーは複数のムービーを評価することができますが、ムービー複数回評価することができます。 user_movieで映画のキーを検索すると、受け取ったすべての評価が返され、現在の評価を判断して適切に提案できるようになります。

最高のデータベースは...このデータベースがどれほど大きくなるか、同時接続数はどれくらいかなど、十分な情報は私たちに提供していませんでした。私はPostgreSQLユーザーです私はそれが幸せだと言わなければならない。なぜなら、それは無料でかなり丈夫だからである。私はそれをお勧めします。特に、あなたのシステムが成長することを期待するならば。

0

ようこそスタックオーバーフロー! [ツアー]と[質問]をチェックしてみてください。

初心者向けデータベース開発の推奨事項をお尋ねしていますか?あなたのアイデアは良いスタータープロジェクトのように聞こえます。個人的には、他にも多くのチュートリアルやサポートがあるのでMicrosoft Accessをお勧めします。また、SQLにもアクセスします。また、Excelでの経験があれば、かなり簡単に移行できます。わずかなリソースがGoogle離れています。 YouTubeにたくさんの良いものがあり、学習曲線を上回ることができます。

幸運を祈る!