数据库的结构---VB数据库入门之(二)
2008-02-23 06:58:28来源:互联网 阅读 ()
动程序,可以建立与几乎任何数据库管理系统连接的应用程序。这一节中,将介绍可以与Visual Basic数据库应用程序一起使用的几种数据库管理系统。
普通的关系数据库管理系统
普通的关系数据库管理系统(RDBMS)一般是指传统的桌面RDBMS,以dBASE,Paradox为代表,这类数据库系统对每个表和索引使用单独的文件,并使用定长的记录。建立数据库时,可以指定每个字符(Character)数据类型字段的最大尺寸,当字段的值最大尺寸小时,多余的字符位置用空白填充。与dBASE,Paradox不同,Btrieve表提供变长录字段,当字段内的数据长度变化较大时,变长字符字段可以节省大量的磁盘空间。如果磁盘上的某个目录中含有多个信息文件(.INF),则应为每个信息文件中的每个表指定所使用的索引。信息文件的扩展名为,INF,其文件名与表(库)文件名相同。对于dBASEFoxko需要使用 .INF文件,而对Paradox或Btrieve来说则不需要。在建立一个dBASEFoxno表时,visual Basic自动建立.INF文件。为了与 .DBF 文件一起使用已有的.MDX或 .NDX索引文件,可以用文本编辑器(如“记事本”)建立 .INF文件。
客户/服务器数据库管理系统
讲入90年代以后,由于大型机和小型机数据库管理系统的用户希望“削减”其信息系统的开支,用相对廉价的文件服务器(多数基于PC体系结构)来代替维护费用十分高昂的大型机,小型机硬件及数据库软件产品,从而导致客户/服务器数据库市场迅速扩大。前端是伴随客户/服务器数据库管理系统出现的,前端指的是在工作站上运行的客户程序,而工作站则与局域网络(LAN)或广域网络(WAN)上的服务器(后端)相连。分布式客户/服务器系统是今后的主要发展趋势。在分布式数据库系统中,含有满足查询条件的数据的表,这些表可以放在不同的服务器中,而服务器可以放在广域网的不同地方。在客户/服务器的RDBMS中,服务器部分的操作系统与客户机上的操作系统可以相问,也可以不同。在实际的客户/服务器系统中,不相同的情况可能占多数。客户/服务器系统与桌面数据库管理系统有很大的不同,其中最主要的区别是所有由前端应用程序发出的SQL语句都在服务器上执行,即服务器负责执行所有由工作站送入服务器的SQL语句。如果从工作站上向服务器发出一个肋 Select 查询,则只有满足查询条件的记录被返回到客户工作站。此外,服务器还处理与并行性、一致性有关的问题。如果服务器不能完成工作站发出的查询操作,则向工作站返回一个出错信息。
大多数客户/服务器RDBMS把所有的数据库存储在一个文件中。必要时,文件可在服务器计算机之间进行划分,但服务器的操作系统仍把分开的文件作为一个文件处理。客户/服务器RDBMS还具有其它复杂的功能,例如支持事务记录。当出现重大的硬件或软件故障而导致系统崩溃时,事务记录可以使数据库重建。此外,目前大多数客户/服务器系统使用硬盘阵列和镜象硬盘,这样可以减少由于某个硬盘驱动器出现故障而造成停机的可能性。为了把Visual Basic数据库应用程序与客户/服务器相连接,最简单的办法是使用合适的ODBC驱动程序。
Microsoft数据库管理系统Access
Microsoft Access也是一种桌面数据库管理系统,但它与传统的桌面数据库管理系统完全不一样。Access 是 Visual Basic的内部数据库,即缺省数据库类型。这里的“内部”有两方面的含义:一是用Access建立的数据库(.MDB)可以在Visual Basic中使用;二是用Visual basic可以直接建立Access数据库。因此,在Visual Basic中,“Access数据库”和“Visual Basic 数据库”含义相同。Access数据库文件的结构是以Microsoft SQL Server数据库文件结构为基础的特点主要包括:
(1) 一个数据库的所有表和索引都存储在一个.MDB文件中,Text(文本)、Memo(备注)和OLEObject(OLE对象)等数据类型字段的长度都是可变的,Access调整数据字段的大小以容纳相应的数据类型。
(2) 数据字段可以含有时间信息,Date类型的字段对应于SQL—92的Timestamp数据类型,但不以Timestamp 的格式存储。
(3) Access支持空值,即Null(与空字符串不同)。Null是Visual Basic的保留字,用它来指明表的数据单元中没有数据进入。所有的客户/服务器数据库都支持Null值,但除了Access外,其它桌面数据库几乎都不支持Null值。
(4)在Access中,Memo字段作为Text类型来处理,其长度可达1.2GB。
(5)可以在Access中存储QueryDef(查询定义)对象,它与被编译为SQL Server存储过程的SQL SELECT语句类似。
(6)Access提供了长二进制(LargeBinary)对象(BLOB),其大小仅受数据库大小的限制,不受 .MDB文件结构的限制;而数据库的大小仅受硬盘容量的限制。可以在Access表的BLOB字段中存储任何类型的数据(包括多媒体数据),并可用Get Chunk和Append方法对BLOB字段的数据进行读写操作。
(7)Access数据库具有较强的安全性。
以上介绍了可以在Visual Basic中使用的几种数据库管理系统。实际上,如果有合适的软件和硬件,包括网关(Gateway)和中间件(Middleware),则可以连接流行的大型机和小型机RDBMS,如IBM的DB2、Digital Eqipment的Rdb等。除网关外,还应为需要连接的大型机或小型机数据库选择合适的ODBC驱动程序。
下面我们着重介绍一下数据库的结构。数据库是相关数据的集合,一个数据库含有各种成分,包括表、记录、字段、索引等。
1.数据库(Database)
Visual Basic中使用的数据库是关系型数据库(Relational Batabase)。一个数据库由一个或一组数据表组成。每个数据库都以文件的形式存放在磁盘上,即对应于一个物理文件。不同的数据库,与物理文件对应的方式也不一样。对于dBASE,FoxPro和Paradox格式的数据库来说,一个数据表就是一个单独的数据库文件,而对于Microsoft Access、Btrieve格式的数据库来说,一个数据库文件可以含有多个数据表。
2.数据表(Table)
简称表,由一组数据记录组成,数据库申的数据是以表为单位进行组织的。一个表是一组相关的按行排列的数据;每个表中都含有相同类型的信息。表实际上是一个二维表格,例如,一个班所有学生的考试成绩,可以存放在一个表中,表中的每一行对应一个学生,这一行包括学生的学号,姓名及各门课程成绩。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:变量的作用域与存活期
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash