表的管理sql1PPT资料.ppt

上传人:b****2 文档编号:15073498 上传时间:2022-10-27 格式:PPT 页数:23 大小:77.50KB
下载 相关 举报
表的管理sql1PPT资料.ppt_第1页
第1页 / 共23页
表的管理sql1PPT资料.ppt_第2页
第2页 / 共23页
表的管理sql1PPT资料.ppt_第3页
第3页 / 共23页
表的管理sql1PPT资料.ppt_第4页
第4页 / 共23页
表的管理sql1PPT资料.ppt_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

表的管理sql1PPT资料.ppt

《表的管理sql1PPT资料.ppt》由会员分享,可在线阅读,更多相关《表的管理sql1PPT资料.ppt(23页珍藏版)》请在冰豆网上搜索。

表的管理sql1PPT资料.ppt

上节课我们学习了数据库的管理,这节课我们接着学习数据表的管理。

3.2表的管理n首先我们先来认识数据类型:

3.2.1字段数据类型n当用SQL语句定义表时,需要为字段设置数据类型。

nSQLSERVER的数据类型可分为9类:

n1.整数数据类型:

3.近似浮点数值数据类型n2.精确数值类型:

4.日期时间数据类型:

n5.字符串数据类型:

6.标记数据类型:

n7.二进制数据类型:

8.货币数据类型:

n9.UNICODE字符串数据类型:

3.2.3数据表管理3.2.3.1创建数据表n数据表是关系数据库的基本组成单位,它物理地存储于数据库的存储文件中。

1.创建一个数据表时主要包括以下几个组成部分:

n

(1)字段名n

(2)字段数据类型n(3)字段的长度、精度和小数位数n(4)NULL值与DEFAULT值等2.创建数据表的SQL语法格式n基本语法格式为:

CREATETABLE(,|)n是合法标识符,最多可有128个字符,如S,SC,C,不允许重名。

n:

DEFAULTn例3.4建立一学生表3.定义完整性约束对于基本表的约束分为列约束和表约束。

n列约束是对某一个特定列的约束,包含在列定义中,直接跟在该列的其他定义之后,用空格分隔,不必指定列名;

n表约束与列定义相互独立,不包括在列定义中,通常用于对多个列一起进行约束,与列定义用,分隔,定义表约束时必须指出要约束的那些列的名称。

完整性约束的基本语法格式为:

CONSTRAINTn约束名:

约束不指定名称时,系统会给定一个名称。

n约束类型:

在定义完整性约束时必须指定完整性约束的类型。

n在SQLSERVER中可以定义五种类型的完整性约束:

(1)NULL/NOTNULLn只能用于定义列约束n其语法格式如下:

CONSTRAINTNULL|NOTNULL例3.5建立一个S表,对SNO字段进行NOTNULL约束。

