在我有一张学生全部申请工作表的表单中,并且我想记录他们应用的位置的情况下,最好为每个学生创建一个单独的表格,并将其各自的应用程序放入其中或创建一个单独的大表格那只是将应用程序链接到学生?多张桌子还是一个大桌子?
回答
当你说数据库你的意思是表?
每个名词应该映射到一个实体,在大多数情况下会通过一个单一的表,所以表示:
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. 并排显示一张桌子,一个iframe和一张桌子
- 10. 多张桌子与同一张桌子有关系
- 11. 另一张桌子里面的桌子?
- 12. 不断插入和更新。有一张巨大的桌子还是两张较小的桌子是更好的
- 13. 有一张桌子
- 14. 多个选择在一张桌子上
- 15. 学说一张桌子到很多桌子和纪录
- 16. SQL从一张桌子和另一张桌子上的一个桌子加入一切?
- 17. 卡桑德拉 - 一个大桌子vs很多桌子
- 18. linq加入多张桌子
- 19. 一张桌子内多对多
- 20. 把两张桌子和一个链接表变成一张大桌
- 21. 绝对居中一张大桌子
- 22. INNER JOIN与一张大桌子
- 23. textarea的和一张桌子
- 24. 渲染出一张桌子
- 25. heroku postgreslq推一张桌子
- 26. 保证孩子记录在一张桌子或另一张桌子上,但不是两个?
- 27. 桌子与第一张桌子顶部并排输入/搜索
- 28. 用另一张桌子扩展桌子...排序
- 29. 循环检查从一张桌子到另一张桌子的情况
- 30. Ms Access,让一张桌子实时从另一张桌子获取数据
没什么特别的,只有一个数据库。 – Roy 2014-12-05 12:42:34
规范化并没有说明关于数据库的任何信息。 – zerkms 2014-12-05 12:43:08
你的“大”数据库甚至不会听起来很大。 – 2014-12-05 12:43:08