【发布时间】:2012-12-21 21:40:29
【问题描述】:
我的软件(用 PHP 编写)允许用户使用 HTML 表单为他们的“简历”输入信息。这个“简历”有几个不同的元素,包括用户的教育、工作经历、奖励、求职信等。每个元素在其包含的数据中都是独一无二的。比如教育需要毕业年份、学校名称、学位等字段。
我的问题是,将简历数据存储在 mySQL 数据库中的最佳方法是什么?我目前的选择是:
- 为每个简历元素(resume_education、resume_awards 等)创建单独的表
- 对简历的所有元素使用一张表,并以多维数组的形式插入元素数据。 (即:一张表,其中包含教育、工作历史、等等等列的简历数据。教育或类似领域的数据将被编译成一个数组,例如 ("grad_year"=>"1990", "school_name"=>" Cool School”)或类似的东西,其中使用指示字符表示新字段)。
第一种选择提供了易于维护和编码,而第二种选择似乎可以显着减少备份和加载时间以及数据库维护。也许有更好的方法?你会推荐什么?
【问题讨论】:
-
实际上你的赞成和反对评估完全相反!
-
好吧,我认为多个表更易于维护,而不是尝试在单个表中遍历多个多维数组。但我确实知道您可能来自哪里,因为我不确定这两种方法对加载时间的影响。
-
我不会担心这么简单的东西的加载时间。多个带有连接的表是一个不错的选择。
-
这只是整个用户配置文件中的一个元素,需要支持许多用户和条目。
标签: php mysql database normalization organization