SQL Server 2008 R2 でデータベースを作成するためのクエリを作成しています。mvc3 アプリケーションのエンティティ フレームワークで使用する予定です
ユーザー、ゲーム、ハイスコアがあります。私がやりたいことはこれです:
ユーザーとゲームの間に多対多の関係を作りたい。
各ユーザーは複数のゲームを持つことができ、各ゲームは複数のユーザーを持つことができます。
各関係ユーザー ゲームには 1 つのハイ スコアがあります。
ここまでで、users、games、highscores テーブルを作成しました。
CREATE TABLE Users
(
UserId INT IDENTITY(1,1),
FirstName VARCHAR(64) NOT NULL,
LastName VARCHAR(64) NOT NULL,
Email VARCHAR(200) NOT NULL,
CreatedDate DateTime NULL,
PhoneNumber VARCHAR(32) NULL,
Password VARCHAR(64),
CONSTRAINT pk_users_userid PRIMARY KEY(UserId)
)
CREATE TABLE Games
(
GameId INT IDENTITY(1,1),
Url VARCHAR(64) NOT NULL,
CONSTRAINT pk_gamess_gameid PRIMARY KEY(GameId)
)
CREATE TABLE Highscores
(
HighscoreId INT IDENTITY(1,1),
Value INT NOT NULL,
CONSTRAINT pk_surveyors_surveyorid PRIMARY KEY(HighscoreId)
)
多対多のユーザー ゲーム関係を作成し、各関係に 1 つの高いスコアを与える最良の方法は何ですか? リレーションを保持するために 4 番目のテーブルを作成する必要がありますか? また、そうすると、MVC3 アプリケーションで Entity フレームワークを使用してデータベースを使用できるようになりますか、それとも複雑になりますか?
ありがとうございました
追記: MVC 3 Web アプリケーションのエンティティ フレームワークでこのデータベースを使用する予定です。