《数据库》课件第4章-表的管理 -创建与维护.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《数据库》课件第4章-表的管理 -创建与维护.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 数据库课件第4章-表的管理 -创建与维护 课件 管理 创建 维护
- 资源描述:
-
1、数据库的存储结构数据库的存储结构数据库的创建数据库的创建数据库的修改及删除数据库的修改及删除第四章第四章表的管理表的管理表的创建表的创建表的约束表的约束表的添加、删除、修改表的添加、删除、修改数据类型数据类型SQL Server提供了丰富的系统定义的数据类型:提供了丰富的系统定义的数据类型:整型数据类型;整型数据类型;定点数据类型;定点数据类型;浮点数据类型;浮点数据类型;字符数据类型;字符数据类型;日期和时间数据类型;日期和时间数据类型;图形数据类型;图形数据类型;货币数据类型;货币数据类型;位数据类型;位数据类型;二进制数据类型;二进制数据类型;其他数据类型。其他数据类型。1.bigint
2、类型类型 存储大小存储大小:8个字节,取值范围个字节,取值范围:-263263-12.int类型类型 存储大小存储大小:4个字节,取值范围个字节,取值范围:-231231-13.smallint类型类型 存储大小存储大小:2个字节,取值范围个字节,取值范围:-215215-14.tinyint类型类型 存储大小存储大小:1个字节,取值范围个字节,取值范围:0255定点数据类型用于表示定点实数,包括定点数据类型用于表示定点实数,包括numeric和和decimal类型。类型。Numeric等价于等价于decimal。(用于高精度数据存储)格式:格式:decimal(p,s)numeric(p,s
3、)说明说明:n p:表示精度,指定小数点左边和右边十进制数字的最大表示精度,指定小数点左边和右边十进制数字的最大位数,取值在位数,取值在1到到38之间,缺省值为之间,缺省值为18;n s:指定小数点右边十进数的最大位数,取值在指定小数点右边十进数的最大位数,取值在0到到p之间,之间,缺省值为缺省值为0。n 表示范围表示范围:-1038+11038-1浮点数据类型采用科学计数法存储十进制小数,包括浮点数据类型采用科学计数法存储十进制小数,包括real和和float数据类型。数据类型。1.float类型类型格式格式:float(n)说明说明:n n:科学记数法尾数的位数,具体如下表:科学记数法尾数
4、的位数,具体如下表:表示范围表示范围:-1.79E+3081.79E+308尾数位数尾数位数n精度精度存储字节数存储字节数1247位位42553或省略或省略 15位位82.real类型类型 存储大小存储大小:4个字节个字节 取值范围取值范围:-3.40E+383.40E+38 精度精度:7位位 在在SQL Server中,中,real的同义词为的同义词为float(24)。1.char类型类型格式格式:char(n)功能功能:定义长度为定义长度为n个字节的固定长度非个字节的固定长度非Unicode字符数据,字符数据,每个字符占一个字节。每个字符占一个字节。说明说明:n:18000 存储大小存储
5、大小:n个字节(个字节(n个字符)个字符)2.varchar类型类型格式格式:varchar(n)功能功能:定义长度定义长度最多最多为为n个字节的可变长度非个字节的可变长度非Unicode字符数字符数据据,每个字符占一个字节。每个字符占一个字节。说明说明:n:18000。存储大小存储大小:输入字符的实际长度。长度可为零输入字符的实际长度。长度可为零注:注:n的缺省长度为的缺省长度为1。3.nchar类型类型格式格式:nchar(n)功能功能:定义包含定义包含n个字符的固定长度个字符的固定长度Unicode字符数据字符数据说明说明:n:14000 存储大小存储大小:2n个字节个字节4.nvarc
6、har类型类型格式格式:nvarchar(n)功能功能:定义包含最多定义包含最多n个字符的可变长度个字符的可变长度Unicode字符数据字符数据说明说明:n:14000。存储大小存储大小:所输入的字符实际个数的两倍。长度所输入的字符实际个数的两倍。长度可以为零。可以为零。注:注:n的缺省长度为的缺省长度为1。5.text类型与类型与ntext类型类型 (2G)(1G)日期和时间数据类型用于存储日期和时间的结合体。包括日期和时间数据类型用于存储日期和时间的结合体。包括datetime和和smalldatetime两种类型。两种类型。1.datetime类型类型 存储大小存储大小:8个字节个字节
7、表示范围表示范围:1753年年1月月1日零时日零时9999年年12月月31日日23时时59分分59秒。秒。例例:01/01/98 23:59:59 2000-5-29 12:30:482.smalldatetime 存储大小存储大小:4个字节个字节 表示范围表示范围:1900年年1月月1日日2079年年6月月6日。日。例例:2000/05/08 12:35 2000-05-29 12:35 2000-05-29image数据类型用于存储可变长度二进制数据,其长度界于数据类型用于存储可变长度二进制数据,其长度界于0到到231-1个字节之间。个字节之间。货币数据类型包括货币数据类型包括money和
8、和smallmoney数据类型。货币数数据类型。货币数据存储的精确度为四位小数。据存储的精确度为四位小数。1.money类型类型 存储大小存储大小:8个字节个字节 表示范围表示范围:-922,337,203,685,477.5808 +922,337,203,685,477.58072.smallmoney类型类型 存储大小存储大小:4个字节个字节 表示范围表示范围:-214,748.3648214,748.3647bit数据类型的取值只有数据类型的取值只有False和和True,如果一个表中有不,如果一个表中有不多于多于8个的个的bit列,这些列将作为一个字节存储。如果表中有列,这些列将作为
9、一个字节存储。如果表中有9到到16个个bit列,这些列将作为两个字节存储。更多列的情况依列,这些列将作为两个字节存储。更多列的情况依此类推。此类推。二进制数据类型又可以分为二进制数据类型又可以分为binary和和varbinary类型。类型。1.binary类型类型 格式格式:binary(n)功能功能:定义固定长度的定义固定长度的n个字节二进制数据,当输入的二进制个字节二进制数据,当输入的二进制数据长度小于数据长度小于n时,余下部分填充时,余下部分填充0。说明说明:n:180002.varbinary类型类型格式格式:varbinary(n)功能功能:定义定义n个字节可变长度二进制数据。个字
10、节可变长度二进制数据。说明说明:n:180001.timestamp类型类型 存储大小存储大小:8个字节。个字节。时间戳类型的数据用于提供数据库范围内的惟一值,反时间戳类型的数据用于提供数据库范围内的惟一值,反映数据库中数据修改的相对顺序,相当于一个单调上升的计数映数据库中数据修改的相对顺序,相当于一个单调上升的计数器。当表中的某列定义为器。当表中的某列定义为timestamp类型时,在对表中某行类型时,在对表中某行进行修改或添加行时,相应进行修改或添加行时,相应timestamp类型列的值会自动被类型列的值会自动被更新。更新。2.table类型类型 用于存储对表或者视图处理后的结果集。这种新
11、的数据用于存储对表或者视图处理后的结果集。这种新的数据类型使得用变量就可以存储一个表,从而使函数或过程返回查类型使得用变量就可以存储一个表,从而使函数或过程返回查询结果更加方便、快捷。询结果更加方便、快捷。3.cursor类型类型 cursor类型是变量或存储过程类型是变量或存储过程 的的OUTPUT 参数的一参数的一种数据类型,这些参数包含对游标的引用。种数据类型,这些参数包含对游标的引用。表是数据库存储数据的主要对象表是数据库存储数据的主要对象,SQL Server数据库的表由行和列组成。数据库的表由行和列组成。在在SQL Server中,表分为永久表和临时表两中,表分为永久表和临时表两种
12、。种。数据通常存储在永久表中,如果用户不手数据通常存储在永久表中,如果用户不手动删除,永久表和其中的数据将永久存在。动删除,永久表和其中的数据将永久存在。临时表存储在临时表存储在tempdb数据库中,当不再使数据库中,当不再使用时系统会自动删除临时表。用时系统会自动删除临时表。使用企业管理器创建表使用企业管理器创建表 使用使用CREATE TABLE语句创建表语句创建表 列名列名 列的数据类型列的数据类型 是否允许为空(是否允许为空(NULL或或NOT NULL)标识列(标识列(IDENTITY)例如,设置例如,设置“课程号课程号”列为列为IDENTITY(1,1)列说明列说明起始值起始值步长
13、步长CREATE TABLE 表名表名(列名列名1 数据类型和长度数据类型和长度1 列说明列说明1,列名列名2 数据类型和长度数据类型和长度2 列说明列说明2,.列名列名n 数据类型和长度数据类型和长度n 列说明列说明n,)列名列名数据类型数据类型说明说明StuIDChar(10)StuNamevarchar(50)不允许空不允许空StuSexchar(2)无无StuClasschar(6)不允许空不允许空StuScorefloat无无PostCodechar(6)无无DepIDint不允许空不允许空例例1:有:有Student表结构如下:表结构如下:CREATE TABLE Student(
14、StuID char(10),StuName varchar(50)NOT NULL,StuSex char(2),StuClass varchar(50)NOT NULL,StuScore float,PostCode char(6),DepID int NOT NULL)列名列名数据类型数据类型说明说明StuIDChar(10)StuNamevarchar(50)不允许空不允许空StuSexchar(2)无无StuClasschar(6)不允许空不允许空StuScorefloat无无PostCodechar(6)无无DepIDint不允许空不允许空主键(主键(PRIMARY KEY)约束)
15、约束唯一性(唯一性(UNIQUE)约束)约束检查(检查(CHECK)约束)约束默认(默认(DEFAULT)约束)约束外部键(外部键(FOREIGN KEY)约束)约束create table 表名表名(属性名属性名1 数据类型数据类型1 表说明表说明,属性名属性名2 数据类型数据类型2 表说明表说明,约束说明约束说明n,)主键是表中的一列或一组列,它们的值可以主键是表中的一列或一组列,它们的值可以唯一地标识表中的每一行。在创建和修改表唯一地标识表中的每一行。在创建和修改表时,可以定义主键约束。主键列的值不允许时,可以定义主键约束。主键列的值不允许为空。为空。语法:语法:PRIMARY KEY(
16、列名列名1,列名列名2,列名列名n)示例:示例:1.使用使用CREATE TABLE语句创建语句创建“Student”表,同时表,同时定义定义“StuID”列为主键。列为主键。2.创建表创建表Employee(EmpID,ProjID,Duration)解决方案:解决方案:1.CREATE TABLE Student (StuID char(10),StuName varchar(50),PRIMARY KEY(StuID)解决方案:解决方案:2.CREATE TABLE Employee (EmpID int,ProjID int,Duration int,PRIMARY KEY(EmpID
17、,ProjID)唯一性约束可以保证除主键外的其他一个或唯一性约束可以保证除主键外的其他一个或多个列的数据唯一性,以防止在列中输入重多个列的数据唯一性,以防止在列中输入重复的值。唯一性约束允许一个空值。复的值。唯一性约束允许一个空值。语法:语法:CONSTRAINT 约束名约束名 UNIQUE(列名列名)示例:示例:1.使用使用CREATE TABLE语句创建语句创建“Student”表,同时表,同时定义定义“StuID”列为主键,列为主键,”StuName”列为唯一性约束。列为唯一性约束。解决方案:解决方案:1.CREATE TABLE Student (StuID char(10),StuN
18、ame varchar(50),primary key(StuID),CONSTRAINT uqeStuName UNIQUE(StuName)检查约束指定表中一列或多列可以接受的数据值或格式。检查约束指定表中一列或多列可以接受的数据值或格式。例如,表例如,表“Student”中的中的“StuScore”列的值应该大于列的值应该大于或等于或等于0。语法:语法:CONSTRAINT 约束名约束名 CHECK(逻辑表达式逻辑表达式)|(字段名字段名 IN|BETWEEN|LIKE)示例:示例:1.使用使用CREATE TABLE语句创建语句创建“Student”表,同时创建表,同时创建检查约束,定
19、义检查约束,定义“StuScore”列的值大于或等于列的值大于或等于0。解决方案:解决方案:CREATE TABLE Student(StuID char(10),StuName varchar(50),StuScore float,CONSTRAINT chkStuScore CHECK(StuScore=0)语法:语法:CONSTRAINT 约束名约束名 CHECK(逻辑表达式逻辑表达式)|(字段名字段名 IN|BETWEEN|LIKE)示例:示例:2.使用使用CREATE TABLE语句创建语句创建“Student”表,同时定义表,同时定义“StuSex”列的值只能是列的值只能是“男男”
展开阅读全文