数据库第4次课-数据库和表-

上传人:沈*** 文档编号:253368167 上传时间:2024-12-12 格式:PPT 页数:84 大小:1.11MB
收藏 版权申诉 举报 下载
数据库第4次课-数据库和表-_第1页
第1页 / 共84页
数据库第4次课-数据库和表-_第2页
第2页 / 共84页
数据库第4次课-数据库和表-_第3页
第3页 / 共84页
资源描述:

《数据库第4次课-数据库和表-》由会员分享,可在线阅读,更多相关《数据库第4次课-数据库和表-(84页珍藏版)》请在装配图网上搜索。

1、,,,,,,,,单击此处编辑母版文本样式,,第二级,,第三级,,第四级,,第五级,,,单击此处编辑母版标题样式,,An Introduction to Database Systems,第,3,章,SQL Server,数据库基础,本章内容,3.1 SQL Server,简介,,3.2 SQL Server 2000,的安装,,3.3 SQL Server 2000,的常用管理工具,,3.4 SQL,和,Transact-SQL,概述,,,3.1 SQL Server,简介,SQL,Server,是一个关系数据库管理系统。,,SQL Server 2000,由,两个部分,组成:服务器

2、组件和客户端工具。它们负责数据的存储及检索。,,SQL Server,的客户,/,服务器工作模式,,客户端,:完成数据处理、数据表示和用户接口功能,它由,Transact-SQL,查询界面、可视化数据库开发工具(如,VB,、,PB,或,Java,等)等组成,是,SQL Server2000,提供的在客户端上运行的组件。,3.1 SQL Server,简介,SQL Server,的客户,/,服务器工作模式,,2,.,服务器端,:为客户端的请求提供服务,具有查询处理与优化、访问控制、并发控制、事物处理和故障恢复等功能,是,SQL Server2000,提供的一组在服务器上运行的组件。,,3,.,

3、通信网络,:,C,与,S,通过计算机通信网络连接而形成一个整体,,C,根据用户的需要向,S,请求服务(例如发出,SQL,查询等请求),,S,响应客户端的合法请求,进行必要的查询、更新、插入、删除等数据库操作,然后将处理结果返回给客户端。,3.1 SQL Server,简介,SQL Server2000,的分层体系结构,,,客户应用程序,数据库接口,API,网络通信组件库,,(客户端),硬件,客户端,,MS SQL Server,数据库引擎,开放数据服务,ODS,网络通信组件库(服务器端),硬件,服务器端,(表数据流),物理通信信道,,发出,SQL,请求,将,SQL,请求组装成表数据包,接收来

4、自客户端的表数据流,处理后把客户的,Transact-SQL,提交给,SQL Server,数据库引擎,接收来自,ODS,的客户,Transact-SQL,请求,经处理后把处理结果从磁盘中取出,合并成最终的查询结果,作为对,Transact-SQL,的应答信息提交给,ODS,3.1 SQL Server,简介,SQL Server 2000,的特性,,支持多个,SQL Server,实例,:,,实例:就是一个,SQL Server,数据库引擎。,,SQL Server 2000,支持在同一台计算机上同时运行多个,SQL Server,数据库引擎实例。每个,SQL Server,数据库引擎实例

5、各有一套不为其它实例共享的系统及用户数据库。所以各实例的运行是相互独立的。,,在一台计算机上安装多个,SQL Server,实例就相当于把这台计算机模拟成多个数据库服务器,而且这些模拟的数据库服务器是独立且同时运行的。,,3.2 SQL Server 2000,的安装,安装要求,,硬件需求,,,,,3.2 SQL Server 2000,的安装,安装要求,,选择合适的操作系统,,3.2 SQL Server 2000,的安装,启动,SQL Server 2000,的有关组件,,启动,SQL Server 2000,的组件,,通信组件,,服务器端组件,,,客户端组件,3.3 SQL Se

6、rver 2000,常用管理工具,SQL Server,服务管理器,,在此选择,SQaL Server 2000,的一个实例,每个实例有,4,种服务程序(服务器端组件),,,SQL Server,服务,:当客户端程序中的,T-SQL,语句向服务器端程序提出对数据库的访问请求后,服务器端程序调用系统提供的数据库引擎,完成对数机库的访问操作,并将结果返回给客户端,从而完成一次请求,/,服务过程。,,服务有,3,种状态:停止、暂停、运行。,3.3 SQL Server 2000,常用管理工具,SQL Server,企业管理器,,,,1,.,SQL Server,服务器的注册,,2,.,SQL Se

