出版时间:2010-1 出版社:清华大学出版社 作者:周汉平 页数:367
前言
20世纪90年代初,我独立承接了一个期货交易所会员单位的保证金和交易管理系统的开发项目,那时不懂什么是数据库,更不懂数据库理论,但就凭着对计算机技术的浓厚兴趣,硬是夜以继日地把该项目做了下来,并得到了用户单位的好评。此后就一发不可收拾,十几年中独立开发或参与开发了很多大大小小的数据库应用系统,但对数据库理论的学习和研究却是几年以后的事了,其一是因为项目的开发越来越规范,尤其团队开发的情况下,各人的数据库设计方法各不相同,仅凭经验很难说服别人遵从自己的设计,那时也确实没有办法系统地论证某一种设计的优越性,所以迫切需要用理论知识来武装自己;其二是因为教学上的需要,我必须为计算机本科专业的学生开设“数据库系统概论”课程。 在学习数据库理论的过程中,发现最大的问题是理论和实践的脱节,过去软件设计过程中的疑难问题一一闪现,但很难在书上找到答案或从书上的实例中受到启发,原因是大多数数据库理论书籍告诉我们的是“理论是什么”,而很少告诉我们“为什么”或“怎么用”的问题,书中的实例也侧重于说明怎么做才符合理论,而没有告诉我们怎么用理论去指导设计和解决实际开发中的问题。 其次,目前关系型数据库理论已成体系,但其中只有一小部分内容对软件开发有实际意义,而大多数内容是从事数据库理论研究的人员所必须具备的知识,这是大学生在工作后,从事数据库应用系统的设计开发过程中,普遍感到在校学习的数据库理论没有用的主要而真实的原因所在。 此后学校又安排我开设“数据库应用程序设计”课程,我以为终于找到了把数据库理论和我所掌握的实践技能结合起来传授给学生的机会了,于是我开始找教材,目标很明确:教材要包含设计和开发数据库应用系统的所有实用的知识和技能,包括能直接指导数据库设计的理论、方法和工具、侧重实践的数据库服务器端的程序开发与基于目前主流语言和平台的客户端应用程序开发技术,遗憾的是,我竟然没有找到一本这样的书籍。 即便把两本甚至三本书合起来作为教材,在理论和实践的结合方面仍然不能令人满意,一些书只讲理论,而另一些书只讲实践,造成这种现象的原因很简单,从事软件开发的人,很少有时间、精力或兴趣去从事理论研究和出版书籍,而有条件搞理论研究的人又很缺乏从业经验,一些人为了获取经验投身到软件开发的第一线,但很少有人再回过来利用这些经验去搞理论研究,这就是我们国家软件行业理论与实践关系之现状。
内容概要
《高等学校教材·计算机科学与技术:数据库设计及其应用程序开发》》从关系型数据库模型设计、数据库服务器端SQL程序设计和数据库客户端程序设计三个方面介绍数据库设计及其应用程序开发的实用技术。第一部分介绍范式理论的运用和如何使用PowerDesigner依据需求建立正确合理的概念模型:第二部分介绍如何进行SQL程序设计以解决典型的应用问题;第三部分介绍使用Delphi、C#for .Net以及采用J2EE架构,进行C/S和B/S多层结构的数据库应用程序开发的基本方法。 《高等学校教材·计算机科学与技术:数据库设计及其应用程序开发》》可作为大学计算机本科专业的教材和计算机软件开发人员进行数据库设计和SQL程序设计的实用指导书,也可作为使用Delphi、C#for .Net和J2EE平台和架构开发数据库客户端和中间层应用程序的程序员入门参考书。
书籍目录
第1篇 关系数据库设计技术 第1章 关系模型和关系型数据库管理系统 1.1 问题的引出 1.2 关系模型 1.3 关系型数据库管理系统RDBMS 第2章 范式及其对数据库设计的指导意义 2.1 问题的引出 2.2 范式理论概述 2.3 1NF及对实践的指导意义 2.4 函数依赖 2.5 2NF及对实践的指导意义 2.6 3NF及对实践的指导意义 2.7 BCNF——扩充的第三范式 2.8 范式应用实例分析 2.9 范式的局限——对冗余的进一步讨论 第3章 数据库静态结构设计和实现 3.1 概念模型一般概念 3.2 PowerDesigner概述 3.3 实体——域、数据项和属性 3.4 实体之间的关系 3.5 继承 3.6 概念数据模型实例分析 3.7 物理数据模型PDM 3.8 数据库的建立 第2篇 SQL程序设计 第4章 查询语句和视图 4.1 单表查询 4.2 数据源中数据表的各种连接 4.3 子查询及其逻辑运算符 4.4 关系集合运算的实现 4.5 视图 4.6 典型查询实例分析 4.7 查询语句小结 第5章 修改语句及其子查询的运用 5.1 插入行 5.2 更新行 5.3 删除行 第6章 数据库中数据的安全控制 6.1 问题的引出 6.2 用户和角色 6.3 授权和回收 6.4 视图机制控制用户的权限 第7章 数据库行为特征设计——SQL程序设计 7.1 SQL程序基础 7.2 函数和表达式 7.3 存储过程 7.4 触发器 7.5 临时表和表变量 7.6 游标 7.7 事务 第3篇 数据库应用程序界面和中间层设计 第8章 数据库应用程序开发技术概述 8.1 数据库应用系统的体系结构 8.2 可视化程序设计概述 8.3 可视化程序设计实例 8.4 数据存取技术 第9章 C/S结构在线式数据库应用程序设计 9.1 数据库应用程序界面设计需求 9.2 Delphi简介 9.3 界面设计 9.4 建立数据模块(Data Module) 9.5 控件数据和数据表数据的同步 9.6 实现按钮功能的程序 9.7 计算列的计算程序 9.8 报表的设计和输出 9.9 数据表的打开和窗口的创建 9.10 小结 第10章 C/S结构断开式数据库应用程序设计 10.1 ADO.NET 10.2 数据库应用程序界面设计需求 10.3 创建项目和界面控件设置 10.4 程序方式实现界面控件与数据库数据的交互 10.5 数据集及绑定的可视化设计和实现 10.6 报表设计 第11章 B/S多层架构入门 11.1 基础准备 11.2 开始第一个程序 11.3 J2EE和EJB简述 11.4 实用的用户验证需求 11.5 无状态SessionBean——用户验证和密码修改 11.6 有状态SessionBean——保留用户信息 11.7 EntityBean——修改密码 11.8 常见错误及处理 附录A DEMO数据库中数据表结构及数据 附录B 完整的Delphi程序 附录C 完整的C#窗口Frm_Std_Grade程序 附录D CrystalReport设计界面 附录E MyEelipse中实例项目清单 参考文献
章节摘录
在生成的如图3-36所示的物理数据模型中,所有单据表中都有单据类型编号,该编号对一种类型的单据来说值不变,是一种冗余的数据,但该冗余的数据是为了和各单据公共数据构成的“单据”表建立引用关系,所以是必要的冗余。 另一种方法是在概念数据模型中去除“单据”实体,让“定单”或“进货单”等单据实体直接和“人员”实体建立多对多联系,在生成的物理数据模型中,n种单据将产生n个表达“单据”实体和“人员”实体的多对多关系的表。读者可自行按此方法建立概念数据模型。3.7物理数据模型PDM 建立了概念数据模型CDM后,可以生成物理数据模型PDM,即关系模型,正如上节看到的,物理数据模型同样以图形方式表达关系模型中各二维表的结构及其相互之间的引用关系。 物理数据模型并非一定要通过概念数据模型转换而来,也可以直接建立一个物理数据模型,或对生成的物理数据模型进行修改,建立和修改方法和概念数据模型类似。本节重点描述由概念数据模型如何生成物理数据模型以及两者之间的关系维护的基本思想和方法。 1.生成物理数据模型 在完成概念数据模型的设计后,使用菜单“工具(Fools)”I“生成物理数据模型(GeneratePhysical Data Model)”打开生成对话框以生成物理数据模型。通过设置对话框中的“PDM生成参数配置(PDM Generation Options)”对生成进行控制。 若是第一次生成,则使用默认的选项“生成新的物理数据模型(Generate New PhysicalData Model)”,但必须选择数据库管理系统类型,这是由于不同的数据库管理系统要生成的数据定义语句可能略有不同,我们可以选择Microsoft SQL,Server 2000,确认后则生成物理数据模型。 生成过程首先是一个对概念数据模型的检查过程,错误分成两类,一类是警告,一类是错误,警告不影响物理数据模型的生成,而一旦发现错误,则必须修改概念数据模型以排除这个错误,否则不能生成物理数据模型。 修改了概念数据模型后再次生成物理数据模型,仍可选择“生成新的物理数据模型(Generate New Physical Data Model)”,此选择表示将生成一个新的物理数据模型,原来已生成的物理数据模型被保留,但默认的选择是“更新存在的物理数据模型(IJpdate Existing:Physical Data Model)”,如果没有对生成的物理数据模型进行修改或不需要保留这些修改,可关闭“保留修改Preserve.Modifications”选项,确认则重新生成PDM并覆盖原:PDM2.修改物理数据模型 有时可能对生成的物理数据模型进行了修改,此后又修改了概念数据模型,概念数据模型重新生成物理数据模型时,希望能保留原物理数据模型的修改。
编辑推荐
《数据库设计及其应用程序开发》特点是与应用的紧密结合,使读者在对具体问题的分析能力上有所收获。 第一部分关系数据库设计基础,包含了实用的数据库设计所要用到的理论和技术,分析了各种常见的设计方法的特点和在性能、效率卜的优劣 第二部分SQL程序设计,包含了各种数据库端的程序开发技术,重点讨论各种技术的特点和应用场合,复杂算法的实现,对SQL和核心语句SELECT应用技巧方面进行了深入和 独特的介绍 第三部分数据库应用程序界面和中间层设计,包括C/S架构在线式应用程序设计、C/S架构断开式应用程序设计和B/S架构多层应用程序的设计与开发。
图书封面
评论、评分、阅读与下载