需要帮助创建学生数据库

时间:2015-07-17 13:17:15

标签: optimization database-design

我正在为大学数据库创建一个项目/门户网站,我必须在其中存储学生的出勤率和各种科目的成绩。目前,我已经设计了如下数据库。我需要知道它是否是一种存储数据的好方法。

主表:

Id | roll_number | Department | Year_of_study

为每位学生增加出勤率的表:

Id | roll_number(foreign key) | Attendance_for_period1 | Attendance_for_period2 

添加科目的表格:

Id | Subject_name

1   | computer Programming

2   | Data structures

3   | professional ethics

.   
. 
.

为不同科目的每名学生添加成绩的表格:

Id | roll_number(foreign key) | Marks_in_period1 | Marks_in_period2 
1  | 412811104092             | A,B,A,B,C,D      | B,C,A,A,D,F

在Marks_in_period1栏中,逗号分隔每个科目的成绩(即)我已为6个科目插入了分数。数据库是否正确或需要进行任何优化?

1 个答案:

答案 0 :(得分:1)

您应该(几乎)永远不会在一个字段中存储多个数据。它不仅使得在内部搜索变得非常困难,而且每次在每次写入时都必须解析/序列化。

Take a look at this answer