首先這是一個蹩腳的問題,所以就是這樣!它讓我總是想着「我的數據庫設計夠好嗎?」這個問題。數據庫應該在實際應用程序中擁有多少個實體?
我被告知我有人爲小項目計數應該是10-15 有些人告訴我更多的表格更好。
我沒有需求規格,因爲我在家做一個小項目。但其規模越來越大。通常我不會制定需求規格說明,但我希望我應該做到這一點。
無論如何,假設你正在建設一個工業級的學生管理系統(SMS)的一所大學和你被賦予充分的權力建立一個SMS系統,是會像一個現成的包。你會爲數據庫添加多少個表?
感謝
首先這是一個蹩腳的問題,所以就是這樣!它讓我總是想着「我的數據庫設計夠好嗎?」這個問題。數據庫應該在實際應用程序中擁有多少個實體?
我被告知我有人爲小項目計數應該是10-15 有些人告訴我更多的表格更好。
我沒有需求規格,因爲我在家做一個小項目。但其規模越來越大。通常我不會制定需求規格說明,但我希望我應該做到這一點。
無論如何,假設你正在建設一個工業級的學生管理系統(SMS)的一所大學和你被賦予充分的權力建立一個SMS系統,是會像一個現成的包。你會爲數據庫添加多少個表?
感謝
這個問題有點像"How long is a piece of string?"
表的數據庫數量取決於應用程序的域模型。沒有對您的案例進行數據分析,回答您的問題根本是不可能的。
可能只有一個或兩個數據庫表的巨大應用程序,以及數百個小的應用程序。這個數字本身並不是衡量架構質量的好指標。
作爲一個經驗法則:爲每個唯一可識別類型的信息(上低電平)你需要存儲一個表,加上表交叉引用(許多一對多的關係) 。再有可能是管理表,用於記錄表格等儘量學習Object Role Modeling(不一樣的對象關係映射),自動創建一個基於你的商業模式的事實和約束數據庫的方式。
在您的具體情況下,我認爲您需要停止考慮您最終以結束了多少個表格。只要繼續開發,當遇到需要存儲的新數據時,請重構數據庫解決方案,隨時添加和修改表。如果你做好重構,你最終的數字是。
,但這樣是不是回答這個正確的平臺,因爲這是一個非常基礎的意見的討論,仍然我個人的經驗,我傾向於遵循拇指基於規則
「只有裸露的骨頭業務實體,其是絕對需要的必須是 構成數據庫實體。「
請注意,在所有術語中,數據庫實體與數據庫表不同。規範化的實體可以表示爲一組表。
對於一個學生管理系統,這是一個企業級的,將有肯定超過10個業務實體。對我來說,這些最起碼10將
你的問題是都錯了 - 這就像問如果這是最好的徒步旅行,在汽車或飛機上不知道你需要多遠就搞定了。
當您首先構建應用程序時,首先需要確定要構建的功能 - 通常以故事/用例開始。隨着故事在廣度/深度上的增長,你會發現你有更多的實體,我在這裏說3NF ...
回到我們的一些故事/用例,我可以粗略地告訴你實體。看看一些用例的例子 - 互聯網上有很多用例。
@atomblad,假設你這樣做了,假設你的大學就在附近,每年招收3000名學生,它提供了Phd課程的文憑和150名學術人員。作爲一個近似值,你會添加多少表格,不需要確切的值:)但我需要近似值 – user3296223
那麼,你仍然沒有告訴我你將存儲在數據庫中的數據類型。應用程序的學生和教師**用戶是**嗎?或者他們正在進入數據庫?在這種情況下,你需要儲存哪些關於每個學生或教師的信息?只是簡單的名字,年齡,每個人的電子郵件?在這種情況下,可能只是一張桌子。更多信息? –
@atomblad這些是課程和課程的fucntions-student註冊。根據通過的課程存儲作業,考試和考試分數,這決定了學生從課程開始到結束都基本適合畢業生畢業。講師的基本人力資源表將其分配給課程等。系統不處理學生網絡登錄等的圖書館借書。 – user3296223