《Sybase数据库系统基础知识》PDF下载

  • 购买积分:20 如何计算积分?
  • 作  者:邵佩英,杨孝如编
  • 出 版 社:北京:中国水利水电出版社
  • 出版年份:1998
  • ISBN:7801245555
  • 页数:725 页
图书介绍:

3.6小结 3 1

目 录 1

附录A复习题及其答案 31 1

7.4.1 捆绑规则和缺省到用户定义数据类型 11 1

7.4规则和缺省与用户定义数据类型的捆绑 1 1 1

6.5.1 索引简介 7 1

A.1创建规则、缺省和唯一索引 31 1

1.1 客户/服务器体系结构基本特征 1

第一章Sybase客户/服务器体系结构概貌 1

1.2客户节点和服务器节点 2

1.3.2主要优点 3

1.3 Sybase客户/服务器数据库环境 3

1.3.1基本特点 3

1.4 Sybase的Open Client和Open Server 4

1.4.1 Open Client 4

1.4.2 Open Server 5

1.5 Sybase客户/服务器产品系列 5

1.5.1两层配置模式的客户/服务器体系结构 5

1.5.2能满足企业级分布计算要求的三层配置模式 6

1.5.3 Sybase产品系列 6

1.6关于Sybase Adaptive Server 8

1.6.1 Adaptive Server组件 9

1.6.2 SQLServer兼容性 10

第二章SQL Server数据库服务器及isql客户软件的基本功能简介 12

2.1 SQLServe的功能和特点 12

A.2使用T-SQL的SQLServer程序设计 3 12

表J-64 8002~801 1,远程过程调用消息 5 12

2.2 SQLServer支持多数据库结构 13

2.2.1系统数据库简介 14

2.2.2系统表—数据字典 15

2.2.3系统过程 15

表J-73 9101~9148,日志转换管理器消息 5 16

B.1 简介 3 16

7.6.2创建唯一索引 1 16

2.3 限定数据库对象和指定当前数据库 16

2.3.1 数据库属主(dbo)和数据库对象的限定 16

2.3.2当前数据库 16

2.4用isql客户软件访问SQLServer 17

2.4.1 isql的使用方法 17

7.7小结:规则、缺省、唯一索引 1 17

7.9实现数据完整性可选择的方法 1 18

表J-74 9301~9336,syslabels管理器消息 5 19

7.1 1复习题 .1 19

2.4.2 wisql32(及wisql)的使用方法 19

第三章关系数据库概念 20

3.1数据库元素 20

3.2实体和联系 21

3.3 键 23

3.4.1数据完整性 25

3.4数据完整性 25

3.4.2参照完整性 27

3.5业务规则 30

第四章创建简单表的方法 32

4.1 SQL Server的表 32

4.1.2转换实体和属性为表和列 33

4.1.1 SQL Server的对象及其命名 33

4.2.1精确数值数据类型 34

4.2 Sybase SQLServer的数据类型 34

4.2.2近似数值数据类型 35

4.2.3货币数据类型 36

4.2.4 日期时间数据类型 37

4.2.5字符数据类型 38

4.2.6二进制数据类型 39

4.3用户定义数据类型 40

4.3.1定义和使用用户定义数据类型 40

4.3.2查看、重新命名和删除用户定义数据类型 42

4.4.1 列的性质:NULL性质 42

4.4列的性质 42

4.4.2 列的性质:IDENTITY 43

4.5确定每列的特征 45

4.6使用CREATE TABLE语句创建表 46

4.7检索表的信息 47

4.9实验4:创建一个简单表 48

4.8创建简单表小结 48

5.1.1 语法 50

5.1创建基于现存表的新表 50

第五章创建表的其他方法 50

5.1.3举例 . 51

5.1.2注释 51

5.2.1 只能由当前会话访问的临时表 52

5.2创建临时表 52

9.10COMPUTE子句与行集合函数 1 53

5.2.2可共享的临时表 53

5.2.3查看临时表 54

5.3.1 定义 55

5.3 视图 55

5.3.2 语法 56

5.3.3优点 58

5.3.4 限制 59

5.5 本章小结 61

5.4常用的系统存储过程 61

5.6实验5:创建临时表、创建视图和使用SELECT INTO语句 62

第六章创建带有数据完整性和参照完整性的表 63

6.1.1 定义 64

6.1 什么是数据完整性 64

6.1.2 分类 64

6.2.1 声明完整性 65

6.2.2完整性约束子句 65

