学术搜索中师承关系的建模与实现

提起师生关系,在教学管理系统中对其建模再简单不过了,老师是一个类,学生是另一个类,老师学生建立关联关系,实现为数据库中的两个表,之间存在外键关联就可以了,或是建立第三个对应关系表。

 

但就学术领域中的师生关系就不一定是我们在教学管理系统中的认识了,日前与USTC的同学们进行了热烈而有趣的讨论。

学术领域的师承关系的特点是,学生有老师,老师还有老师,......,学生可以变成老师,老师有时也是学生,正像电影《无间道》中的警察和疑犯的关系,这就是面向对象分析与设计中“角色“的概念,相对与类,角色建模也可以进行分类,具有相对性、可变性、动态性等特点。由此可以这样:

 

 这样问题应该解决了,但如果要考虑扩展一下的话,设计还会有问题。

例如:学生有学生的属性(如学习年限,硕士\博士,学习学校等,),老师有老师的属性(如工作年限,职称,职位,所属学校等,),使用场景也不尽相同,可能的操作也不尽相同,可能简单的版本不需要考虑这些,但在设计时必须要有一定前瞻性,即使目前这些需求并不是很明显,以保证系统的稳定性。例如,当需要学者自己输入的时候,可能就需要一些这些属性,或者以后挖掘器足够强大了,这些问题都会马上出现的。

 

如果这样的话,以第二种设计方案设计数据表,就会出现数据空间浪费的问题,因为纯学生是永远不会使用老师的角色中的属性的,这是纯学生不是一辈子做学生,而是学生毕业后没有做老师。

为解决这一问题,更优化的方案如下:

 

 

 

 


posted on 2010-12-22 15:40  MSRA visitor  阅读(554)  评论(2)    收藏  举报