【发布时间】:2016-05-05 07:11:15
【问题描述】:
我有一个美食网站,厨师可以在其中从表格中添加他们的产品详细信息。
表单字段名称如下:
- 姓名
- 说明
- 价格
- 菜单列表(用户可以添加更多)
一个。菜单名称
湾。菜单说明
(添加更多+) - 数据和时间(用户可以添加更多)
(添加更多+)
根据这个表格,我在mysql数据库中使用了下面的表结构:
表名:产品
pid name des price menuname menudes datetime
--------------------------------------------------------------------------
1 chicken des 3 serialize data serialize data serialize data
2 chicken2 des 4 serialize data serialize data serialize data
3 chicken3 des 5 serialize data serialize data serialize data
4 chicken4 des 6 serialize data serialize data serialize data
所以,您会看到 list of menu 和 data and time 字段可以是 3、4 或更多。因此,我使用 php 数组从这两个字段中获取值并将其序列化,然后将其保存到数据库中。
我的问题是:
1) 我应该为 list of menu 和 data and time 字段使用另一个 2 表吗?如果是这样,为什么?
2) 或者,我应该使用 php 序列化数据来存储这两个字段的值,就像我目前正在做的那样?
3) 如果我使用另外 2 个表来存储这 2 个字段数据,我该如何更新值?
例如:下表,您会看到 pid 1 有 2 个日期时间值。因此,要更新 2 中的任何一个值,我是否需要删除这 2 个日期时间并再次保存日期时间?
日期表:
id pid dat3_time
----------------------
1 1 1201245772
2 1 1201245772
3 2 1201245772
4 2 1201245772
5 3 1201245772
【问题讨论】:
-
如果您将菜单和日期时间存储在其他表格中,它可以帮助您在时间搜索和标准化表格中始终帮助处理速度。但是否需要,取决于您的要求。是否有搜索菜单名称的选项,则第 2 表有效。将数据保存在日期表中将取决于您的业务逻辑
-
感谢@DipanwitaKundu,但是如果我使用另一个 2 表,如何更新值?要更新值,我是否需要删除特定 ID 的现有所有值并再次保存所有数据?
-
让我知道为什么日期表存储重复的 date3_time....
-
在我的表单中用户可以添加多个日期和时间。因此,如果我使用另一个表作为日期和时间,那么 1 个 PID 会有多个日期和时间,对吧?
-
那么日期表也应该包含用户 ID,因此在更新时,您将更新那些 user_id=
和 product_id= 的日期