关系数据库标准语言SQL_1_第1页
关系数据库标准语言SQL_1_第2页
关系数据库标准语言SQL_1_第3页
关系数据库标准语言SQL_1_第4页
关系数据库标准语言SQL_1_第5页
已阅读5页,还剩141页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第3 3章章 关系数据库关系数据库标准语言标准语言SQLSQLDatabase Principles and Applications第第3 3章章 关系数据库标准语言关系数据库标准语言SQLSQL3.1 SQL3.1 SQL概述概述3.2 3.2 数据定义数据定义3.3 3.3 数据查询数据查询3.4 3.4 数据更新数据更新3.5 3.5 索引索引3.6 3.6 视图视图3.1 SQL3.1 SQL概述概述vSQL(Structured Query Language) 结构化查询语言,是关系数据库的标准语言vSQL是一个通用的、功能极强的关系数据库语言Database Principle

2、s and ApplicationsSQLSQL概述概述SQLSQL的起源与发展的起源与发展1986年年10月美国国家标准局月美国国家标准局ANSI批准批准SQL作为作为关系数据库语言的美国标准。称为关系数据库语言的美国标准。称为SQL 86。1989年年10月颁布增强完整性特征的月颁布增强完整性特征的SQL 89标准标准1992年年ISO对标准又进行了修订,称为对标准又进行了修订,称为SQL 921999年年ISO颁布了颁布了SQL 99。SQL标准经历三次修订,分别为标准经历三次修订,分别为SQL 2003、SQL 2006和和SQL 2008Database Principles and

3、 ApplicationsSQLSQL概述概述SQLSQL的起源与发展的起源与发展 标准 大致页数 发布日期n SQL/86 1986.10n SQL/89(FIPS 127-1) 120页 1989年n SQL/92 622页 1992年n SQL99 1700页 1999年n SQL2003 3600页 2003年Database Principles and ApplicationsSQLSQL概述概述SQLSQL组成组成 数据定义语言数据定义语言(DDL)对模式、基本表、视图、索引、域等的创建、修改和删除操作。 数据操纵语言数据操纵语言(DML)查询和更新数据库中的数据。 数据控制语言

4、数据控制语言(DCL)对基本表和视图的授权、完整性规则的描述、事务控制等。 嵌入式嵌入式SQL语言语言(ESQL)规定SQL语句在高级程序设计语言中使用的规范与标准Database Principles and ApplicationsSQLSQL概述概述SQLSQL特点特点1.综合统一综合统一n 集数据定义语言(DDL),数据操纵语言(DML),数据控制语言(DCL)功能于一体。n 可以独立完成数据库生命周期中的全部活动: 定义关系模式,插入数据,建立数据库; 对数据库中的数据进行查询和更新; 数据库重构和维护 数据库安全性、完整性控制等n 用户数据库投入运行后,可根据需要随时逐步修改模式,

5、不影响数据的运行。n 数据操作符统一Database Principles and ApplicationsSQLSQL概述概述SQLSQL特点(续)特点(续)2.高度非过程化高度非过程化v非关系数据模型的数据操纵语言“面向过程面向过程”,必须制定存取路径vSQL只要提出“做什么”,无须了解存取路径v存取路径的选择以及SQL的操作过程由系统自动完成。Database Principles and ApplicationsSQLSQL概述概述SQLSQL特点(续)特点(续)3.面向集合的操作方式面向集合的操作方式v非关系数据模型采用面向记录的操作方式,操作对象是一条记录vSQL采用集合操作方式

6、操作对象、查找结果可以是元组的集合 一次插入、删除、更新操作的对象可以是元组的集合Database Principles and ApplicationsSQLSQL概述概述SQLSQL特点(续)特点(续)4.语言简洁,易学易用语言简洁,易学易用SQL功能极强,完成核心功能只用了9个动词。Database Principles and ApplicationsSQLSQL概述概述SQLSQL特点(续)特点(续)5.以同一种语法结构提供多种使用方式以同一种语法结构提供多种使用方式vSQL是独立的语言 能够独立地用于联机交互的使用方式vSQL又是嵌入式语言 SQL能够嵌入到高级语言(例如C,C+,

7、Java)程序中,供程序员设计程序时使用Database Principles and ApplicationsSQLSQL概述概述SQLSQL特点(续)特点(续)6.支持三级模式结构支持三级模式结构Database Principles and ApplicationsSQLSQL概述概述SQL视图视图2视图视图1基本表基本表2基本表基本表1基本表基本表3基本表基本表4存储文件存储文件2存储文件存储文件1外模式外模式模模 式式内模式内模式SQLSQL特点(续)特点(续)v 基本表n 本身独立存在的表n SQL中一个关系就对应一个基本表n 一个(或多个)基本表对应一个存储文件n 一个表可以带若

