fbpx

[email protected]

购物车

 查看订单

  • 我的帐户
东东购 | EasternEast
  • 中文书店
    • 畅销排行榜
      • 小说 畅销榜
      • 童书 畅销榜
      • 外语畅销榜
      • 管理畅销榜
      • 法律畅销榜
      • 青春文学畅销榜
    • 热门分类
      • 社会小说
      • 成功/励志 畅销榜
      • 人物传记
      • 大陆原创
      • 绘本童书
      • 影视小说
    • 文学推荐
      • 文集
      • 戏剧
      • 纪实文学
      • 名家作品
      • 民间文学
      • 中国现当代随笔
    • 新书热卖榜
      • 小说 新书热卖榜
      • 青春文学 新书热卖榜
      • 童书 新书热卖榜
      • 管理 新书热卖榜
      • 成功/励志 新书热卖榜
      • 艺术 新书热卖榜
  • 精选分类
    • 小说
    • 保健养生
    • 烹饪/美食
    • 风水/占卜
    • 青春文学
    • 童书
    • 管理
    • 成功/励志
    • 文学
    • 哲学/宗教
    • 传记
    • 投资理财
    • 亲子家教
    • 动漫/幽默
    • 法律 Legal
    • 经济 Economics
    • 所有分类
  • 关于东东
  • 帮我找书
搜索
首页计算机/网络数据库数据库技术与应用 SQL Server 2016

数据库技术与应用 SQL Server 2016

对数据库技术的基础理论和SQL SERVER2016软件平台详尽介绍,旨在帮助读者掌握*的数据库技术。

作者:吴秀丽、杜彦华、丁文英、冯爱兰 出版社:清华大学出版社 出版时间:2018年05月 

ISBN: 9787302496250
年中特卖用“SALE15”折扣卷全场书籍85折!可与三本88折,六本78折的优惠叠加计算!全球包邮!
trust badge

EUR €38.99

类别: 研究生/本科/专科教材, 数据库 SKU:5d84a1315f9849104541a700 库存: 有现货
  • 描述
  • 评论( 0 )

描述

开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302496250丛书名: 中国高等学校计算机科学与技术专业(应用型)规划教材

编辑推荐
本书在基础理论篇详细介绍了数据库的基础理论知识,在应用环节介绍了微软公司的*的数据库管理系统SQL Server 2016,*后总结了数据库的*发展技术。全书以一个生活中的案例贯穿其中,强调理论和实践的结合,同时突出学科发展的特点。本书是编者多年来教学经验的总结,融入了大量的教学案例,实用性很强。 
内容简介
本书在基础理论部分详细介绍了数据库的基础理论知识,在应用部分介绍了微软公司的*的数据库管理系统SQL Server 2016,*后总结了数据库技术的发展前沿。本书用生活中常见的案例贯穿,强调理论和实践的结合,同时突出学科发展的特点。
全书共分5篇12章:*篇为基础知识篇(第1~5章),介绍数据库的基础理论知识;第二篇为数据库设计技术篇(第6~7章),介绍数据库设计的理论;第三篇为数据库安全篇(第8章),介绍数据库安全保护技术;第四篇为应用篇(第9~11章),介绍SQL Server 2016数据库管理系统;第五篇为发展篇(第12章),介绍数据库技术的*进展情况。
本书是作者多年来教学经验的总结,融入了大量的教学案例,实用性很强,可作为普通高等院校数据库技术及应用课程的教材,也可作为相关技术人员的参考用书,同时还可作为各类水平考试(包括全国计算机等级考试)的辅导用书。
目  录

目录
基础知识篇

第1章数据库系统概述3

1.1数据管理技术的发展3

1.2数据与数据库概念6

1.3数据库系统7

1.4数据库管理系统8

1.4.1数据库管理系统的功能8

1.4.2数据库管理系统的组成9

1.5数据库系统体系结构11

1.5.1数据库系统的内部体系结构11

1.5.2数据库系统的典型外部体系结构13

1.6数据库用户15

习题117

第2章数据模型18

2.1数据模型的组成要素18

2.2概念数据模型19

2.2.1基本概念20

2.2.2ER模型22

2.3逻辑数据模型24

2.3.1层次数据模型25

2.3.2网状数据模型27

