我一直在为微软访问数据库创建一个规范化的基本结构。看起来像这样。我希望它有第一,第二和第三范式标准化。不关心添加更多字段,因为我相信基础知识存在。
仅仅通过判断这张图片是否符合这里的三个规范化规则?我错过了任何关系,还是有任何数据冗余?很确定它很好,但任何反馈都会受到赞赏!
答案 0 :(得分:1)
要立即回答你的问题,是的,这是3NF。
你的问题中的一个缺陷是遗漏了你打算如何使用这些信息的意图。为什么图书馆会关注学生的课程/课程长度?如果一个记录有“生物学”,另一个是“生物学”或“生物学101”对比“生物学102”怎么办?
是否应该有一个包含课程列表的课程表?这将导致您的数据库设计中的一些其他更改。
如果学生为同一本书延长“贷款”,该怎么办?您是否只是推回该StudentID和BookID的LoanUntil
字段,或创建新的Loan
记录?这引出了我的下一个问题:
如果一本书逾期怎么办?我没有看到任何方法让这个数据库处理它。这是图书馆基础设施中的一个重要部分(部分是他们如何赚钱)。
希望这有帮助。