6.2使用声明完整性实现数据完整性 65

6.2.3相关题目 66

6.3缺省子句 66

6.4检查约束 67

6.4.1什么是检查约束 67

6.4.2列级检查约束 68

6.5索引和约束 70

6.4.3表级检查约束 70

6.5.2索引和表 73

6.6.1 聚簇索引的存储 74

6.6聚簇表与聚簇索引 74

6.5.3索引与键 74

6.6.2聚簇索引的结构 76

6.7非聚簇索引 77

6.7.1 非聚簇索引的存储 77

6.7.2非聚簇索引的结构 78

6.8.1 唯一约束 79

6.8使用约束创建唯一索引 79

6.8.2列级唯一约束 80

6.9主键约束 81

6.8.3表级唯一约束 81

6.9.1列级主键约束 82

6.9.2表级主键约束 83

6.10小结:使用约束创建索引 83

6.11 实验6a:创建带有数据完整性约束的表 85

6.12声明参照完整性约束 86

6.12.1列级参照完整性约束 86

6.12.2表级参照完整性约束 88

6.13参照完整性约束的各种情形 90

6.14参照完整性约束:更新或删除主键 90

6.15 与约束有关的帮助消息 92

6.16 使用ALTER TABLE语句 95

6.16.1 ALTER TABLE语句 95

6.16.2 ALTER TABLE语句的使用举例—缺省与检查约束 96

6.16.4 ALTER TABLE语句的使用举例—参照完整性约束 97

6.16.3 ALTER TABLE语句的使用举例—唯一约束和主键约束 97

6.17相关的系统存储过程 98

6.18实验6b:创建带有参照完整性的表 100

第七章数据完整性与缺省、规则和索引 101

7.1数据库对象 102

7.2缺省 102

7.2.1什么是缺省 102

7.2.2创建缺省并与列捆绑 103

7.2.3解除与缺省的捆绑并删除缺省 105

7.3规则 106

7.3.1什么是规则 106

7.3.2创建规则并与列的捆绑 108

7.3.3解除与规则的捆绑并删除规则 110

7.4.2使用与规则和(或)缺省相捆绑的用户定义数据类型 112

7.4.3规则和缺省的优先级 113

7.5查看规则和缺省的定义 114

7.6.1什么是唯一索引 115

7.6唯一索引 115

7.8复习:约束的特性 118

7.10小结:数据库对象 119

7.12实验7:规则、缺省和唯一索引 120

8.1.1使用不同的数据库 122

8.1复习:访问数据库和T-SQL语言 122

第八章修改数据 122

8.1.2显示有关数据库的信息 124

8.1.3事务型SQL语言 126

8.2插入数据 127

8.3更新数据 129

8.4删除数据 130

8.4.1 使用DELETE语句删除数据 130

8.4.2 使用TRUNCATE TABLE语句删除数据 132

8.4.3命令比较 133

8.5 ANSI-89 SQL的select语句 133

8.6实验8:导航数据库并修改数据库 135

第九章操纵数据 137

9.1 T-SQL关于LIKE子句和通配符的扩充 138

9.1.1 T-SQL对通配符的扩充 138

9.1.2在LIKE谓词中的ESCAPE子句 139

9.2字符串操作 140

9.3数据类型转换和convert函数 142

9.3.1数据类型的隐式/显式转换 142

9.3.2数据类型转换函数convert概述 143

9.4.1 日期时间处理 144

9.4 日期时间处理与日期函数 144

9.3.3 转换日期时间型数据为字符串 144

9.4.2 日期函数 145

9.5数学函数 147

9.7集合函数 148

9.6实验9a:使用函数 148

9.8 isnull()函数 151

9.9 ORDER BY子句 152

9.1 1实验9b:数据分组与总计 157

10.1.1 T-SQL程序设计成分概述 158

10.1 T-SQL程序设计成分和应用开发 158

第10章使用T-SQL进行Server的程序设计简介 158

10.1.2应用开发上下文 160

10.2.1批的发送和处理 161

10.2批 161

10.2.2对批的限制 162

10.3注释T-SQL代码 164

10.4.局部变量 165

10.4.1局部变量定义与声明 165

10.4.2为局部变量赋值 166

10.4.3对局部变量的限制 167

10.4.4局部变量的使用 169

10.4.5使用局部变量时通常发生的错误 169

10.5全局变量 171

10.5.1全局变量的定义 171

10.5.2全局变量的使用 172

10.6.1 流控制关键字:IF…ELSE 173

10.6流控制语言 173

