新闻网站数据库设计问题

marry20091208 2010-12-23 03:13:42
目前在做一个新闻网站,在数据库方面有点疑惑:比如有A、B、C三个城市,那我数据库该如何设计。
目前是有两个设计思路:(1)以城市为单位建立数据库,一个城市是一个数据库。这样做的好处是,每个库中存放记录的单个表的数据量会减小,提高检索效率;一个城市的数据表被破坏,其它城市不受影响。但同时也有问题,当要检索全部城市的新闻时,需要跨库检索,存在效率和安全隐患。
(2)建立一个数据库,按城市id来保存记录。这样做的好处是,取数据很方便,不需要跨库查询,效率问题可以进行优化。缺点是会造成单个表的数据量过大,同时如果表被破坏,所有城市的访问都会受到影响。
以上是两个设计思路,希望做过类似项目的朋友,能多提高宝贵建议,希望大家多讨论。
...全文
263 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
aleng18 2010-12-26
  • 打赏
  • 举报
回复
实际上,图片如何处理?也入库否?这个也挺重要
对于mysql的应用来说一般都是不入库,库中存图片链接,而用php调用系统文件。
假如想入库,用select 等对图片操作,又想存储目录中,库中只存链接这样。建议用sql2008

File Stream=中文名称叫文件流,是sqlserver的一种数据类型。
因为我们知道在生活中我们有很多多媒体的数据,比如说我以前一个项目叫中国的气象卫星他们拍摄了很多照片,这些照片可能几十兆几百兆的数据量,如果你直接用SQL Server本身的数据类型去存储这么大的数据量的话就非常的差,比较好的方式你就用文件系统,存成一个文件,然后再用文件系统的方式去调用。但是如果你存成一个文件系统的话,那么你的应用程序就非常难写,因为你没办法用SQL Server里面的一些T-SQL应用程序去开发这些东西,2008版本里面我们就引进了一个数据类型叫
Varbinary Max,2G大小的文件,它的存储方式是以文件系统的存储来存储的,但是你又可以用T-SQL的一些应用来调用这些数据类型,所以就非常方便,
marry20091208 2010-12-24
  • 打赏
  • 举报
回复
还想问个问题是,如果南北方各建一个服务器,进行访问分流,那这个数据库该如何迁移?
iihero_ 2010-12-23
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 marry20091208 的回复:]

同事说代码写的再好,也有可能被注入
[/Quote]
可以最大程度的防止 。另外,至少你们还可以使用防火墙来阻隔外界的直接访问。
最保险的就是经常备份。
王向飞 2010-12-23
  • 打赏
  • 举报
回复
可以肯定的说,你同事这建议很不靠谱,按城市建?那你得建多少城市库?
我要查一个简单的城市列表,还得跑那数数据库个数去?
marry20091208 2010-12-23
  • 打赏
  • 举报
回复
同事说代码写的再好,也有可能被注入
iihero_ 2010-12-23
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 marry20091208 的回复:]

我有的同事认为“一个城市的数据表被破坏,其它城市不受影响。”很重要,他被sql注入害苦了,不知道高手们对这个问题怎么看?
[/Quote]
备份是王道啊。防止注入有很多有效的方法啊。代码写的不好?
ACMAIN_CHM 2010-12-23
  • 打赏
  • 举报
回复
[Quote]我有的同事认为“一个城市的数据表被破坏,其它城市不受影响。”很重要,他被sql注入害苦了,不知道高手们对这个问题怎么看?[/Quote]没什么意义。 一个被注入了,其它会注入的机率也很高。

关键是
1. 如何防止注入
2. 如何加强备份
marry20091208 2010-12-23
  • 打赏
  • 举报
回复
我有的同事认为“一个城市的数据表被破坏,其它城市不受影响。”很重要,他被sql注入害苦了,不知道高手们对这个问题怎么看?
iihero_ 2010-12-23
  • 打赏
  • 举报
回复
新闻才多少数据啊,直接一张表就可以了,可以按照时间分区。
ACMAIN_CHM 2010-12-23
  • 打赏
  • 举报
回复
查询效率方面,应该不是问题,你的新闻一天不会有多少条。 考虑加上适当的索引,或者采用分区表。 但不建议 “每个城市一个表。或者每天一个表。”
ACMAIN_CHM 2010-12-23
  • 打赏
  • 举报
回复
标准的做法是 2)建立一个数据库
aleng18 2010-12-23
  • 打赏
  • 举报
回复
建议用mysql5.5,
一个库,按时间分区。
每个城市一个表。或者每天一个表。

56,675

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