最近遇到一個很糾結的業務模型:
要給一個教師培訓機構設計題庫,題庫裡每題都隸屬某個分支,關鍵奇葩就是在這個分支的定義上,這個分支在業務上是如下定義的:
首先,分學段:幼兒,小學,初中,高中
學段下面,是一級學科,
幼兒:綜合素質,保教技能
小學:綜合素質,教育能力,專業技術能力
國中:綜合素質,教學能力,專業技術能力
高中:綜合素質,教學能力,專業技術能力
然後,在「專業技術能力」下,也分語文,數學,英文。 。 。 。等等第二級學科,且,小學,國中,高中擁有的下級學科還不一樣。但是綜合素質,教育能力這些又沒有第二級學科。
於是這種分級不平衡現象導致這個題庫裡的題目出現一個很尷尬的現象
有的題目,屬於一級學科,而有的題目,則屬於二級學科
當然我是可以把題庫表建成這樣
題目 id 題目名稱 所屬 1 級學科 所屬 2 級學科
但是我總覺這似乎哪裡不對勁,但又說不出到底哪不對勁。
請各位指點
最簡單的方法就是設計成一棵樹的結構
可能是這樣的
學科(id,學科名稱,科級,父級學科);
經供參考,具體可依操作再劃分一下,不一定非要一張表。
學科表(學科id,學科名,學科科級,上級科級,階段id)
題目表(題目id,所屬學科id,題目內容)
新建三張表來解決,學段表、學科表、試題表
學段表(id,名稱)
學科表(id,名稱,級別,父級學科id)
試題表(id,名稱,試題內容,學段id,學科id)