乙個教務系統,比如課程計畫表的設計,我現在有2種設計方法,不知道哪個比較好?

時間 2021-05-12 04:45:44

1樓:心笑峰

如果只是簡單實現下怎麼搞都無所謂了。資料庫在整個系統中只是起到儲存資料、表達資料關係的作用。如果是考慮到後面的擴充套件最好採用「字典表」+「關聯表」的方式。

字典表用來儲存系統中用到的資料項,關聯表則用來表示這些資料項之間的關係。也就是說你先分清系統中包含了哪些物件,然後使用字典表的方式將這些物件表示出來;再分清這些物件之間是什麼樣的關係,然後使用關聯表將這種關係表達出來。

2樓:章平

這個要看具體的情況:

第乙個優點:資料儲存體積相對較小,對課程名稱、年份學期、負責老師的查詢相對消耗較小。

第二個優點:如果你經常整體查詢所有情況,效率上會高於第乙個方案。但儲存空間相對多一點。

整體看來學校學期、老師、課程如果整體數量不是很大(中、小學),第二種方案比較好。但如果是上述內容數量比較龐大的學校,建議可以拆表處理,拆表處理長期看是有利的。

3樓:程建

通常我是這麼做的有乙個課程表course_table ,這個是總表然後有乙個子表 course_child_table該錶複製course_table所有資訊但是額外新增上課班級、教師等字段,這樣課程總表與上課表相互隔離,減少彼此間的關聯

4樓:陳芳

我不懂這些。。。但是我很想說設計乙個user-friendly的教務系統非常有必要。我們學校最近新啟用教務系統同學們都是抱怨的,,,是在太不好用了。LZ加油!

5樓:

第二個。

原因有:

1.可以預見資料量不大,不會動輒上千萬級,效能問題基本可以忽略;

2.業務聯絡緊密,不分表利於查詢,而且這麼幾個字段還是沒必要拆了;

6樓:Chairo

根據業務來分表,如果你大部分展示、查詢都是不需要顯示課程名稱、年份學期和負責老師資訊的話,或者大部分展示、查詢只是用來顯示課程名稱、年份學期和負責老師資訊。那邊分表是合理的。

如果你分表了,大部分時候查詢還有展示內容都是需要join兩個表來做的話,那麼你還是不要分表了。

不能為了分表而分表。需要考慮你系統的負載,壓力等。無需太注意正規化,如果業務需要,反正規化也是合適的。

7樓:

第二個。沒發現需要有什麼分開的必要,或者可能有但是你沒有描述到? 用兩張表你得Join,必然比直接乙個單獨表的查詢要多點開銷。

如果實在有必要也就算了,但是這裡真沒看出來上課時間、上課地點與年份學期授課老師有啥區別。

我想寫乙個自己的作業系統,比如Unix或Linux,最起碼我需要具備些什麼?然後我需要怎麼做?

Hiraku ei 作業系統 從入門到放棄 unix,linux匯集了無數工程師,數以萬計的工時 軟體工程發展到今天別說乙個人做現代作業系統,是不可能的,寫個玩具式的超迷作業系統,熟悉下所謂作業系統原理還可以說說。 Github上的linux torvalds linux 知乎 現今Linux也並非...

可以給六年級的我製作乙個課程表拜託,我不想再這麼頹廢下去了。?

翔金bxg 六年級會用知乎主動尋求幫助的你,缺少的並不是天分,而是努力。天分,分 先天天分 和 後天天分 先天天分是每個人生來就被定住的,而後天天分則是靠著你不斷的學習積累得到提公升的。因為你不缺少這個,所以我們只聊聊努力。努力不是你想努力,就能持之以恆的努力的,努力與愛掛鉤,最主要的是家庭的愛,大...

如何為孩子設計乙個好的學習獎勵計畫?

hushlight 這要和孩子一起商量,重點應該是學習計畫,而不是學習獎勵計畫。我覺得吧,重點放在獎勵上,作為家長是有些偷懶了,本質上和那些 再考不及格打斷腿 的家長沒什麼區別,都是想靠乙個簡單不費力的方式把教育的責任推給孩子。我並不反對獎勵 包括但不限於物質獎勵 但是即使有了孩子有興趣的物質獎勵,...