数据库中 学生-班长 在er图该如何表示

564 阅读2分钟

前几天有个朋友在说数据库中学生和班长在er图中该怎么表示,他说按理来说,班长可以管理学生,都是班长也是学生,那该如何在er图表现出来呢??我觉得可以分享一下。

首先,我们知道er图也就是实体联系模型,而实体也就是数据库对应的每一个表,表与表之间的联系,也可以在模型里面表示出来,这个朋友的疑惑就在这里了。

这里可以分两种情况:
    (1)学生和班长同一个实体
    (2)学生和班长分为两个实体

第一种学生和班长都是同一张表,那他们的本质都是学生,就需要添加一个字段,来区分他们的身份。在er图中,则不需要表达他们的关系,而是给学生这个实体类添加一个身份的属性即可。

第二种学生和班长分为两个实体,这样数据库就需要有学生和班长两张表了(通过班级来关联),er则有学生、班长两个实体,“班长--管理--学生”这样的一个关系。

这两种方法都可行,我那位朋友的想法应该就是介于一张表又想两个实体之间,在实际中可以根据业务的以及数据量来决定,当涉及的数据不多,可以采用第一种方法;如果涉及的数据多,则可以采用第二种说不定会更加方便。个人建议还是可以使用第一种,因为涉及到学生、班长的数据,基本都是一个学院、学校为主,数据量并不多,完全不至于拆分两个表来涉及。

通过上面的内容就能完成简单的jwt操作了,jwt在验证方面很常用,结合缓存、过滤器能够让我们更方便地进行验证。