0

我有以下表格用于向公司的供应商发送有关产品的消息:

Table Messages:
INT PK  Message_ID 
TEXT    Message
INT FK  Company_ID
INT FK  Product_ID
DATE    Date
TEXT    Message_Receivers
TEXT    Email_Attachments
TINYINT Status

Table Email_addresses:
INT PK  Company_Email_ID
INT FK  Company_ID
VARCHAR Email_Name
VARCHAR Email_Address

Table Attachments:
INT PK  attachment_id
INT FK  image_id
INT FK  product_id
DATE    Upload_date
VARCHAR Category

现在,如果一条消息被发送给多个接收者,并且如果它有多个附件,它们将被放入序列化的消息表中。我对这种方法不太熟悉,并且想对表格进行规范化,以便在一行上有一个接收者和一个附件,但我不知道该怎么做。

我的问题是,将其序列化有什么好处吗?作为一个新手,我不确定我是否错过了一个好处,如果规范化是关键,你能给我一个提示吗?

4

1 回答 1

0

恕我直言,标准化始终是第一个假设。序列化非常适合编程使用,但对于 MySQL 可能参与的任何事情都完全适得其反。我的一般方法是序列化诸如用户设置之类的东西,也许是一些事务历史记录,以及类似的东西——我知道的东西永远不会包含在 SQL 语句中。

虽然搜索响应时间是并且应该始终是重要的考虑因素,但许多人似乎忽略了数据库引擎是为搜索而设计的这一事实,因此只要您在数据库设计中遵循规范化规则,然后搜索意味着可搜索应该始终运行良好。

于 2012-05-15T23:57:25.253 回答