mysql - 這種分級一對多,且分級不平衡的模型該怎么設計表?
問題描述
最近遇到一個很糾結的業(yè)務模型: 要給一個教師培訓機構設計題庫,題庫里每道題都隸屬某個分支,關鍵奇葩就是在這個分支的定義上,這個分支在業(yè)務上是如下定義的: 首先,分學段:幼兒,小學,初中,高中 學段下面,是一級學科, 幼兒:綜合素質(zhì),保教技能 小學:綜合素質(zhì),教育能力,專業(yè)技術能力 初中:綜合素質(zhì),教學能力,專業(yè)技術能力 高中:綜合素質(zhì),教學能力,專業(yè)技術能力
然后,在“專業(yè)技術能力”下,還分語文,數(shù)學,英語。。。。等等第二級學科,且,小學,初中,高中擁有的下級學科還不一樣。但是綜合素質(zhì),教育能力這些又沒有第二級學科。
于是這種分級不平衡現(xiàn)象導致這個題庫里的題目出現(xiàn)一個很尷尬的現(xiàn)象 有的題目,屬于一級學科,而有的題目,則屬于二級學科
當然我是可以把題庫表建成這樣
題目 id 題目名稱 所屬 1 級學科 所屬 2 級學科
但是我總覺這似乎哪里不對勁,但是又說不出到底哪不對頭。 請各位指點
問題解答
回答1:最簡單的辦法就是設計成一棵樹的結構
回答2:可能是這樣的
學科(id,學科名稱,科級,父級學科);
經(jīng)供參考,具體可根據(jù)操作再劃分一下,不一定非要一張表。
回答3:學科表(學科id,學科名,學科科級,上級科級,階段id)題目表(題目id,所屬學科id,題目內(nèi)容)
回答4:新建三張表來解決,學段表、學科表、試題表學段表(id,名稱)學科表(id,名稱,級別,父級學科id)試題表(id,名稱,試題內(nèi)容,學段id,學科id)
