Database design 如何存储不同类型客户的订阅-数据库设计

Database design 如何存储不同类型客户的订阅-数据库设计,database-design,Database Design,我正在为网站设计基于订阅的数据库。将有两种类型的用户,学校和学生 由于学校和学生将包含不同的数据,我决定创建两个不同的表,分别命名为school和student 我现在即将创建表订阅,我正在考虑以下选项: 选项1:我可以按如下方式创建表clientgroup: clientgroup ===================================== clientgroupID clientgroupName (schools, students) client ===========

我正在为网站设计基于订阅的数据库。将有两种类型的用户,学校和学生

由于学校和学生将包含不同的数据,我决定创建两个不同的表,分别命名为school和student

我现在即将创建表订阅,我正在考虑以下选项:

选项1:我可以按如下方式创建表clientgroup:

clientgroup
=====================================
clientgroupID
clientgroupName (schools, students)
client
=====================================
clientID
clientgroupID
clientOriginalID // The id from student or school table. 
然后,将表客户端设置为如下所示:

clientgroup
=====================================
clientgroupID
clientgroupName (schools, students)
client
=====================================
clientID
clientgroupID
clientOriginalID // The id from student or school table. 
然后,订阅表:

subscription
===================================== 
subscriptionID
paymentID
clientID
subscriptionStartsAt
subscriptionEndsAt
subscriptionIsActive
subscriptionHasExpired
在付款表的末尾:

payment
=====================================
paymentID
clientID
paymentDateTime
paymentAmount
paymentIpAddress
paymentSessionID
我正在考虑的另一个选择是不创建clientgroup和client表,而只是为这两个组、学生和学校的订阅和付款创建单独的表

这两个选项中哪一个更好?两者的利弊?还有其他建议吗