数据库系统教程,如何学习数据库知识
大家好,如果您还对数据库系统教程不太了解,没有关系,今天就由本站为大家分享数据库系统教程的知识,包括如何学习数据库知识的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!
如何学习数据库知识
要说数据库,一般以SQL Server作为入门的学科,它适合中小型项目开发,而现在比较流行于大型开发的有:
Oracle
现在具有企业大型软件的绝对占有率
DB2在以IBM服务的公司以及单位(中国银行)
MySql相对不是很正式的开发,使用MySql
当然还有一些:Access(桌面数据库),FoxPro(中国教育),Informix的数据库系统.
刚开始入门的时候可以找点视频教程来学习,视频教程一般讲得比较好,但不要企图于通过它达到比较高的水平。然后要学会将自己所知道的去实践,多实践。当觉得实践到一定程度而没有什么冲劲了,就去学习理论,当觉得理论知识需要发挥的时候就去实践,时间的周期不一定,没有什么定论,但自己的时间安排需要定论就可以了。
我一直都认为在计算机行业要学会一门技术太简单了,但如果要把技术发挥到一定程度就有难处了,一定程度是什么意思,就是把技术如何发挥到具体的业务之中,会动脑筋去思考,而把技术作为相对次要的东西了。
数据库的DBA人员需要兼有系统分析员和运筹学的业务素质。在技术上讲,我个人认为数据库的前续学科是“数据结构”。
我现在刚学SQL Server一段时间,就自己的感想谈谈:
1.数据库是非常快的数据处理程序,其内在的本质依旧是"文件".因为
Windows操作系统管理机制就有:磁盘、文件、目录。Linux的方式只有文件。所以数据库重本质的角度来说是一种平台软件,是将文件翻译成逻辑语言的软件,成为我们软件程序数据交换的中心,为什么那,一个很重要的原因就是“快”,还有就是“安全”、“集成”等等。因为以前的语言程序要处理数据要编写大量算法十分麻烦而且很容易出错等等。大家就想到集成了。。。。。
2.其实,要谈到操作数据库,简单的就太简单了,但是数据库最难的不是操作,而是在数据库的设计上。一个大型程序设计者肯定是一个数据库的高手,因为大型程序要死板地去完成它是非常困难和不理智也是不安全不稳定的,我们要充分利用自己所有的能力去挖掘其数据之间的奥秘,然后体系化数据库结构,相当于在数据库中如何层次化地建立数据结构。将需求中的矛盾事物改变成可以相互融合的。
我说的数据库操作简单是指一般操作,如果难的操作还是有点技术的,但还是难不到那里去。下面我把我的一个小数据库程序给你看看:(下面这个程序已经建立数据库library,然后用dbo用户建立了表relatBook,并将表的第一个字段设置为“主键”PK)
该程序想说的第一点是:程序按照标准用户写入法则写入。
另外就是在执行多个操作的时候每一步骤的操作我们都必须为其设置错误的回滚操作。所以程序前两个段落都是一样的,在插入的时候故意出现异常,看第1和第3个语句是否能成功执行。
从上面看出点什么没有,你我执行了三个操作,第一个操作是肯定成功的,第二个是肯定失败的,第三个跟在后面,那么你想一想第一个和第三个操作能插入数据库中吗?我这个程序没有什么意义,但只是未了说明问题。
答案是:不能。
为什么不能,这是SQL所支持的“事务”外完成的,这是技术问题,没有什么的,会了大家都会。为什么要这样做那,那才是要学习的前提。你想一想如果你建立了一个地区的帐物管理系统,当一个单位向另外一个单位转帐的时候,需要执行两个操作就是将一边的信息刷掉,一边的信息添加上去,而当执行一半的时候出现了某种异常中断,比如高优先级的抢占,服务器重起、停电。当时你知道有多少人在访问你的服务器,那要造成多大的数据库信息丢失,甚至于导致数据库的查询的严重失败。那么我就知道需要上面知识的支持了。
3.为什么说上面的东西都很简单那,因为只要你会,那就可以了,而设计方面的东西是永远不是那么简单的,永远带有创新和追求,没有最高的境界。
就一个十分常见的问题,如何在数据库中配合好人员、角色、权限、类别、级别、可操作性这几者的关系,如果是没有经验的人直接上手可能会乱来(我们最早也是这样的)。有经验的人也会设计一段时间,而且随着软件复杂性的增加,其数据库的这几者之间的复杂性就越来越复杂。所以大型软件是非常难的。就一个很简单的例子,在很多的网站中,有上百的栏目信息,而每一个栏目间又保持独立。图片的位置和图片的信息都是动态更新的。某些网站的可操作性都以树型结构提供,而树型结构的子树类别和和叶子都是不重复而不错误。而且其层数都是动态的。有些人给我说可以通过前台的判定语句来执行树型结构的生成,但我问了一个问题,如果是一个邮政编码系统,有几十万个邮政编码你在前台要写多少个case语句,而且每一次要遍历一次已经生成的树,还有用前台的case语句编写出来的树型结构其二级子树全部“定死”,而且树型结构的层树也被定死。这不是完全动态级别的网站。为以后对网站的维护带来麻烦。
总之,数据库是一门入门容易却达到高手很难的学科,通过不断在失败中吸取经验,才能得到一些书籍上无法学会的东西,那才是真正的高手。也就是说,学技术是很快的,要会将技术运用于实际的业务分析,才可以成为一个自我型的DBA,而不是一个简单的程序员。
数据库系统教程的作品目录
第Ⅰ篇基础篇
第1章数据库概述3
1.1概述3
1.2一些基本概念3
1.3数据管理技术的发展5
1.3.1文件管理5
1.3.2数据库管理8
1.4数据独立性11
1.5数据库系统的组成12
小结13
习题13
第2章数据模型与数据库结构15
2.1数据和数据模型15
2.1.1数据与信息15
2.1.2数据模型16
2.2概念层数据模型17
2.2.1基本概念17
2.2.2实体-联系模型18
2.3组织层数据模型20
2.3.1层次数据模型21
2.3.2网状数据模型22
2.3.3关系数据模型23
2.4面向对象数据模型25
2.5数据库结构25
2.5.1模式的基本概念26
2.5.2三级模式结构26
2.5.3模式映像与数据独立性28
小结29
习题30
第3章关系数据库31
3.1关系数据模型31
3.1.1数据结构31
3.1.2数据操作32
3.1.3数据完整性约束33
3.2关系模型的基本术语与形式化定义34
3.2.1基本术语34
3.2.2形式化定义36
3.3完整性约束38
3.3.1实体完整性38
3.3.2参照完整性40
3.3.3用户定义的完整性41
3.4关系代数41
3.4.1传统的集合运算43
3.4.2专门的关系运算44
3.4.3关系代数操作小结53
3.5*关系演算54
3.5.1元组关系演算54
3.5.2元组关系演算语言Alpha56
3.5.3域关系演算59
3.5.4域关系演算语言QBE59
小结61
习题61
第4章SQL语言基础及数据定义功能63
4.1SQL语言概述63
4.1.1SQL语言的发展63
4.1.2SQL语言特点64
4.1.3SQL语言功能概述64
4.2SQL语言支持的数据类型65
4.2.1数值型65
4.2.2字符串型66
4.2.3日期时间类型67
4.2.4货币类型67
4.3数据定义功能68
4.3.1架构的定义与删除68
4.3.2基本表70
小结73
习题73
第5章数据操作语句75
5.1数据查询语句75
5.1.1查询语句的基本结构76
5.1.2单表查询77
5.1.3多表连接查询100
5.1.4使用TOP限制结果集行数111
5.1.5子查询113
5.2数据更改功能122
5.2.1插入数据123
5.2.2更新数据123
5.2.3删除数据124
小结126
习题127
第6章高级查询128
6.1CASE函数128
6.1.1CASE函数介绍128
6.1.2CASE函数应用示例130
6.2将查询结果保存到新表133
6.3子查询137
6.3.1ANY、SOME和ALL谓词137
6.3.2带EXISTS谓词的子查询140
6.4查询结果的并、交、差运算145
6.4.1并运算145
6.4.2交运算148
6.4.3差运算150
小结151
习题152
第7章索引和视图154
7.1索引154
7.1.1索引基本概念154
7.1.2索引的存储结构及分类155
7.1.3创建和删除索引160
7.2视图161
7.2.1基本概念161
7.2.2定义视图162
7.2.3通过视图查询数据164
7.2.4修改和删除视图167
7.2.5视图的作用167
7.3物化视图168
小结169
习题169
第8章数据完整性约束171
8.1数据完整性的概念171
8.1.1完整性约束条件的作用对象171
8.1.2实现数据完整性的方法172
8.2实现数据完整性172
8.2.1实体完整性约束173
8.2.2唯一值约束173
8.2.3参照完整性175
8.2.4默认值约束176
8.2.5列取值范围约束176
8.3系统对完整性约束的检查178
8.4删除约束179
8.5触发器180
8.5.1创建触发器180
8.5.2后触发型触发器181
8.5.3前触发型触发器182
8.5.4删除触发器182
小结182
习题183
第Ⅱ篇设计篇
第9章关系规范化理论186
9.1函数依赖186
9.1.1基本概念186
9.1.2一些术语和符号187
9.1.3为什么讨论函数依赖188
9.1.4函数依赖的推理规则189
9.1.5最小函数依赖集190
9.2关系规范化中的一些基本概念191
9.2.1关系模式中的键191
9.2.2候选键191
9.2.3外键192
9.3范式192
9.3.1第一范式192
9.3.2第二范式194
9.3.3第三范式196
9.3.4Boyce-Codd范式196
9.3.5多值依赖与第四范式199
9.3.6连接依赖与第五范式201
9.3.7规范化小结205
9.4关系模式的分解准则206
小结208
习题209
第10章实体-联系(E-R)模型211
10.1E-R模型的基本概念211
10.1.1实体211
10.1.2联系212
10.1.3属性215
10.1.4约束217
10.2E-R模型存在的问题218
10.2.1扇形陷阱218
10.2.2深坑陷阱219
10.3E-R图符号221
小结222
习题222
第11章数据库设计225
11.1数据库设计概述225
11.1.1数据库设计的特点226
11.1.2数据库设计方法概述226
11.1.3数据库设计的基本步骤227
11.2数据库需求分析228
11.2.1需求分析的任务228
11.2.2需求分析的方法229
11.3数据库结构设计230
11.3.1概念结构设计230
11.3.2逻辑结构设计233
11.3.3物理结构设计238
11.4数据库行为设计240
11.4.1功能分析240
11.4.2功能设计241
11.4.3事务设计241
11.5数据库实施242
11.6数据库的运行和维护243
小结243
习题244
第Ⅲ篇系统篇
第12章事务与并发控制246
12.1事务246
12.1.1事务的基本概念246
12.1.2事务执行和问题247
12.1.3事务的特性248
12.1.4事务处理模型249
12.1.5事务日志250
12.2并发控制251
12.2.1并发控制概述252
12.2.2一致性的级别254
12.2.3可交换的活动254
12.2.4调度255
12.2.5可串行化调度255
12.3并发控制中的加锁方法256
12.3.1锁的粒度257
12.3.2封锁协议258
12.3.3活锁和死锁260
12.3.4两阶段锁262
12.4并发控制中的时间戳方法264
12.4.1粒度时间戳264
12.4.2时间戳排序265
12.4.3解决时间戳中的冲突265
12.4.4时间戳的缺点265
12.5乐观的并发控制方法266
12.5.1乐观并发控制方法中的3个阶段266
12.5.2乐观的并发控制方法的优缺点266
小结267
习题267
第13章数据库恢复技术269
13.1恢复的基本概念269
13.2数据库故障的种类270
13.3数据库恢复的类型271
13.3.1向前恢复(或重做)271
13.3.2向后恢复(或撤销)272
13.3.3介质故障恢复275
13.4恢复技术275
13.4.1延迟更新技术275
13.4.2立即更新技术277
13.4.3镜像页技术279
13.4.4检查点技术280
13.5缓冲区管理281
小结282
习题282
第14章查询处理与优化284
14.1概述284
14.2关系数据库的查询处理284
14.2.1查询处理步骤285
14.2.2优化的一个简单示例285
14.3代数优化287
14.3.1转换规则287
14.3.2启发式规则289
14.4物理优化292
14.4.1选择操作的实现和优化292
14.4.2连接操作的实现和优化293
14.4.3投影操作的实现296
14.4.4集合操作的实现297
14.4.5组合操作297
小结298
习题298
第Ⅳ篇发展篇
第15章数据库技术的发展300
15.1数据库技术的发展300
15.1.1传统数据库技术的发展历程300
15.1.2新一代数据库管理系统302
15.2面向对象技术与数据库技术的结合302
15.2.1新的数据库应用和新的数据类型302
15.2.2面向对象数据模型303
15.2.3面向对象数据库的优点306
15.2.4对象关系数据库与对象数据库307
15.3数据库技术面临的挑战307
15.4数据库技术的研究方向309
15.4.1分布式数据库系统309
15.4.2面向对象的数据库管理系统310
15.4.3多媒体数据库310
15.4.4数据库中的知识发现310
15.4.5专用数据库系统311
小结311
第16章数据仓库与数据挖掘312
16.1数据仓库技术312
16.1.1数据仓库的概念及特点313
16.1.2数据仓库体系结构314
16.1.3数据仓库的分类315
16.1.4数据仓库的开发315
16.1.5数据仓库的数据模式316
16.2联机分析处理317
16.3数据挖掘321
16.3.1数据挖掘过程321
16.3.2数据挖掘知识发现322
16.3.3数据挖掘的常用技术和目标324
16.3.4数据挖掘工具324
16.3.5数据挖掘应用325
16.3.6数据挖掘的前景326
小结328
第Ⅴ篇应用篇
第17章SQL Server 2005基础330
17.1SQL Server 2005平台构成330
17.2安装SQL Server 2005331
17.2.1SQL Server 2005的版本331
17.2.2安装SQL Server 2005所需要的软硬件环境333
17.2.3实例334
17.2.4安装及安装选项335
17.3配置SQL Server 2005345
17.4SQL Server Management Studio工具348
17.4.1连接到数据库服务器348
17.4.2查询编辑器350
小结351
习题352
上机练习352
第18章数据库及对象的创建与管理354
18.1SQL Server数据库概述354
18.1.1系统数据库354
18.1.2SQL Server数据库的组成355
18.1.3数据文件和日志文件356
18.1.4数据库文件的属性356
18.2创建数据库357
18.2.1用图形化方法创建数据库357
18.2.2用T-SQL语句创建数据库360
18.3基本表的创建与管理364
18.3.1创建表364
18.3.2定义完整性约束366
18.3.3修改表374
18.3.4删除表374
18.4索引的创建与管理376
18.4.1创建索引376
18.4.2查看和删除索引377
18.5视图的创建与管理378
18.5.1创建视图378
18.5.2查看和修改视图382
小结382
习题383
上机练习383
第19章存储过程和游标386
19.1存储过程386
19.1.1存储过程概念386
19.1.2创建和执行存储过程387
19.1.3查看和修改存储过程391
19.2游标392
19.2.1游标概念392
19.2.2使用游标393
19.2.3游标示例396
小结399
习题400
上机练习400
第20章安全管理401
20.1安全控制概述401
20.1.1数据库安全控制的目标401
20.1.2数据库安全的威胁402
20.1.3数据库完全问题的类型402
20.1.4安全控制模型402
20.1.5授权和认证403
20.2存取控制404
20.2.1自主存取控制404
20.2.2强制存取控制406
20.3审计跟踪408
20.4防火墙408
20.5统计数据库的安全性409
20.6数据加密410
20.7SQL Server安全控制过程411
20.8登录名411
20.8.1身份验证模式411
20.8.2建立登录名413
20.8.3删除登录名417
20.9数据库用户418
20.9.1建立数据库用户418
20.9.2删除数据库用户420
20.10权限管理421
小结430
习题430
上机练习431
第21章数据库设计工具——PowerDesigner433
21.1建立概念数据模型433
21.1.1概述433
21.1.2创建CDM文件433
21.1.3创建实体435
21.1.4指定实体的属性436
21.1.5建立实体间的联系439
21.1.6建立实体间的关联442
21.2建立物理数据模型444
21.2.1概述444
21.2.2由CDM生成PDM446
21.2.3生成SQL脚本447
小结449
习题450
上机练习450
求数据库系统教程(第三版)习题答案
1、试述数据、数据库、数据库管理系统、数据库系统的概念。(3、4、5页)答:描述事物的符号记录称为数据;数据库是长期储存在计算机内的、有组织的、可共享的数据集合;数据库管理系统是位于用户与操作系统之间的一层数据管理软件;数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。 2.使用数据库系统有什么好处?(12页)答:数据库系统使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的阶段,这样既便于数据的集中管理,又有利于应用程序的研制和维护,提高了数据的利用率和相容性,提高了决策的可靠性。 3.试述文件系统与数据库系统的区别和联系。(8、9、10页)答:1)数据结构化是数据库与文件系统的根本区别。在文件系统中,相互独立的文件的记录内部是有结构的,管其记录内部已有了某些结构,但记录之间没有联系。数据库系统实现整体数据的结构化,是数据库的主要特征之一。 2)在文件系统中,数据的最小存取单位是记录,粒度不能细到数据项。而在数据库系统中,存取数据的方式也很灵活,可以存取数据库中的某一个数据项、一组数据项一个记录或或一组记录。 3)文件系统中的文件是为某一特定应用服务的,文件的逻辑结构对该应用程序来说是优化的,因此要想对现有的数据再增加一些新的应用会很困难,系统不容易扩充。而在数据库系统中数据不再针对某一应用,而是面向全组织,具有整体的结构化。 5.试述数据库系统的特点。(9、10、11页)答:数据结构化;数据的共享性高、冗余度低、易扩充;数据独立性高;数据由DBMS统一管理和控制。
在迅雷狗狗上给你找了个,你看看吧:
http://www.gougou.com/search?search=%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F%E6%95%99%E7%A8%8B%E4%B9%A0%E9%A2%98&restype=-1&id=10000001&ty=0&pattern=0
数据库系统教程和如何学习数据库知识的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!