8、干索引v 存储文件n 逻辑结构组成了关系数据库的内模式n 物理结构是任意的,对用户透明v 视图n 从一个或几个基本表导出的表n 数据库中只存放视图的定义而不存放视图对应的数据n 视图是一个虚表n 用户可以在视图上再定义视图Database Principles and ApplicationsSQLSQL概述概述示例数据库示例数据库Database Principles and ApplicationsSQLSQL概述概述nonamegenderagespecialty14001王建立 男18CP 14002张玲 女19FR 14003王军 男20IF 14004李建国 男19CP 14005

9、赵文娟 女18MA isbnnameauthorpublisherpricecategory04-012955-7积分变换 张元林 高等教育出版社 8.00理04-023909-6线性代数 贾兰香 高等教育出版社 16.00理302-00860-4C程序设计 谭浩强 清华大学出版社 20.00工302-02368-5数据结构_C语言版 严蔚敏 清华大学出版社 22.00工302-03314-5数据结构题集 严蔚敏 清华大学出版社 16.00工5613-3644-6读者文摘精粹版 周宏 陕西师范大学出版社 38.00文81080-159-1大学英语 李荫华 上海外语教育出版社 35.00文noi

10、sbnstartdateenddatefine14001302-00860-42013/8/6 0.0014001302-02368-52013/3/10 2013/6/152.0014001302-03314-52013/3/102013/7/123.001400304-012955-72013/10/72013/12/203.5014004302-00860-42013/1/92013/3/90.0014004302-03314-52013/5/9 0.0014005302-00860-42013/6/182013/7/100.00reader表表book表表borrow表表数据类型数据类

11、型 数据库中的所有数据都存放在按行与列格式组织的基本表中,数据类型是数据的一种属性,决定数据存储的空间、数据的长度以及数据能参与的运算。 SQL提供的数据类型可以归纳为:数值类型、字符类型、日期时间类型、货币类型和其他数据类型。 说明:不同的说明:不同的SQL实现定义的数据类型以及实现定义的数据类型以及使用的关键字有所不同。以下所述数据类型适用使用的关键字有所不同。以下所述数据类型适用SQL Server,其他,其他SQL实现请参照其说明。实现请参照其说明。Database Principles and ApplicationsSQLSQL基本知识基本知识数据类型(续)数据类型(续)1.数值类

12、型数值类型数值类型根据其所存储数据的精确与否,分为精确数值类型和近似数值类型。(1)精确数值类型精确数值类型用来存储没有小数位的整数或定点小数Database Principles and ApplicationsSQLSQL基本知识基本知识类别数据类型字节数取值范围Integerbigint8-263263-1int4-231231-1smallint2-32 76832 767tinyint10255Exact numricdecimal(p,s)517-1038+11038-1数据类型(续)数据类型(续) decimal和numeric数据类型需要提供两个参数,第1个参数说明数据类型的精

13、度,即数字的个数,第2个参数说明数据类型的小数位数,例如decimal(12,4),定义一个数据类型,其中可以存放12位数字,其中小数点后面有4位数字。 在SQL Server中decimal和numeric两者唯一的区别在于decimal不能用于带有identity关键字的列。 数据类型bigint, int, smallint和tinyint数据类型只能用于存储整数。decimal和numeric数据类型既可以存放小数数值,也可以存放整数,当参数s的值取0时,表示这两种数据类型中存放的是整数Database Principles and ApplicationsSQLSQL基本知识基本知识

14、数据类型(续)数据类型(续)(2)近似数值类型近似数字数据类型可以存储十进制值,用于表示浮点数据。此类型的数据不一定有精确的表示。SQL Server存储数据时对小数点右边的数进行四舍五入。只有在精确数据类型不够大,不能存储数值时,才考虑使用float。float(n)中n的取值范围为153。当1n 24时,占用4字节,精度为7;当25n 53时,占用8字节,精度为15。Database Principles and ApplicationsSQLSQL基本知识基本知识数据类型字节数取值范围float(n)4或8-2.23E3082.23E308real4-3.4E383.4E38数据类型(续

15、)数据类型(续)2.字符类型字符类型 字符类型是用于存储字符型数据的。该数据类型可以使用ASCII编码或Unicode编码。 ASCII编码要求用8个二进制位来表示字母的范围。 Unicode标准使用2个字节来表示每个字符。在 Unicode标准中,包括了以各种字符集定义的全部字符。 字符类型常量应该用单引号单引号括起来。Database Principles and ApplicationsSQLSQL基本知识基本知识数据类型(续)数据类型(续)Database Principles and ApplicationsSQLSQL基本知识基本知识数据类型数据类型字节数字节数字符数字符数作用作用

