| 作者 |
内容 |
| blueplus |
高手救命,关于数据库设计
学生我目前遇到一个问题,想请在这里路过的高手帮帮:
我的一个visual c++系统:
1:功能主要是些数据计算,但是也有15个数据表,不一定专门的数据库系统
2:系统有大量的数据输入(最多有1 million条记录),而且对它的操作有数据库特性——如记录插入等,并且也需要存储。请问这个是否一定需要个数据库来支持呢?
3:系统需要通过ODBC访问其他数据库,并读入它的数据,然后进行大量计算。但不需要存储到其他数据库中。
系统原本用ms sql server2000,但是我觉得系统后台一定要搭上个数据库吗?自己开发嵌入自己的数据库不可以吗?
如果可以我该怎么来做呢?
请各位多多指教我这个迷茫的学生吧?
多多感激!!! |
| 02/04/05 14:29 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价: |
| 返回页首 |
|
| liu090 |
xml不知道可以否,但你要1yi条记录?我看...
|
| 02/04/05 14:51 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价: |
| 返回页首 |
|
| blueplus |
回复:
xml不知道可以否,但你要1yi条记录?我看...
如果是只需统一数据格式,XML是可以的,但我们的记录确实有1million,100万。对了,单纯是要支持各种数据库的话,ODBC吧,就用它好了。问题是我们不想后台挂个数据库给用户。
这点条件使我们在数据库构架上难以取舍。
自己开发具有一部分数据库功能的文件管理器吧,难保它的性能
又不想后台挂上sql server。 |
| 02/04/05 15:16 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价: |
| 返回页首 |
|
| liu090 |
1yi
条不用sqlserver用access之类的恐怕难
|
| 02/04/05 15:29 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价: |
| 返回页首 |
|
| 乌烟 |
XML对你的需求是不可行,还是挂上数据库吧。
|
| 02/04/05 15:30 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价: |
| 返回页首 |
|
| blueplus |
回复:
高手救命,关于数据库设计
1:功能主要是些数据计算,但是也有15个数据表,不一定专门的数据库系统
2:系统有大量的数据输入(最多有1 million条记录),而且对它的操作有数据库特性——如记录插入等,并且也需要存储。请问这个是否一定需要个数据库来支持呢?
3:系统需要通过ODBC访问其他数据库,并读入它的数据,然后进行大量计算。但不需要存储到其他数据库中。
//////////但是我们的系统很有个性的,事物、触发器等一些数据库特性我们是不需要用到的,我对数据库的要求仅仅是能够存取在最都的情况下有的1millon条记录,甚至可以将这些记录导出成文件(自己内嵌一个数据库,则可以采用文件形式,对吗?)
////学生我很差的,但是我很努力的,我很羡慕各位的知识面,都来帮帮我 |
| 02/04/06 08:00 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价: |
| 返回页首 |
|
| liyonghai@163.net |
回复:
1yi 条不用sqlserver用access之类的恐怕难
首先用XML肯定不行,用Access也可以处理1yi条记录,但要求你的表结构不能太复杂,关联一多,Access就力不从心了。 |
| 02/04/06 09:21 |
酷帖! 臭帖! 回复 |
| 酷帖评价: 臭帖评价: |
| 返回页首 |
|
| idlecrook |
关于xml
如果你对高层服务要求不高的话,xml是完全可以的。这并不是说用xml当数据库,而是作为一种存储介质。你可以把所有的数据都加载到内存(内存库),只有在存盘的时候写入xml文件。同时又一个类似rdf描述的模式信息文件用来启动时简历内存库。内存可能会占的大一点:) |
| 02/04/06 10:52 |
酷帖! 臭帖! 回复 |
| 酷帖评价: 臭帖评价: |
| 返回页首 |
|
| blueplus |
实际上这个系统仅仅是需要从其他数据库中读取数据
实际上这个系统仅仅是需要从其他数据库中读取数据,然后进行分析(其中当然也有记录操作及单个字段操作等等),系统也有少量数据表(必须用数据库存储的是8个表)。
系统将分析结果储存到本地硬盘,系统也可以将读入的数据(最多是100万条记录)保存到本地硬盘(格式中允许文件形式))
//请问我的系统该如何来设计:
1:系统可从多种数据库中读入数据,需要兼容多中数据库:SQL
SERVER,Oracle,DB/2,Sybase,Access..act.
2: 系统需要存储少量数据表
3:系统不采用后台数据库
4://///////////////系统真的需要采用现有的数据库吗?
大家帮我想想OLE DB是不是适合我的系统结构呢?
///////////我对OLE DB了解的不多,但是OLE DB的结构(数据+数据提供器+数据应用)非常的适合我的系统,但是其他方面呢?请大家帮我想想吧
我急的很啊 !!!
谢谢谢谢 |
| 02/04/08 08:43 |
酷帖! 臭帖! 回复 |
| 酷帖评价: 臭帖评价: |
| 返回页首 |
|
| john.fang |
回复:
高手救命,关于数据库设计
一点见解,共同商榷:
你的系统主要以数值计算为主,数据源来自两个方面:一是系统内部的数据(1yi);二是外部数据,采用ODBC方式获取。目前主要解决的是第一个问题的简单存取问题。是吗?
如果仅仅解决1yi数据的简单存取问题,且假定你的这些数据(15个表)之间不存在复杂的关系,即表之间的关系比较简单,访问时也仅仅是从数据表中取出一些字段。那可以考虑采用Access或Interbase。 |
| 02/04/08 12:10 |
酷帖! 臭帖! 回复 |
| 酷帖评价: 臭帖评价: |
| 返回页首 |
|
| blueplus |
回复:
一点见解,共同商榷
是的,我们主要是这样想法
利用OLE DB实现对数据库的访问,并且利用OLE DB定义自己的文件格式
这样做的具体工作 各位能够说说吗? |
| 02/04/10 08:27 |
酷帖! 臭帖! 回复 |
| 酷帖评价: 臭帖评价: |
| 返回页首 |
|
| 相对飞翔 |
回复:
高手救命,关于数据库设计
我觉得,要衡量是否使用数据库,使用什么级别的数据库,应该从多方面综合衡量。包括:记录数量(包括增长数据和速度),关系的复杂性,事务处理,可靠和稳定等等。
同样,数据库也是根据使用者的不同,有不同级别的数据库。如Foxpro、Access等,是面向小型(记录量不大)、关系简单、事务处理要求并不强等的低端应用。这些数据库因为数据管理比较弱,基本上就是一个裸露的数据文件,其数据的管理(包括事务)基本上依赖于应用程序或数据存取接口等等。这些因素决定了这类型的数据库只能是使用在一些小型的应用上。所以你在使用Access做数据库的时候,你就要考虑到这些情况。我没有试过(也没有资料),使用这些数据库存取数量级为100万时的数据查询速度,不知有那位大哥有这些数据呢?
而对于较大的关系数据库,如SQL Server 、Sybase、Oracle、MySQL等。这些数据库提供了比较完善的数据管理(如事务、查询优化等),因而可以处理大数据量的记录、复杂的关系和事务;高可靠和稳定性。当然,价钱自然是比较高的。
回到老兄这个主题,如果老兄觉得在价钱(想便宜)、编程的复杂性、系统的维护、查询速度、数据的敏感性(包括是否重要)等等方面的需求并不高,那就可以使用Access呀。
另:OLE DB
只是数据的存取接口而已,并不是数据库来的。你如果使用VC来编写数据库的程序,OLE
DB是自然的选择。还有,XML
是数据的描述和表达方式,也不是数据库。你可以用XML来描述数据(包括格式和内容),但如果将它当作数据库来用,那么还不如用Access。
******************************************************
个人见解,见笑了。。。。。 |
| 02/04/10 10:01 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价: |
| 返回页首 |
|
| 相对飞翔 |
定义自己的数据库格式,然后提供OLE
DB接口?
在使用OLE DB的时候,是使用针对某一数据库的OLE
DB接口来定义数据库格式(如for Access)。还是有一个通用的OLE
DB接口,自己可以定义任意格式的数据库内容呢?
我对 OLE DB的具体规范和定义不熟,不好意思。如有高手能指点,在下愿闻其详,谢谢。
****************************************
《笨小相》(注:不是笨死相)
哦。。。城市里男不坏女不爱
我怎样想也不明白
妈妈说真心爱,会爱得很精彩
结果我没女孩
笨小相依然是坚强得象DOS一样
总能同Windows一起飞翔
…… |
| 02/04/10 10:18 |
酷帖! 臭帖! 回复 |
| 酷帖评价: 臭帖评价: |
| 返回页首 |
|
| blueplus |
回复:
相对飞翔
很谢谢 相对飞翔朋友的意见。您说的是非常对的
我们考虑到系统的特点(主要是从别个数据库中读入数据,然后进行运算(
所以采用了vc来做该系统))。需要采用一个效率高的数据库访问技术(现在决定用OLE
DB),接着我们考虑到系统本身并没有大量的数据需要存储,所以我们想探讨,向各位请教OLE
DB
是否可以定义自己的文件格式,这样所有的数据(来自大型数据库系统的数据,以及自己定义的文件型数据)都可以统一通过OLE
DB 的Data Provider 来访问,控制
如果这样可以的话,我们该如何来开展工作呢? |
| 02/04/10 12:35 |
酷帖! 臭帖! 回复 |
| 酷帖评价: 臭帖评价: |
| 返回页首 |
|
| 相对飞翔 |
其实你的真正意思是不是这样??
你现在要做一个系统,这个系统要从几种不同类型的数据库中读取相关的数据,然后对这些数据进行运算分析。在运算和分析过程中,可能需要保存中间结果或最终结果,而这些中间结果或最终结果是以自己定义的格式来存放的。问题是,要找到一种技术(数据存取技术),既可以很方便地从异种数据库中读取数据,又可以读取自定义的格式的数据(这种技术提供格式自定义)。对不??
OLE DB
的规范我不太熟,能不能使用来定义自己的文件格式我不太清楚,所以我也帮不上忙。。。不好意思。
不过,我觉得,如果你真的只是保存中间结果或最终结果的,使用Foxpro、Access或文本格式都可以啊。
***************************************
个人看法,见笑了。。。。 |
| 02/04/10 14:01 |
酷帖! 臭帖! 回复 |
| 酷帖评价: 臭帖评价: |
| 返回页首 |
|
| blueplus |
回复:
定义自己的数据库格式,然后提供OLE DB接口?
是啊
怎么没有人来继续叫叫我呢? |
| 02/04/12 08:14 |
酷帖! 臭帖! 回复 |
| 酷帖评价: 臭帖评价: |
| 返回页首 |
|
| ha.win2 |
为什么要想这么复杂呢??
不要范高手的错误.其实,使用数据库,可以免去一个高难度的问题.在XP的方法学中,有两个规则,一个是"简单",一个是"不要过早的加入任何功能".我若是你的项目经理的话,我会让你使用数据库的.因为你编出这个来,人工已经可以买一台sql
server 了.为什么要想这么复杂呢?? |
| 02/04/12 09:10 |
酷帖! 臭帖! 回复 |
| 酷帖评价: 臭帖评价: |
| 返回页首 |
|
| ha.win2 |
为什么要想这么复杂呢??
不要范高手的错误.其实,使用数据库,可以免去一个高难度的问题.在XP的方法学中,有两个规则,一个是"简单",一个是"不要过早的加入任何功能".我若是你的项目经理的话,我会让你使用数据库的.因为你编出这个来,人工已经可以买一台sql
server 了.为什么要想这么复杂呢?? |
| 02/04/12 09:11 |
酷帖! 臭帖! 回复 |
| 酷帖评价: 臭帖评价: |
| 返回页首 |
|
| blueplus |
回复:
为什么要想这么复杂呢??
呵呵,有道理!
谢谢 |
| 02/04/13 07:50 |
酷帖! 臭帖! 回复 |
| 酷帖评价: 臭帖评价: |
| 返回页首 |
|
| gzsamlee |
回复:
为什么要想这么复杂呢??
同意啦。
另既然库表已经定下,可以生成模拟数据进行测试相关数据库的性能是否能达到要求。有了测试数据定方案就有依据啦。 |
| 02/04/13 23:31 |
酷帖! 臭帖! 回复 |
| 酷帖评价: 臭帖评价: |
| 返回页首 |
|
| blueplus |
回复:
为什么要想这么复杂呢??
是个好主意,呵呵,谢了 |
| 02/04/14 08:11 |
酷帖! 臭帖! 回复 |
| 酷帖评价: 臭帖评价: |
| 返回页首 |
|
| rulling |
我认为
这个问题应该在架构设计中分离出来,通过wrapper,对这段处理逻辑封装,数据库也罢,XML,LDAP也罢,自己实现也罢,在详细设计再按照项目时间人员的许可程度,平台异构程度去确定,如何实现 |
| 02/04/14 09:52 |
酷帖! 臭帖! 回复 |
| 酷帖评价: 臭帖评价: |
| 返回页首 |
|
| rulling |
1,000,000条记录用XML
load到内存?A U serious?你算过吗?
|
| 02/04/14 09:57 |
酷帖! 臭帖! 回复 |
| 酷帖评价: 臭帖评价: |
| 返回页首 |
|
| idlecrook |
回复:
1,000,000条记录用XML load到内存?A U serious?你算过吗?
是有点大,如果记录不是很大的话(不超过100字节),那就占不了100m内存。:)还是用磁盘库吧 |
| 02/04/15 08:23 |
酷帖! 臭帖! 回复 |
| 酷帖评价: 臭帖评价: |
| 返回页首 |
|
| ha.win2 |
回复:
我认为
同意.这更好了,平台在实现了功能的情况下,有更好的重构了.好的设计,就有这样好的好处了. |
| 02/04/15 09:52 |
酷帖! 臭帖! 回复 |
| 酷帖评价: 臭帖评价: |
| 返回页首 |
|
| 阿韬 |
回复:
实际上这个系统仅仅是需要从其他数据库中读取数据
既然如此为什么不用数据库?数据库的存储过程可以帮您做很多的计算工作,免去程序代码部分的繁琐。 |
| 02/04/15 10:24 |
酷帖! 臭帖! 回复 |
| 酷帖评价: 臭帖评价: |
| 返回页首 |
|
| keenklese |
回复:
1yi 条不用sqlserver用access之类的恐怕难
具体一点,多少关联,怎样的关联,access就不行了?
还有,为什么不用delphi开发? |
| 02/04/15 21:41 |
酷帖! 臭帖! 回复 |
| 酷帖评价: 臭帖评价: |
| 返回页首 |
|
| newdongkui |
我觉得可能只有xml能解决
我觉得可能只有xml能解决,在DTD和XML文件组中分布数据需要一些技巧,比如15个数据库表有各自系列码和主码,将它们提出来放到独立的XML中,类似索引,另外15个表则可以分布在几十几百个文件名可以标识系列码的文件中,如果还大,那么给索引文件上也做个索引,您做好配套的控件后,一劳永逸,还可以拿出来和大家分享,
不过数据库还是最好的选择。 |
| 02/04/15 22:21 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价: |
| 返回页首 |
|
| blueplus |
回复:
高手救命,关于数据库设计
help help |
| 02/04/17 18:21 |
酷帖! 臭帖! 回复 |
| 酷帖评价: 臭帖评价: |