请教一个数据库设计问题

时间:2022-12-11 18:18:04
大家好,我想请教一个关于数据库设计的问题,是数组形式的
我呢,是在一家小公司上班,以前学习和在网上看的源码等,数据库都是多字段形式的。比如说,标题title。分类tid。内容content等等。
最近有个同事也是做程序的,经验上比我多,于是他推荐我用数组形式把信息存入数据库。比如:一个字段aa存的是:标题|分类|内容|时间等等,然后显示的时候在拆开
他说这么做的好处是:用户可以随便增加删除字段,比如说,我还想需要个录入人字段的话,如果想我以前那么多字段的话,还得修改数据库,而他这个不用。。。。
还说这么做插入信息快,而且查找的也不慢等等

我个人感觉这么做好像失去了数据库的作用,但我又不知道到底是不好在哪里,请问这么做数据的好处和坏处都是什么??请详细说明一下,谢谢

8 个解决方案

#1


不建议你那样子去做。
有近路不走,要走那么远的路干嘛?

#2


能说明一下理由么??谢谢了

#3


他的思路也不是不行。在程序设计里是行得通的。但个人以为,只适用于条形码等特殊的用途。
如条形码里,可以把品名,生产日期,生产人员等信息全部弄进去。

但是,在普通的软件开发中,那样子做,会增加软件开发的难度,同时会增加内存的负担。
所以,非常反对这种做法。

而且,你把标题title。分类tid。内容content这些东西每个弄个字段,会让你的软件既好设计,又好用一些。

#4


你同事推荐的这种方法是明示违反数据库设计范式要求的。通常不会采用,除了在某种情况会应用。

以你目前的情况来看,应该使用标准的设计,也就是你原来的方法。

建议你看一下这本书中有关数据库设计的部分。

《数据库系统概论(第四版)》 王珊 萨师煊   高等教育出版社 (掌握基础知识和概念) 

#5


那他说的那几个理由,首先速度不快吧,那如果需要添加修改字段等,该如何解决这种问题??多谢

#6


引用
他说这么做的好处是:用户可以随便增加删除字段,比如说,我还想需要个录入人字段的话,如果想我以前那么多字段的话,还得修改数据库,而他这个不用。。。。
还说这么做插入信息快,而且查找的也不慢等等


如果你有信心,完全可以告诉他,纯属胡说八道!

“用户可以随便增加删除字段,比如说,我还想需要个录入人字段的话,如果想我以前那么多字段的话,还得修改数据库,而他这个不用。。。。”
这个可以承认,但你不还是需要修改程序? 你自己对比一下需要修改的东西。

还说这么做插入信息快
有这种可能,但要看你插入的是什么信息。

而且查找的也不慢
无稽之谈,你让他做个试验。 比如查找所有 分类=‘ABCD’ 的。


他所提的这种方法,在某些特殊应用下或许可行。但你这种并不合适。

#7


明白多,多谢!!!

#8


数据量不大,要查找的项目不多,速度还可以
数据量大,要查找的项目多,速度就不行了

#1


不建议你那样子去做。
有近路不走,要走那么远的路干嘛?

#2


能说明一下理由么??谢谢了

#3


他的思路也不是不行。在程序设计里是行得通的。但个人以为,只适用于条形码等特殊的用途。
如条形码里,可以把品名,生产日期,生产人员等信息全部弄进去。

但是,在普通的软件开发中,那样子做,会增加软件开发的难度,同时会增加内存的负担。
所以,非常反对这种做法。

而且,你把标题title。分类tid。内容content这些东西每个弄个字段,会让你的软件既好设计,又好用一些。

#4


你同事推荐的这种方法是明示违反数据库设计范式要求的。通常不会采用,除了在某种情况会应用。

以你目前的情况来看,应该使用标准的设计,也就是你原来的方法。

建议你看一下这本书中有关数据库设计的部分。

《数据库系统概论(第四版)》 王珊 萨师煊   高等教育出版社 (掌握基础知识和概念) 

#5


那他说的那几个理由,首先速度不快吧,那如果需要添加修改字段等,该如何解决这种问题??多谢

#6


引用
他说这么做的好处是:用户可以随便增加删除字段,比如说,我还想需要个录入人字段的话,如果想我以前那么多字段的话,还得修改数据库,而他这个不用。。。。
还说这么做插入信息快,而且查找的也不慢等等


如果你有信心,完全可以告诉他,纯属胡说八道!

“用户可以随便增加删除字段,比如说,我还想需要个录入人字段的话,如果想我以前那么多字段的话,还得修改数据库,而他这个不用。。。。”
这个可以承认,但你不还是需要修改程序? 你自己对比一下需要修改的东西。

还说这么做插入信息快
有这种可能,但要看你插入的是什么信息。

而且查找的也不慢
无稽之谈,你让他做个试验。 比如查找所有 分类=‘ABCD’ 的。


他所提的这种方法,在某些特殊应用下或许可行。但你这种并不合适。

#7


明白多,多谢!!!

#8


数据量不大,要查找的项目不多,速度还可以
数据量大,要查找的项目多,速度就不行了