2.3.3关系数据模型28

2.3.4面向对象数据模型29

2.3.5对象关系数据模型302.4物理数据模型31

习题231

第3章关系数据库32

3.1关系数据结构32

3.2关系数据操作34

3.2.1传统的关系运算35

3.2.2专门的关系运算37

3.3关系数据的完整性约束41

习题343

数据库技术与应用SQL Server 2016 目录
第4章关系数据库标准语言SQL45

4.1SQL概述45

4.1.1SQL标准的由来45

4.1.2SQL的组成46

4.1.3SQL的特点47

4.2数据定义语言49

4.2.1基本表的定义49

4.2.2索引的定义55

4.3数据查询语言58

4.3.1单表查询59

4.3.2连接查询67

4.3.3集合查询69

4.3.4嵌套查询71

4.4数据更新语言77

4.4.1插入数据78

4.4.2修改数据79

4.4.3删除数据81

4.5视图81

4.5.1视图的概念81

4.5.2创建视图82

4.5.3更新视图83

4.5.4查询视图84

4.5.5删除视图84

习题485

第5章SQL语言高级功能87

5.1数据控制语言87

5.1.1权限和角色87

5.1.2授权语句88

5.1.3收回权限90

5.2存储过程90

5.2.1创建存储过程91

5.2.2修改存储过程92

5.2.3删除存储过程92

5.2.4执行存储过程92

5.2.5过程声明94

5.2.6基本语句和表达式95

5.2.7流程控制97

5.3游标101

5.3.1游标类型101

5.3.2游标的管理103

5.4触发器108

5.4.1触发器的结构108

5.4.2创建DML触发器109

5.4.3创建DDL触发器112

5.4.4创建登录触发器114

5.4.5修改触发器114

5.4.6删除触发器115

5.4.7递归触发器115

5.5嵌入式SQL116

5.5.1基本概念116

5.5.2基本结构118

5.5.3变量声明119

5.5.4数据库连接120

5.5.5执行SQL命令121

5.5.6嵌入式游标123

5.5.7使用动态SQL126

5.5.8异常处理127

习题5128

数据库设计技术篇

第6章数据库设计理论133

6.1数据库设计概述133

6.1.1数据库设计的任务133

6.1.2数据库设计的团队134

6.1.3数据库设计的方法134

6.2数据库设计的步骤135

6.2.1需求分析136

6.2.2概念结构设计138

6.2.3逻辑结构设计142

6.2.4物理结构设计145

6.2.5数据库实施146

6.2.6数据库运行及维护147

习题6148

第7章数据库规范化理论149

7.1关系模式设计中存在的问题149

7.2函数依赖150

7.3多值依赖152

7.4范式152

7.4.1第一范式153

7.4.2第二范式155

7.4.3第三范式156

7.4.4BC范式157

7.4.5第四范式157

7.5关系模式规范化方法158

7.6函数依赖的公理系统159

7.7关系模式的分解160

习题7162

数据库安全篇

第8章数据库的安全性策略165

8.1数据库安全控制概述165

8.2数据库安全控制方法166

8.2.1用户标识和鉴定167

8.2.2存取控制167

8.2.3审计169

8.2.4数据加密170

8.3事务171

8.3.1事务的概念171

8.3.2事务的特性172

8.3.3定义事务172

8.4数据库的恢复技术173

8.4.1数据备份174

8.4.2故障177

8.4.3数据恢复策略178

8.5并发控制182

8.5.1并发异常问题182

8.5.2基于封锁的调度184

8.5.3基于时间戳的调度189

8.5.4基于有效性检验的调度方法190

8.5.5多版本并发控制机制191

习题8191

应用篇

第9章典型关系数据库管理系统SQL Server 2016介绍195

9.1SQL Server 2016系统概述195

9.2SQL Server 2016体系结构199

9.3SQL Server 2016的安装201

9.3.1安装环境要求201

9.3.2安装过程203

9.4SQL Server 2016配置220

9.4.1SQL Server 2016数据库服务器服务的启动和停止221

9.4.2注册服务器224

9.4.3创建服务器组224

9.5SQL Server 2016管理平台226

习题9228

第10章SQL Server 2016的SQL编程技术229

10.1创建数据库229