10.6.2 流控制关键字:IF EXISTS和IF NOT EXISTS 175

10.6.3流控制关键字:BEGIN…END 176

10.6.4 流控制关键字:RETURN 177

10.6.5流控制关键字:WHILE 178

10.6.6流控制关键字:BREAK和CONTINUE 179

10.6.7流控制关键字:WAITFOR 180

10.6.8流控制关键字:PRINT 181

10.6.9流控制关键字:RAISERROR 182

10.7小结 184

10.7.1 关于PRINT和RAISERROR的使用 184

10.7.2关于命令和题目的小结 184

10.8复习题 185

10.9实验10a:使用变量和流控制语句 187

10.10实验10b:使用PRINT和RAISERROR 188

11.1.1什么是事务 189

11.1 事务和数据一致性约束 189

第十一章事务管理—维护数据的一致性 189

11.1.2数据一致性约束问题 190

11.1.3如何标识一个事务 191

1 1.2.1锁的类型 192

11.2.2三种锁的相容性 192

1 1.2 SQLServer的封锁机制 192

1 1.3.2 SQLServer的隔离级别 193

11.3事务的隔离级别 193

11.3.1 ANSI隔离级别 193

1 1.4死锁及其解除 195

1 1.5封锁机制小结 196

11.6事务控制语句 196

1 1.7事务模式 197

11.8建立schema 199

11.9事务中的出错处理 200

1 1.9.1 全局变量@@transtate的作用 200

1 1.9.2综合利用@@error及@@rowcount 201

11.9.3如何向客户报告事务出错 203

11.10小结 205

12.1 游标的定义及其优点 207

第十二章游标 207

12.2游标的分类 209

12.3.1 声明游标 210

12.3游标的用法 210

12.3.2打开游标 212

12.3.3从一个打开的游标中提取行 213

12.3.4把提取的结果放入目的变量清单中 214

12.3.5举例1:游标代码 215

12.3.6关闭和释放游标 216

12.4使用游标修改数据 218

12.4.1 删除数据 218

12.4.2更新数据 219

12.4.3举例2:游标代码 221

12.4.4举例3:游标代码 222

12.5.1 CLOSE ON ENDTRAN选项 223

12.5在事务中的游标 223

12.5.2加锁 224

12.7小结:游标 225

12.6使用游标注意事项 225

12.8实验12:使用游标 227

第十三章存储过程 228

13.1什么是存储过程 229

13.2.1 SQLServer预编译存储过程 230

13.2 SQL Server如何处理存储过程 230

13.2.2 SQLServer建立查询计划 231

13.3存储过程的优点 232

13.4创建存储过程 234

13.4.1创建存储过程的部分语法和举例 234

13.4.2创建存储过程准则 236

13.5执行存储过程 237

13.6查看、改名和删除存储过程 238

13.7.1使用输入参数 239

13.7存储过程的输入参数和参数的传递 239

13.7.3使用单个输入参数执行存储过程 241

13.7.2使用参数的准则 241

13.7.4使用多个参数 243

13.8给出参数的缺省值 244

13.7.5综合检查 244

13.9使用输入参数时常见的错误 246

13.11.1返回值与输出参数 247

13.11 存储过程的返回值 247

13.10实验13a:创建存储过程并使用输入参数 247

13.11.2接收返回值 249

13.11.3举例:两类参数的传递方法 250

13.12存储过程的返回状态 251

13.13在存储过程中加注释 253

13.14存储过程中的事务控制 256

13.14.1存储过程事务模式的确定 257

13.14.2嵌套事务 258

13.14.3嵌套存储过程与保存点 259

13.14.4存储过程样例 260

13.15.2举例:服务器游标 262

13.15.1服务器游标定义 262

13.15服务器游标 262

13.15.3游标的作用域 264

13.16存储过程的标准、限制与依赖对象 265

13.16.1存储过程的标准 265

13.16.3存储过程的依赖对象 266

13.16.2存储过程的限制和注意事项 266

13.17重新编译存储过程 267

13.17.1 创建重新编译的存储过程 267

13.17.2执行重新编译的存储过程 268

13.1 8小结 270

13.19实验13b:从存储过程返回值 271

14.1.1触发器的定义 273

14.1触发器的定义和作用 273

第十四章触发器 273

14.1.2触发器的作用或应用 274

14.1.3触发器的触发(执行) 276

14.2创建触发器 277

14.3.1触发器工作中使用的两个专用表 278

14.3触发器的工作原理 278

