Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.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
Database 访问学生和课程之间的数据库关系。同时保留以前所有课程费用的历史记录_Database_Ms Access - Fatal编程技术网

Database 访问学生和课程之间的数据库关系。同时保留以前所有课程费用的历史记录

Database 访问学生和课程之间的数据库关系。同时保留以前所有课程费用的历史记录,database,ms-access,Database,Ms Access,我想保留学生和课程的所有记录,但在一段时间后,如果课程价格发生变化,则不应影响已注册不同课程费用的学生的先前记录。。。这是我的数据库设计,请告诉我我的设计是否正确 student ------------ id(pk), name, address, email, course ---------- id(pk), name, duration, details, course_fee ----------- course_fee_id(pk), course_id(fk), course_

我想保留学生和课程的所有记录,但在一段时间后,如果课程价格发生变化,则不应影响已注册不同课程费用的学生的先前记录。。。这是我的数据库设计,请告诉我我的设计是否正确

student
------------
id(pk),
name,
address,
email,

course
----------
id(pk),
name,
duration,
details,

course_fee
-----------
course_fee_id(pk),
course_id(fk),
course_fee,
valid_from,

student_course
--------------
student_course_id(pk),
student_id(fk),
course_fee_id(fk),
discount,
details,
关系
很简单,只要确保在您的关系窗口中,您没有为以下关系放置引用完整性
课程费用。课程费用id->学生课程。课程费用i
,这样已经输入的数据将保持不变


我还建议您在学生课程表上添加一些日期/时间戳字段。:)

我不明白如果我没有为以下关系提供参考完整性,那么学生课程表中可能输入了不正确的数据示例:这是指向该图像的链接,请建议我。我假设您将使用表单输入信息,因此您只需将该字段的
限制列表的属性设置为
谢谢。。那么,如果我想在表级别中输入正确的信息,那么设计应该是什么呢?我强烈建议您不要让用户直接在表级别中输入数据。正如您所说的“学生课程中可能输入了不正确的数据…”在表格级别,您需要做的唯一一件事是将
student\u course.course\u fee\u id
字段设置为从
course\u fee.course\u id
student.id-> student_course.student_id

course.id -> course_fee.course_id

course_fee.course_fee_id-> student_course.course_fee_id