16、char(n)18000最多最多8 000个字符个字符固定宽度的固定宽度的ASCII数据类型数据类型varchar(n)18000最多最多8 000个字符个字符可变宽度的可变宽度的ASCII数据类型数据类型varchar(max)最大最大2 G最多最多1 073 741 824个字符个字符可变宽度的可变宽度的ASCII数据类型数据类型text最大最大2 G最多最多1 073 741 824个字符个字符可变宽度的可变宽度的ASCII数据类型数据类型nchar(n)28000最多最多4 000个字符个字符固定宽度的固定宽度的Unicode数据类型数据类型nvarchar(n)28000最多最多4

17、000个字符个字符可变宽度的可变宽度的Unicode数据类型数据类型nvarchar(max)最大最大2 G最多最多536 870 912个字符个字符固定宽度的固定宽度的Unicode数据类型数据类型ntext最大最大2 G最多最多536 870 912个字符个字符固定宽度的固定宽度的Unicode数据类型数据类型数据类型(续)数据类型(续)3.日期时间类型日期时间类型 日期时间类型数据,可具体分为datetime与smalldatetime两种类型。datetime和smalldatetime数据类型在计算机内部是作为整数存储的。 datetime类型存储为1对4字节整数,前4字节存储日期值

18、,后4字节存储时间值。它们一起表示自1753年1月1日午夜12点钟经过的毫秒数。 smalldatetime类型存储为一对2字节整数,前2字节存储日期值,后2字节存储时间值,它们一起表示自1900年1月1日午夜12点钟经过的分钟SQLSQL基本知识基本知识Database Principles and Applications数据类型(续)数据类型(续) 日期时间数据类型由有效的日期和时间组成。如有下列日期和时间数据“12/05/98 12:26:00:00:00 PM”和“2:38:29:15:01 AM 6/15/98”。前一个数据是日期在前,时间在后。 SQL Server中常用的日期和

19、时间表示格式如下: 分隔符可用/、-或. ,例如4/15/2005、4-15-05或4.15.2005; 字母日期格式:April 15,2005; 不用分隔符:20050501; 时:分:秒:毫秒:08:05:25:28 时:分 AM|PM :05:08AM、08:05PMSQLSQL基本知识基本知识Database Principles and Applications数据类型(续)数据类型(续)SQLSQL基本知识基本知识Database Principles and Applications日期类型字节数取值范围datetime8从1753-1-1到9999-12-31,精度为3.33

20、毫秒smalldatetime4从1900-1-1到2079-12-31,精度为1分钟数据类型(续)数据类型(续)4.货币类型货币类型货币数据类型可用于存储精确到小数点后4个小数位的货币值。货币数据类型的特点是小数点后存储4位小数,所以在金融应用程序中很少使用这种数据类型。通常使用decimal数据类型代替货币数据类型,因为使用decimal数据类型可以更灵活地指定小数点后多位数。货币类型常量应以货币单位符号做前缀,默认$SQLSQL基本知识基本知识Database Principles and Applications数据类型 字节数 取值范围money8 -922 337 203 685

21、477.5808922 337 203 685 477.5807smallmoney4 -214 748.3648214 748.3647数据类型(续)数据类型(续)5.二进制数据类型二进制数据类型 SQL Server提供了3种二进制数据类型,允许在一个表中存储各种数量的二进制数据。SQLSQL基本知识基本知识Database Principles and Applications数据类型数据类型字节数字节数作用作用binary(n)18 000 存储固定大小的二进制数据存储固定大小的二进制数据varbinary(n)18 000 存储可变大小的二进制数据存储可变大小的二进制数据varbin

22、ary(max)最多最多2 G存储可变大小的二进制数据存储可变大小的二进制数据image最多最多2 G存储可变大小的二进制数据存储可变大小的二进制数据数据类型(续)数据类型(续) 二进制数据类型用于存储SQL Server中的文件,如Word、 Excel、 PDF、Visio以及图像等文件。 image数据类型除了可以存储图像文件以外,也可以存储其他二进制文件。varbinary(max)数据类型是SQL Server 2005新增的一种数据类型,它可以存储与image数据类型相同大小的数据,并且所有能够在binary/ varbinary数据类型上执行的操作和函数都可以在varbinary

23、 (max)数据类型上使用,这是image数据类型不能做到的。 二进制类型常量是以0 x作前缀的十六进制数字字符串。SQLSQL基本知识基本知识Database Principles and Applications运算符运算符1.比较运算符比较运算符=、=、(或者!=)2.逻辑运算符逻辑运算符AND、OR和NOT3.算术运算符算术运算符+、-、*和/SQLSQL基本知识基本知识Database Principles and Applications运算符运算符( (续续) )4.谓词谓词 BETWEEN AND NOT BETWEEN AND 用于判断属性列值是否在指定范围内。rage BE

