【发布时间】:2016-02-02 12:56:11
【问题描述】:
我正在设计课程结果管理系统的数据库。其中一个故事是:
一键取消分配学生学习的所有课程
我根据故事设计了三张桌子。架构是,
学生(StudentId、StudentName、RegNo)
课程(CourseId、CourseCode、CourseName)
Enroll(StudentId, CourseId, EnrollDate)
起初我以为我可以创建一个名为 Enroll_BCK 的 Enroll 表的副本,并同时在 Enroll 和 Enroll_BCK 中插入数据从应用程序中一键单击。但这需要删除 Enroll 表和其他麻烦。
这是一个好方法吗?
如何清除下学期学生的Enroll表而不实际从数据库中删除数据?
先谢谢了。
【问题讨论】:
-
这样做的方法实际上是从登记表中删除。你为什么犹豫不决?
-
因为规范。它说,您不能从数据库中删除数据以取消分配课程。我也不确定如果我扩大规模,那么它是否会产生性能问题。
标签: sql-server database-design