연결 테이블이 있습니다. 뉴스 기사가 하나 이상의 게임에 관한 것이라면, 당신은 그것을 필요로합니다. 아직 존재하지 않는 게임을 처리하려면 행을 삽입하고 현재 알고있는 모든 정보 (뉴스 기사의 내용 일 수도 있음)를 포함하고 아직 릴리스되지 않았 음을 나타내는 상태 열이 있어야합니다. 아직 또는 소문 해제되지대로 등이 게임을 표시 할 수 있습니다
는 다음과 같이 최대 테이블을 설정합니다
Games
GameID int not null auto increment PK
GameStatus char(1) not null "P"=published, "N"=not released yet, "R"=game is only a rumor
GameReleaseDate date null
GameName varchar(...) not null
GameDescription...
...
News
NewsID int not null auto increment PK
NewsTitle varchar(...) not null
...
GameNews
GameNewsID int auto increment PK
GameID int FK to Games.GameID
NewsID int FK to News.NewsID
를이 설정을 사용하면 하나의 뉴스 항목과 관련된 여러 게임을 할 수 있습니다. 각 게임을 뉴스 행에 연결하기 위해 모든 적절한 GameNews 행을 삽입하기 만하면됩니다.
아직 게임이 게시되지 않은 경우 게임의 행을 상태 "N"또는 "R"(또는 이와 비슷한 내용)로 만들고 GameNews 테이블을 사용하여 뉴스에 연결할 수 있습니다 게시 된 게임의 경우 Games 내의 모든 필드에 최대한 많은 정보를 입력하고 더 많은 정보를 업데이트 할 수 있습니다. 결국 게임에서 게임 정보가 완성되고 (게임이 게시 된 후) 뉴스의 소문 일 때도 모든 뉴스 행에 연결됩니다.
제가 말하고자하는 것에 대한 아이디어를 제공하기 위해 "소문"게임에 대한 데이터가 시간이 지남에 따라 어떻게 생겼는지에 대한 샘플이 있습니다 (이는 단순한 예이며 뉴스 당 여러 게임이없는 행입니다) :
data as of 1/1/2010
Games GameID GameStatus GameReleaseDate GameName
1234 "R" 1/1/2012 "God of War 4"
News NewsID NewsTitle
543 "Future Of Games"
GameNews GameNewsID GameID NewsID
768 1234 543
data as of 4/1/2010
Games GameID GameStatus GameReleaseDate GameName
1234 "R" 1/1/2012 "God of War 4"
News NewsID NewsTitle
543 "Future Of Games"
544 "Interview with John Hight"
GameNews GameNewsID GameID NewsID
768 1234 543
769 1234 544
data as of 11/20/2010
Games GameID GameStatus GameReleaseDate GameName
1234 "N" 12/31/2011 "God of War IV"
News NewsID NewsTitle
543 "Future Of Games"
544 "Interview with John Hight"
545 "God of War Expected Next Year"
GameNews GameNewsID GameID NewsID
768 1234 543
769 1234 544
770 1234 545
data as of 8/15/2011
Games GameID GameStatus GameReleaseDate GameName
1234 "N" 12/01/2011 "God of War IV"
News NewsID NewsTitle
543 "Future Of Games"
544 "Interview with John Hight"
545 "God of War Expected Next Year"
546 "Retailers Get Ready For New Games"
GameNews GameNewsID GameID NewsID
768 1234 543
769 1234 544
770 1234 545
771 1234 546
data as of 1/1/2012
Games GameID GameStatus GameReleaseDate GameName
1234 "P" 12/01/2011 "God of War IV"
News NewsID NewsTitle
543 "Future Of Games"
544 "Interview with John Hight"
545 "God of War Expected Next Year"
546 "Retailers Get Ready For New Games"
547 "God of War IV Review"
GameNews GameNewsID GameID NewsID
768 1234 543
769 1234 544
770 1234 545
771 1234 546
772 1234 547
2012 년 1 월에 당신이, 그것은 완전하고 검토 Games.GameID = 1234 링크 볼 것 News.NewsID = 543 보는 것 인 경우에도 News.NewsID = 543 기사는 전쟁의 신의 "소문"곧 나오는 버전에 관하여이다. 이 모든 작업은 이전 News 또는 GameNews 행을 변경하지 않고 완료되었습니다.
나는 관계를 생략 할 생각을했습니다. 나에게 가장 좋은 방법 인 것 같습니다. 그러나 2 년 후에 창안 될 God of War 4에 대한 많은 뉴스 기록을 작성한다고 가정 해보십시오. 게임이 출시 된 몇 년 동안 게임이 만들어 지지만 게임과 관련된 레코드를 어떻게 알 수 있습니까? 아마 일부 태그 시스템? 나는 정말로 확신하지 못한다. – Sinan