10.1.1利用对象资源管理器创建数据库229

10.1.2利用TSQL语句创建数据库231

10.2数据定义技术233

10.3数据更新技术244

10.4数据查询技术246

10.5存储过程247

10.6触发器249

10.7应用程序调用数据库的方法251

10.7.1ODBC技术251

10.7.2ADO技术258

10.7.3JDBC技术263

习题10267

第11章SQL Server 2016的数据库保护技术268

11.1数据安全性技术268

11.1.1概述268

11.1.2身份验证模式268

11.1.3登录账号管理269

11.1.4角色管理275

11.1.5用户管理279

11.1.6权限控制281

11.2数据库的备份和恢复283

11.2.1数据库的备份283

11.2.2数据库的恢复286

习题11291

发展篇

第12章数据库技术的新进展295

12.1数据库技术发展概述295

12.1.1影响数据库技术发展的重要因素295

12.1.2数据库新技术的发展296

12.2数据库技术与其他相关技术相结合300

12.2.1面向对象数据库系统300

12.2.2分布式数据库系统304

12.2.3云数据库系统308

12.3面向应用领域的数据库新技术310

12.3.1数据仓库与数据挖掘310

12.3.2空间数据库314

12.3.3机器学习321

12.3.4大数据分析技术323

12.3.5物联网技术326

12.3.6云计算328

习题12331

附录A系统内置函数332

附录BSQL Server中常用的全局变量337

参考文献339

