我正在设计一个网站,您可以在其中上传带有描述等的游戏,并存储他们的评级。我是唯一可以提供评级的人,因此我不需要第二个DB。
但是,会有无限轮次的竞争,所以我想将Round#存储在DataBase的一列中。另一个要求是每一轮都有它自己的信息,所以我要用Round_Number创建第二个表,然后是其他字段,如描述,截止日期等。
所以这是我目前的数据库架构理念:
Entries ( Comp #, Entry # AutoInc, Password,
Entry Date, Author Contact, Description, Screenshot, Website )
Competitions ( Comp #, Theme, Entries, Start Date, Finish Date, Prize )
所以参赛作品可以在Comp#上加入比赛,以获得有关其比赛的额外信息。这些看起来效率最高吗?没有帐户系统(或用户表),每个条目只有自己的密码进行编辑。
答案 0 :(得分:0)
我会进一步思考这个问题。您可能会为不同的参赛作品和比赛提供不同的屏幕截图。您也可以定义关系模式并添加用户帐户以进行身份验证。定义三个表:
CREATE TABLE USERS_T
(
account_id number,
username varchar,
password data_type,
author varchar,
....
)
CREATE TABLE COMPETITIONS_T
(
comp_id number,
description varchar,
theme varchar,
#entries number- not needed, just count by id in ENTRIES_T table
start_date date,
finish_date date,
prize varchar,
...
)
CREATE TABLE ENTRIES_T
(
account_id number,
comp_id number,
entry_date date,
descr varchar,
screenshot blob,
website varchar,
...
)
每场比赛可以有多个参赛作品,但每个参赛作品只能参加一场比赛。
在ENTRIES_T表上添加主键:PRIMARY KEY (account_id, comp_id)
你甚至可以更进一步,定义主题表,评论表等。我想你会明白这个想法。希望这可以帮助。古德勒克!