如何选择属性和表格?

时间:2017-05-31 14:05:03

标签: database-design rdbms

我正在考虑学生注册系统的数据库设计。首先,系统将接受任何存储数据的人的注册。然后管理员将检查表格并选择要接受的学生。我应该使用两个分开的表,第一个是存储注册人的信息,第二个是存储被接受学生的信息吗?或者我应该只使用一个表并使用属性(confirmedOrNot)来标记(0或1)该人是否已被接受,如下图所示?被接受的人还应在截止日期前支付费用。否则,它们将从接受的列表中删除。我还使用了一个属性来标记它。只有已被接受并支付费用的人才是该系统的最终学生名单。那个设计合理吗?什么是更好的设计? enter image description here

1 个答案:

答案 0 :(得分:1)

学生是否被接受"或者听起来不像学生的属性。自然要做的是将所有学生放在一张桌子上,然后让他们接受"此表中的属性。如果你制作两个表,那么你可能会有两个表中包含所有相同的字段。当学生被录取时,你必须从"待定"中复制他的所有数据。表格接受"接受"表,然后可能删除"待定"表。这比仅仅更改一个字段中的值更有效。更重要的是,如果您保留在学生上的数据发生变化,您必须记住更改两个表,并更改复制数据的代码。你为自己创造了更多的工作。迟早会有人犯错误,在两个表中填写不同大小的字段,或忘记复制新字段等,然后丢失数据。