首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何维护一个实体的数据库记录,该实体属于另一个实体的几个类别,每年,每个季节等

如何维护一个实体的数据库记录,该实体属于另一个实体的几个类别,每年,每个季节等
EN

Software Engineering用户
提问于 2016-07-31 18:10:14
回答 2查看 131关注 0票数 1

我正在建立一种学校管理系统。

我想管理的数据库记录,如评估,学期/季节,学年。每个信息必须属于一个特定的学年,所以在任何时候,管理员可以查询与特定年份有关的信息。评估也不仅可以属于一个学年,还可以属于学期、班级、科目、学生。

我一直在研究如何为此开发一个可伸缩的数据库模式。我曾想过,每年都有不同的数据库,或者把它们合并在一个非常不同的表格上。但是,如何正确地将每一份评估报告引用到特定的学生、科目、班级、学期和年份,仍然是我对整个问题的困惑。

EN

回答 2

Software Engineering用户

发布于 2016-08-01 09:04:29

让我们尝试把这些信息放在一起,并尝试一些解决方案。

首先:每个表都有一个ID列,可以从其他表中引用。我将假设该列名为ID,引用列为tablename_id。

因此,根据您的描述,我假设下面的表(和引用):

ACADEMIC_YEARS

术语(academic_year_id)

学科

类(subject_id,term_id)

学生

入学人数(student_id、class_id)

评估(enrollment_id)

因此,入学人数决定了学生所选的课程。课程指的是主题和术语。这意味着必须为每个术语新建相同的类,因此假设类是临时的。如果类总是相同的话,您可以将term_id从类移到注册,尽管这似乎不太可能。

评估与入学有关。因此,它“知道”哪个班级(因此,主题和学期)和哪个学生是由推荐人评估。

根据你的描述,我不确定这种形式的评估是否足够,或者是否还会有更高级别的其他评估。因此,请澄清这一点。

票数 2
EN

Software Engineering用户

发布于 2016-07-31 19:13:33

任何事情都有发生的日期和时间。在它发生的时候,它属于不同的类别。一个学年,一个季节,一个学期,什么都行。

由于您正在执行关系数据库,一种方法是通过外键。一个学年可能会有许多评估表明它们发生在那一年。然而,这将是愚蠢的,除非这一年的记录有一些有用的信息,你正试图链接到的那一年。否则,最好只在评估记录中列出年份。

查一下正常的表格。他们会教你如何建立这些关系。请注意,您创建的结构越复杂,针对它编写查询就越困难。还要注意,如果您只创建一个庞大的表,那么您最好将所有内容都写到文本文件中。诀窍是在外来者之间找到平衡。

票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/326238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档