mysql - 轮询数据库模式

标签 mysql database-schema

民意测验的最佳数据库模式是什么?一对多关系对此有好处吗?我正在考虑有两个表:

poll_questions
    int id
    varchar body
    datetime created_at
    datetime updated_at

poll_answers
    int id
    varchar body
    int votes default 0
    int question_id (foreign key to poll_questions.id)
    datetime created_at
    datetime updated_at

然后还有第三个表用于跟踪谁为答案投票,因此用户只能投票一次:

poll_voting_history
    int id
    int question_id (foreign key to poll_questions.id)
    int answer_id (foreign key to poll_answers.id)
    int user_id (foreign key to the id in the users table)
    datetime created_at
    datetime updated_at

你有什么想法?我的想法对吗?

最佳答案

架构看起来不错,是的,您需要 track the user votes as well .

关于mysql - 轮询数据库模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2264750/

相关文章:

php - Doctrine DBAL - SELECT 连接两个表,在结果的键中带有前缀

java - 将数据库中的值保存到 session 变量 Mule esb 中

mysql - 选择在左连接时返回 NULL

mysql - 如何在 sql 脚本中而不是在存储过程中选择性地执行某些 sql 语句

sql - 为引用特定结果的用户设计数据库表

database-schema - 寻找 vCard 数据元素的架构

php - 使用 laravel eloquent 搜索多个表

php - 更新查询以反射(reflect)规范化数据库

sql - SQL中如何查询名字存储在另一个表中的表?

.net - 使用 MongoDb 处理迁移