前  言
前言21世纪是信息的世纪,数据库技术作为一种信息管理技术,几乎应用到了所有的信息技术领域。越来越多的学校将数据库课程设置为必修课程,教育部考试中心每年举行的全国计算机等级考试中都专门设置了“数据库工程师”的等级考试,由此可见数据库技术的重要地位。本书按照普通高等学校数据库教学大纲的要求,详细地介绍数据库系统结构、数据模型、关系数据库设计理论和规范化理论等数据库基本原理。同时,在应用环节,介绍了微软公司的最新数据库管理系统Microsoft SQL Server 2016。详细介绍了该软件的安装和配置,如何建立表、索引和视图,如何使用存储过程和触发器,以及数据库的安全保护问题。最后,结合大数据技术,介绍了数据库的最新发展技术和发展趋势。本书以培养综合型人才为目标,摒弃传统教材知识点设置按部就班、理论讲解枯燥无味的弊端,全书用一个现实生活中的案例贯穿,使学生在解决实际问题的过程中学到数据库的原理和技术。通过本书的学习,学生可以了解数据库的发展简史,明确数据库在各行各业信息化管理工作中的重要地位,掌握数据库的基本原理,熟悉利用数据库进行数据管理的基本技术,具备从事信息管理的基本素质,从而能够从事IT行业相关岗位的管理工作。本书建议讲授时数为32学时,实验时数为16学时。具体每章教学时间分配见下表。章节内容讲授学时实验学时第1章数据库系统概述20第2章数据模型40第3章关系数据库40第4章关系数据库标准语言SQL62第5章SQL语言高级功能42第6章数据库设计理论40第7章数据库规范化理论20第8章数据库的安全性策略40第9章典型关系数据库管理系统SQL Server 2016介绍02续表章节内容讲授学时实验学时第10章SQL Server 2016的SQL编程技术08第11章SQL Server 2016的数据库保护技术02第12章数据库技术的新进展20合计3216其中,带“”号的5.5节、7.3节、7.4.5节和7.6节可不作讲授内容,供有余力的同学自学。本书的第1~11章由吴秀丽编写,第12章由杜彦华编写。全书由吴秀丽统稿。本书适合于普通高等院校“数据库技术与应用”课程的通用教材,也适合于从事信息管理和计算机软件开发人员参考,同时,本书也可以用作教育部考试中心计算机等级考试的参考书。在本书的编写过程中参考了大量的相关文献资料,在此谨向相关专家学者表示诚挚的谢意。由于编者水平有限,加之时间仓促,虽然对全书进行了反复修改完善,但仍难免有不妥之处,恳请读者批评指正。
作者2018年3月数据库技术与应用SQL Server 2016 
免费在线读
第3章关系数据库关系数据库是目前主流的数据库类型,其基础是关系数据模型。相对于层次数据模型和网状数据模型,关系数据模型是发展相对较晚的。尽管如此,关系数据模型技术也已经发展得非常完善,成为数据库领域中占据主导地位的一种数据模型。关系数据模型作为数据模型的一种,也由3部分组成: 关系数据结构、关系数据操作和关系数据的完整性约束条件。下面分别介绍。3.1关系数据结构在关系数据模型中,无论是实体还是实体间的各种联系均用关系(Relation)来表示。在用户看来,关系数据模型中数据的逻辑结构是一张规范化的二维表。在日常生活中,经常看到二维表,例如班级点名册、成绩单等。表31是一个学生的点名册,就是一个规范化的二维表。表31平时成绩单序号学号姓名性别1234567891101张三男2102李四女从表中可以看出,作为一个规范化的二维表,应该具有如下特点。(1) 表有表名。(2) 表由两部分组成: 表头和数据行。(3) 表有若干列,每列都有列名。(4) 同一列的取值来自同一个定义域。(5) 每一行的数据代表一个具体的实体。(6) 表中不允许再有表,即每一列都不能再细分为更多的子项。比如表32就不是一个规范化的二维表,因为其中存在“表中有表”的现象。第3章关系数据库数据库技术与应用SQL Server 2016表32学生成绩统计表序号学号姓名成绩平时试卷总分备注140640001刘平204767 240640002于涛186078对表中的数据可以进行添加、修改、删除、查询等操作。1. 基本概念及术语相应于二维表的这些特点,关系数据模型提出了一些专用的概念及术语。关系模式: 在关系数据库中,关系模式是关系中信息内容结构的描述。作为一个关系模式,必须描述关系由哪些属性组成,这些属性来自哪些域,以及属性和域之间的映像关系。具体而言,关系模式应包括关系名、属性名、每个属性列的取值集合、数据完整性约束条件以及各属性间固有的数据依赖关系等。关系模式对关系的描述,一般表示为:关系名(属性集合,属性取值域,属性列到域的映射,完整性约束条件,属性集间的依赖关系)通常,为了简化起见,不涉及完整性约束及依赖关系,关系模式可以表述为:关系名(属性1,属性2,…,属性n)例如,“商品”关系模式可以表示为:商品(商品编码,商品名称,单价,生产批次)关系: 就是一张规范化的二维表。一个规范化的二维表有表名、表头和数据,相应地,一个关系由关系名、关系模式和关系实例3部分组成。元组: 关系中的一行即为一个元组,有时也称为一个记录。属性:  关系中的一列即为一个属性,如“商品”关系有4个属性,即商品编码、商品名称、单价、生产批次。域:  属性的取值范围称为该属性的域。候选码: 可以唯一确定一个元组的最小属性集合称为候选码(Candidate Key),或简称为码(Key)。例如表31中的学号,按照学生学号的编排规则,每个学生的学号都不相同,所以它可以唯一确定一个学生,也就成为一个关系的码。超码: 这里要注意的是,被称为码的属性集合必须是最小的,例如{学号,姓名}这个属性集合就不能称为码,因为存在比它更小的子集{学号}可以唯一地确定一个元组。通常将这种包含码在内的属性集合称为超码(Super Key)。主码: 一个关系至少有一个候选码,也可能有多个候选码,一般从候选码中选一个作为主码(Primary Key),其他候选码则称为候补码(Alternate Key)。主码的值可以用来识别和区分元组,它应该是唯一的,即每个元组的主码的值是不能相同的。在最简单的情况下,主码只包含一个属性。在最极端的情况下,码可以包含表中的所有属性,称为全码(All Key)。主属性: 包含在任何一个候选码中的属性称为主属性(Prime Attribute)。相反,不包含在任何候选码中的属性称为非主属性(NonPrime Attribute)。分量: 元组中的一个属性值。2. 关系的性质关系是一个规范化的二维表,这里强调“规范化”,说明作为一个关系必须受到一些约束限制,称其为关系的性质。概括来讲,这些性质分为6个方面:(1) 列是同质的,即每一列中的分量是同一类型的数据,来自同一个域。(2) 不同的列可出自同一个域,但要给予不同的属性名。(3) 列的次序无所谓,即列的次序可以任意交换。(4) 任意两个元组不能完全相同。(5) 行的顺序无所谓,即行的次序可以任意交换。(6) 分量必须取原子值,即每一个分量必须是不可分的数据项。3. 关系数据库在一个给定的应用领域中,所有实体及实体之间联系的集合构成一个关系数据库。关系数据库也有型和值之分。关系数据库的型也称为关系数据库模式,是对关系数据库的描述,它包括若干域的定义以及在这些域上定义的若干关系模式。关系数据库的值是这些关系模式在某一个时刻对应的关系实例的集合,通常称为关系数据库实例。3.2关系数据操作关系数据操作采用集合操作方式,即操作的对象和结果都是集合。这种操作方式也称为一次一集合的方式。相应地,非关系数据模型的数据操作方式则称为一次一记录的方式。对关系数据可以进行更新(插入、修改和删除)和查询等操作。无论是对关系数据的更新操作还是查询操作,其实都可以归结为对关系数据的运算。即以一个或多个关系数据为运算对象,对它们进行某些运算形成一个新关系数据,提供用户所需要的数据。关系数据运算按其表达查询方式的不同可以分为两大类: 关系代数和关系演算。关系代数包括一系列操作符,描述如何一步步地得到查询结果;而关系演算以非过程的方式描述查询要求,并不描述如何得到结果。本节重点介绍关系代数。另外还有一种介于关系代数和关系演算之间的语言,即结构化查询语言(Structured Query Language,SQL),本书将在第4章专门介绍SQL。关系代数是一种抽象的查询语言,是关系数据操纵语言的一种传统表达方式,它是用对关系的运算来表达查询的。在关系代数中,用户对关系数据的所有查询操作都是通过关系代数表达式描述的,一个查询就是一个关系代数表达式。任何一个关系代数表达式都由关系运算符和关系组成。任何一种运算都是将一定的运算符作用于一定的运算对象上,得到预期的运算结果。所以运算对象、运算符、运算结果是运算的3大要素。在关系代数中,运算对象和运算结果都是关系,运算符包括4类: 集合运算符、专门的关系运算符、比较运算符和逻辑运算符,见表33。其中,比较运算符和逻辑运算符是辅助运算符,集合运算符和专门的关系运算符是主要运算符,据此,可以把关系运算分为传统的关系运算和专门的关系运算。表33关系代数的运算符运算符分类运算符符号含义运算符分类运算符符号含义集合运算符专门的关系运算符∪并-差∩交×笛卡儿积σ选择π投影连接÷除比较运算符逻辑运算符>大于≥大于或等于<小于≤小于或等于=等于<>不等于∧与∨或┐非3.2.1传统的关系运算传统的关系运算指集合运算,是由两个关系产生一个新关系,包括并、交、差和广义笛卡儿积4种运算,它们都是二目运算。在进行关系的并、交、差运算时,参与运算的关系R和关系S必须具有相容的关系模式,即R和S包含有相同的属性个数,并且对应的属性的域也相同,此时称关系R和关系S具有并兼容特性。并兼容特性是两个关系进行并、交、差运算的前提条件。由于并兼容特性并没有要求关系R和关系S的对应属性名必须相同,所以一般规定,结果关系具有与R相同的关系模式。1. 并运算关系R和S的关系模式符合并兼容特性。关系R和S的并运算记作R∪S,结果得到一个新关系。新关系的关系模式和R的相图31R∪S同,实例是两个关系的关系实例的并集,即新关系实例由属于R或属于S的元组(或者同时属于R和S的元组)组成。并运算可以完成元组插入操作,可以用如图31所示的示意图表示并运算的原理。2. 交运算关系R和S的关系模式符合并兼容特性。关系R和S的交记作R∩S,交运算的结果得到一个新关系。新关系的关系模式和R的相同,实例是两个关系的关系实例的交集,即新关系实例由属于R且同时属于S的元组组成。可以用如图32所示的示意图表示交运算的原理。3. 差运算关系R和S的关系模式符合并兼容特性。关系R和S的差记作R-S,差运算的结果得到一个新关系。新关系的关系模式和R相同,但实例是两个关系的关系实例的差,即新关系实例由属于R但不属于S的元组组成。差运算可以完成对元组的删除操作,可以用如图33所示的示意图表示差运算原理。图32R∩S图33R-S

