【问题标题】:How to update same fields but different tables如何更新相同的字段但不同的表
【发布时间】:2014-06-30 12:21:08
【问题描述】:

美好的一天!

首先我是创建数据库的新手,所以我真的希望那里的专业人士可以启发我。我目前正在研究学生评分数据库。每个学生有 10 门科目(数学、科学等)。每个科目有4个评分周期。现在是这样。

我正在使用MS Access 2013

让我们只选一门科目:数学。我有 5 张桌子:

 1. student_profile
 2. math_1st_grading
 3. math_2nd_grading
 4. math_3rd_grading
 5. math_4th_grading

上面的每个表格都包含一个字段:学生姓名。

我有一个用于 student_profile 表的表格。我想要做的是,当我使用表格将数据输入学生姓名时,所有数学评分表的学生姓名字段都将更新。

我正在考虑对每个数学表进行更新查询,并使用宏同时运行它们。但我不知道该怎么做。这对我来说只是一个想法。

我也读过一些想法,比如在表单中进行“更新后”,但我对宏和表达式构建器了解不多。

请帮我解决这个问题。也许我对规范化我的表格不太了解,请为此提供一些解决方案。

非常感谢您的回复。谢谢

【问题讨论】:

  • 你不需要为所有表格提供学生姓名。除了学生资料。给其他表学生外国参考。这很容易
  • 解决方案是规范化您的表格。如果您对此了解不多,请学习。我只是去了我的 MS-Access 副本并按了 F1 键。在 Getting Started 下有一个指向数据库设计基础的链接。欢迎您。
  • 2. math_1st_grading 3. math_2nd_grading 4. math_3rd_grading 5. math_4th_grading 表有什么用。你能解释一下吗?

标签: sql ms-access macros


【解决方案1】:

这是一个糟糕的数据库设计。看看你在谈论什么实体:学生、科目和评分期。因此,您很可能需要这些表。

  • 学生(student_id、名字、姓氏、入职日期……
  • 主题(主题_id,名称
  • 评分(grading_id,姓名

然后您将这些组合在一个表格中以获取每个学生的科目和评分:

  • student_subject(student_id、subject_id、grading_id、result

因此,当学生的姓名发生更改时,您只需更新数据库中的一条记录。添加主题后,只需在主题表中再插入一条记录。以此类推。

但这只是一个例子。通过这种设计,您可以让学生学习不同的科目。如果这不是我们所希望的,那么另一种模型可能会更好。但它应该给你的想法。首先考虑您正在处理的实体,然后考虑它们之间的关系。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-17
    相关资源
    最近更新 更多