24、TWEEN 18 AND 20rage NOT BETWEEN 18 AND 20 IN和和NOT IN用于判断属性列值是否在指定集合内。rage IN(15,17,18)rage NOT IN(15,17,18)SQLSQL基本知识基本知识Database Principles and Applications运算符运算符( (续续) ) LIKE和和NOT LIKE用于进行字符串匹配。语法格式:NOT LIKE 匹配串 ESCAPE 转义字符匹配串由普通字符和/或通配符组成。通配符:通配符:%(百分号):代表任意长度(长度可以为0)的字符串。_(下划线):代表任意单个字符。SQLSQL基本

25、知识基本知识Database Principles and Applications运算符运算符( (续续) )通配符SQLSQL基本知识基本知识Database Principles and Applications通配符说 明示 例%包含零个或多个字符的任意字符串。LIKE %cpu% 将查找在任意位置包含单词cpu的所有字符串。_(下划线) 任何单个字符。LIKE _en 将查找以en结尾的所有3个字母的字符串。 指定范围 (a-f) 或(abcdef) 中的任何单个字符。LIKE C-Pars 将查找以 ars结尾并且以介于 C 与 P 之间的任何单个字符开始的字符串。不属于指定范围

26、(a-f) 或(abcdef) 的任何单个字符。LIKE del% 将查找以 de 开始并且其后的字母不为 l 的所有字符串。运算符运算符( (续续) )如果要查询的字符串本身含有或_,需要使用ESCAPE短语对通配符进行转义。例:查询课程“Delphi_6.0”的课程号SELECT 课程名,课号 FROM 课程WHERE 课程名 LIKE Delphi/_6.0 ESCAPE /ESCAPE /短语表示“”是换码字符,这样匹配串中紧跟在之后的字符“_”不再具有通配符的含义,转意为普通的“_”字符,请注意“”不参与匹配过程。SQLSQL基本知识基本知识Database Principles a

27、nd Applications运算符运算符( (续续) ) IS NULL和和IS NOT NULL 用于判断是否为空。SQLSQL基本知识基本知识Database Principles and Applications运算符运算符( (续续) )运算符的优先级SQLSQL基本知识基本知识Database Principles and Applications优先级优先级运算符运算符1()(圆括号)()(圆括号)2+(正)、(正)、-(负)、(负)、(位非)(位非)3*(乘)、(乘)、/(除)、(除)、%(取模)(取模)4+(加)、(加)、(+ 连接)、连接)、-(减)、(减)、 &(

28、位与)(位与)5=, 、=、=、!=、!、!(比较运算符)(比较运算符)6(位异或)、(位异或)、|(位或)(位或)7NOT8AND9ALL、ANY、BETWEEN、IN、LIKE、OR、SOME10=(赋值)(赋值)3.2 3.2 数据定义数据定义 SQL的数据定义功能:数据库定义、模式定义、表定义、视图和索引的定义。 数据定义数据定义Database Principles and Applications文件和文件组文件和文件组 数据库是存储数据的容器,数据库在磁盘上是以文件为单位存储的,SQL Server将数据库映射为一组操作系统文件。 每个 SQL Server 数据库至少具有两个操

29、作系统文件:一个主数据文件和一个日志文件。 SQL Server 的数据库具有三种类型的文件 :(1)主数据文件:主数据文件是数据库的起点,指向数据库中的其他文件。每个数据库都有且只有一个主数据文件。主数据文件的推荐文件扩展名是 .mdf。创建数据库创建数据库Database Principles and Applications文件和文件组文件和文件组(2)次要数据文件(辅助数据文件):次要数据文件可用作存储用户数据和对象。如果主数据文件可以存储数据库中的所有数据,那么数据库就不需要次要数据文件。有些数据库可能比较大,所以需要多个次要数据文件,或使用位于不同磁盘驱动器上的辅助文件将数据扩展到

30、多个磁盘。并不是所有的数据库都需要次要数据文件。次要数据文件的推荐扩展名为.ndf。(3) 事务日志文件:日志文件包含着用于恢复数据库的所有日志信息。每个数据库必须至少有一个日志文件,当然也可以有多个。SQL Server 2005事务日志采用提前写入的方式,即对数据库的修改先写入事务日志中,然后再写入数据库。日志文件的推荐文件扩展名是 .ldf。创建数据库创建数据库Database Principles and Applications文件和文件组文件和文件组 数据库文件组 SQL Server中的数据库文件组分为主文件组和用户定义文件组。主文件组:主文件组包含主要数据库文件和任何没有明确指

