大家谈谈网络版的数据库和单机版的数据库应用程序的区别

ji_hui 2002-06-11 12:53:36
什么样的数据库才算是网络版的数据库?
或者说网络版的数据库应用程序中的数据库有哪些特性,设计时要注意什么问题?
...全文
280 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ji_hui 2002-06-14
  • 打赏
  • 举报
回复
中国队被踢回来了,我也结贴了。
谢谢各位!!
ji_hui 2002-06-13
  • 打赏
  • 举报
回复
我遇到的情况是:先从数据库中读取一些信息,在客户的应用程序中编辑。编辑完成后再保存到数据库中。但问题是在一个客户编辑信息的同时,在多人操作的情况下,其它人可以删除信息。那些信息是用字符串编码的,如
01 用电科
0101 营业所
010101 电管站
如果我在编辑电管站的时候,别人把营业所给删除了,我的层次就断了(字符串每两位一层),我添加的电管站就不知是哪个营业所的电管站了。


我知道SQL Server的四个隔离级别(提交读、未提交读、可重复读和顺序读),但都要求在事务中。难道我为了防止别人删除,要采用一个很长很长的事务,锁定我正在编辑的表吗?采用这样一个长事务(可能是一分钟,一个小时或更长)是不是一个好主意?
胡楮智 2002-06-13
  • 打赏
  • 举报
回复
事务持续时间越短越好,
否则独占资源,会严重影响他人。
ji_hui 2002-06-12
  • 打赏
  • 举报
回复
谢谢两位。

我最近做的一个项目(SQL Server数据库)中,一些基础信息因是层次编码,多人操作可能出现数据不一致辞造成逻辑错误。其中的计算部分也因使用了临时表而不能多人同时计算,但其它的出票等部分操作则可以多人同时。这样的程序是不是只能算单机版?怎样的程序才能算是真正的网络版?真正的网络版是不是所有操作都允许多人同时操作?

对于一些层次性的信息维护,如果我在加入下一层时,其它人将其上一层记录给删除了,那我的信息就给破坏了。象这种情况是不是根本就不允许多人操作。还是有较精巧的解决办法?
Corny 2002-06-12
  • 打赏
  • 举报
回复
to ji_hui(阿辉):

呵呵,你这个问题有点不妥,其实是可以处理的。
在SQL或ADO中都有一个锁的形式叫做LockPessimistic(ADO),在SQL中应该用隔离级别来表示。那些内容是可以在实际使用中确认一个数据的数据库状态的,也就是更新或增加时的锁类型及数据的动态反馈问题了。

你可以看看ADO的动态结果集,参考一下SQL的数据隔离级别,这不应该是问题的
胡楮智 2002-06-12
  • 打赏
  • 举报
回复
网络版的数据库和单机版的数据库说明白了,就是2和1的关系。
网络版一定是用多户数据库应用,单机版不一定就是单用户数据库应用。
网络版应用涉及到数据库加锁的问题,而单用户没有这个问题始终独占数据库使用。
duckcn 2002-06-12
  • 打赏
  • 举报
回复
对数据库的概念也吃得不准,所以也不敢妄下结论。
不过你说的问题,好像可以通过根据信息的逻辑关系建立主键,外键等约束机制,多人操作应该是可以的,只要不违反你的信息逻辑。
OpenVMS 2002-06-11
  • 打赏
  • 举报
回复
是否可供多个用户同时使用
愉快的登山者 2002-06-11
  • 打赏
  • 举报
回复
1.网络版数据库:有SERVER,可以供多用户访问,有处理数据冲突的功能,数据库和客户端程序可以不在同一台机器上。
2。单机版:只可供单一用户使用,数据库和客户端程序在同一台机器上运行,不需要处理数据冲突等复杂的问题。

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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