在我有一張學生全部申請工作表的表單中,並且我想記錄他們應用的位置的情況下,最好爲每個學生創建一個單獨的表格,並將其各自的應用程序放入其中或創建一個單獨的大表格那只是將應用程序鏈接到學生?多張桌子還是一個大桌子?
回答
當你說數據庫你的意思是表?
每個名詞應該映射到一個實體,在大多數情況下會通過一個單一的表,所以表示:
STUDENTS-<APPLICATIONS>-JOBS
學生可以讓許多應用 的申請是由一個學生做
一個應用程序涉及單個作業 一個作業可能有很多應用程序。
Students
--------
STUDENT_ID
NAME
...
Applications
------------
APPLICATION_ID
JOB_ID
STUDENT_ID
APPLICATION_DATE
...
Jobs
----
JOB_ID
TITLE
SALARY
...
根據需要添加更多列!
一個'大'數據庫,但有兩個單獨的表。
只要業務流程沒有變化,您也不需要修改數據庫。如果每個學生都有一個數據庫,當你想輸入更多的學生時,你將不得不創建新的數據庫。這已經是一個信號,表明你做得不對。
只需製作一張學生表和一張學生申請表,其中有一個student_id引用學生。這樣,您可以隨心所欲地存儲儘可能多的學生,並且每個學生可以隨心所欲地存儲多個應用程序,只有兩個表格,沒有冗餘數據,並且無需在要提交新記錄時修改數據庫。
如果你想知道爲什麼我把「big」放在引號中:兩張表幾乎沒有什麼關係,除非你要將每個學生存儲在你的國家以及他們在任何地方的每個應用程序中,否則它不會數據方面也很大。如果您的數據庫結構設置正確,像ProgreSQL這樣的專業數據庫可以輕鬆管理數百萬行。
對於我認爲只是所有應用程序集合的「大」事情而言,我相信你們已經收集到了很多意見。謝謝你的澄清。 – JabbaWook 2014-12-05 12:46:53
不客氣。有些人實際上認爲當他們達到1000條記錄時他們應該拆分表格,所以我認爲它提及它是無害的。很高興你不是其中之一。 :) – GolezTrol 2014-12-05 12:48:33
你說的是Access數據庫嗎?在一個表中有1000000個記錄在相應的數據庫上是很常見的,例如,Oracle/SQLServer/Postgres,但這取決於你想要實現的目標 – kayakpim 2014-12-08 09:10:22
我在想你說的是表,數據庫是表的集合。並且服務器可以託管多個數據庫。
對於這個問題,我認爲最好的答案是有一張學生表和一張學生證申請表。
我真的不會考慮爲每個學生創建一個表格,因爲這會迫使您爲任何新學生創建表格。
- 1. 一張大桌子還是分成兩個小桌子?
- 2. 數據庫結構 - 兩張桌子還是一張桌子?
- 3. 在MYSQL中,最好是有一張大桌子還是很多小桌子
- 4. 什麼是最好的:幾張桌子還是一個很大的桌子?
- 5. 什麼更好 - 許多小桌子或一張大桌子?
- 6. 一張大桌子或許多小桌子
- 7. 有一張大桌子還是應該用幾張?
- 8. 滾動一張大桌子
- 9. MySQL:數百張桌子或一張大桌子?
- 10. 並排顯示一張桌子,一個iframe和一張桌子
- 11. 多張桌子與同一張桌子有關係
- 12. 另一張桌子裏面的桌子?
- 13. 不斷插入和更新。有一張巨大的桌子還是兩張較小的桌子是更好的
- 14. 有一張桌子
- 15. 一張大桌子還是打破了? (最佳數據庫)
- 16. 多個選擇在一張桌子上
- 17. 一張桌子還是兩張桌子來存放論壇的帖子和帖子?
- 18. 從一張桌子與另一張桌子匹配的列
- 19. 一張桌子的相關領域到另一張桌子mysql
- 20. 將一張大桌子有效地複製到另一張桌子
- 21. 找張桌子
- 22. 學說一張桌子到很多桌子和紀錄
- 23. SQL從一張桌子和另一張桌子上的一個桌子加入一切?
- 24. linq加入多張桌子
- 25. 卡桑德拉 - 一個大桌子vs很多桌子
- 26. 並排擺放兩張桌子 - 右對齊一張桌子
- 27. 打破一張桌子進入幾張小桌子
- 28. 一張桌子內多對多
- 29. 把兩張桌子和一個鏈接表變成一張大桌
- 30. 絕對居中一張大桌子
沒什麼特別的,只有一個數據庫。 – Roy 2014-12-05 12:42:34
規範化並沒有說明關於數據庫的任何信息。 – zerkms 2014-12-05 12:43:08
你的「大」數據庫甚至不會聽起來很大。 – 2014-12-05 12:43:08