[問題] 表達物件之間關係的資料如何儲存?

看板java作者 (夏天的微笑)時間10年前 (2014/11/10 10:42), 10年前編輯推噓3(304)
留言7則, 2人參與, 最新討論串1/2 (看更多)
假設有20個老師,8個班級。 每個老師會教好幾個班級,每個班級也會有好幾個老師教。 老師會設計成一個class,班級也是設計成一個class, 這部分應該沒什麼問題。 那麼老師和班級之間的關係,應該要如何儲存呢? 1.在老師的class裡儲存 (或者在班級的class裡儲存) class Teacher{ String name; Classroom[] classrooms; //班級 //可能還需要有教哪個科目的資訊,這裡先簡化 /* ... */ } 2.另外設計一個用來儲存老師-班級關係的class class Teach{ String course; //科目 Teacher teacher; Classroom classroom; /* ... */ } 假如在資料庫裡面的話,關係通常會有自己的資料表, 但是在java裡應該怎麼設計就沒有概念了,還請各位高手指點。 -- 起初,他們捉共產黨員 ,﹑ ,我不說話,因為我不是共產黨員 後來,他們捉▕工會會員 _<> ,﹑ ,我不說話,因為我沒有參加工會 後來,他們捉▕天主教徒<█『 ,﹑ ,我還是不說話,因為我是新教徒 後來,他們捉▕ 猶太人 /\ 」」 ===,我不說話,因為我是日耳曼人 ψQSWEET** 最後, 等到他們來捉我時 ▏ ▏ 已經沒有人能為我說話了... -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.193.209.142 ※ 文章網址: http://www.ptt.cc/bbs/java/M.1415587363.A.200.html

11/10 12:43, , 1F
1 關係就是reference
11/10 12:43, 1F

11/10 12:51, , 2F
像2如果還有其他屬性的話,應該是還有另一個class Course
11/10 12:51, 2F

11/10 12:52, , 3F
老師跟班級之間就不是直接關係
11/10 12:52, 3F
這邊是舉例,所以比較簡化, 假設只需要考慮老師、班級,還有老師和班級之間的關係這樣

11/10 14:23, , 4F
多對多通常會用另一個表格來儲存關係
11/10 14:23, 4F

11/10 14:25, , 5F
在java裡的話要看你用的工具,例如hibernate的話
11/10 14:25, 5F

11/10 14:26, , 6F
就是用註解的方式標明
11/10 14:26, 6F

11/10 14:29, , 7F
不過有時為了操作方便(排課、排教室等等) 會把關係實體化
11/10 14:29, 7F
這程式會需要和資料庫連結,但老實說我還沒寫過連資料庫的程式, 目前也還沒寫到這部份。 所以說要和資料庫連結的情況下,把多對多的關係設計成一個class會比較好囉? 那假如是不需連資料庫的情況呢? ※ 編輯: Kenqr (1.34.239.200), 11/10/2014 23:04:47
文章代碼(AID): #1KO2OZ80 (java)
文章代碼(AID): #1KO2OZ80 (java)