我想开发一个非常简单的php应用程序,用户可以建议并对名称进行评级(例如为了找到最好的狗或孩子的名字)。
我想将所有数据放入psql数据库并将所有内容显示在网页中(我想首先显示最佳名称,因此我需要按平均标记对每个名称进行排序):
Names | User01_Marks | User02_Marks | Average
------------------------------------------------
name_03 | 15 | 13 | 14
name_01 | 9 | 15 | 12
name_02 | 5 | 7 | 6
我希望有真正的开发人员建议,以便了解数据库的最佳解决方案。
我是否必须创建一个或多个表?
我已经尝试将所有信息放在3个不同的基础中:
1)名称(我把名字放在哪里,例如:name_01,name_02):
id SERIAL PRIMARY KEY,
name VARCHAR(50) NOT NULL UNIQUE
2)用户(我放置用户的位置。例如:User01,User02):
id SERIAL PRIMARY KEY,
name VARCHAR(50) NOT NULL UNIQUE
3)标记(如果用户标记与名称相关联:10,15):
PRIMARY KEY (names_id, users_id),
names_id INTEGER NOT NULL REFERENCES names(id),
users_id INTEGER NOT NULL REFERENCES users(id),
mark integer CHECK (mark <= 20)
但是为了得到与上面相同的结果,找到好的查询似乎非常复杂。
我可以把所有东西放在一个独特的基础上,但它似乎是懒惰的方式:)
提前感谢您的反馈