31、派给其他文件组的其他文件。数据库的系统表都包含在主文件组中。用户定义文件组:用户定义文件组是在CREATE DATABASE或ALTER DATABASE语句中,使用FILEGROUP关键字指定的文件组。创建数据库创建数据库Database Principles and Applications文件和文件组文件和文件组 文件和文件组应用的规则文件和文件组应用的规则:(1) 一个文件只能存在于一个文件组中,一个文件组也只能被一个数据库使用。(2) 主文件组中包含了所有的系统表。当建立数据库时,主文件组包括主数据库文件和未指定组的其它文件。(3)在创建数据库对象时如果没有指定将其放在哪一个文件组中

32、,就会将它放在默认文件组中。如果没有指定默认文件组,则主文件组为默认文件组。(4)事务日志文件不属于任何文件组。创建数据库创建数据库Database Principles and Applications创建数据库创建数据库v 用户要创建数据库,必须确定数据库的名称、所有者、用户要创建数据库,必须确定数据库的名称、所有者、大小以及存储该数据库的文件和文件组。大小以及存储该数据库的文件和文件组。v 数据库名称必须遵循为标识符指定的规则数据库名称必须遵循为标识符指定的规则: 数据库名称长度为1128个字符。 名称首字符必须是一个英文字母或“_ ”、“#”和“”中的任意字符(中文版包括汉字)。 在中

33、文版SQL Server中,可以直接使用汉字为数据库命名。 名称中不能出现空格,不允许使用SQL Server 的保留字。创建数据库创建数据库Database Principles and Applications创建数据库创建数据库v在在SQL Server 中创建用户数据库主要有以下中创建用户数据库主要有以下两种形式两种形式: 在SQL Server Management Studio中创建数据库。 利用Transact-SQL语句创建数据库。创建数据库创建数据库Database Principles and Applications在在SQL Server Management Stud

34、ioSQL Server Management Studio中创建数据库中创建数据库v在SQL Server Management Studio中创建数据库的过程如下: 启动SQL Server Management Studio,在对象资源管理器中,右击“数据库”选项,在弹出的快捷菜单中选择“新建数据库”命令,如图3.1所示,打开“新建数据库”窗口。创建数据库创建数据库Database Principles and Applications图图3.1 选择选择“新建数据库新建数据库”命令命令在在SQL Server Management StudioSQL Server Management

35、 Studio中创建数据库中创建数据库创建数据库创建数据库Database Principles and Applications 在“新建数据库”窗口中的“常规”选项卡,如图4.3所示,有以下几个可选项。 在“数据库名称”文本框中,输入要创建的数据库名称,如“学生选课”。 若要通过接受所有的默认值来创建数据库,则单击“确定”按钮;否则,继续后面的可选项目的选择。 若要更改所有者名称,单击“所有者”后的 按钮选择其他所有者。 若要启用数据库的全文搜索,选中“使用全文索引”复选框。在在SQL Server Management StudioSQL Server Management Studio

36、中创建数据库中创建数据库创建数据库创建数据库Database Principles and Applications在在SQL Server Management StudioSQL Server Management Studio中创建数据库中创建数据库创建数据库创建数据库Database Principles and Applications 若要更改主数据文件和事务日志文件的默认值,并输入新值。各项的具体含义如下: 逻辑名称:用来输入数据文件或日志文件的逻辑文件名。逻辑文件名是在所有Transact-SQL语句中引用物理文件时所使用的名称。 文件类型:数据库文件的类型。对于新添加的数据库

37、文件可以选择“数据”或“日志”。 文件组:数据库中的数据文件所属的文件组。日志文件没有文件组的概念。 初始大小:确定数据库文件的初始大小。默认的数据文件初始大小为3M,日志文件为1M。 自动增长:显示设置的数据文件和日志文件的增长方式增量。单击后面的按钮 可以修改。 路径:显示数据库物理文件的存放路径。单击后面的按钮 可以选择新的存放路径。在在SQL Server Management StudioSQL Server Management Studio中创建数据库中创建数据库创建数据库创建数据库Database Principles and Applications 切换到“新建数据库”窗口

38、中的“选项”选项卡中,如图3.3所示。其中有以下几个可选项: 若要更改数据库的排序规则,从“排序规则”下拉列表框中选择一个排序规则。 若要更改恢复模式,从“恢复模式”下拉列表框中选择一个恢复模式。 若要更改数据库其他选项,从下面的列表中根据需要修改选项值。 切换到“文件组”选项卡进行设置,如图3.4所示。 如果要添加文件组,可以单击“添加”按钮,然后输入文件组的名称。 所有参数设置完毕后,单击“确定”按钮,新的数据库就创建成功。展开对象资源管理器中的数据库项,可以看到新建的数据库。创建数据库创建数据库Database Principles and Applications图3.3 新建数据库“

