BCB知识库客户端数据存储形式征求

Wingsun 2001-06-30 02:07:53
加精
昨天在和项羽兄聊到关于BCB知识库的客户端数据存储问题的时候我们一直在争论一个问题,就是客户端的数据应该存储到数据库中还是自定义的数据格式文件。
使用数据库有以下的几个优缺点(这儿以Access为例):
优点:
1、存储结构标准化,数据库一级给你完成了一些基本的操作。
2、数据设计简单,只需要设计数据表结构和数据表之间的关系即可。
3、查询统计简单,使用数据库的查询统计方法很容易也很标准。

缺点:
1、数据安全性不好,由于数据库的标准化,别人只要知道你的数据库是什么类型的即可访问。
2、由于数据库的一些缺点带来了如占用大量的存储空间、数据库需要定期整理或者要压缩的问题。
使用自定义的数据存储格式也有一些优缺点:
优点:
1、数据存储不浪费空间,结构紧密。
2、文件安全性好,其他人不是很容易了解到数据结构。
3、数据的组织方式更灵活自由。
缺点:
1、自己设计的格式对于将来的升级是一个很大的考验,很可能导致如以后数据的升级困难。
2、由于现在的局限性可能设计的格式不能满足将来的需求,而结构不好修改。
3、查询和统计受到了文件格式的严重限制,必须和文件的具体格式统一起来,带来了编程上的大麻烦。

总而言之,使用数据库,则数据的存储空间和数据的安全性是一个问题,使用自定义的格式带来了开发时间和进度的难题,使得时间得不到保证。
...全文
366 42 打赏 收藏 转发到动态 举报
写回复
用AI写文章
42 条回复
切换为时间正序
请发表友善的回复…
发表回复
yiyilc 2001-07-10
  • 打赏
  • 举报
回复
可是大家不就是为了通过这个学到点东西吗,为什么不尝试以下困难一点的东西呢?
Sephil 2001-07-07
  • 打赏
  • 举报
回复
建议使用ACCESS
首先因为ACCESS方便,开发起来快,也容易
其次,咱们对网上合作开发本来就没有经验,不用急于一次就做成最好的,
适当降低一点难度。最好等大家有默契了,再修改不迟
一点拙见,大家说呢
actinia 2001-07-06
  • 打赏
  • 举报
回复
呵呵,这个问题偶现在还没接触,不过会尽量了解一下。
Wingsun 2001-07-05
  • 打赏
  • 举报
回复
文档已经下载,正在看。
holyfire 2001-07-05
  • 打赏
  • 举报
回复
up
孩皮妞野 2001-07-05
  • 打赏
  • 举报
回复
A
|
|
|
|
holyfire 2001-07-05
  • 打赏
  • 举报
回复
如果用ClientDataSet就只能使用数据库了吧

如果使用ClientDataSet来做,那一切都很简单,只是效率是最低的。

这样的话整个项目也就是数据库编程了,因为一切细节都包含在网络数据库里了。

看来意见很难统一,鉴于数据库实现比较简单,可以先做一个模型,看看这样的方法是否可以行的通。
comanche 2001-07-05
  • 打赏
  • 举报
回复
这种问题不会有结果的
每个人都有自已的偏好,我偏爱 ClientDataSet 解决
holyfire 2001-07-05
  • 打赏
  • 举报
回复
可以分成三个模块

一:编码生成数据流

二:发送/接受数据流

三:分析解码,还原数据流


现在需要确认数据流的头的格式。
holyfire 2001-07-05
  • 打赏
  • 举报
回复
请看http://www.csdn.net/filebbs/read_topic.asp?id=235

大家多提意见,特别是徐子陵

我想现在大家先编一些模块的简单应用

将文件编码成二进制流,加上头作为识别

传送二进制文件流

根据二进制流的头信息分析格式然后还原
火鸟33 2001-07-04
  • 打赏
  • 举报
回复
用ClientDataSet 还可以存成xml
holyfire 2001-07-04
  • 打赏
  • 举报
回复
其实不管什么数据格式,只要支持两个方法

SaveToStream
LoadFromStream

保证编码和还原就可以了,偶觉得数据的弹性可以很大,关键是有个好输入输出界面,我觉得没有必要定死,我们每个资源定一个号和一个结构,不认识的可以略过去,这样数据库这边升级了,客户端不升级也不要紧,升级就可以浏览的更好而已。
Wingsun 2001-07-03
  • 打赏
  • 举报
回复
up
holyfire 2001-07-03
  • 打赏
  • 举报
回复
up
holyfire 2001-07-03
  • 打赏
  • 举报
回复
我们现在先使用数据库,起一个头再说,在使用的过程中就可以发现又没有必要使用子定义格式了,接下来该讨论如何实现了

还有项羽提出的结构大家是不是都认可了。
Wingsun 2001-07-03
  • 打赏
  • 举报
回复
up
holyfire 2001-07-02
  • 打赏
  • 举报
回复
这样吧,我做一个中间层,可以使用自定义格式和数据库,不管用那种方式,中间通讯模块都可以不变动。
seahorse 2001-07-02
  • 打赏
  • 举报
回复
我的建议:我同意项羽大哥的看法,使用文件系统还是比较好,从炼手的角度
使用文件设计关系数据库可以使我们对数据库的设计实现有比较深刻的认识
而不仅仅是通过ODBC就连接了,而且以后还可以向数据库进行移植,我建议一个
库使用一个库文件。只要数据库设计合理,速度不是问题。
luhongjun 2001-07-02
  • 打赏
  • 举报
回复
好就这样。
luhongjun 2001-07-01
  • 打赏
  • 举报
回复
Raptor(猛禽):
你的观点和我一样,哈哈,我还不是很孤立了。
VegetableBird(没钱没谱绝代丑男):
我的OICQ号46933327
 
加载更多回复(22)

13,822

社区成员

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

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