2017-05-10 106 views
0

那麼,我試圖建立一個應用程序,允許教師和學生之間交換消息。我需要構建一個ContentProvider類,但是我遇到了如何表示InstructorStudent類之間的多對多關係的問題,它比問題更混亂。SQLite數據庫中的連接表

我知道我需要創建一個結合表,例如:

CREATE TABLE InstructorStudent (
Student INTEGER REFERENCES Student (student_id), 
Instructor INTEGER REFERENCES Instructor (instructor_id), 
PRIMARY KEY (student_id, instructor_id)) 

但是,我有一個問題:這是被認爲是不好的做法,如果我做聯接表的主鍵自動增加自己的簡單整數?

額外的問題

如何獲取學生名單特定教練,反之亦然?

+0

你在尋找MySQL,Java還是其他的東西?聯結表的主鍵應該是'student_id'和'instructor_id'的組合。這可能不會因爲您使用Android中的MySQL而改變。 –

+0

不,我正在使用SQLite。我很抱歉混淆,它應該是SQLite標記而不是MySQL。 – nullbyte

回答

2

我不認爲你需要一個自動增量的連接表。只要導師身份證和學生證都是獨一無二的,你就很好。

如何檢索特定教師的學生列表,反之亦然?

比方說你的學生表是這個tbl_student

這是我怎麼會寫查詢。

select * from junctionStudentConstructor where InstructorStudent.Instructor = insid;

更換insid與導師ID。