39、常规”选项对话框创建数据库创建数据库Database Principles and Applications图3.4 新建数据库“文件组”选项对话框利用利用Transact-SQLTransact-SQL语句创建数据库语句创建数据库vCREATE DATABASE语句的基本格式CREATE DATABASE database_name -设置数据库设置数据库名称名称 ON PRIMARY ,.n -设置数据设置数据文件文件 , ,.n -设置设置文件组文件组 LOG ON ,.n -设置日志设置日志文件文件 COLLATE collation_name -设置排序规设置排序规则名称则名称 WI

40、TH -设置外部访问设置外部访问 ;创建数据库创建数据库Database Principles and Applications利用利用Transact-SQLTransact-SQL语句创建数据库语句创建数据库创建数据库创建数据库Database Principles and Applications 说明:在T-SQL语言的命令格式中,用 括起来的内容表示是可选的;,n表示重复前面的内容;用括起来的内容表示在实际编写语句时,用相应的内容替代;用 括起来的内容表示是必选的;类似A|B的格式,表示A和B只能选择一个,不能同时都选。 语句中参数的说明如下: database_name:新建数据库

41、的名称。同一个SQL Server的实例中数据库名称必须唯一,且最长为128个字符。利用利用Transact-SQLTransact-SQL语句创建数据库语句创建数据库 ON:显式定义用来存储数据库数据部分的磁盘文件:显式定义用来存储数据库数据部分的磁盘文件(数据数据文件文件)。当后面是以逗号分隔的用以定义主文件组的数据文。当后面是以逗号分隔的用以定义主文件组的数据文件的件的 列表时,需使用列表时,需使用 ON。 列表用列表用于定义主文件组的数据文件。主文件组的文件列表后可以于定义主文件组的数据文件。主文件组的文件列表后可以包含用逗号分隔的包含用逗号分隔的列表,列表,列表用列表用于定义用户文件

42、组及其中的文件。于定义用户文件组及其中的文件。 filespec的定义格式:的定义格式: := -语法格式语法格式 ( NAME = logical_file_name , FILENAME = os_file_name , SIZE = size KB|MB|GB|TB , MAXSIZE = maxsize KB|MB|GB|TB | UNLIMITED , FILEGROWTH = growth_increment KB|MB|GB|TB|% ) ,.n 创建数据库创建数据库Database Principles and Applications利用利用Transact-SQLTrans

43、act-SQL语句创建数据库语句创建数据库 filegroup的定义格式:的定义格式: := FILEGROUP filegroup_name DEFAULT ,.n PRIMARY:用于指定主文件组中的文件。主文件组:用于指定主文件组中的文件。主文件组不仅包含数据库系统表中的全部内容,而且还包含用不仅包含数据库系统表中的全部内容,而且还包含用户文件组中没有包含的全部对象。一个数据库只能有户文件组中没有包含的全部对象。一个数据库只能有一个主文件,默认情况下,如果不指定一个主文件,默认情况下,如果不指定PRIMARY关关键字,则在命令中列出的第一个文件将被默认为主文键字,则在命令中列出的第一个文

44、件将被默认为主文件。件。 LOG ON:显式定义用来存储数据库日志的日志文件:显式定义用来存储数据库日志的日志文件。 创建数据库创建数据库Database Principles and Applications利用利用Transact-SQLTransact-SQL语句创建数据库语句创建数据库 NAME:指定数据库文件的逻辑名称,这是在:指定数据库文件的逻辑名称,这是在SQL Server系统中使用的名称,是数据库文件在系统中使用的名称,是数据库文件在SQL Server中的标识符。中的标识符。 FILENAME:指定数据库文件的在操作系统中文件名:指定数据库文件的在操作系统中文件名称和路径,

45、该操作系统文件名和称和路径,该操作系统文件名和NAME的逻辑名称一的逻辑名称一一对应。一对应。 SIZE:指定数据库的初始容量大小。如果没有指定主:指定数据库的初始容量大小。如果没有指定主文件的大小,则文件的大小,则SQL Server默认其与模板数据库中默认其与模板数据库中的主文件大小一致,其他数据库文件和事务日志文件的主文件大小一致,其他数据库文件和事务日志文件则默认为则默认为1MB。指定大小的数字。指定大小的数字size可以使用可以使用KB、MB、GB和和TB后缀,默认的后缀为后缀,默认的后缀为MB。size中不能中不能使用小数,其最小值为使用小数,其最小值为512KB,默认值为,默认值

