我正在使用PHP [處理學生考勤系統]處理我的項目。我有一個學生名單及其ID [jntuno],我需要在mysql中創建一個數據庫,用於存儲每個學生每個學生的每日出勤情況。因此,我通過這種方式創建了我的表格:處理考勤表的選擇
TABLE:students
字段:
slno int(5) auto increment,
jntuno char(15),
name char(50),
primary key(slno,jntuno).
DATA:
這種students
表保存學生的名單和他們的ID
現在我創造了另一個表:
表:dailyatt
字段:
date date,
subject char(10),
classesconducted int(2),
`11341A0501` int(2),
`11341A0502` int(2),
`11341A0503` int(2),
.
.
.
`11341A0537` int(2),
primary key(date,subject).
此表的樣子:
+------------+-----------+-----------------+------------+-----------+-----------+
|date |subject |classesconducted |11341A0501 |11341A0502 |11341A0503 |....
+------------+-----------+-----------------+------=-----+-----------+-----------+
| | | | | | |
現在每天進入在PHP網站出席會議時,將爲當天的每個主題創建一個新行。
但很多人說數據庫模型不是很好...
這個數據庫結構有什麼問題?
那麼有人可以爲我提出一個更好的模型來解決這類問題嗎?
你應該學習數據庫標準化(http://en.wikipedia.org/wiki/Database_normalization),並瞭解爲什麼它是使用數據庫是存儲在業務系統的交易數據最好的做法至少第三範式(3NF),除非你有特殊的理由不要。 –