【发布时间】:2013-08-01 14:54:38
【问题描述】:
一个简单的数据库设计问题困扰了我一段时间,想在这里问一下。
假设我有一个数据库表"Loan",其中包含以下字段,
StudentIdentification, LoanDate, ReturnDate
该表用于跟踪每个借过东西的学生(不在数据库中)。 由于每个学生都可以贷还贷再贷(但不能多次贷不还,贷后必还),所以复合主键是
used: StudentIdentifcation and LoanDate
以这种方式存储数据还是使用 2 个表更好,
table 1: Loan ( StudentIdentification, LoanDate)
table 2: LoanHistory ( StudentIdentification, LoanDate, ReturnDate)
在这种情况下,贷款表的主键是
StudentIdentification
LoanHistory 表的主键是
StudentIdentification, LoanDate
每次学生返回时,“Loan”中的记录都会移动到“LoanHistory”表中,并更新 ReturnDate(在事务中完成)。
哪个更好?
【问题讨论】:
-
哈哈,一个编程白痴可以访问SO,这就是区别
-
真的,我的评论被删除了?!版主是否没有注意到 OP 的用户名实际上是“编程白痴”?伙计,这些天这里的每个人都很敏感。
标签: sql sql-server database oracle