7、rver,服务器的配置,,3,.服务器组的创建,3.3 SQL Server 2000,常用管理工具,SQL,查询分析器:交互式工作方式,运行,SQL,命令的步骤,打开工具栏中的数据库下拉列表框, 选择欲运行的数据库,,在空白窗口中输入,Transact-SQL,命令,,单击工具栏上的执行按钮 运行命令,,3.3 SQL Server 2000,常用管理工具,,其他工具,,1,.导入和导出数据,,导入数据是从,SQL Server,的外部数据源,(,例如,ASCII,文本文件,),中查找数据,并将数据插入到,SQL Server,表的过

8、程;,,导出数据是将,SQL Server,数据库中的数据以用户指定的格式存储的过程,例如,SQL Server,表的内容复制到,Microsoft Access,数据库中。,,2,.联机从书,,联机丛书是一本关于,SQL Server,的使用手册,它以树型目录的方式,将一些基本概念、基本使用方法进行了详细的介绍。,,3.4 SQL,和,Transact-SQL,概述,SQL,语言的发展与特点,,SQL,是结构化查询语言,(Structured Query Language),的英文缩写,是一种使用关系模型的数据库应用语言。,,按照其实现的功能可以将,SQL,划分为如下几类:,,(1),数据

9、查询语言,(Data Query Language,,,DQL),:按一定的查询条件从数据库对象中检索符合条件的数据。,,(2),数据定义语言,(Data Definition Language,,,DDL),:用于定义数据的逻辑结构以及数据项之间的关系。,,(3),数据操纵语言,(Data Manipulation Language,,,DML),:用于更改数据库,包括增加新数据、删除旧数据、修改已有数据等。,,(4),数据控制语言,(Data Control Language,,,DCL),:用于控制对数据库中数据的操作,包括基本表和视图等对象的授权、完整性规则的描述、事务开始和结束控制语

10、句等。,3.4 SQL,和,Transact-SQL,概述,Transact-SQL,概述,,Transact-SQL,就是,SQL Server,中使用的,SQL,版本。,,Transact-SQL,对,SQL,的扩展主要包含如下,3,个方面:,,(1),增加了流程控制语句。,,(2),加入了局部变量、全局变量等许多新概念,可以写出更复杂的查询语句。,,(3),增加了新的数据类型,处理能力更强。,,本章小结,(1)SQL Server,是一个关系数据库管理系统,能直接处理,XML,数据,与,Internet,可以紧密结合,其最新版本是,2005,年,11,月份发布的,2005,版。,,(2

11、),使用,SQL Server 2000,的首要工作是系统安装。,SQL Server 2000,有企业版、标准版、个人版和开发版等,4,种版本,不同版本所包含的组件不尽相同。企业版所包含的组件最全,功能最强,对安装环境的要求也最高。,,(3) SQL Server 2000,有许多图形化管理工具,操作灵活、方便。,,(4)Transact -SQL,语言是用户使用,SQL Server 2000,的另一种方式 。,An Introduction to Database Systems,第,4,章,SQL Server,数据库的管理,本章内容,4.1 SQL Server,数据库概述,,4.

12、2,数据库的创建,,4.3,数据库的修改,,4.4,数据库的删除,,,,数据库的逻辑组件,(,数据库对象,),,,…,4.1 SQL Server,数据库概述,SQL Server,中的数据库,,,,,,,,,,,,,,,,,,,,,,,,,,Sales,数据库,,SQL Server,,,,,,,,,,,表,,,,,,,,,,,视图,数据库的物理实现,(,数据库文件,),,,…,SalesDat1.mdf,SalesDat2.ndf,SalesLog1.ldf,主数据文件,次数据文件,日志文件,,,,,,,,,,,索引,,存储过程,用户视图,物理视图,,,,,,,,,,,,,,,,,,,,

13、,,,,,,图,4-1,数据库的用户视图和物理视图,,,,,,,,,,,,,,,视图,4.1 SQL Server,数据库概述,1. SQL Server,中的数据库对象,,SQL Server,提供了很多逻辑组件,这些逻辑组件通常被称为数据库对象。,对象,作用,表,数据库中数据的实际存放处所。,视图,定制复杂或常用的查询,以便用户使用;限定用户只能查看表中的特定行或列;为用户提供统计数据而不展示细节。,索引,加快从表或视图中检索数据的效率。,存储过程,提高性能;封装数据库的部分或全部细节;帮助在不同的数据库应用程序之间实现一致的逻辑。,约束、规则、默认值和触发器,确保数据库的数据完整性;,

