版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.第1章 SQL Server 初步§1.1 SQL Server的简介1.1.1 什么是SQL ServerSQL:Structured Query LanguageSQL SERVER是一个以客户效劳器(cs)模式访问、使用Transact-SQL语言的关系型数据库管理子统(RDBMS)。SQL Server是一种基于网络的大型数据库软件。主要是用SQL语言来管理、修改、和修改数据库。主要运算在WINNT、WIN2000、也可运行在WIN9X上的一种DBMS。1.1.2 SQL Server 2000的主要版本及发布时间1.1.2.1 主要版本有个人(Personal)版、企业版
2、(EnterPrise)、标准版和开发版等。个人版:最多连接5个用户,可安装在WINDOWS 98、XP、WIN2000。 企业版:可连接1000个用户,需安装在WIN2000效劳版上。1.1.2.2 SQL Server 2000的发布时间1988年 MICROSOFTSYBASE合作开发1993年NT3.1平台上的SQL SERVER 421994年 中止合作 单独开发1995年 SQL SERVER 601996年 SQL SERVER 651998年 SQL SERVER 702000年 SQL SERVER 20002005年 SQL SERVER 2005SQL SERVER 20
3、21将于2021年初上市1.1.3 SQL Server的安装运行安装盘上的AUTORUN.EXE。1.1.4 SQL语言的特点1、SQL具有自含式与嵌入式两种形式v 交互式SQL:一般DBMS都提供联机交互工具,用户可直接键入SQL命令对数据库进展操作由DBMS来进展解释v 嵌入式SQL:能将SQL语句嵌入到高级语言宿主语言,使应用程序充分利用SQL访问数据库的能力、宿主语言的过程处理能力,一般需要预编译,将嵌入的SQL语句转化为宿主语言编译器能处理的语句v SQL的语法构造根本一致2、SQL具有语言简洁、易学易用的特点3、SQL支持三级模式构造一个SQL数据库的总体逻辑构造是根本表Tabl
4、e的集合,对应于概念模式SQL数据库的底层存储构造采用文件,一个或几个表对应一个存储文件,以及索引文件,对应内模式用户所见的数据构造是视图View,用户可直接操作的表,可为视图或局部根本表。对应外模式SQL视图1视图2根本表1根本表2根本表3根本表4存储文件1存储文件4外模式模式内模式存储文件2存储文件3§1.2 主要组件由企业管理器、查询分析器、效劳管理器等组成。1.2.1 效劳管理器SQL Server效劳管理器Service Manager是在效劳器端实际工作时最有用的实用程序。SQL Server效劳管理器的主要作用是用来启动数据库效劳器的实时效劳、暂停和停顿正在运行的效劳,
5、或在暂停效劳后继续效劳。1.2.2 企业管理器企业管理器(Enterprise Manager:EM)是SQL Server中一个很重要的插件,它通过GUI(图形用户界面)环境管理SQL Server。层次:根目录、效劳器组、效劳器。每一个效劳器的名称由以下几项组成:名称、数据库、数据转换效劳、管理、复制、平安性、支持效劳、Meta Data Service等。1.2.2.1 建立效劳器组在企业管理器中,可以连接与管理多个效劳器。效劳器组是用来把比拟上相似的SQLSERVER2000效劳器组织在一起的一种方式,如市场部中有4个效劳器,生产部中有6个效劳器,可以将这些效劳器都组织在“SQLSER
6、VER组中,也可以创立两个效劳器组,一个叫作“市场,一个叫做“生产,这样比拟容易区分效劳器的作用。效劳器组的建立:右键单击Microsoft SQL Servers或现有效劳器组,从弹出的菜单中选择“新建效劳器组。效劳器组的更名:右键单击要更名的效劳器组。1.2.2.2 建立效劳器首次访问EM时,第一个任务是将效劳器注册。如果在效劳器上运行,那么本地效劳器自动在SQL Server组中注册。通过EM可以添加新效劳器。1.2.3 查询分析器SQL Server 2000的查询分析器Query Analyzer可以使用户交互式地输入和执行各种Transact-SQL语句,并且迅速地查看这些语句的执
7、行结果,来完成对数据库中的数据的分析和处理。1.2.3.1 启动查询分析器执行企业管理器的“工具菜单下的“SQL 查询分析器命令或执行“MicroSoft SQL Server下的“查询分析器。1.2.3.2 查询分析器的使用新建查询文件保存查询文件1.2.4 使用帮助运行“联机丛书组件。第2章 Transact-SQL 语言根底Transact-SQL 语言又称T-SQL是MicroSoft 开发的一种SQL语言。§2.1 数据类型2.1.1 二进制数据二进制数据以十六进制形式存储。二进制数据:固定长度 (binary) 的或可变长度 (varbinary)的二进制数据类型。格式:
8、binary ( n ) 固定长度的 n 个字节二进制数据。varbinary ( n ) n 个字节变长二进制数据注释:如果在数据定义或变量声明语句中没有指定n,默认长度为 1。declare b1 varbinary(1)set b1=0x3456select b1结果为0x34而:declare b1 varbinaryset b1=0x3456select b1结果也为0x342.1.2 字符数据用来表示一串字符。字符数据型分为char、varchar等类型。Ø 长度不同时可用 varchar 类型,但任何项的长度都不能超过8KB。Ø 定长使用char类型最多8KB
9、。格式:char(n) 定长为n的字符型数据varchar(n) 最大长度为n的变长字符型数据例:declare char1 char(5)set char1='fff'select char1注意:如果没有在数据定义或变量声明语句中指定n,那么默认长度为1。2.1.3 日期时间数据日期时间数据类型:用来表示日期与时间,依时间X围与准确程度可分为DATETIME与SMALLDATETIME两种。例:4/01/98 12:15:00:00:00 PM,1:28:29:15:01 AM 8/17/98。datetime X围为1753.1.1-9999.12.31smalldate
10、time X围为1900.1.1-2079.6.6该数据类型长度固定。2.1.4 数值型数据2.1.4.1 整型数据bigint-263 -263-18B。int -2,147,483,648 至 2,147,483,6474B。smallint ( -32,768 至 32,767)2B。tinyint(0 255)(1B)。定义数据时要注意数据的X围。2.1.4.2 实型数据定点数数据:使用 decimal(numeric)数据类型存储:-1038+11038-1格式:decimal(p, s) 其中P为总位数,即精度,S为小数位数 numeric(p, s) 假设S缺省,那么无小数局部精
11、度存储字节数1 - 9510-19920-281329-3817浮点数数据:用float型和real型存储,浮点数据只是近似数据,不一定能准确表示数据。其中:Float:-1.79E+3081.79E + 308 Real:-3.4E+383,4E+38格式:float(real)(n)n 为用于存储科学记数法 float 数尾数的位数2.1.5 货币数据货币数据类型用于货币值。分为money和smallmoney类型。准确度为四位小数。money :-922,337,203,685,477.5808 922,337,203,685,477.58078B。Smallmoney:-214,748
12、.3648 214,748.36474B。2.1.6 特殊数据类型bit 数据类型只能包括 0 或 1。可以用 bit 数据类型代表 TRUE 或 FALSE、YES 或 NO。2.1.7 文本和图像数据类型文本(text):用来处理可变长的大文本数据,其中text可存储2GB。图像(image):用来处理图像数据,可存储2GB。例如,必须将一个有关用户信息的大文本文件 (.txt) 导入到 SQL Server 数据库中。应将这些数据作为一个数据块存储起来,而不是集成到数据表的多个列中。为了到达这个目的,可以创立一个text数据类型的列。然而,如果必须存储当前作为标记图象文件格式 (TIFF
13、) 图像 (.tif) 存储的、每个大小为 10 KB 的公司徽标,那么需创立一个 image 数据类型的列。§2.2 变量变量分为局部变量和全局变量,但使用前必须使用DECLARE声明2.2.1 局部变量Transact-SQL 局部变量是可以保存特定类型的单个数据值的对象,还可以保存程序执行过程中的中间数据值,保存由存储过程返回的数据值等。2.2.1.1 输出变量的值:格式: select 变量名 或 Print 变量名2.2.1.2 声明局部变量格式:DECLARE 变量名 类型(长度),作用:声明变量并将变量初始化为 NULL2.2.1.3 变量赋值可通过SET 语句和SEL
14、ECT 语句对局部变量赋值。格式:SET 变量名=表达式 SELECT 变量名=表达式2.2.2 全局变量全局变量是由系统提供且预先声明的变量,通过在名称前保存两个 () 符号区别于局部变量。全局变量在整个SQL Server系统内使用。存储的通常是一些SQL Server的配置设定值和统计数据。在使用全局变量时应该注意以下几点:l 全局变量是在效劳器级定义的。l 用户只能使用预先定义的全局变量。l 引用全局变量时,必须以标记符“开头。l 全局变量对用户来说是只读的。l 局部变量的名称不能与全局变量的名称一样。如:SERVERNAME 给出效劳器名ROWCOUNT 给出最近一个SELECT影响
15、的行数2.2.3 命令的执行与结果显示执行“查询菜单下“执行命令或F5键。执行“查询菜单下的“文本显示结果或“以表格显示结果命令§2.3 运算符和表达式2.3.1 运算符2.3.1.1 算术运算符+ - * / %(取模,求余)2.3.1.2 比拟运算符=,>, <, >=, <=, <>, !=(不等于), !>(不大于), !<(不小于)2.3.1.3 位运算符运算符含义&按位 AND按位 AND两个操作数|按位 OR按位 OR两个操作数按位异或XOR按位互斥 OR两个操作数按位求反 NOT返回数字的补数。2.3.1.4 逻
16、辑运算符运算符含义ALL如果一系列的比拟都为TRUE,那么就为TRUE。AND如果两个布尔表达式都为TRUE,那么就为TRUE。ANY如果一系列的比拟中任何一个为TRUE,那么就为TRUE。BETWEEN如果操作数在某个X围之内,那么就为 TRUE。EXISTS如果子查询包含一些行,那么就为TRUE。IN如果操作数等于表达式列表中的一个,那么就为TRUE。LIKE如果操作数与一种模式相匹配,那么就为TRUE。NOT对任何其它布尔运算符的值取反。OR如果两个布尔表达式中的一个为TRUE,那么就为TRUE。SOME如果在一系列比拟中,有些为TRUE,那么就为TRUE。2.3.1.5 字符串串联运算
17、符字符串串联运算符允许通过加号“+进展字符串串联2.3.2 表达式SQL SERVER中表达式非常丰富,除了以上表达式外,还CASE表达式等,用于复杂情况。§2.4 函数2.4.1 字符串函数2.4.1.1 ASCII功能:返回字符表达式最左端字符的ASCII代码值。格式:ASCII(character_expression )2.4.1.2 CHAR功能:将ASCII值转换为字符函数。格式:CHAR( integer_expression ) 参数:integer_expression介于0和255之间的整数。如果整数表达式不在此X围内,将返回NULL值。例:显示ASCII字符de
18、clare i as tinyintset i=32while i<126begin设置语句块,相当于循环体print char(i)set i=i+1end2.4.1.3 LEN功能:返回给定字符串表达式的字符而不是字节个数,其中不包含尾部空格。格式:LEN( string_expression )参数:string_expression要计算的字符串表达式。例:SELECT LEN('panyName')2.4.1.4 LEFT 和RIGHT功能:LEFT为左取子串函数格式:LEFT ( character_expression , integer_expressio
19、n ) 功能:RIGHT为右取子串函数:格式:RIGHT ( character_expression ,integer_expression )例:SELECT LEFT('ABCDEFG',5)2.4.1.5 LOWER和UPPER格式:LOWER(character_expression )2.4.2 日期和时间函数。2.4.2.1 DATEADD功能:在向指定日期加上一段时间的根底上,返回新的datetime值。格式:DATEADD (datepart,number,date)日期局部缩写Yearyy, yyyyquarterqq, qMonthmm, mdayofye
20、ardy, yDaydd, dWeekwk, wwHourhhminutemi, nsecondss, smillisecondms例:SELECT “出生日期csrq,周年=DATEADD(year,1,csrq) from student2.4.2.2 DATEDIFF功能:给出两个日期之间的差值。格式::DATEDIFF(datepart,startdate,enddate)例:检索所有学生的年龄:SELECT DATEDIFF(YEAR,CSRQ,GETDATE() AS AGE,CSRQ FROM STUDENT2.4.2.3 DAY、MONTH、YEAR格式:DAY ( date
21、)功能:取指定日期的日格式:MONTH ( date )功能:取指定日期的月格式:YEAR ( date )功能:取指定日期的年例:检索所有学生的年龄:SELECT YEAR(GETDATE()-YEAR(CSRQ) AS AGE FROM STUDENT2.4.2.4 GETDATE格式:GETDATE()功能:取当前系统日期和时间2.4.3 数值函数2.4.3.1 CEILING功能:返回大于或等于所给数字表达式的最小整数。格式:CEILING(numeric_expression)例:SELECT CEILING(123.45),CEILING(-123.45),CEILING(0.0)
22、2.4.3.2 FLOOR功能:返回小于或等于所给数字表达式的最大整数。格式:FLOOR(numeric_expression)例:SELECT FLOOR(123.45),FLOOR(-123.45)2.4.3.3 POWER作用:返回给定表达式乘指定次方的值。语法:POWER(numeric_expression,y)2.4.3.4 RAND返回 0 到1 之间的随机float 值。语法RAND()declare a as floatset a=rand()print a2.4.3.5 EXP返回所给的float表达式的指数值。语法:EXP(float_expression)2.4.3.6
23、 CONVERT 函数功能:将某种数据类型的表达式显式转换为另一种数据类型。CAST和CONVERT提供相似的功能。格式:CONVERT(data_type,expression)CAST(expressionAS data_type )例:selectconvert(char(6),567)2.4.4 系统函数返回数据库和数据库对象的特性信息。2.4.4.1 COL_LENGTH功能:返回列的定义长度以字节为单位。格式:COL_LENGTH ( 'table' ,'column' ) 参数:'table':表名称,Column:列名称2.4.4
24、.2 DB_NAME在master 数据库中,记录了SQL Server系统的所有系统级别信息。它记录所有的登录XX和系统配置设置及所有其它的数据库的信息,其中包括数据库文件的位置。功能:返回数据库名。语法:DB_NAME ( database_id ) 参数:database_id,是应返回数据库的标识号 (ID)。例:USE masterSELECT dbid, DB_NAME(dbid) AS DB_NAMEFROM sysdatabases2.4.4.3 DB_ID功能:返回数据库标识 (ID) 号。格式:DB_ID ( 'database_name' ) 参数:
25、9;database_name',数据库名,如果不填database_name,那么返回当前数据库ID。例:此例检查在sysdatabases中的每个数据库,使用数据库名来确定数据库ID。USE masterSELECT name, DB_ID(name) AS DB_ID FROM sysdatabases2.4.4.4 HOST_NAME功能:返回工作站名称。语法:HOST_NAME()返回类型:nchar例:select HOST_NAME()第3章 数据库的创立与管理§3.1 数据库概述数据库是相关的多维数据集及其所共享的对象的容器。这些对象包括数据源(表)、表、视图
26、、规那么、角色、存储过程、自定义函数等。如果多个多维数据集要共享这些对象,那么这些对象和多维数据集必须在同一个数据库中。在对象层次构造中,数据库直接附属于分析效劳器。因此,在安装分析效劳器后,第一个要创立的对象就是数据库。数据库可以在"数据库"对话框中进展创立3.1.1 数据库的文件组成数据库可由三种文件组成,主文件(.MDF) 、次要数据文件(.ndf)、 日志文件(.LDF),在 SQL Server中,数据库必须至少包含一个主文件和一个事务日志文件。3.1.1.1 主要数据文件该文件包含数据库的启动信息,并用于存储数据。每个数据库都有一个主文件。主文件的扩展名为.md
27、f。3.1.1.2 次要文件这些文件含有不能置于主要数据文件中的所有数据。如果主文件可以包含数据库中的所有数据,那么数据库就不需要次要数据文件。有些数据库可能足够大故需要多个次要数据文件,或使用位于不同磁盘驱动器上的辅助文件将数据扩展到多个磁盘。Ø 次要文件可有多个。Ø 次要文件的扩展名为.ndf3.1.1.3 日志文件事务日志文件保存用来恢复数据库的日志信息。每个数据库必须至少有一个事务日志文件尽管可以有多个。事务日志文件最小为512KB。数据和事务日志信息从不混合在同一文件中,并且每个文件只能由一个数据库使用。注意:每个数据库至少有两个文件,一个主文件和一个事务日志文件
28、。3.1.2 文件组文件组是SQL Server中一个或多个文件的命名集合,它构成或分配用于数据库管理的单个单元。文件组允许对文件进展分组,以便于管理和数据的分配放置。例如,可以分别在三个硬盘驱动器上创立三个文件Data1.mdf、Data2.ndf和Data3.ndf,并将这三个文件指派到文件组fgroup1中。然后,可以明确地在文件组fgroup1上创立一个表。对表中数据的查询将分散到三个磁盘上,在多处理器中,对同一文件组的不同文件,可以采用多线程并行操作,因而性能得以提高。3.1.2.1 文件组的分类3.1.2.1.1 主文件组 此文件组包含主数据文件以及任何其它没有放入其它文件组的文件
29、。系统表都在主文件组。3.1.2.1.2 用户定义文件组 该文件组是用 CREATE DATABASE 或 ALTER DATABASE 语句中的 FILEGROUP 关键字指定的任何文件组。3.1.2.1.3 默认文件组 默认文件组包含在创立时没有指定文件组的所有表和索引的页。在每个数据库中,每次只能有一个文件组是默认文件组。如果没有指定默认文件组,那么默认文件组是主文件组。3.1.2.2 文件组说明Ø 最多可以为每个数据库创立256个文件组。文件组只能包含数据文件。事务日志文件不能是文件组的一局部。Ø 文件组不能独立于数据库文件创立。文件组是在数据库中对文件进展分组的一
30、种管理机制。§3.2 数据库的创立与管理3.2.1 数据库创立3.2.1.1 使用创立数据库向导翻开企业管理器后,选中“数据库后,执行“工具菜单下的“向导命令。3.2.1.2 使用企业管理器翻开企业管理器后,右键单击“数据库,选择“新建数据库命令。3.2.1.3 使用create 命令格式:CREATE DATABASE database_name :数据库文件名ON PRIMARY :指定数据文件名,包含主文件和次文件( NAME = logical_file_name , :指定操作系统文件对应的逻辑文件名 FILENAM
31、E = 'os_file_name', :指定操作系统文件名,必须给出路径SIZE = size, :指定文件的大小,默认为MB MAXSIZE = maxsize, :指定文件的最大值 FILEGROWTH = growth_increment):指定文件增长的增量LOG ON :指定日志文件( NAME = logical_file_name , FILENAME = 'os_file_name', SIZE = siz
32、e, MAXSIZE = maxsize, FILEGROWTH = growth_increment)例如:CREATE DATABASE OrdersON PRIMARY (NAME = Orders_dat, FILENAME = 'c:program filesmicrosoft sqlservermssqldataOrders.mdf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5% )LOG ON(NAME = 'Orders_lo
33、g', FILENAME = 'c:program filesmicrosoft sql servermssqldataOrderslog.ldf', SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB)例:指定多个数据文件和多个事务日志文件CREATE DATABASE Archive ONPRIMARY ( NAME = Arch1,FILENAME = 'c:program filesmicrosoft sql servermssqldataarchdat1.mdf', SIZE = 100MB, MAXSIZ
34、E = 200, FILEGROWTH = 20),Filegroup f1( NAME = Arch2, FILENAME = 'c:program filesmicrosoft sql servermssqldataarchdat2.ndf', SIZE = 100MB, MAXSIZE = 200, FILEGROWTH = 20),Filegroup f2( NAME = Arch3, FILENAME = 'c:program filesmicrosoft sql servermssqldataarchdat3.ndf', SIZE = 100MB,
35、MAXSIZE = 200, FILEGROWTH = 20)LOG ON ( NAME = Archlog1, FILENAME = 'c:program filesmicrosoft sql servermssqldataarchlog1.ldf', SIZE = 100MB, MAXSIZE = 200, FILEGROWTH = 20),( NAME = Archlog2, FILENAME = 'c:program filesmicrosoft sql servermssqldataarchlog2.ldf', SIZE = 100MB, MAXSIZ
36、E = 200, FILEGROWTH = 20)3.2.2 数据库管理3.2.2.1 修改数据库方法一:使用企业管理器右键单击要修改的数据库,选择属性命令。方法二:使用ALTER DATABASE命令语法格式:ALTER DATABASE database ADD FILE < filespec > ,.n TO FILEGROUP filegroup_name :增加数据文件| ADD LOG FILE < filespec > ,.n :增加日志文件| REMOVE FILE logical_file_name:删除文件| ADD FILEGROUP filegr
37、oup_name :增加文件组| REMOVE FILEGROUP filegroup_name :删除文件组| MODIFY FILE < filespec > :修改文件组| MODIFY NAME =new_dbname :修改数据库名| MODIFY FILEGROUP filegroup_name filegroup_property | NAME =new_filegroup_name 3.2.2.1.1 增大数据库文件ALTER DATABASE Ordersmodify file (name='stuman_dat',size=60MB)3.2.2.
38、1.2 增加辅助文件ALTER DATABASE stumanadd file (name=stumanADD,filename='c:stuman_add.ndf',size=20MB,maxsize=50,filegrowth=20%)3.2.2.1.3 从数据库中删除文件ALTER DATABASE Orders REMOVE FILE stumanADD3.2.2.1.4 增加文件组例:ALTER DATABASE OrdersADD FILEGROUP Test1FG1GOALTER DATABASE OrdersADD FILE ( NAME = test1dat3
39、, FILENAME = 'c:Program FilesMicrosoft SQL ServerMSSQLDatat1dat3.ndf', SIZE = 5MB, MAXSIZE = 100MB, FILEGROWTH = 5MB)TO FILEGROUP Test1FG13.2.2.1.5 向数据库中添加日志文件ALTER DATABASE OrdersADD LOG FILE ( NAME = test1log2, FILENAME = 'c:Program FilesMicrosoft SQL ServerMSSQLDatatest2log.ldf',
40、SIZE = 5MB, MAXSIZE = 100MB,FILEGROWTH = 5MB)3.2.2.2 删除数据库3.2.2.2.1 使用企业管理器3.2.2.2.2 使用DROP命令DROP DATABASE从 MicrosoftSQL Server删除一个或多个数据库。语法:DROP DATABASE database_name§3.3 数据库的其它管理3.3.1 导入与导出数据库导入:将其它类型的数据文件转换为SQL数据库文件,如将.XLS电子表格导入至SQL中。导出:将SQL数据库转换为其他的数据文件。3.3.2 别离与连接数据库SQLSERVER允许用户断开数据库的连接,
41、以后再连接数据库。这为数据库的复制和携带提供了条件,当然,更多的是创立可移动数据库,以使在不同介质上移动数据库。3.3.2.1 别离数据库方法一:使用企业管理器右键单击要别离的数据库名,在“所有任务中选择“别离数据库方法二:使用sp_detach_db命令格式:sp_detach_DB 数据库名功能:断开指定数据库的连接,此时要求此数据库没有被使用。Sp_detach_db stuman3.3.2.2 连接数据库方法一:使用企业管理器右键单击空白区域,选择“附加数据库命令方法二:使用sp_attach_db命令格式:sp_attach_db dbname= '数据库名', fi
42、lename1= '数据文件名' ,.16 如:将上例别离出去的STUMAN库与SQL SERVER连接。sp_attach_db stuman,filename1='C:Program FilesMicrosoft SQL ServerMSSQLDatastu.MDF',filename2='C:Program FilesMicrosoft SQL ServerMSSQLDatastu.lDF'方法三:使用CREATE DATABASE命令格式:CREATE DATABASE 数据库名 ON PRIMARY (FILENAME = 数据文件名
43、)LOG ON(FILENAME = 事务日志文件名 ) FOR ATTACH例:create database smon primary (filename='C:Program FilesMicrosoft SQL ServerMSSQLDatastuman.MDF')LOG ON (FILENAME='C:Program FilesMicrosoft SQL ServerMSSQLDatastuman.LDF')FOR ATTACH3.3.3 数据库的备份与恢复数据库备份是一个复杂的过程,其主要目的有二:(1) 当当前数据遭到意外破坏时,可以启用后备数据库
44、(2) 为了从一台机器到另一台机器所进展的数据传输数据库的备份包括静态备份和动态备份,完全备份、增量备份及日志备份等,在此只讲述数据库的简单备份。3.3.3.1 备份在企业管理器右击要备份的数据库,在出现的菜单中选择“所有任务/备份数据库,按要求操作即可。3.3.3.2 恢复在企业管理器中右击,在出现的菜单中选择“所有任务/复原数据库,按要求操作即可。§3.4 系统数据库及样本数据库SQL Server 系统有四个系统数据库,它们用于支持SQL Server操作,安装应用程序会自动生成。系统数据库包含元数据,即关于数据的数据,这些系统数据库都是不能删除的。3.4.1 master 数
45、据库 记录 SQL Server 系统的所有系统级别信息。它记录所有的登录XX和系统配置设置、系统存储过程和其他数据库的存储性,另外还记录所有其它的数据库,其中包括数据库文件的位置。如果master数据库被破坏,那么SQL Server将无法运行,因此必须经常备份master数据库。Sysdatabases表:是存储在 master 数据库中的一个非常重要的表,它记录了SQL Server上的所有数据库信息,每个数据库在表中占一行。3.4.2 tempdb 数据库 tempdb 数据库保存所有的临时表和临时存储过程。tempdb 数据库在 SQL Server 每次启动时都重新创立,临时表和存
46、储过程在连接断开时自动除去。3.4.3 model 数据库 model 数据库用作在系统上创立的所有数据库的模板。当执行CREATE DATABASE 语句时,新数据库通过复制 model 数据库中的内容创立。3.4.4 msdb 数据库 Msdb数据库保存SQL Server Agent(代理)的信息,此数据库存储处理作业、备份、警告信息。另外还有两个例如数据库NORTHWIND和PUBS。练习:1、请创立名称为“studentmanager的数据库,要求如下:(1) 数据文件建立在主文件组中。(2) 主数据文件逻辑文件名为“stuman_dat,物理文件名为“stuman_dat.mdf,
47、事务日志文件逻辑文件名为“stuman_log,物理文件名为“stuman_log.log,都存储在E:SQL文件下。(3) 数据文件及事务文件初始值为2M,每次可增长1M,最大值为10M。(4) 使用SQL命令完成。2、添加一个GROUP1文件组,并在该文件组中添加一个数据文件,逻辑文件名为stuman_dat1,物理文件为stuman_dat1.ndf,存储在d:。3、将数据库更名为“stumansys。第4章 表的创立和管理§4.1 创立表SQL SERVER2000中的存储有一定限制,但我们通常不会到达这个极限,表中的列限于1024列,行中字节数限于8060B(每个页面为8K
48、,但每个页面都包括一个132字节的页面头)。但是,图形之类的数据类型可以存放到2GB,因为这类数据存放在数据行之外的另一数据页中。表中的行数只受存储空间的限制,是物理限制而不是数据库限制。对表的建立,可使用企业管理器,也可使用T-SQL语句完成。4.1.1 用企业管理器建立表的构造4.1.2 用CREATE TABLE命令建立表的构造使用CREATE TABLE语句创立表的简单语法如下:CREATE TABLE 数据库名.表所有者.表名( 列名 数据类型 NULL | NOT NULL , ) ON 文件组名 | DEFAULT 说明: (1) 表名最多由128个字符组成(2) 表均是在特定数
49、据库上创立,创立表时,可直接指定数据库名和表所有者。CREATE TABLE STUMAN.DBO.TT()否那么要用以下两种方法指定其所属数据库:A. 使用USE 命令先翻开数据库B. 通过工具栏选取当前数据库(3)NULL/NOT NULL:指定该列是否可以取空值4在建表前,如果不知道是否有同名表存在,可以使用OBJECTID表名是否为空的方式判断该表是否存在。if object_id('dbo.tt') is null create table tt (name char(1)其中OBJECTID表名为返回对象的标识号。4.1.3 自动获取列值创立表后,要以往表中添加行,
50、一般情况下,添加行时,应为每一列指定值,但可使用以下方法自动获取列值。4.1.3.1 使用列表达式 创立表时使用列表达式的语法如下:CREATE TABLE 数据库名.数据所有者.表名( , 列名 AS 列表达式 , ) 此时,该列不用再指定数据类型。 在企业管理器中添加相应列后,右键单击选择“运行即可见结果。 如:CREATE TABLE STUDENT1 (NAME CHAR(8), BIRTHDAY SMALLDATETIME, AGE AS YEAR(GETDATE()-YEAR(BIRTHDAY) )4.1.3.2 指定默认值方法一:在创立表时指定默认值:CREATE TABLE 数
51、据库名.数据所有者.表名( 列名 数据类型 NULL | NOT NULL DEFAULT 常量表达式 , )例:CREATE TABLE STUDENT2 (NAME CHAR(8), COLLEGE CHAR(20) DEFAULT XX八一农垦大学 )方法二:先创立默认值对象,再绑定到表中的某一列上。创立默认值对象的格式如下:CREATE DEFAULT 默认值对象名 AS 常量表达式绑定到指定列上的格式为: SP_BINDEFAULT 默认值对象名,表名.列名例:CREATE default yx1 as '信息技术学院'Go此处必须入GO命令,否那么系统会把后续命令作
52、为默认值的一局部, 从而产生错误sp_bindefault 'yx1','student2.yxmc'取消(解除)绑定:Sp_ _unbindefault表名.列名删除默认值对象:DROP DEFAULT 默认值对象名4.1.4 标识列每个表中只能创立一个标识符列。如果为该列指定IDENTITY属性,那么该列的值由系统根据标识特性产生。标识特性包括种子值和增量值,第一行的表列的值作为种子值,而相邻两行的差值为增量值。格式:CREATE TABLE 数据库名.数据所有者.表名( 列名 数据类型 IDENTITY ( 种子值, 增量值 ) NOT NULL , )注
53、意: 1) 一个表只能有一列定义为 IDENTITY 属性,而且该列必须以 decimal、int、numeric、smallint、bigint 或 tinyint 数据类型定义。2) 可指定种子和增量值。二者的默认值均为 1。3) 标识符列不允许空值,也不能包含 DEFAULT 定义。4可以使用IDENTSEED'表名'函数获得IDENTITY的初始值,也可以通过IDENTINCR'表名'获得IDENTITY的增量值例:CREATE TABLE STUDENT2 (NAME CHAR(8), COLLEGE NCHAR(20) DEFAULT 'XX八一农垦大学', sno int identity(101,1) not null )4.1.5 CHECK检查约束 检查约束即指定列的取值X围。指定检查约束有三种方法:4.1.5.1 使用企业管理器在创立表时通过属性/CHECK约束创立。4.1.5.2 定义列时指定检查约束,此时不必指定约束名,由系统自定义约束名创立表时在定义列时指定检查
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年分期付款户外运动器材购买合同
- 网吧装修合同终止通知书
- 智能科技设备制造合同
- 油漆工的合同承包合同
- 甲乙买卖合同
- 物流信息系统搭建合同
- 5G通信网络建设项目施工合同
- 造纸工业环保合同
- 二零二四上海住宅租赁合同范本(含宠物饲养条款)3篇
- 2025年度硅澡泥环保涂料研发、生产及施工合同
- 新版中国食物成分表
- 《财务管理学(第10版)》课件 第5、6章 长期筹资方式、资本结构决策
- 房屋永久居住权合同模板
- 初中英语不规则动词表(译林版-中英)
- 2024年3月四川省公务员考试面试题及参考答案
- 新生儿黄疸早期识别课件
- 医药营销团队建设与管理
- 二年级数学上册口算题100道(全册完整)
- 冷轧工程专业词汇汇编注音版
- 小升初幼升小择校毕业升学儿童简历
- 第一单元(金融知识进课堂)课件
评论
0/150
提交评论