14.3.2触发器工作中的行计数 279

14.4举例 281

14.4.1 DELETE触发器与deleted表 281

14.4.2 INSERT触发器与inserted表 282

14.4.3 UPDATE触发器与inserted表和deleted表 283

14.5多行考虑 286

14.6.1 查看触发器的正文信息 288

14.6查看和删除触发器 288

14.7声明完整性与触发器对于实现参照完整性的比较 289

14.6.2删除触发器 289

14.8复习:理解触发器 290

14.9在触发器中的事务控制 292

14.10举例 295

14.10.1 在触发器中使用游标:维护复制数据和定制日志 295

14.10.2增强复杂限制的触发器 296

14.11触发器嵌套 298

14.12对触发器的限制和注意事项 299

14.13小结 300

14.14实验14:编写触发器 301

1 5.1 SQL Server安全管理层次 302

第十五章如何控制数据安全性 302

15.1.2数据库用户 303

15.1.1 SQLServer帐户 303

15.1.3分组 304

15.1.4 public组 304

15.1.5 SQL Server中的三种角色 304

15.2 SQLServer帐户授权层次 305

15.3.1语句权力 307

15.3授权控制命令 307

15.3.2数据库对象权力 308

15.4.1存取控制的等级 309

15.4.数据库安全控制小结 309

15.4.2应用数据库中的数据安全控制 310

A.3触发器 314

A.4综合检查存储过程 315

附录B SQL Server的命名规则 316

B.2各对象命名准则 319

B.3 SYBASE SQLServer对象命名小结 336

附录C pubs2数据库结构图 337

附录D命令和存储过程快捷语法参考 338

D.1 T-SQL命令快捷语法 338

D.2存储过程快捷语法 354

D.3分类存储过程快捷语法 358

附录E全屏幕编辑程序 360

E.1 用vi编辑建立新文件 360

E.2移动光标 360

E.3滚屏 361

E.4 vi编辑命令 362

E.5举例 365

附录F实用程序bcp、defncopy简介 366

附录G Sybase SQL Server保留字 369

附录H应用开发实践 371

H.1通用的应用开发策略 371

H.2 T-SQL编码策略 373

H.3实现完整性的考虑 375

H.4 SYBASE SQL Server中的表 376

H.5索引 377

H.6检索数据 380

附录I词汇表 381

附录J错误消息 390

表J-1严重级别说明 391

表J-2错误消息正文简记符号 393

表J-3 1~21,综合消息 394

表J-4 101~199,语法分析器消息 394

表J-5 201~298,定序器消息 398

表J-6 301~316,判决模块消息 402

表J-7 401~434,编译消息 404

表J-8 501~599,查询处理器消息 405

表J-9 601~680,访问管理器消息 410

表J-10 701~710,存储管理器消息 414

表J-1 1 801~868,缓冲区管理器消息 415

表J-12 902~950,打开数据库管理器消息 419

表J-13 1 101~1 150,页面管理器消息 422

表J-14 1201~1288,锁管理器消息 424

表J-15 1301~1315,查询处理器消息 427

表J-16 1501~1536,排序管理器消息 429

表J-17 1601~1624,初始化消息 430

表J-18 1701~211 1,CREATE的实用程序消息 431

表J-19 2201~2301,READ/WRITE消息 436

表J-20 2401~2416,字符集转换消息 436

表J-21 2501~2599,dbcc消息 438

表J-22 2601~2628,1NSERT消息 444

表J-23 2701~2790,CREATE的实用程序消息 445

表J-24 2801~2838,过程管理器消息 448

表J-25 2901~2902,异常处理消息 450

表J-26 3001~3244,DUMP和LOAD消息 450

表J-27 3301~3317,undo和redo消息 455

表J-28 3401~3471,恢复消息 456

表J-29 3501~3508,checkpoint消息 459

表J-30 3604~3629,错误与异常处理消息 460

表J-31 3701~3738,DROP消息 461

表J-32 3801~3819,标记数据流消息 462

表J-33 3901~3917,事务管理器消息 463

表J-34 4001~4025,dataserver消息 464

表J-35 4201~4322,DUMP与LOAD消息 465

表J-36 4401~4425,视图消息 468

表J-37 4501~4509,CREATE的实用程序消息 469

表J-38 4601~4622,GRANT与REVOKE消息 470

表J-39 4701~4716,截断表消息 471

表J-40 4801~4837,BCP消息 472

表J-41 4901~4958,ALTER TABLE消息 473

