mysql怎么一个字段设置多个值

供书目录管理及库存管理为书店的主要日常业务,应包括建立和更新供书目录,新书入库功能等。需要记录供书的信息有:书号,书名,作者(最多可包括两个作者,有序),出版社,价格,关... 供书目录管理及库存管理为书店的主要日常业务, 应包括建立和更新供书目录, 新书入库功能等。需要记录供书的信息有:书号,书名,作者(最多可包括两个作者,有序),出版社,价格,关键字 (最多5个),本书的目录(可选),封皮(可选),存货量,供书商(一本书可有多个供应商,可选)等。
其中作者这个字段要求多个值和有序,这在建表的时候是怎么设置的
展开
 我来答
幻形术
2018-06-24 · TA获得超过1261个赞
知道小有建树答主
回答量:994
采纳率:81%
帮助的人:263万
展开全部

关系型数据库第一范式就说明了:

数据表中的每一列(字段),必须是不可拆分的最小单元,也就是确保每一列的原子性。

所以一个字段存多个值是不可能的。

当然可以把多个值序列化成一个字符串或者二进制保存到一个字段,比如字符串"作者1,作者2,作者3",但这样做也不是第一范式中所谓的多个值,只算一个值,并且对以后的细划查询也不方便,比如查作者信息,肯定不只是一个作者名啊。

所以一般设计上会有明细表,外键关系关联。

有一个book表,记录书的信息;

再有一个author表,记录作者信息,此表中有一个字段作外键引用book表的书id。

这样查询书有什么作者的时候只需要两个表外键join就行了。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式