14、强制执行业务规则。,登录、用户、角色和组,保障数据安全的基础。,4.1 SQL Server,数据库概述,2. SQL Server,中的数据库文件,,,主数据文件,,*,.mdf,,仅有一个,,事务日志文件,,*,.ldf,,一到多个,,,,,次数据文件,*,.ndf,零到多个,,次数据文件,*,.ndf,零到多个,(,仅有一个,),,主文件组,(,零到多个,),,次文件组,,事务日志,一个数据库的文件集,图,4-2,数据库的文件组成,4.1 SQL Server,数据库概述,(1),数据文件,,数据文件是存放数据和数据库对象的文件。一个数据库可以有一个或多个数据文件,每个数据文件只属于

15、一个数据库。,,主数据文件(,primary file,):用来存储数据库的数据和数据库的启动信息。每个数据库必须有并且只有一个主数据文件,它的扩展名为,.mdf,。,,辅助数据文件(,secondary file,):用来存储数据库的数据,使用辅助数据库文件可以扩展存储空间。如果数据库用一个主数据文件和多个辅助数据文件来存放数据,并将它们放在不同的物理磁盘上,数据库的总容量就是这几个磁盘容量的和。辅助数据文件的扩展名为.,ndf,。,4.1 SQL Server,数据库概述,(2),事务日志,,事务日志文件是用来记录数据库更新信息,(,例如使用,INSERT,、,UPDATE,、,DELE

16、TE,等语句对数据进行更改的操作,),的文件。,,这些更新信息,(,日志,),可用来恢复数据库。,,事务日志文件最小为,512 KB,,扩展名为,LDF,。,,每个数据库可以有一个或多个事务日志文件。,4.1 SQL Server,数据库概述,(3),文件组,,SQL Server,允许对文件进行分组,以便于管理和数据的分配/放置。,,所有数据库都,至少包含一个主文件组,,所有系统表都分配在主文件组中。用户可以定义额外的文件组。,,数据库首次创建时,主文件组是默认文件组;可以使用,ALTER DATABASE,语句将用户定义的文件组指定为默认文件组。,4.1 SQL Server,数据库概

17、述,在使用文件组时,应当注意以下几个准则:,,文件或文件组不能由一个以上的数据库使用。,,文件只能是一个文件组的成员。,,数据和事务日志信息不能属于同一文件或文件组。,,事务日志文件不能属于任何文件组。,4.1 SQL Server,数据库概述,SQL Server,的系统数据库,,数据库服务器上自动建立了,6,个数据库,其中有,4,个系统数据库、两个示例数据库。,,系统数据库,:,,master,数据库:记录所有系统信息,,tempdb,数据库:保存所有临时表和临时存储过程。,,model,数据库:用作在系统上创建的所有数据库的模板。新建,DB,时,,model,数据库的所有对象都被复制。

18、,,msdb,数据库:供,SQL Server,企业管理器使用,,示例数据库,:,,northwind,数据库:客户订单管理,,pubs,数据库:图书出版发行管理,4.2,数据库的创建,使用企业管理器创建数据库,,使用,Transact-SQL,语句创建数据库,,命令格式:,CREATE DATABASE,,数据库名,,[ON Primary,,(NAME=…,FILENAME=…,SIZE=…,MAXSIZE=…,FILEGROWTH=…),,…,,LOG ON,,(NAME=…,FILENAME=…,SIZE=…,MAXSIZE=…,FILEGROWTH=…),,…,,FILEGROUP,

19、文件组名,],,4.2,数据库的创建,例,4-1,最简形式的创建数据库,(,不指定文件,),语句。,,CREATE DATABASE Sales,,,例,4-2,定义一个名为,CollegeMIS,的数据库,该数据库的相关文件均存放到,D:\DataApp\DataB,文件夹下。该数据库的主数据文件为,CollegeMISB_Data,,文件初始大小为,4MB,,最多可以增长到,30MB,,每次增长,5%,;事务日志文件为,CollegeMISB_Log,,文件初始大小为,2MB,,最多可以增长到,30MB,,每次增长,1MB,。,该数据库大小与,Model,数据库大小相等,4.2,数据库的创