nUSESTUDENTnCREATETABLESn(SNOCHAR(10)CONSTRAINTS_CONSNOTNULL,nSNVARCHAR(20),nAGEINT,nSEXCHAR

(2)DEFAULT男,nDEPTVARCHAR(20);

n当SNO为空时,系统给出错误信息,无NOTNULL约束时,系统缺省为NULL。

(2)UNIQUE约束nUNIQUE约束用于指明基本表在某一列或多个列的组合上的取值必须唯一。

n唯一键允许为空,但系统为保证其唯一性,最多只可以出现一个NULL值。

nUNIQUE既可用于列约束,也可用于表约束。

nUNIQUE用于定义列约束时,其语法格式如下:

CONSTRAINTUNIQUEn例3.6建立一个S表,定义SN为唯一键。

nUSESTUDENTnCREATETABLESn(SNOCHAR(6),nSNCHAR(8)CONSTRAINTSN_UNIQUNIQUE,nSEXCHAR

(2),nAGENUMERIC

(2);

UNIQUE用于定义表约束时,其语法格式如下:

CONSTRAINTUNIQUE(,)例3.7建立一个S表,定义SN+SEX为唯一键。

nUSESTUDENTnCREATETABLESn(SNOCHAR(5),nSNCHAR(8),nSEXCHAR

(2),nCONSTRAINTS_UNIQUNIQUE(SN,SEX);

(3)PRIMARYKEY约束nPRIMARYKEY约束用于定义基本表的主键,起唯一标识作用,其值不能为NULL,也不能重复,以此来保证实体的完整性。

nPRIMARYKEY与UNIQUE约束类似,通过建立唯一索引来保证基本表在主键列取值的唯一性,但它们之间存在着很大的区别:

n在一个基本表中只能定义一个PRIMARYKEY约束,但可定义多个UNIQUE约束;

n对于指定为PRIMARYKEY的一个列或多个列的组合,其中任何一个列都不能出现空值,而对于UNIQUE所约束的唯一键,则允许为空。

注意:

不能为同一个列或一组列既定义UNIQUE约束,又定义PRIMARYKEY约束。

nPRIMARYKEY既可用于列约束,也可用于表约束。

PRIMARYKEY用于定义列约束时,其语法格式如下:

CONSTRAINTPRIMARYKEYn例3.8建立一个S表,定义SNO为S的主键nUSESTUDENTnCREATETABLESn(SNOCHAR(5)NOTNULLCONSTRAINTS_PRIMPRIMARYKEY,nSNCHAR(8),nAGENUMERIC

(2);

nPRIMARYKEY用于定义表约束时,即将某些列的组合定义为主键,其语法格式如下:

CONSTRAINTSPRIMARYKEY()n例3.9建立一个SC表,定义SNO+CNO为SC的主键nUSESTUDENTnCREATETABLESCn(SNOCHAR(5)NOTNULL,nCNOCHAR(5)NOTNULL,nSCORENUMERIC(3),nCONSTRAINTSC_PRIMPRIMARYKEY(SNO,CNO);

(4)FOREIGNKEY约束nFOREIGNKEY约束指定某一个列或一组列作为外部键,其中,包含外部键的表称为从表,包含外部键所引用的主键或唯一键的表称主表。

确保了实体的参照完整性。

nFOREIGNKEY既可用于列约束,也可用于表约束,其语法格式为:

CONSTRAINTFOREIGNKEYREFERENCES()n例3.10建立一个SC表,定义SNO,CNO为SC的外部键。

nUSESTUDENTnCREATETABLESCn(SNOCHAR(5)NOTNULLCONSTRAINTS_FOREFOREIGNKEYREFERENCESS(SNO),nCNOCHAR(5)NOTNULLCONSTRAINTC_FOREFOREIGNKEYREFERENCESC(CNO),nSCORENUMERIC(3),nCONSTRAINTS_C_PRIMPRIMARYKEY(SNO,CNO);

(5)CHECK约束nCHECK约束用来检查字段值所允许的范围,如一个字段只能输入整数,而且限定在0-100的整数,以此来保证域的完整性。

nCHECK既可用于列约束,也可用于表约束,n其语法格式为:

CONSTRAINTCHECK()n例3.10建立一个SC表,定义SCORE的取值范围为0到100之间。

nUSESTUDENTnCREATETABLESCn(SNOCHAR(5),nCNOCHAR(5),nSCORENUMERIC(5,1)CONSTRAINTSCORE_CHKCHECK(SCORE=0ANDSCORE=100);

练习1:

建立包含完整性定义的学生表nUSESTUDENTnCREATETABLESn(SNOCHAR(6)CONSTRAINTS_PRIMPRIMARYKEY,nSNCHAR(8)CONSTRAINTSN_CONSNOTNULL,nAGENUMERIC

(2)CONSTRAINTAGE_CONSNOTNULLnCONSTRAINTAGE_CHKCHECK(AGEBETWEEN15AND50),nSEXCHAR

(2)DEFAULT男,nDEPTCHAR(10)CONSTRAINTDEPT_CONSNOTNULL);

3.2.3.2修改基本表nSQL语言使用ALTERTABLE命令来完成这一功能,有如下三种修改方式:

1.ADD方式n用于增加新列和完整性约束,其语法格式为:

ALTERTABLEADD|n例3.12在S表中增加一个班号列和住址列。

nUSESTUDENTnALTERTABLESnADDnCLASS_NOCHAR(6),nADDRESSCHAR(40)n注意:

使用此方式增加的新列自动填充NULL值,所以不能为增加的新列指定NOTNULL约束。

n例3.13在SC表中增加完整性约束定义,使SCORE在0-100之间。

nUSESTUDENTnALTERTABLESCnADDnCONSTRAINTSCORE_CHKCHECK(SCOREBETWEEN0AND100)2.ALTER方式n用于修改某些列,其语法格式为:

ALTERTABLEALTERCOLUMNNULL|NOTNULLn例3.14把S表中的SNO列加宽到8位字符宽度nUSESTUDENTnALTERTABLESnALTERCOLUMNnSNOCHAR(8)注意:

使用此方式有如下一些限制:

不能改变列名;

不能将含有空值的列的定义修改为NOTNULL约束;

若列中已有数据,则不能减少该列的宽度,也不能改变其数据类型;

只能修改NULL|NOTNULL约束,其它类型的约束在修改之前必须先删除,然后再重新添加修改过的约束定义。

3.DROP方式n删除完整性约束定义,其语法格式为:

ALTERTABLEDROPCONSTRAINT例3.15删除S表中的AGE_CHK约束nUSESTUDENTnALTERTABLESnDROPnCONSTRAINTAGE_CHK3.2.3.3改变基本表的名字n使用RENAME命令,可以改变基本表的名字,其语法格式为:

RENAMETOn例3.16将S表的名字更改为STUDENTnUSESTUDENTnRENAMESTOSTUDENT3.2.3.4删除基本表删除表的语法格式:

DROPTABLE例3.17删除表STUDENTnUSESTUDENTnDROPTABLESTUDENT

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1