46、为1MB。主文。主文件的件的size不能小于模板数据库中的主文件。不能小于模板数据库中的主文件。创建数据库创建数据库Database Principles and Applications利用利用Transact-SQLTransact-SQL语句创建数据库语句创建数据库 MAXSIZE:指定操作系统文件可以增长到的最大尺寸。如:指定操作系统文件可以增长到的最大尺寸。如果没有指定,则文件可以不断增大直到充满磁盘。果没有指定,则文件可以不断增大直到充满磁盘。 FILEGROWTH:指定文件每次增加容量的大小,当指定数:指定文件每次增加容量的大小,当指定数据为据为0时,表示文件不增长。增加量可以确

47、定为以时,表示文件不增长。增加量可以确定为以KB、MB作后缀的字节数或以作后缀的字节数或以%作后缀的被增加容量文件的百分比作后缀的被增加容量文件的百分比来表示。默认后缀为来表示。默认后缀为MB。如果没有指定。如果没有指定FILEGROWTH,则默认值为则默认值为10%,每次扩容的最小值为,每次扩容的最小值为64KB。 COLLATE collation_name:指定数据库的默认排序规则:指定数据库的默认排序规则。排序规则名称既可以是。排序规则名称既可以是 Windows 排序规则名称,也可排序规则名称,也可以是以是 SQL 排序规则名称。如果没有指定排序规则,则将排序规则名称。如果没有指定排

48、序规则,则将 SQL Server 实例的默认排序规则分配为数据库的排序规则实例的默认排序规则分配为数据库的排序规则。不能对数据库快照指定排序规则名称。不能对数据库快照指定排序规则名称。 WITH :控制外部与数据库之:控制外部与数据库之间的双向访问。间的双向访问。创建数据库创建数据库Database Principles and Applications利用利用Transact-SQLTransact-SQL语句创建数据库语句创建数据库【例例3-1】使用使用CREATE DATABASE创建一个新的数据库,创建一个新的数据库,名称为名称为“STUDENT1”,其他所有参数均取默认值。,其他所

49、有参数均取默认值。CREATE DATABASE STUDENT1【例例3-2】创建数据库名为创建数据库名为“STUDENT2”的数据库,包含的数据库,包含一个主数据文件和一个事务日志文件。主数据文件的逻辑一个主数据文件和一个事务日志文件。主数据文件的逻辑名为名为“STUDENT2_DATA”,操作系统文件名为,操作系统文件名为“STUDENT2_DATA.MDF”,初始容量大小为,初始容量大小为5M,最大,最大容量为容量为20M,文件的增长量为,文件的增长量为20%。事务日志文件的逻辑。事务日志文件的逻辑文件名为文件名为“STUDENT2_LOG”,物理文件名为,物理文件名为“STUDENT

50、2_LOG.LDF”,初始容量大小为,初始容量大小为5M,最大,最大容量为容量为10M,文件增长量为,文件增长量为2M。数据文件与事务日志文件。数据文件与事务日志文件都放在都放在D:SQLDATA目录。目录。创建数据库创建数据库Database Principles and Applications利用利用Transact-SQLTransact-SQL语句创建数据库语句创建数据库CREATE DATABASE STUDENT2 ON PRIMARY (NAME = STUDENT2_DATA, FILENAME =D:SQLDATASTUDENT2_DATA.MDF , SIZE = 5MB

51、, MAXSIZE = 20MB, FILEGROWTH = 20%)LOG ON (NAME =STUDENT2_LOG, FILENAME = D:SQLDATASTUDENT2_LOG.LDF, SIZE = 5MB, MAXSIZE = 10MB, FILEGROWTH = 2MB)GO说明:必须事先在说明:必须事先在D盘建立好盘建立好SQLDATA文件夹。文件夹。创建数据库创建数据库Database Principles and Applications利用利用Transact-SQLTransact-SQL语句创建数据库语句创建数据库【例例3-3】创建一个指定多个数据文件和日志文件

52、的数据库。该创建一个指定多个数据文件和日志文件的数据库。该数据库名称为数据库名称为TEACHINGDB,有,有1个个5MB和和1个个10MB的数的数据文件和据文件和2个个5MB的事务日志文件。数据文件逻辑名称为的事务日志文件。数据文件逻辑名称为TEACHINGDB1和和TEACHINGDB2,物理文件名为,物理文件名为TEACHINGDB1.mdf和和TEACHINGDB2.ndf。主文件是。主文件是TEACHINGDB1,由,由PRIMARY指定,两个数据文件的最大指定,两个数据文件的最大尺寸分别为无限大和尺寸分别为无限大和100MB,增长速度分别为,增长速度分别为10%和和1MB。事务日志