4. 广义笛卡儿积两个分别具有n个属性和m个属性的关系R和S的广义笛卡儿积是一个具有(n m)个属性的关系,记作R×S。新关系的关系模式由关系R的所有属性(次序不变)和关系S的所有属性(次序不变)连接而成。新关系实例中的元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有k1个元组,S有k2个元组,则关系R和关系S的广义笛卡儿积有k1×k2个元组。广义笛卡儿积运算可用于两张表的合并。【例31】已知两个关系R和S,请分别求R∪S,R∩S,R-S,R×S。RABCa1b1c1a1b2c2a2b2c1SABCa1b2c2a1b3c2a2b2c1【解答】R∪SABCa1b1c1a1b2c2a2b2c1a1b3c2R∩SABCa1b2c2a2b2c1R-SABCa1b1c1R×SABCABCa1b1c1a1b2c2a1b1c1a1b3c2a1b1c1a2b2c1a1b2c2a1b2c2a1b2c2a1b3c2a1b2c2a2b2c1a2b2c1a1b2c2a2b2c1a1b3c2a2b2c1a2b2c13.2.2专门的关系运算对于关系数据的查询操作,有些无法用传统的关系运算完成,需要引入一些新的运算方法,完成诸如属性指定、元组选择、关系合并等操作,这些运算称为专门的关系运算。为了方便介绍专门的关系运算,假设某超市的数据库系统,包括3个关系: 商品关系G、供应商关系S和供应关系SG,以下的所有举例都基于这个数据库系统。GGNOGTYPEGNAMEPRICE101运动类羽毛球拍120102运动类乒乓球拍80201食品类纯牛奶45SSNOSNAMESADDRESSA1五环体育广州A2耐克上海B1三元北京SGGNOSNOCOSTGNOSNOCOST101A1100102A265102A160201B1401. 选择运算选择运算是一元关系运算,它作用在一个关系上,运算前和运算后均只是一个关系。根据选择条件,从关系中筛选出符合条件的若干元组,选择操作的结果得到一个新关系。这两个关系具有相同的关系模式。它的表示方法是:σ选择条件(关系)其中,σ是希腊字母,其下标“选择条件”是个条件表达式,小括号里的关系是操作对象。条件表达式由以下规则组成。(1) 基本逻辑条件: αθβ形式,其中α、β是属性名或常量,但α、β不能同为常量。θ是比较运算符,可以是、≥、=或≠。(2) 复合逻辑条件: 由若干基本逻辑条件经过逻辑与“∧”、逻辑或“∨”和逻辑非“┐”构成。【例32】基于商品关系G,查询价格高于100的商品。【解答】该查询可以用如下的表达式来表示:σPRICE>100(G)查询的结果是:GNOGTYPEGNAMEPRICE101运动类羽毛球拍120【例33】基于商品关系G,查询运动类价格低于100的商品。【解答】该查询可以用如下的表达式来表示:σGTYPE=’运动类’∧PRICE<100(G)查询的结果是:GNOGTYPEGNAMEPRICE102运动类乒乓球拍802. 投影运算投影操作从一个关系中抽取其中某些列的值,作为一个新关系输出。新关系的关系模式是下标中的属性列表,元组则是原关系中每一个元组在投影的属性列表上的取值。它的表示方法是:π属性表(关系)其中,π表示投影操作,其下标位置的属性表表示要抽取的属性列,小括号内跟上操作对象。注意: 如果投影属性中不包含任一个候选码,则抽取结果中很可能包含重复的元组,应把重复的元组去掉。【例34】在商品关系G里查询超市里经营的商品种类。【解答】该查询可以用如下的表达式来表示:πGTYPE(G)查询的结果是:GTYPE运动类食品类3. 连接运算 用笛卡儿积运算建立两个关系的连接,并不是一个很好的方法,因为笛卡儿积的结果是一个比较庞大的关系。在实际中往往需要的是笛卡儿积中符合条件的一些元组,于是引出了连接运算。虽然连接运算可以看作是对两个关系的广义笛卡儿积作选择和投影运算,但连接运算远比单纯的笛卡儿积使用更频繁。在关系代数中,连接运算是最有用的操作之一。连接运算是从两个关系的广义笛卡儿积中选取属性之间满足一定条件的元组,记作:RSαθβ其中,连接运算符用表示,αθβ是连接条件,θ是比较运算符(>、≥、中的内容是必需的。(3) 大括号{ }中的内容至少选择一个。当括号中内容由“|”分隔时,则只能选择其中的一个;当括号中的内容由“,”分隔时,可选择其中的一个或多个。(4) 中括号[ ]中的内容是可选项。当括号中的内容由“|”分隔时,则只能选择其中的一个,或一个也不选;当括号中的内容由“,”分隔时,可选择其中的一个或多个,或一个也不选。(5) 省略号…意味着可以重复最后一个成分任意多次。4.2数据定义语言关系数据库是由一系列的关系组成的,因此,建立关系数据库的第一步工作就是建立表,描述每一个表的结构等信息。表以一定的逻辑结构和物理结构存于数据库中。SQL的数据定义语言用于创建、修改和删除数据库中的表(Table)、视图(View)和索引(Index)等。本节主要讲述关于表和索引的定义问题,视图的定义在4.5节专门介绍。4.2.1基本表的定义关系数据库中的表和常见的二维表的结构类似,表的定义包括表名和表头的定义,其中表头要描述表中各列的特征,包括列名、数据类型、长度以及相应的约束条件。在正式介绍创建表的命令之前,首先介绍定义表时用到的数据类型的定义方法。1. 数据类型SQL中常用的数据类型见表42。表42SQL中常用的数据类型数据类型名含义char(n)定长字符型,其长度为n,即占n个字节的字符串,用来保存长度(ASCII码字符的个数)小于或等于n的字符串。注意: 对于每个汉字区位码字符,其长度为2,相当于两个ASCII码字符varchar(n)长度可变的字符串型,n是最大长度,由用户指定int(integer)整数型,一般是32位字长smallint短整数型,表示的整数范围比int小,一般占16位字长float浮点型,又称实数型。该类型占4个或8个字节,能够表示相当大范围内的任何浮点数或实数,包括整数和小数decimal(m,n)或numeric(m,n)定点数,其精度由用户指定,其中m代表不包含括号位和小数点在内的数字的总位数,n则代表小数点右边的数字位数date日期型,包含年、月、日3个部分的数据time时间型,包含小时、分、秒3个部分的数据timestamp时间戳,格式为YYYYMMDD HH:MM:SS[.nnnnnn],其中nnnnnn是微秒boolean布尔型,其值为TRUE(真)、FALSE(假)除了使用系统本身支持的数据类型之外,SQL还允许用户自己定义新的数据类型,这是通过定义域的命令完成的。定义域的语法格式为:CREATE DOMAIN [AS][DEFAULT default option][CHECK (search condition)];其中,表示要创建的新域名。表示创建的新域所属的基本数据类型。DEFAULT 子句和CHECK子句是可选项,DEFAULT子句表示新定义的域的默认值,CHECK子句是一种约束子句,用于规定所定义数据类型的取值范围。【例41】定义一个专门用来标示性别的新数据类型。大家知道性别只能有两种取值: “男”或“女”,假设默认值是“男”,域名取为GENDERTYPE,那么可以这样定义这个域:CREATE DOMAIN GENDERTYPE AS char(10)DEFAULT ‘男’CHECK (value in (‘男’,’女’));一旦定义了这个域,就可以把GENDERTYPE当作一个新的数据类型来使用了,当创建表时,某一列的数据类型设为GENDERTYPE后,就限定了往表中插入数据时,取值范围是{男,女}。当不需要一个域时,可以采用删除域命令删除域的定义:DROP DOMAIN;【例42】删除性别域GENDERTYPE。DROP DOMAIN GENDERTYPE;2. 表的创建在SQL中创建基本表的语法如下:CREATE TABLE ([列级完整性约束条件][,[列级完整性约束条件]]…[,]);格式说明如下:表名: 用户自己定义要创建的表名。列名: 用户自己定义要创建的表中的列名,可以有多个。数据类型: 表中各列的取值范围,可以采用SQL的标准数据类型,也可以选用用户自己定义的数据类型。列级(或表级)完整性约束条件: 表示该列(或表)内容需要满足的约束,通常有5种。(1) 非空约束: 通过设置某列为NOT NULL,表示该列的内容不能为空,空缺时表示可以为空。(2) 唯一性约束: 通过设置某列为UNIQUE,表示该列的内容不能包含重复值(但允许有多个值为NULL)。由于主码具有唯一性,因此对主码不能再设定唯一性约束。(3) 主码约束: 表示该列为主码,用PRIMARY KEY标明。它同时蕴含了NOT NULL和UNIQUE的要求。如果主码是由多个属性列组成的,则必须采用表级完整性约束条件的方式定义,即用PRIMARY KEY(主码列列表)方式定义,其中主码列列表用“,”隔开;只涉及单个属性列时,既可以定义在列级也可以定义在表级。(4) 默认约束: 如果某列后面跟上DEFAULT,则定义了该列的默认值。如果在插入时没有指定该列的值,则DBMS自动将其值设为指定的默认值。(5) 外码约束: 表示该列是外码,用FOREIGN KEY表示。可以由两种方法定义外码。① 用列级约束定义的方式,即:如果外码只有一个属性,则可以在它的属性名和类型名后面直接用以下形式表示:FOREIGN KEY REFERENCES ();其中,是被参照的表的名称;是被参照表的相关属性名称。若被参照的属性名称与参照的属性名称相同,则可以省去。② 用表级约束定义的方式,即在定义完所有属性以后,增加一个或几个外码的说明,其格式为:FOREIGN KEY REFERENCES ()其中,是外码;是被参照的表的名称;是被参照表的相关属性名称。当采用列级定义方式时,可以省略FOREIGN KEY,直接在列名数据类型后跟上REFERENCES ()即可。无论是哪种方法,后面都还可以加上:ON DELETE(或update)RESTRICT/CASCADE/SET NULL表示当删除(或更新)被参照关系的主码值时,为了保证参照完整性,可以按以下3种方式处理:  RESTRICT(限制)方式。凡是被主关系引用的外码,一律不得删除或更新。  CASCADE(级联)。若在被参照关系中删除(或更新)了某一主码值,则相应地删除(或更新)引用了此主码值的参照关系中的元组。  SET NULL。当被引用属性被删除或更新时,将参照关系中对应属性值置为空值。当然,该属性上应没有NOT NULL说明。 定义表的同时还可以定义与该表有关的完整性约束条件,这些完整性约束条件放在数据字典中,当用户操作表中数据时,由DBMS自动检查该操作是否违背这些完整性约束条件。【例43】用SQL语言定义一个“商品”表Goods,它由商品编号Gno、商品名称Gname、价格Price和批次Batch 4个属性组成。其中,商品名称不能为空。CREATE TABLE Goods(Gno CHAR(20) PRIMARY KEY,/ 列级完整性约束/Gname CHAR(50) NOT NULL,/ 列级完整性约束/

书摘插画
插图

插图

插图

插图

插图

插图

抢先评论了 “数据库技术与应用 SQL Server 2016” 取消回复

评论

还没有评论。

相关产品

加入购物车

数值分析(英文版)

EUR €28.99
阅读更多
缺货

SQL必知必会(第4版)

EUR €20.99
加入购物车

数据算法:Hadoop/Spark大数据处理技巧

EUR €73.99
加入购物车

白话统计

EUR €43.99

东东购的宗旨是服务喜爱阅读中文书籍的海外人民,提供一个完善的购书平台,让国人不论何时何地都能沉浸在书香之中,读着熟悉的中文字,回忆着家乡的味道。


安全加密结账 安心网络购物 支持Paypal付款

常见问题

  • 货物配送
  • 退换货政策
  • 隐私政策
  • 联盟营销

客户服务

  • 联系东东
  • 关于东东
  • 帮我找书
  • 货物追踪
  • 会员登入

订阅最新的优惠讯息和书籍资讯

选择币别

EUR
USD
CAD
AUD
NZD
NOK
GBP
CHF
SEK
CNY
UAH
ILS
SAR
MXN
KRW
MYR
SGD
HUF
TRY
JPY
HKD
TWD
facebookinstagram
©2020 东东购 EasternEast.com

限时特卖:用“SALE15”优惠券全场书籍85折!可与三本88折,六本78折的优惠叠加计算。 忽略