2012-08-23 143 views
0

嘿傢伙我有一個簡單的數據庫問題。假設我正在模擬大學登錄系統。我需要登錄表嗎?

如果我有學生表和教師表,我可以直接在對應的表中存儲密碼嗎?例如student表具有諸如(student_ID - 主鍵),First_name,Last_name,Classification之類的屬性,現在我將添加一個密碼字段。

如果我創建一個登錄表,我只是有效地複製了成千上萬的潛在記錄。使用say(主鍵STUDENT_ID,FACULTY_ID)和密碼字段創建用於身份驗證目的的登錄表有什麼好處嗎?

我可以在一張桌子上增加安全嗎?什麼是更好的方法?

+0

,如果你這樣做,你將如何推廣查詢??如果一個教師登錄,你必須分別查詢教師表和學生表! – madhairsilence

+0

學生將只有一個密碼,因此將密碼存儲在學生表中將是安全的。您最可能使用將駐留在該表中的電子郵件地址或用戶名。儘可能保持數據的正確性。沒有必要在新表中複製學生證。同時存儲加密密碼並創建一個丟失的密碼來重置用戶的密碼。這樣系統就不知道密碼是什麼,只有用戶。 –

回答

1

由於一名學生只包含一個密碼,因此保留one to one relationship,因此不需要將表格拆分爲一對一的關係。

如果是一對多的關係,打破了表將是很好的,如用於存儲多個電話號碼或一個用戶的多個地址.....

+0

好吧,我有同樣的想法,謝謝! – Undermine2k

0

您需要在只有學生是否將是決定允許登錄到您的系統。 管理員用戶,老師等等呢?

即使有遠程可能性,即非學生將登錄到系統中,建議創建一個登錄表存儲在MD5加密的用戶ID和密碼