2009-07-07 208 views
0

我需要爲A級學生開發一個數據庫,而且我在分類主題時遇到問題。他們共有13個科目,每個學生可以根據自己的喜好選擇13個科目中的許多科目和任意組合。
我該如何處理這個問題?我如何創建一個數據庫來保存每個學生的學科組合的記錄?需要數據庫創建幫助

任何人都可以幫助我嗎?

回答

3

製作一張帶有學生列表的表格,並製作一張帶有主題列表的表格。在另一個表中插入帶有學生ID和他們正在學習的主題ID的行。

id | student 

id | subject 

id | subject id | student id 
1

表:受

列:ID,SUBJECT_NAME

表:學生

列:ID,student_name

表:student_subject_map

列:ID, student_id(student.id - 外鍵),subject_id(subject.id - forei gn鍵)

0

你會有三個表:一個主題表,存儲主題信息;存儲學生信息的學生表,以及包含兩列,學生ID和主題ID的註冊表。

爲了讓拍攝對象的列表中的學生做的,你執行一個查詢是這樣的:

SELECT Subjects.name FROM Subjects INNER JOIN Enrolment ON Enrolment.subject_id = Subjects.subject_id WHERE Enrolment.student_id = '(student_id)' ORDER BY Subjects.name ASC 
0

並查看所有科目的學生選擇了,從student_subject_map其中

選擇subject_id student_id == < student-id>;

用學號的id替換< student-id>。下一個級別是使用table_subject中的id,subject_name匹配來獲取主題名稱而不是subject_id。 (線索:嵌套選擇語句)

+1

不!不是嵌套的select語句。可怕的建議。你想要加入。 – tomfanning 2009-07-07 09:27:02