【发布时间】:2011-07-05 04:40:39
【问题描述】:
我设计了这样的表格:
表1:学生 --------------------- PK 编号 姓名 数字 ... --------------------- 表 2:students_score --------------------- PK FK student_id 数学分数 英语分数 ... ---------------------问题 1
如果有些学生根本没有分数,是不是很好的表格设计?
问题 2
如果它的设计很好,那么我如何在 MySQL 中将 FK 作为 PK?我不知道怎么做。每次我尝试像上面那样建立关系时,SQLYog 都会说这个错误:Can't create table 'students.#sql-a31_2c8e' (errno: 150)
谢谢
更新
我找到了问题 2from here 的答案。这只是类型(int,signed int)的问题。
【问题讨论】:
-
啊。数据库设计。我认为最新的做法是对数据进行非规范化。学者们当然会在这里要求第五范式。
-
速度与灵活性的对比。
标签: mysql database-design foreign-keys primary-key sqlyog