53、文件的逻辑名为。事务日志文件的逻辑名为TEACHINGDBLOG1和和TEACHINGDBLOG2,物理文件名为,物理文件名为TEACHINGDBLOG1.ldf和和TEACHINGDBLOG2.ldf,最大,最大尺寸均为尺寸均为50MB,文件增长速度为,文件增长速度为1MB。要求数据库文件和。要求数据库文件和日志文件的物理文件都存放在日志文件的物理文件都存放在D盘的盘的SQLDATA文件夹下。文件夹下。Database Principles and ApplicationsCREATE DATABASE TEACHINGDBON PRIMARY(NAME=TEACHINGDB1,FILENA

54、ME=D:SQLDATATEACHINGDB1.mdf,SIZE=5,MAXSIZE=unlimited,FILEGROWTH=10%),(NAME= TEACHINGDB2,FILENAME=D:SQLDATATEACHINGDB2.ndf,SIZE=10,MAXSIZE=100,FILEGROWTH=1)LOG ON (NAME=TEACHINGDBLOG1,FILENAME=D:SQLDATATEACHINGDBLOG1.ldf,SIZE=5,MAXSIZE=50,FILEGROWTH=1),(NAME=TEACHINGDBLOG2,FILENAME=D:SQLDATATEACHINGD

55、BLOG2.ldf,SIZE=5,MAXSIZE=50,filegrowth=1)GO创建数据库创建数据库Database Principles and Applications利用利用Transact-SQLTransact-SQL语句创建数据库语句创建数据库【例例3-4】在在【例例4-3】创建一个新的文件组,并将逻辑名称为创建一个新的文件组,并将逻辑名称为TEACHINGDB2的文件加入此文件组中。的文件加入此文件组中。CREATE DATABASE TEACHINGDBON PRIMARY(NAME=TEACHINGDB1,FILENAME=D:SQLDATATEACHINGDB1.md

56、f,SIZE=5,MAXSIZE=unlimited,FILEGROWTH=10%),FILEGROUP TEACHINGDB_DATA(NAME= TEACHINGDB12,FILENAME=D:SQLDATATEACHINGDB2.ndf,SIZE=10,MAXSIZE=100,FILEGROWTH=1)创建数据库创建数据库Database Principles and Applications利用利用Transact-SQLTransact-SQL语句创建数据库语句创建数据库LOG ON (NAME=TEACHINGDBLOG1,FILENAME=D:SQLDATATEACHINGDBL

57、OG1.ldf,SIZE=5,MAXSIZE=50,FILEGROWTH=1),(NAME=TEACHINGDBLOG2,FILENAME=D:SQLDATATEACHINGDBLOG2.ldf,SIZE=5,MAXSIZE=50,filegrowth=1)GO创建数据库创建数据库Database Principles and Applications修改数据库修改数据库v 建好数据库后,可以对其进行修改。修改数据库包括增建好数据库后,可以对其进行修改。修改数据库包括增减数据文件和日志文件、修改文件属性(包括更改文件减数据文件和日志文件、修改文件属性(包括更改文件名和文件大小)、修改数据库选项

58、等。名和文件大小)、修改数据库选项等。v 可以使用可以使用SQL Server Management Studio与与Transact-SQL语句两种方法修改数据库。语句两种方法修改数据库。创建数据库创建数据库Database Principles and Applications使用使用SQL Server Management StudioSQL Server Management Studio修改数据库修改数据库v 启动启动SQL Server Management Studio,在对象资源,在对象资源管理器中,右击所需要修改的数据库如管理器中,右击所需要修改的数据库如students,

59、在,在快捷菜单中选择快捷菜单中选择“属性属性”命令打开命令打开“数据库属性数据库属性”窗口窗口,如图,如图3.5所示。在所示。在“数据库属性数据库属性”窗口的窗口的“常规常规”选选项卡中,显示的是数据库的基本信息,这些信息不能修项卡中,显示的是数据库的基本信息,这些信息不能修改。改。v 单击单击“文件文件”选项卡,如图选项卡,如图3.6所示,可以修改数据库所示,可以修改数据库的逻辑名称、初始大小、自动增长等属性,也可以根据的逻辑名称、初始大小、自动增长等属性,也可以根据需要添加数据文件和日志文件,还可以更改数据库的所需要添加数据文件和日志文件,还可以更改数据库的所有者。有者。创建数据库创建数据

60、库Database Principles and Applications创建数据库创建数据库Database Principles and Applications图图3.5 数据库属性数据库属性“文件文件”选项卡选项卡创建数据库创建数据库Database Principles and Applications图图3.6 数据库属性数据库属性“文件文件”选项卡选项卡使用使用SQL Server Management StudioSQL Server Management Studio修改数据库修改数据库v 在在“文件组文件组”选项卡中,可以修改现有的文件组,也可选项卡中,可以修改现有的文件组,也可以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论