发布于 2013-09-27 12:10:51
重新定义GRADE_LEVEL表,使其包含课程的分数或课程的级别(曾经适用),难道不解决问题吗?
GRADE_LEVEL中的行可以包含以下值:
GRADE 7
GRADE 8
GRADE 9
GRADE 10
GRADE 11
GRADE 12
LEVEL 1
LEVEL 2
LEVEL 3您可以考虑在GRADE_LEVEL表中添加一个分区属性,以指示应用的是哪个教育系统。这可能有助于您的一些应用程序逻辑,这些逻辑可能需要应用不同的处理,这取决于给定COURSE使用的是哪个系统。
发布于 2013-09-30 21:13:30
如果我把问题翻译错了,请原谅。我在这里看到的是,现有的系统比新的系统处于更细粒度的水平。在现有的系统中,GradeLevel和Course有一种单一的关系,因此可以按年级级别检索课程,如果需要查找所有唯一的课程,则需要从查询中删除年级级别。然而,Course表仍然拥有唯一的可用课程列表。现在,在新系统中不存在GradeLevel实体类型。因此,新系统比旧系统更少粒状。

我会把上面的图片翻译成新的系统。在模式perspectve中,没有任何更改,它只是访问这些表的API。创建一组新的API以使用一种新的方式在这些表中选择/插入/更新还需要进行大量的代码更改,以确保代码正在根据调用者是谁和/或哪个API调用是针对哪个系统(新的还是旧的)调用正确的API集。
根据这些API接收到的数据更改现有的API以选择/更新/插入并不需要在代码端做太多的工作。如果请求或提供了GradeLevel信息,那么API将假设这是对旧系统的请求,否则它将对新系统运行。
https://dba.stackexchange.com/questions/50189
复制相似问题