2010-09-07 116 views
0

我正在使用php & mysql創建一個標記管理系統,其中相關的教師將能夠登錄並輸入學生的標記。我可以用一張簡單的桌子去,但問題是有288個不同的主題必須輸入標記。所以創建一個包含這麼多主題的mysql表格對我來說並不合適。請建議我來管理用戶權限的最佳方式,以便只有相應的教師就能進入標記在php中管理用戶權限

回答

0

<Subjects>

  1. 列表項
  2. SubjectId
  3. 主旨名稱
  4. SubjectTeacher

<Marks>

  1. SubjectId
  2. 日期
  3. 商標

............假設每個學科只有一位教師。如果你想每科多intructors,從主題表中刪除SubjectTeacher柱和兩個新表

<SubjectInstructor>

  1. SubjectId
  2. IntructorId

<Instructor>

  1. InstructorId
  2. 教師姓名
  3. 。 。
+0

這是一個很好的整體建議,但是你應該避免對錶/列名使用混合大小寫 - 使它們全部小寫,並使用下劃線來分隔單詞。另外,我喜歡使用'id'作爲表的主鍵,然後如果某個fk到另一個表使用'foreign_id',其中「foreign」是外部表的名稱。這使得在編寫查詢時可以更容易地知道發生了什麼。 – prodigitalson 2010-09-07 03:28:25

+0

我明白了。但沒有其他方式來管理權限,如:將有一個表中有一個權限列,其中有一些下劃線或東西分離主題ID ....?請讓我知道,如果有可能 – user420528 2010-09-07 03:29:09

+0

@prodigitalson是的,你是對的。我一直在使用CamelCase在我現在的公司(擴展一個傳統的sybase數據庫),並習慣於(不太好)的語法。我在MySQL中的項目遵循您剛剛舉例說明的標準。 – Stewie 2010-09-07 03:43:13

1

這是一個相當大和毛茸茸的問題;你確實知道,對吧?你認爲安全性不如後想,但我認爲這不是你要問的安全問題。

幾年前,我花了一些時間來開發學術管理系統。一些所需的設計相當涉及。除了科目和學生,我們很快發現我們需要一個班級結構,所以我們可以說這個學生在這個學期是在這個學科,但不是下一個學期。並且說這個老師在這個學期講授了這門課,但另一位老師在這個學期講授了這門課。

這也意味着我們必須保留一些有關何時上課的信息,這些信息將變成時間表機制。(但是我不會去討論這個問題,因爲它涉及很多)。然後,我們必須爲一個班級的學生保留多種標記,這些標記創建了多種任務類型,其中只有一種是結束的,短期考試。

最後,我們將學生和教師抽象爲通用聯繫人。這使得權限系統能夠推廣以編輯他們「擁有」的對象。它也讓我們支持先前的學生回到教學的先進理念。並讓所有聯繫人以各種身份登錄。

0

也許你可以根據班級來劃分表格。但你仍然可能需要面對更多的問題。你最好有桌子。