- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
多层数据库开发文档
多层数据库开发文档
第一章 设计数据库应用程序 数据库应用程序允许用户与存储在数据库中的信息进行交互。数据库提供了信息的结构,供不同的应用程序共享。 Delphi 4支持关系型数据库。关系型数据库以行和列即表格的形式来组织信息。当您设计一个数据库应用程序的时候,必须了解数据的结构,这样才能设计出一个合适的用户界面来显示数据库中的数据并且允许用户输入新的数据或者修改已有的数据。 1.1 使用 数据库构件选项板的“Data Access”页上的构件用于读写数据库,这些构件都借助于BDE(Borland Database Engine)来访问数据库中的信息。 Delphi 4的不同版本所包含的数据库驱动程序有所不同。不过,所有的版本都包含了访问本地数据库的驱动程序,而Client/Server版本和Enterprise版本还 包含了SQL Links用于访问远程数据库。究竟使用本地数据库还是远程数据库取决于几个方面的因素,例如,表格中要存储多少数据,有多少用户要同时访问数据库,对数据库的性能有什么要求。1.1.1 本地数据库和远程数据库 本地数据库位于本地磁盘或局域网上。如果有几个用户同时访问数据库,本地数据库采取基于文件的锁定策略,因此,本地数据库又叫基于文件的数据库。 正因为本地数据库往往与数据库应用程序在同一个系统中,因此,访问本地数据库的速度比访问远程数据库的速度要快。 本地数据库所能存储的数据没有远程数据库所能存储的数据多,在选择使用本地数据库还是远程数据库时必须考虑到这一点。 使用本地数据库的应用程序也称为单层应用程序,因为数据库和应用程序在同一个文件系统中。 典型的本地数据库有Paradox、dBASE、FoxPro和Access。 远程数据库通常位于远程计算机上,用户通过SQL(Structured QueryLanguage)来访问远程数据库中的数据,正是基于这个原因,远程数据库有时候也叫SQL服务器或者叫RDBMS(Remote Database Management System)。 远程数据库非常适合于几个用户同时访问,与那些基于文件锁定策略的本地数据库不同的是,远程数据库提供了基于事务的多用户支持。 远程数据库所能存储的数据也比本地数据库多得多,甚至有时候数据并不 在一个服务器上,而是分布在几个服务器上。 使用远程数据库的应用程序称为两层或多层应用程序,因为数据库和应用程序位于彼此不依赖的系统(层)中。 典型的SQL服务器有Interbase、Oracle、Sybase、Informix、Microsoft SQLServer和DB2。1.1.2 数据库的安全性 数据库往往包含了一些敏感信息。为了保护这些信息,不同的数据库有不同的保护策略。有的数据库如Paradox和dBASE,仅仅在表格级或字段级提供了安全保护,当一个用户试图访问受保护的表格时,他必须输入口令。当口令被认可,他只能看到允许的字段。 大部分SQL服务器需要用户输入用户名和口令,一旦用户成功地登录到服务器,他所能看到的表格以及能进行的操作与他输入的用户名和口令有关。 当您设计一个数据库应用程序的时候,必须考虑到数据库服务器需要什么样的安全措施。例如,如果不想让用户输入口令,您要么使用不需要口令的数据库,要么在程序中就把用户名和口令提供好,不过,在程序中提供用户名和口令容易泄密。 如果需要用户输入口令,还必须考虑什么时候输入口令。如果正在使用一个本地数据库但希望将来能够平滑地过渡到一个大型的SQL数据库,最好在打开一个表之前提示用户输入口令,尽管现在还可能用不着口令。 有的服务器可能需要多重口令,为了简化用户的操作,可以只要求用户输入一个主口令,其余的口令由程序自动提供。 在多层的Client/Server应用程序中,可能要同时用到不同的安全模式,例如,用CORBA或MTS控制访问中间层,再让中间层去处理登录到远程数据库的细节。1.1.3 事务 一个事务实际上是一组动作,这些动作必须在一个或几个表被提交之前成功地执行。如果有某个动作执行失败,所有的动作都将滚回(Undo)。 大部分本地数据库不支持事务,但BDE驱动程序还是提供了有限的事务处理能力。而SQL数据库和ODBC兼容的数据库本身就提供了处理事务的能力。1.1.4 数据字典 不管使用本地数据库还是远程数据库,应用程序都有权访问数据字典。数据字典提供了一个可自定义的不依赖于应用程序的存储区域,在这个区域中,可以创建扩展的字段属性集和描述数据的内容和外观。 例如,如果要经常开发财务软件,可以创建几个特殊的字段属性集,以不同的格式显示金额。当在设
文档评论(0)