Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何构造此数据库?_Mysql_Ruby On Rails_Sqlite - Fatal编程技术网

Mysql 如何构造此数据库?

Mysql 如何构造此数据库?,mysql,ruby-on-rails,sqlite,Mysql,Ruby On Rails,Sqlite,我是一个在rails中开发一个非常简单的应用程序的新手,但我没有构建数据库的经验……你能告诉我下面介绍的任何一种方法是否有优势,或者是否有更好的第三种方法来设置它吗 学生们将在一张表格上被问两个问题 “你认为学生可能会不及格的课程有哪些?”(勾选所有适用项) 数学、英语、法语、科学 “你认为学生可能通过哪些课程?”(勾选所有适用项) 数学、英语、法语、科学 对于数据库,是否创建类型为“string”的“pass”和“fail”列。例如,对于User1 “及格”可能有数学和英语,还有 “失败”可

我是一个在rails中开发一个非常简单的应用程序的新手,但我没有构建数据库的经验……你能告诉我下面介绍的任何一种方法是否有优势,或者是否有更好的第三种方法来设置它吗

学生们将在一张表格上被问两个问题

  • “你认为学生可能会不及格的课程有哪些?”(勾选所有适用项)
  • 数学、英语、法语、科学

  • “你认为学生可能通过哪些课程?”(勾选所有适用项)
  • 数学、英语、法语、科学


    对于数据库,是否创建类型为“string”的“pass”和“fail”列。例如,对于User1

    “及格”可能有数学和英语,还有

    “失败”可能有科学依据

    不管出于什么原因,他都没有对法语发表意见


    或者,我应该将“数学”、“法语”、“科学”、“英语”列设置为“字符串”类型,然后在每个列中输入“通过”或“失败”


    更好的组织方式是什么

    我可能会创建4个表,User、Course、ExpectedResult和UserCourseExpectedResult,它们将前3个表链接在一起

    如果您的预期结果包含其他值,这将提供未来的灵活性

    桌子结构将沿着

    User
       UserId
       Name
       ...
    
    Course
       CourseId
       Name
       ...
    
    ExpectedResult
       ExpectedResultId
       Description
    
    UserCourseExpectedResult
       UserId
       CourseId
       ExpectedResultId