更新时间:2024-09-01 16:56
《数据库原理》是2008年清华大学出版社出版的图书,作者是DavidM.Kroenke。该书主要讲述了数据库原理与应用有关方面的内容。
《数据库原理》是数据库初学者和初级开发人员不可多得的数据库宝典,其中融入了作者对数据库深入透彻的理解和丰富的实际操作经验。与第2版一样,本版也深入浅出地描绘了数据库原理及其应用。但本版技术更新、实用性更强,新增的内容包括子类型/子类型实体、IECrow’sFootE-R图、基于Wed的数据库处理、商业智能系统、SQL视图、SQLServer2005ExpressEdition和MySQL5.0的使用等。
书中介绍了在成功管理数据库系统的基本概念,包括:关系模型的基本原理、结构化查询语言(SQL)、数据建模、数据库设计、数据库管理、Web数据库处理。
DavidM.Kroenke在1967年作为RandCorporation公司的实习生时进入了计算行业,在此之后,他的职业生涯涉及教育、工业、顾问和出版等领域。
Kroenke曾经在科罗拉多州立大学、西雅图大学教学,目前在华盛顿大学教学。在多年的教学生涯中,他组织了数十次由大学教授参加的教学研讨会。在1991年,InternationalAssociationofInformationSystem授予他“年度计算机教育家”的荣誉称号。
在工业方面,Kroenke曾经为美国空军和波音计算机服务工作,并且负责创立了个公司。他也曾经是Microrim公司负责产品销售和开发的副主席,并且是WallData公司在数据库划分方面的首席技术专家。Kroenke是语义对象数据模型的创始者,他所拥有的咨询客户包括mM公司、Microsoft、ComputerSciences公司,以及许多其他的公司和组织。
Kroenke的著作DatabaseProcessing最初出版于1977年,现在已经是第10版。Kroenke也出版了其他许多书籍,包括经典的BusinessCompu~rSystems(198i)。他最近编写的书籍是UsingMIS的第1版。出于对成为海员的渴望,Kroenke也编写了KnowYourBoat:TheGuidetOEverythingThatMakesYourBoat Work。Kroenke现居住在华盛顿州的西雅图市,他结过婚,有两个孩子和两个外孙。
DavidJ.Auer目前是西华盛顿大学的CollegeofBusinessandEconomics(CBE)信息系统和技术服务的主管,并且是CBE的决策科学部门的讲师。他从1981年开始在CBE中任教,教授的课程包括QuantitativeMethods、ProductionandOperationsManagement、Statistics、FinanceandManagementInformationSystems。在1994年,他受雇于目前的CBE职位。除了管理CBE的计算机、网络和其他技术资源之外,他还教授ManagementInformationSystem课程。Auer负责教授PrinciplesofManagementInformationSystemsandBusinessDatabaseDevelopment课程,并且负责拓展CBE的网络基础结构课程,包括计算机硬件和操作系统、远程通信和网络管理。Auer已经和其他人合作编写了一些与MIS相关的书籍。
Auer在华盛顿大学获得了英语文学学士学位,在西华盛顿大学获得了数学和经济学学士学位,并且在西华盛顿大学获得经济学硕士学位和辅导心理学硕士学位。Auer是美国空军军官,他还作为组织开发专家和治疗专家为EmployeeAssistanceProgram(EAP)工作。Auer和妻子Donna居住在华盛顿州的贝灵汉市,他是当地计划委员会(PlanningCommission)的成员,并且积极参与社团成长和发展的相关问题。他有两个孩子和3个外孙。
《数据库原理》介绍了成功管理数据库系统的基本概念,包括:
◆关系模型的基本原理
◆结构化查询语言(SQL)
◆数据建模
◆数据库管理
◆Web数据库处理
第Ⅰ部分基础知识
第1章数据库简介3
1.1使用数据库的原因4
1.1.1关于列表的问题4
1.1.2使用关系数据库7
1.1.3关系表的处理13
1.2数据库系统的概念14
1.2.1数据库15
1.2.2DBMS16
1.2.3应用程序18
1.2.4个人数据库系统和企业数据库系统的比较20
1.3Access工作台:第1部分--熟悉MicrosoftAccess22
1.3.1创建Access数据库23
1.3.2创建数据库表26
1.3.3在表中插入数据--数据表视图34
1.3.4修改表中的数据--数据表视图37
1.3.5删除表中的行--数据表视图38
1.3.6在表中插入数据--使用表单40
1.3.7修改数据和删除记录--使用表单44
1.3.8创建一个表的Access报表44
1.3.9关闭数据库并退出Access47
1.4小结48
1.5复习题49
1.6练习题50
1.7Access工作台练习题51
1.8GardenGlory项目问题52
1.9JamesRiver珠宝行项目
问题52
1.10QueenAnneCuriosity商店项目问题53
第2章关系模型55
2.1关系56
2.1.1一个关系示例与两个非关系示例57
2.1.2显示关系结构的说明58
2.1.3术语说明59
2.2键的类型59
2.2.1复合键60
2.2.2候选键与主键60
2.2.3代理键63
2.2.4外键与参照完整性约束64
2.3NULL值的问题68
2.4函数依赖与规范化68
2.4.1函数依赖69
2.4.2再论主键与候选键70
2.4.3规范化71
2.4.4关系设计原则72
2.4.5规范化过程72
2.4.6规范化的示例74
2.5Access工作台:第二部分--在MicrosoftAccess中操作多个表79
2.5.1WMCRM数据库中可能的修改问题80
2.5.2操作多个表84
2.5.3创建表之间的关系86
2.5.4使用包括两个表的表单90
2.5.5创建包括两个表中数据的报表91
2.5.6关闭数据库并退出Access92
2.6小结93
2.7复习题94
2.8练习题95
2.9Access工作台练习题96
2.10GardenGlory项目问题99
2.11JamesRiverJewelry珠宝行项目问题100
2.12QueenAnneCuriosity商店项目问题101
第3章结构化查询语言105
3.1示例数据库106
3.2用于数据定义的SQL语句110
3.2.1使用表约束定义主键115
3.2.2使用表约束定义外键116
3.2.3向DBMS提交SQL语句118
3.3插入关系数据的SQL语句121
3.4SQL关系查询语句124
3.4.1SQLSELECT/FROM/WHERE架构124
3.4.2从单个表中读取指定列125
3.4.3从单个表中读取指定行127
3.4.4从单个表中读取指定行和指定列129
3.4.5在WHERE子句中指定范围、使用通配符和空值131
3.4.6对结果进行排序134
3.4.7SQL内置函数和计算135
3.4.8内置函数和分组138
3.4.9使用子查询处理多个表139
3.4.10使用连接查询多个表141
3.4.11SQLJOIN…ON语法145
3.4.12外部连接148
3.5修改和删除关系数据的SQL语句150
3.5.1修改数据150
3.5.2删除数据1523.6修改和删除表和约束的SQL语句153
3.6.1DROPTABLE和ALTERTABLE语句153
3.6.2CHECK约束154
3.7SQL视图155
3.8Access工作台:第三部分--在MicrosoftAccess中使用查询155
3.8.1使用MicrosoftAccessSQL156
3.8.2使用MicrosoftAccessQBE160
3.8.3使用MicrosoftAccess参数查询165
3.8.4使用MicrosoftAccess
SQL创建表166
3.8.5修改Access表以添加Access
SQL不支持的数据需求169
3.8.6使用MicrosoftAccessSQL插入数据174
3.8.7使用AccessSQL添加参照完整性约束177
3.8.8修改Access数据库以添加AccessSQL不支持的约束178
3.8.9关闭数据库并退出Access180
3.9小结181
3.10复习题182
3.11练习题184
3.12Access工作台练习题186
3.13GardenGlory项目问题189
3.14JamesRiver珠宝行项目问题190
3.15QueenAnneCuriosity商店项目问题192
第Ⅱ部分数据库设计和管理
第4章数据建模与实体-关系模型197
4.1需求分析阶段198
4.2实体-关系数据模型199
4.2.1实体199
4.2.2属性200
4.2.3标识符200
4.2.4关系201
4.3实体-关系图204
4.3.1E-R模型的不同版本205
4.3.2数据建模产品中E-R模型的变化205
4.3.3弱实体207
4.3.4ID依赖实体207
4.3.5非标识符依赖的弱实体209
4.3.6子类实体212
4.3.7递归关系213
4.4开发E-R图示例214
4.4.1HeatherSweeneyDesigns公司的数据库214
4.4.2培训课的客户列表214
4.4.3给客户的信函模板216
4.4.4销售发货单219
4.4.5属性说明222
4.4.6业务规则224
4.4.7验证数据模型224
4.5Access工作台:第四部分--使用MicrosoftAccess来开发原型225
4.5.1为原始的数据模型创建表单模型226
4.5.2为修改过的数据模型创建表单原型228
4.5.3Access的BandedFormandReportEditors230
4.5.4关闭数据库并退出Access231
4.6小结231
4.7复习题232
4.8练习题234
4.9Access工作台练习题234
4.10GardenGlory项目问题235
4.11JamesRiverJewelry项目问题235
4.12QueenAnneCuriosity商店项目问题236
第5章数据库设计239
5.1把数据模型转换为数据库的设计方案240
5.2使用关系模型表示实体241
5.2.1ITEM实体的表示241
5.2.2CUSTOMER实体的表示243
5.2.3SALES-COMMISSION实体的关系设计246
5.2.4弱实体的表示247
5.3关系的表示251
5.3.1强实体中的关系251
5.3.2使用了弱实体的关系258
5.3.3子型实体关系的表示259
5.3.4递归关系的表示260
5.4HeatherSweeneyDesigns公司的数据库设计264
5.4.1弱实体265
5.4.2关系265
5.4.3强制参照完整性266
5.5Access工作台:第五部分--MicrosoftAccess中的关系268
5.5.1Access中的多对多关系268
5.5.2Access中的一对一关系268
5.5.3关闭数据库并退出Access273
5.6小结273
5.7复习题274
5.8练习题276
5.9Access工作台练习题276
5.10GardenGlory公司项目问题277
5.11JamesRiver珠宝行项目问题277
5.12QueenAnneCuriosity商店项目问题278
第6章数据库管理279
6.1HeatherSweeneyDesigns公司的数据库280
6.2并发控制287
6.2.1使用原子事务的必要性287
6.2.2并发事务处理288
6.2.3丢失更新问题289
6.2.4并发问题:脏读取、不可重复读取和幻象读取290
6.2.5资源锁定290
6.2.6串行化事务292
6.2.7死锁292
6.2.8乐观锁定和悲观锁定293
6.2.9声明锁定特征294
6.2.10一致事务295
6.2.11事务隔离级别296
6.3游标类型297
6.4数据库安全298
6.4.1用户账户299
6.4.2处理权限和责任300
6.4.3DBMS级别的安全304
6.4.4应用程序级别的安全305
6.5数据库备份与恢复306
6.5.1通过重新处理进行恢复306
6.5.2通过回滚和前滚进行恢复307
6.5.3DBA的其他职责310
6.6分布式数据库的处理310
6.6.1分布式数据库的类型310
6.6.2分布式数据库面临的挑战312
6.7对象-关系数据库313
6.8Access工作台:第六部分--MicrosoftAccess中的数据库管理313
6.8.1Access中的数据库安全314
6.8.2受保护数据库的使用322
6.8.3受保护数据库的管理324
6.8.4关闭数据库并退出Access324
6.9小结324
6.10复习题326
6.11练习题328
6.12Access工作台练习题329
6.13GardenGlory项目问题330
6.14JamesRiver珠宝行项目问题331
6.15QueenAnneCuriosity商店项目问题332
第7章数据库处理应用程序和商业智能335
7.1数据库处理的环境336
7.1.1查询、表单和报表337
7.1.2客户机/服务器以及传统的应用程序处理339
7.1.3存储过程和触发器339
7.2Web数据库处理340
7.2.1ODBC342
7.2.2使用IIS进行Web处理345
7.2.3ActiveServerPages(ASP)349
7.2.4ActiveDataObjects(ADO)352
7.2.5Web数据库处理面临的挑战358
7.3数据库处理和XML358
7.3.1XML模式文件359
7.3.2XML和数据库处理360
7.3.3XMLWebServices362
7.4商业智能系统363
7.5Access工作台:第七部分:使用MicrosoftAccess进行Web数据库处理367
7.5.1WallingfordMotors的Web主页367
7.5.2选择数据库文件369
7.5.3创建ODBC数据源370
7.5.4创建客户联系方式的视图371
7.5.5创建ASP页面372
7.5.6运行ASP页面374
7.5.7关闭374
7.6小结375
7.7复习题376
7.8练习题378
7.9Access工作台练习题380
7.10GardenGlory公司项目问题381
7.11JamesRiverJewelry珠宝行项目问题381
7.12QueenAnneCuriosity商店项目问题382
附录AMicrosoftSQLServer2005ExpressEdition简介383
附录BMySQL简介395
附录CSQL视图409
术语表427
……
作者:孔丽红 主编,游晓明 钟伯成 张瑜 参编
定价:49元
印次:1-1
ISBN:9787302398813
出版日期:2015.08.01
印刷日期:2015.07.31
本书以关系数据库为主线,从数据库基础理论和实际应用出发,循序渐进、深入浅出地介绍了数据库系统概述,实体联系模型,关系数据模型与关系运算,关系数据库标准语言SQL,关系数据库设计理论, 数据库设计,数据库安全保护,关系数据库管理系统SQL Server 2005,基于Visual Basic的关系数据库应用系统开发,数据库技术的发展,数据库实验。 本书内容丰富,概念清晰,叙述简练易懂,注重理论联系实际,在介绍SQL语言时,以SQL Server 2005为背景介绍了应用,各章后均备有习题,便于读者更好地学习和掌握数据库的基本知识与技能。 本书适合作为普通高等院校计算机及相关学科的数据库课程教材,也可供广大从事数据库技术研究、开发与应用的工程技术人员参考。
本书是作者结合多年教学经验编写而成的,以数据库应用实例贯穿于各章节,突出理论与应用的结合。
本书详细介绍了数据库技术的基本原理、方法和应用技术,共分11章,具体内容如下:
第1章数据库系统概述,介绍了数据库技术的发展,数据库管理系统的功能、组成、模式结构,概念数据模型和几种常用的结构数据模型。
第2章实体联系模型,通过大量实例介绍了实体联系模型的基本要素、绘制的步骤和方法。
第3章关系数据模型与关系运算,主要介绍了关系模型的数据结构、完整性,以及关系代数、元组关系演算、域关系演算和查询优化。
第4章关系数据库标准语言SQL,介绍了SQL的全貌,包括数据操作语言(DML)、数据控制语言(DCL)和数据定义语言(DDL)。
第5章关系数据库设计理论,介绍如何设计关系模式问题,包括数据依赖、无损分解和保持函数依赖的分解,1NF、2NF、3NF、BCNF、4NF和5NF等。
第6章数据库设计,通过一个图书管理系统设计实例,详细介绍了数据库设计各阶段的内容、任务、设计步骤及方法等。
第7章数据库安全保护,主要从安全性控制、完整性控制、并发性控制和数据库恢复四方面介绍了数据库的安全保护功能。
第8章关系数据库管理系统SQLServer2005,在介绍SQLServer2005的集成开发环境基础上,以大量的实例讲解SQLServer2005的知识和技术,包括数据库及其对象的管理、SQLServer2005的安全管理机制、数据库的备份与还原、数据的导入和导出、数据的附加和分离、数据库活动的监视等。
第9章基于VisualBasic的关系数据库应用系统开发,在介绍VisualBasic(VB)集成开发环境、语法结构的基础上,以“图书管理系统”的开发过程为例,由浅入深地介绍了使用VB开发数据库应用系统的步骤和方法,使初学者能很快利用VB开发一个数据库应用系统。
第10章数据库技术的发展,对分布式数据库、并行数据库、面向对象数据库等进行了介绍。
第11章数据库实验,本章共设计了数据库的创建与管理、表的创建与管理、访问与修改数据、视图与索引、存储过程与触发器、SQLServer2005的安全与保护、利用VB开发图书管理系统共7个实验,用于配合课堂教学,培养学生的实践能力。
全书内容丰富、叙述流畅,概念严谨清楚,注重理论联系实际,涵盖了目前数据库的实用理论和应用技术。在每一章节理论介绍的基础上,都给出大量实例,并进行解释说明,加强对数据库基本原理、方法的理解和掌握。
每章后均有各种类型的习题,检查学生对基本知识的掌握程度。另外,还有课件、习题解答和实验解答等电子材料,帮助读者了解和掌握所学知识点。读者在掌握数据库系统基本原理及数据库设计方法后,可进一步了解数据库应用系统开发设计的方法。本书可作为高等院校计算机、信息技术等专业的数据库课程教材,也可供从事信息领域工作的科技人员和其他有关人员参阅。
编写分工为:第5章和第10章由钟伯成编写;第1、7章由游晓明编写,张瑜提出修改意见;其余部分均由孔丽红编写。在编写过程中,得到了上海工程技术大学电子电气工程学院领导和计算机系诸位老师的指导。限于水平,书中若有欠妥之处,请广大读者和专家批评指正。
本书作者联系方式如下:
孔丽红,上海工程技术大学电子电气工程学院
编者
2015年3月
第1章数据库系统概述
1.1引言
1.1.1信息
1.1.2数据
1.2数据库技术的产生、发展
1.2.1人工管理阶段
1.2.2文件系统阶段
1.2.3数据库系统阶段
1.3数据库系统的组成和结构
1.3.1数据库、数据库管理系统和数据库系统
1.3.2数据库系统的体系结构
1.4数据模型
1.4.1概念模型
1.4.2层次模型
1.4.3网状模型
1.4.4关系模型
1.4.5面向对象模型
1.5小结
1.6习题
第2章实体联系模型
2.1概述
2.2实体
2.3属性
2.4联系
2.4.1二元联系的三种类型
2.4.2多元联系
2.4.3实体集内部的联系
2.5弱实体
2.6实体联系模型的绘制实例
2.7小结
2.8习题
第3章关系数据模型与关系运算
3.1关系模型概述
3.1.1关系的形式化定义及其有关概念
3.1.2关系的性质
3.1.3关系、关系模式、关系子模式和存储模式
3.1.4关系数据库与关系数据库模式
3.2关系的键与关系的完整性
3.2.1超键、候选键、主键和外键
3.2.2关系的完整性
3.3从ER模型到关系模型
3.3.1实体的转换规则
3.3.2联系的转换规则
3.3.3ER模型转变成关系模型实例
3.4关系代数
3.4.1传统的集合运算
3.4.2专门的关系运算
3.4.3扩充的关系代数操作
3.4.4关系代数表达式实例
3.5关系演算
3.5.1元组关系演算
3.5.2域关系演算
3.6关系代数表达式的优化
3.6.1查询优化的总目标
3.6.2关系代数表达式的等价变换规则
3.6.3关系代数表达式的优化算法
3.7小结
3.8习题
第4章关系数据库标准语言SQL
4.1SQL语言简介
4.1.1SQL的特点
4.1.2SQL语言的基本组成
4.1.3实例数据库
4.2数据定义
4.2.1数据库的创建与删除
4.2.2基本表的创建、删除与修改
4.2.3索引的创建、删除与修改
4.3数据查询
4.3.1SELECT语句的一般格式和单表查询
4.3.2聚合函数和分组查询
4.3.3多表联接查询
4.3.4多表嵌套查询
4.4视图的创建、删除与修改
4.5数据更新
4.5.1数据的插入
4.5.2数据的删除
4.5.3数据的修改
4.6存储过程和触发器
4.6.1存储过程的定义、修改和删除
4.6.2触发器的定义、修改和删除
4.7小结
4.8习题
第5章关系数据库设计理论
5.1关系模式规范化的必要性
5.1.1关系模式的定义
5.1.2规范化的必要性
5.2函数依赖
5.2.1函数依赖的定义及其推理规则
5.2.2函数依赖集的闭包
5.2.3属性集的闭包
5.2.4函数依赖与关系的候选键、主键之间的联系
5.3关系模式的分解特性
5.3.1无损分解
5.3.2保持函数依赖的分解
5.4关系模式的范式
5.5多值依赖与4NF
5.5.1多值依赖
5.5.24NF
5.6连接依赖与5NF
5.7小结
5.8习题
第6章数据库设计
6.1数据库设计概述
6.1.1数据库设计的方法
6.1.2数据库设计的步骤
6.2需求分析
6.2.1需求分析的内容和方法
6.2.2需求分析的步骤
6.2.3数据字典
6.3数据库概念设计
6.3.1概念设计的方法及步骤
6.3.2数据抽象与局部视图设计
6.3.3视图集成
6.3.4全局ER模型的优化、评审
6.4逻辑结构设计
6.4.1概念模型向关系模型的转换
6.4.2关系模型的优化
6.4.3外模式的设计
6.5数据库物理设计
6.5.1数据库物理设计的内容
6.5.2数据库存储结构的确定
6.5.3关系模式存取方法的选择
6.5.4评价物理结构
6.6数据库的实施
6.7数据库的运行和维护
6.8小结
6.9习题
第7章数据库安全保护
7.1数据库的安全性
7.2数据库的完整性
7.2.1完整性约束条件
7.2.2完整性控制
7.2.3数据库完整性设计原则
7.3数据库的并发控制技术
7.3.1事务
7.3.2并发控制所带来的问题
7.3.3封锁
7.3.4并行调度的可串行化
7.4数据库的恢复
7.4.1数据库恢复的原理及其实现技术
7.4.2检查点技术
7.4.3故障种类和恢复的方法
7.4.4数据库镜像
7.5小结
7.6习题
第8章关系数据库管理系统SQLServer2005
8.1SQLServer2005概述
8.1.1SQLServer2005发展简史
8.1.2SQLServer2005的安装与配置
8.1.3SQLServer2005的体系结构
8.2SQLServer2005的管理工具
8.2.1SQLServer配置管理器
8.2.2SQLServerManagementStudio
8.2.3SQLServerBusinessIntelligenceDevelopmentStudio
8.2.4SQLServer2005AnalysisServices
8.2.5文档和教程
8.2.6SQLServer2005命令提示实用工具
8.3管理数据库
8.3.1SQLServer2005数据库概述
8.3.2数据库的管理
8.3.3表的管理
8.3.4数据表约束和数据完整性控制
8.3.5索引的创建与维护
8.3.6数据的插入、修改、删除和查询
8.3.7视图的管理
8.4SQLServer2005的安全管理机制
8.4.1安全性问题和安全性机制之间的关系
8.4.2管理身份认证方式
8.4.3管理安全账户
8.4.4管理数据库用户
8.4.5权限管理
8.4.6管理数据库角色
8.5存储过程和触发器
8.5.1存储过程的管理
8.5.2触发器的管理
8.6数据库备份与恢复
8.6.1数据库备份
8.6.2数据库的恢复
8.6.3数据库备份计划
8.7数据导入和导出
8.8附加和分离数据库
8.9SQLServerProfiler
8.10小结
8.11习题
第9章基于VisualBasic的关系数据库应用系统开发
9.1VisualBasic语言简介
9.1.1VisualBasic开发环境
9.1.2用VisualBasic开发应用程序
9.2VisualBasic语言基础和程序设计
9.2.1常数、变量、运算符和表达式
9.2.2基本控制结构
9.2.3常用内部函数
9.2.4输入与输出
9.2.5数组
9.3用户界面的设计
9.3.1基本概念
9.3.2窗体的创建
9.3.3控件
9.3.4菜单设计
9.4数据库应用
9.4.1ADO
9.4.2数据绑定控件
9.4.3报表设计
9.5开发实例——图书管理系统
9.5.1用户登录模块
9.5.2用户管理模块
9.5.3编辑模块
9.5.4查询模块
9.5.5借书还书模块
9.6小结
9.7习题
第10章数据库技术的发展
10.1概述
10.2分布式数据库系统
10.2.1基本概念
10.2.2分布式数据库系统结构
10.2.3分布式数据库设计
10.2.4分布式数据库的特点与发展方向
10.3并行数据库系统
10.3.1基本概念
10.3.2并行数据库系统结构
10.3.3并行数据库的特点及待解决的问题
10.4面向对象的数据库系统
10.4.1基本概念
10.4.2面向对象数据库系统关键技术
10.4.3面向对象数据库的实现方法
10.4.4面向对象数据库的特点
10.4.5面向对象数据库系统的未来发展
10.5面向应用领域的数据库技术
10.5.1工程数据库
10.5.2空间数据库
10.5.3科学数据库
10.6小结
10.7习题
第11章数据库实验
11.1数据库的创建与管理(实验一)
11.2表的创建与管理(实验二)
11.3访问与修改数据(实验三)
11.4视图与索引(实验四)
11.5存储过程与触发器(实验五)
11.6SQLServer2005的安全与保护(实验六)
11.7利用VB开发图书管理系统(实验七)
参考文献