20、建,CREATE DATABASE CollegeMIS,,ON,--,主数据文件定义,,(NAME=CollegeMISB_Data,,/*,主数据文件逻辑文件名*,/,,FILENAME='D:\DataApp\DataB\CollegeMISB_Data.mdf',,/*,主数据文件操作系统文件名*,/,,SIZE=4MB,,,MAXSIZE=30MB,,,FILEGROWTH=5%),,LOG ON,--,事务日志文件定义,,( NAME=CollegeMISB_Log,,,FILENAME='D:\DataApp\DataB\CollegeMISB_Log.ldf',,,SIZE=2

21、,,,MAXSIZE=30,,,FILEGROWTH=1),4.2,数据库的创建,例,4-3,定义一个名为,CollegeMIS2,的数据库,该数据库的数据文件包含在两个文件组中,主文件组中包含主数据文件为,CollegeMISD_Data1,和辅助数据文件为,CollegeMISD_Data2,,均存放到“,D:\DataApp\DataD”,文件夹下。,DFGroup,文件组包含辅助数据文件为,CollegeMISD_Data3,和辅助数据文件为,CollegeMISD_Data4,,均存放到“,E:\DataApp\DataD”,文件夹下。主辅数据文件的初始大小为,4MB,,最多可以增长

22、到,30MB,,每次增长,5%,。事务日志文件为,CollegeMISD_Log,,存放到,D:\DataApp\DataD,文件夹下,文件初始大小为,2MB,,最多可以增长到,30MB,,每次增长,1MB,。,CREATE DATABASE CollegeMIS2,,ON,,PRIMARY,,/*,默认的主文件组,存放到,D,盘*,/,,(,NAME=,CollegeMISD_Data1,,FILENAME=,'D:\DataApp\DataD\CollegeMISD_Data1.,mdf,',,,SIZE=4MB,,,MAXSIZE=30MB,,,FILEGROWTH=5%),,,(NAM

23、E=CollegeMISD_Data2, FILENAME='D:\DataApp\DataD\CollegeMISD_Data2.ndf',,,SIZE=4MB,,,MAXSIZE=30MB,,,FILEGROWTH=5%),,,FILEGROUP,DFGROUP,/*DFGroup,文件组,,,保存到,E,盘*,/,,(NAME=CollegeMISD_Data3, FILENAME='E:\DataApp\DataD\CollegeMISD_Data3.ndf',,,SIZE=4MB,,,MAXSIZE=30MB,,,FILEGROWTH=5%),,,(NAME=CollegeMISD_

24、Data4, FILENAME='E:\DataApp\DataD\CollegeMISD_Data4.ndf',,,SIZE=4MB,,,MAXSIZE=30MB,,,FILEGROWTH=5%),,LOG ON,,( NAME=CollegeMISD_Log, FILENAME='D:\DataApp\DataD\CollegeMISD_Log.ldf',,,SIZE=2,,,MAXSIZE=30,,,FILEGROWTH=1),4.3,数据库的修改,ALTER DATABASE,,数据库名,增加或删除数据文件和日志文件,,,ALTER DATABASE,,数据库名,ADD FILE,(

25、,文件参数,),,ALTER DATABASE,,数据库名,ADD LOG FILE,,(,文件参数,),,,ALTER DATABASE,,数据库名,REMOVE FILE (,文件参数,),,修改分配给数据文件或日志文件的空间,,,ALTER DATABASE,,数据库名,MODIFY FILE,,(,文件参数,),,创建文件组,,ALTER DATABASE,,数据库名,ADD FILEGROUP,,文件组名,,ALTER DATABASE,,数据库名,REMOVE FILEGROUP,,文件组名,,改变数据库名,,,ALTER DATABASE,,数据库名,MODIFY NAME,=,

26、新名,4.3,数据库的修改,例,4-4,向,CollegeMIS2,数据库中的文件组,DFGroup,添加一个文件名为,CollegeMISD_Data5,的辅助数据文件,并添加一个文件名为,CollegeMISD_Log1,的日志文件。然后修改主数据文件,CollegeMISD_Data1,的最大可达到的大小为,35MB,。,ALTER DATABASE CollegeMIS2,,,ADD FILE,,(NAME=CollegeMISD_Data5,,,FILENAME='D:\DataApp\DataD\CollegeMISD_Data5.ndf',,,SIZE=4MB,,,MAXSIZE

27、=30MB,,,FILEGROWTH=5%,,) TO FILEGROUP DFGroup,,,,ALTER DATABASE CollegeMIS2,,,ADD LOG FILE,,( NAME=CollegeMISD_Log1,,,FILENAME='D:\DataApp\DataD\CollegeMISD_Log1.ldf',,,SIZE=2,,,MAXSIZE=30,,,FILEGROWTH=1,,),,,,ALTER DATABASE CollegeMIS2,,,MODIFY FILE,,( NAME=CollegeMISD_Data1,,,MAXSIZE=35,,),4.3,数据

28、库的修改,例,4-5,把,CollegeMIS2,数据库添加的文件删除,并把数据库名改为,CMIS2,。,ALTER DATABASE CollegeMIS2,,,REMOVE FILE,CollegeMISD_Data5,,ALTER DATABASE CollegeMIS2,,,REMOVE FILE,CollegeMISD_Log1,,GO,,ALTER DATABASE CollegeMIS2,,,MODIFY NAME,=CMIS2,,GO,注意:,更改数据库的名称还可以使用系统存储过程,sp_renamedb,,如本例更改数据库的名称,也可以用以下,语句:,,EXEC sp_

29、renamedb 'CollegeMIS2’ 'CMIS2’,,其中,EXEC,命令用来执行存储过程。,4.4,使用和,删除数据库,,打开已创建的数据库命令格式为,,USE,,数据库名,,,删除数据库的指令格式为:,,DROP DATABASE,,数据库名,,4.4,数据库的删除,使用企业管理器删除数据库,,使用,Transact-SQL,语句删除数据库,,,例,4-6,删除单个数据库。,,DROP DATABASE CollegeMIS,,,例,4-7,删除多个数据库。,,DROP DATABASE CollegeMIS, CollegeMIS2,本章小结,(1),数据库的用户视图和

30、物理视图:用户视图是用户看到和操作的数据库,而物理视图是数据库在磁盘上的文件存储。,SQL Server,的用户视图由表、视图、索引、存储过程等数据库对象组成,物理视图由数据库文件组成。,,(2)SQL Server,的系统数据库:,master,数据库记录,SQL Server,系统的所有系统信息和所有其他数据库的结构和定义,,tempdb,数据库保存所有的临时表和临时存储过程,,model,数据库用作在系统上创建的所有数据库的模板,,msdb,数据库供,SQL Server,代理程序调度警报和作业以及记录操作员时使用。,,(3),创建、修改和删除数据库有两种常用方法,一是使用企业管理器,二

31、是使用,Transact-SQL,语句。,An Introduction to Database Systems,第,5,章,SQL Server,表的管理,本章内容,5.1 SQL Server,表概述,,5.2,表的创建与维护,,5.3,表中数据的维护,,,,5.1 SQL Server,表概述,,数据类型,,SQL Server,支持,4,种基本数据类型:字符和二进制数据类型、日期时间数据类型、逻辑数据类型、数字数据类型,用于各类数据值的存储、检索和解释。,,1,.字符和二进制数据类型,,(1),字符数据类型,,字符数据类型用于存储汉字、英文字母、数字符号和其他各种符号。,,char

32、,数据类型:,char[(n)],,,n,的取值为,1,~,8000,,varchar,数据类型 :,varchar[(n)],,,n,的取值为,1,~,8000,,text,数据类型:,用于存储数据量庞大且变长的字符文本数据,如简历信息等。,,5.1 SQL Server,表概述,(2),二进制数据类型,,SQL Server,二进制数据类型用于存储二进制数或字符串。,,SQL Server,的,3,种有效二进制数据类型:,,binary,数据类型,,varbinary[(n)],数据类型,,image,数据类型,5.1 SQL Server,表概述,2,.日期时间数据类型,,日期时间数

33、据类型用于存储日期和时间数据。,SQL Server,支持两种日期时间数据类型:,datetime,和,smalldatetime,。,,3,.逻辑数据类型,,SQL Server,的逻辑数据类型为,bit,,适用于判断真,/,假的场合,长度为一个字节。,,5.1 SQL Server,表概述,4,.数字数据类型,,SQL Server,提供了多种方法存储数值,,SQL Server,的数字类型大致可分为,4,种基本类型。,,(1),整数数据类型,,有,4,种整数数据类型:,int,、,smallint,、,tinyint,和,bigint,,用于存储不同范围的值。,,(2),浮点数据类型,

34、,浮点数据用来存储系统所能提供的最大精度保留的实数数据。,5.1 SQL Server,表概述,(3),精确数值数据类型,,精确数值数据类型用于存储有小数点且小数点后位数确定的实数 。,,格式:,,decimal[(p[, s])],,numeric[(p[, s])],,(4),货币数据类型,,除了,decimal,和,numeric,类型适用于货币数据的处理外,,SQL Server,还专门提供了两种货币数据类型:,money,和,smallmoney,。,5.1 SQL Server,表概述,5,.其他数据类型,,除了以上,4,种基本数据类型,,SQL Server,还支持其他一些数

35、据类型。,,(1)Timestamp,:时间戳数据类型,用于自动记录插入或删除操作的时间。,,注意:服务器不允许用户指定时间戳值。,,(2)sql_variant,:可变数据类型。该类型的变量可用来存放大部分,SQL Server,数据类型的值,最大长度为,8016,字节,不支持,text,、,ntext,、,timestamp,和,sql_variant,类型。,,(3)table,:表类型。这是一种特殊的数据类型,存储供以后处理的结果集。,CREATE TABLE,,表名,,(,<,列名,1> <,数据类型,>,{ identity |NOT NULL| NULL },[<,列级完整性约束

36、,>],,,<,列名,2> <,数据类型,>,{ identity |NOT NULL| NULL },[<,列级完整性约束,>],,,……,,,[<,表级完整性约束,>] ),5.2,创建表,Ÿ,,,<,表名,>,给出要创建的基本表的名称;,,Ÿ,,<,列名,>,给出列名或字段名;,,Ÿ,,,<,数据类型,>,,Ÿ,,identity |NOT NULL| NULL,,Ÿ,<,列级完整性约束,>,,Ÿ,<,表级完整性约束,>,,为列指定数据类型及其数据宽度;,,,关系数据库支持非常丰富的数据类型,不同的数据库管理系统支持的数据类型基本是一样的,右表列出了常用的数据类型。,,,数据类型,NU

37、LL,:,可以无值,默认值。空值不同于空白,(,空字符串,),或数值零,通常表示未填写、未知,(Unknown),、不可用或将在以后添加的数据。,,NOT NULL,:必须输入值,,identity,:计数器,,每个表只能有一个,identity,列,,不允许为空,,使用整型或精确数型,,用户不能修改,identity,的值,,初始值默认为,1,,增长步长默认为,1,,列级完整性约束,用于定义列或字段一级的完整性约束,名称,作用,实现的完整性,Primary key,定义主键,,,保证主键列无重复值,实体完整性,Unique,保证该列无重复值,实体完整性,Foreign key,定义外键,,

38、,保证数据表间数据的一致性,参照完整性,Check,定义表中某些列的数据范围,自定义完整性,Default,为列的数据提供默认值,自定义完整性,用于定义表一级的完整性约束,一般包括:,,PRIMARY KEY,约束(复合属性构成的主关键字说明),,FOREIGN KEY,约束(外部关键字及参照关系说明),,CHECK,约束(同时涉及到多个属性的域完整性约束),,表级完整性约束,PRIMARY KEY,定义主键约束的基本格式为:,,,[Constraint,约束名,],,,primary key,(,列名,1[,,列名,2,,,…]),,,例:,在数据库,CollegeMIS,中建立数据表,st

39、udent,,并定义主键约束,,列级约束,例,:,在数据库,CollegeMIS,中建立数据表,grade,,表中包括学号,StuNo,(,char,)、课程号,CourseNo,(,char,)、成绩,Score,(,numeric,)属性,,,主键由学号和课程号构成,,表级约束,UNIQUE,定义数据表中非主键的列在各行记录中不能出现相同的值,,,定义格式:,,,[,Constraint,,约束名,],,,UNIQUE,,(,列名,1[,,列名,2,,,…]),,FOREIGN KEY,定义外键的命令基本格式,,,[Constraint,约束名,],,,foreign key,(,列名,1

40、[,,列名,2,,,…]),references,,表名,(,列名,1[,,列名,2,,,…]),,,(注意:定义外间时要保证被定义为外健的属性在参照表中已经被定义为主健 ),例:建立数据表,student,,同时定义主键和外键,,CHECK,定义约束,check,的命令基本格式,,,,[Constraint,约束名,],check,(逻辑表达式),,DEFAULT,定义约束,default,的命令基本格式为,,,[Constraint,约束名,],,,default,常量表达式,,for,字段名,,添加或删除列,——,ALTER TABLE,命令,,修改列的属性,——,ALTER TABLE

41、,命令,,添加或删除约束,——,ALTER TABLE,命令,,更改列名和表名,——,sp_rename,5.2.2,表的维护,使用,Transact-SQL,语句修改表语法格式:,,ALTER TABLE table_name,,{,[ALTER COLUMN column_name,,{ new_data_type [(precision [, scale])] [NULL|NOT NULL],,| {ADD|DROP} ROWGUIDCOL } ],,|,ADD { [ ] | column_name AS computed_column_expression }[ , ... n ],

42、,|,[ WITH CHECK | WITH NOCHECK] ADD { } [ , ... n],,,|,DROP { [CONSTRAINT] constraint_name | COLUMN column_name} [ , ... n],,,|{CHECK | NOCHECK} CONSTRAINT {ALL | constraint_name [ , ... n]},,|{ ENABLE | DISABLE } TRIGGER { ALL | trigger_name [ , ... n]},,},修改列的属性,添加列,添加约束,删除列,删除约束,,(1),添加或删除列,,增加列

43、的语句格式,,,Alter table,,表名,,,add,列名 数据类型,,,{ identity |NOT NULL| NULL },,,…,,删除列的语句格式,,,,Alter table,,表名,,,drop column,,列名,,,ALTER TABLE student,,ADD email varchar(20) NULL,,,sp_help student,,ALTER TABLE student,,DROP COLUMN email,,,sp_help student,修改数据库表,-,,例题,例 更改表以添加新列,然后再删除该列。,(2),修改列的属性,,命令格式,,,a

44、lter table,,表名,,,alter column,列名 数据类型,,,{ identity |NOT NULL| NULL },,ALTER TABLE,student,,ALTER COLUMN address varchar(150) NOT NULL,例,5-7,将表,student,的列,address,改为,varchar(150),数据类型,并且不允许为空。,,添加约束的基本格式,Alter table,,表名,,Add [Constraint,约束名,],,约束定义,,删除约束的语句格式,,Alter table,,表名,,,Drop Constraint,,约束名,,

45、(3),添加或删除约束,例,:,向数据表,department,中添加主键约束,,alter table,deptartment,add primary key,(DepartNo),修改数据库表,--,,例题,例:向数据表,department,属性,DepartDean,增加,UNIQUE,约束,,alter table,department,add unique,(DepartDean),例:向数据表,student,属性,DepartNo,添加外键约束,,,alter table,student,add foreign key,(DepartNo),references,departm

46、ent(DepartNo),修改数据库表,--,,例题,例:将数据表,student,的属性,Sage,取值范围限定在,1-100,之间(含,1,和,100,),并将此约束命名为,ck_age,,然后再删除。,,alter table,student,add constraint,ck_age,check,(Sage between 1 and 100),修改数据库表,--,,例题,alter table,student,drop constraint,ck_age,修改数据库表,,添加或删除列,,Alter table,,表名,,,add,列名 数据类型,{ identity |NOT NU

47、LL| NULL },,,…,,Alter table,,表名,drop column,,列名,,修改列的属性,,alter table,,表名,,,alter column,列名 数据类型,{ identity |NOT NULL| NULL },,添加或删除约束,,Alter table,,表名,add [Constraint,约束名,],,约束定义,,Alter table,,表名,drop Constraint,,约束名,,(,4,),更改列名和表名,,更改,列名,,,sp_rename,‘,表名,.,原,列名,’,,,,新列名,,,更改,表名,,sp_rename,原表名,,新表名

48、,,5.2.3,表的维护:删除表,使用,Transact-SQL,语句删除表,,,DROP TABLE,,表名,,作用:删除数据表及其数据和索引,,注意:,,(1),定义有外键约束的表必须先删除外键约束,才能删除。,,(2),系统表不能使用,DROP TABLE,语句删除。,,5.3,表中数据的维护,对表中数据进行维护有两种方法:,,使用企业管理器,,使用,Transact-SQL,语句,,插入数据,,添加所有字段的数据,,Insert,[into],表名,,,Values,(数据值,1,,数据值,2,,,…,),,,添加部分字段的数据,,,Insert,[into],表名(字段,1,,字段,

49、2,,,…,),,,,Values,(数据值,1,,数据值,2,,,…,),,,5.3,表中数据的维护,Supplier(supplier_id,supplier_name, linkman_name, address, teleno),,,例,1,使用简单的,INSERT,语句。,,INSERT Supplier,,VALUES ('S001',',华科电子有限公司,',',施宾彬,',',朝阳路,56,号,','2636565'),,例,2,插入部分字段数据,,INSERT,Supplier,,(supplier_id,supplier_name, linkman_name),,VALUE

50、S,('S001 ',',华科电子有限公司,',',施宾彬,'),,,5.3,表中数据的维护,修改数据,,语法格式:,,Update,,表名,set,,列名,=,值,[,,列名,=,值,,…],,[Where,条件表达式,],,5.3,表中数据的维护,,例 将,Supplier,表中长度为,8,位的电话号码前加上,010,。,,UPDATE,,Supplier,,,SET,telephone='010-'+teleno,,,WHERE,LEN(teleno)=8,Supplier(supplier_id,supplier_name, linkman_name, address, teleno

51、),5.3,表中数据的维护,删除数据,,1,.,DELETE,语句,,DELETE,语句可删除表或视图中的,一行或多行,,每一行的删除都将被记入日志。,DELETE,语句的语法格式如下:,,DELETE,[FROM],表名,,,[WHERE {,条件子句,}],5.3,表中数据的维护,例,1,不带参数使用,DELETE,命令删除所有行。,,,DELETE,,Supplier,,注意:,,将,DELETE,语句与,DROP TABLE,语句的功能区分开来。,Supplier(supplier_id,supplier_name, linkman_name, address, teleno),删除所

52、有行,例,2,有条件地删除行,,DELETE FROM,,Supplier,,,WHERE,,supplier_id,=‘S0001',5.3,表中数据的维护,2,.,TRUNCATE TABLE,语句,,作用:一次删除表中所有行,,,语法格式:,,TRUNCATE TABLE,,表名,,,例,1,使用,TRUNCATE TABLE,语句清空表。,,TRUNCATE TABLE,Supplier,数据操作,,插入数据,,,Insert,[into],表名,[,字段,1,,,字段,2,,,…,],,Values,(数据值,1,,,数据值,2,,,…,),,,修改数据,,,Update,,表名,s

53、et,,列名,=,值,[,,列名,=,值,,…],,[Where,条件表达式,],,,删除数据,,,Delete,[from],表名,,,[Where,子句,],,本章小结,(1),表的相关概念:表是数据库中数据的实际存储处所,每个表代表一个实体。表由行和列组成,每行标识实体的一个个体,每列代表实体的一个属性。,,(2),数据类型:数据类型描述并约束了列中所能包含的数据的种类、所存储值的长度或大小、数字精度和小数位数,(,对数值数据类型,),。,,(3),空值:未对列指定值时,该列将出现空值。空值不同于空字符串或数值零,通常表示未知。空值会对查询命令或统计函数产生影响,应尽量少使用空值。,,(

54、4),约束:约束是数据库自动保持数据完整性的机制,它是通过限制列中数据、行中数据和表之间数据来保持数据完整性。,SQL Server 2000,支持,Not Null,、,Default,、,Check,、,Primary Key,、,Foreign Key,、,Unique,等,6,种约束。关于约束的操作将在第,8,章详细介绍。,,(5),可以使用企业管理器和,Transact-SQL,语句创建表并对表进行维护,包括修改和删除等操作。,,(6),可以使用企业管理器和,Transact-SQL,语句对表中数据进行编辑,包括插入、更新和删除等操作。,,,知识回顾:创建和打开数据库,数据库文件,数

55、据文件,,(保存数据库中各种对象),日志文件(,.ldf,),,记录对数据库的操作,主数据文件(,.mdf,),次数据文件(,.ndf,),——,一个,——,多个,所有文件都具有,逻辑文件名,与,物理文件名,数据库名称在服务器中必须,惟一,使用,CREATE DATABASE,命令建立数据库,,CREATE DATABASE,,数据库名,,[ON PRIMARY,,(NAME=…,FILENAME=…,SIZE=…,MAXSIZE=…,FILEGROWTH=…),,…,,LOG ON,,(NAME=…,FILENAME=…,SIZE=…,MAXSIZE=…,FILEGROWTH=…),,…,,

56、FILEGROUP,文件组名,],修改数据库,,增加或删除数据文件和日志文件,,,ALTER DATABASE,,数据库名,ADD FILE,(,文件参数,),,ALTER DATABASE,,数据库名,ADD LOG FILE,,(,文件参数,),,,ALTER DATABASE,,数据库名,REMOVE FILE (,文件参数,),,修改分配给数据文件或日志文件的空间,,,ALTER DATABASE,,数据库名,MODIFY FILE,,(,文件参数,),,创建文件组,,ALTER DATABASE,,数据库名,ADD FILEGROUP,,文件组名,,ALTER DATABASE,,数

57、据库名,REMOVE FILEGROUP,,文件组名,,改变数据库名,,,ALTER DATABASE,,数据库名,MODIFY NAME,=,新名,CREATE TABLE,,表名,,(,<,列名,1> <,数据类型,>,{ identity |NOT NULL| NULL },[<,列级完整性约束,>],,,<,列名,2> <,数据类型,>,{ identity |NOT NULL| NULL },[<,列级完整性约束,>],,,……,,,[<,表级完整性约束,>] ),创建表,Ÿ,,,<,表名,>,给出要创建的基本表的名称;,,Ÿ,,<,列名,>,给出列名或字段名;,,Ÿ,,,<,数据

58、类型,>,,Ÿ,,identity |NOT NULL| NULL,,Ÿ,<,列级完整性约束,>,,Ÿ,<,表级完整性约束,>,,修改数据库表,,添加或删除列,,Alter table,,表名,,,add,列名 数据类型,{ identity |NOT NULL| NULL },,,…,,Alter table,,表名,drop column,,列名,,修改列的属性,,alter table,,表名,,,alter column,列名 数据类型,{ identity |NOT NULL| NULL },,添加或删除约束,,Alter table,,表名,add [Constraint,约束名,],,约束定义,,Alter table,,表名,drop Constraint,,约束名,,

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

相关资源

更多
正为您匹配相似的精品文档

相关搜索

关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  sobing.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!