表J-42 5001~5028,ALTER DATABASE消息 476

表J-43 6001~6006,shutdown消息 477

表J-44 5101~5151,磁盘消息 477

表J-45 5201~5217,DUMP DATABASE消息 479

表J-46 5701~5704,Open Client DB Library消息 480

表J-47 5803~5899,配置消息 481

表J-49 6001~6006,shutdown消息 485

表J-48 5901~5903,checkpoint消息 485

表J-51 6201~6291,showplan消息 487

表J-50 6101~6108,进程KILL消息 487

表J-52 6401~6403,ABORT TRANSACTION消息 490

表J-53 6501,缓存区管理器消息 491

表J-54 6701~6702,保护模块消息 491

表J-55 6901~6904,timestamp消息 491

表J-56 7001~7026,内部表消息(Stratus VOS) 491

表J-57 7101~7142,正文管理器消息 492

表J-58 7201~7233,分布式数据库网络消息 494

表J-59 7301~7389,语法分析器消息 496

表J-60 7401~7415,阀值消息 500

表J-61 7601~7620,审计模块消息 501

表J-62 7701~7797,定序器消息 502

表J-63 7901~7999,DBCC消息 507

表J-65 8201~8221,描述符管理器消息 512

表J-66 8401~8416,sysindexes管理器消息 513

表J-68 8601,进程状态结构消息 514

表J-69 8701~8706,场地缓冲区管理器消息 514

表J-70 8801~8806,登录连接消息 514

表J-67 8501~8502,ABORT消息 514

表J-71 8901~8904,数据缓冲区管理器消息 515

表J-72 9001~9006,磁盘管理器消息 515

表J-75 9501~9526,查询处理器消息 521

表J-76 9601~9602,CLEANUP消息 522

表J-77 9701~9732,安全消息 522

表J-78 9802~9816,分区管理器消息 523

表J-79 9901~9928,DBCC消息 523

表J-80 10101~10109,sysattributes消息 525

表J-81 10201~10214,showplan消息 525

表J-82 10401~10485,配置求助消息 526

表J-83 13001~13120,消息成分 531

表J-84 17000~18177,系统和目录存储过程消息 535

附录K实验题及其答案 562

实验1:本章无实验 562

实验2:访问SQLServer 562

练习概述 562

实验工作单 563

具体要求 563

解决方法 564

实验3:本章无实验 569

实验4:创建简单表 569

练习概述 569

具体要求 569

解决方法 570

具体要求 573

练习概述 573

实验5:创建临时表,使用select into和创建视图 573

解决方法 575

可选择的练习 584

解决方法—可选择的练习 585

实验6a:创建带有数据完整性约束的表 589

练习概述 589

具体要求 591

解决方法 592

实验6b:创建带有参照完整性的表 596

练习概述 596

语法 596

具体要求—节A 597

具体要求—节B 597

具体要求—节C 599

解决方法—节A 600

解决方法—节B 604

解决方法—节C 610

实验7:规则、缺省值和唯一性索引 615

练习概述 615

语法 615

具体要求 616

解决方法 617

实验8:导航数据库和修改数据 624

练习概述 624

具体要求 625

解决方法 626

实验9a:使用函数 632

练习概述 632

具体要求 632

解决方法 633

解决方法 638

具体要求 638

练习概述 638

实验9b:统计数据和分组数据 638

实验10a:使用变量和控制流 641

练习概述 641

语法 642

具体要求—节A 643

具体要求—节B 644

解决方法—节A 645

解决方法—节B 649

实验10b:使用print和raiserror命令 654

练习概述 654

语法 655

具体要求—节A 655

具体要求—节B 656

解决方法—节A 657

解决方法—节B 660

语法 666

练习概述 666

实验11:使用事务管理语句 666

具体要求—节A 667

具体要求—节B 670

解决方法—节A 671

解决方法—节B 679

实验12:使用游标 683

练习概述 683

语法 683

具体要求—节A 684

具体要求—节B 685

解决方法—节A 686

解决方法—节B 690

实验13a:建立存储过程和使用输入参数 694

练习概述 694

语法 694

具体要求—节A 695

具体要求—节B 697

解决方法—节A 698

解决方法—节B 704

实验13b:从存储过程返回值 709

练习概述 709

语法 710

具体要求 710

解决方法 711

实给14:编写触发器 717

练习概述 717

语法 717

具体要求—节A 717

具体要求—节B 718

解决方法—节A 718

解决方法—节B 720

实验15:本章没有实验 725