mysql - 将数组保存为字符串还是使用多个表?

标签 mysql database postgresql database-design

我是数据库设计的新手,我正在使用 php 和 laravel,特别是将 mysql 作为我的数据库层。

我想让人们创建和保存培训计划。每个项目可以有多个星期,每个星期有7天,每天可以有很多训练课,每个课分3个阶段,每个阶段有很多练习。

我已经有了一个练习表,我最初认为我应该只构建一个数据数组并存储该数组,不幸的是 mysql 不支持数组,因此它必须作为字符串存储在程序表中。现在我在想,也许以某种方式与程序表相关的每个对象(周、天、 session )的表可能是更好的方法。

在不久的将来,我希望人们能够将每个练习/ session /天/周标记为已完成,以便哪种解决方案可以使它更容易?

如果数组是最好的选择,我应该从 mysql 切换到 postgres 以获得它们的数组功能,还是将其保存为字符串接受的做法?

谢谢

最佳答案

在我看来,最好使用多个表而不是将数组存储为字符串。

  • 想想你的需求
  • 以这样一种方式规划您的数据库设计,以便将来如果您想要在您的表中添加一些表或列,您不会遇到任何困难。我也建议你规范化你的数据库。这里有一些关于数据库规范化的好链接。 Normalization of database , Four ways to normalize your database

关于mysql - 将数组保存为字符串还是使用多个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20994933/

相关文章:

database - 是否有任何 DB2 数据库项目支持 Visual Studio 2010?

java - 使用 jcombobox 在 java 中过滤国家/地区-州-城市代码

javascript - 为什么 AJAX 成功调用中的代码不起作用?

SQL 删除临时表

php - 如何编写将返回嵌套在父项下的子项的 MYSQL 查询?

java - 基于此方法中的此数据库查询,我需要返回最后一条记录。有时这个查询会返回多条记录

php - 在 laravel 中用顺序 id 替换复合主键

postgresql - 与 postgres 和 h2 兼容的 Playframework 演变文件

php - 使用多个 select 语句批量插入

mysql - Prestashop - MySql 更新查询脚本不工作