项目三创建和维护表2项目要求1.掌握数据库表的创建方法。2.学会用T-SQL语句创建表、修改表和删除表。3.熟悉常用的几种约束的创建方法。4.学会对表数据进行插入、修改和删除。3项目准备基本概念:关系关系就是数据与数据之间的联系;关系必须符合的条件:每一列的数据类型都必须相同没有完全相同的行列与列之间的字段名不能重复没有组合列,即在一列中没有子列基本概念:基本表(table)基本表就是一个关系,由行(记录)和列(字段)组成的二维列表;基本表是SQLServer的主要数据库对象。4项目准备基本概念:数据类型的三个术语精度:数值型数据整数部分和小数部分的和。如1234.12的精度为6小数位数:数值型数据小数部分位数。长度:存储数据所占用的字节数。5项目准备数据类型符号标识整型int,smallint,tinyint浮点型real,float,decimal,numeric字符型char,varchar,nchar,nvarchar日期和时间型datetime,smalldatetime文本和图形型text,ntext,image货币型money,smallmoney位数据类型bit二进制数据类型binary,varbinary特殊数据类型timestamp,uniqueidentifier新增数据类型Bigint,sql_variant,tableSQLServer2000常用的数据类型6项目3.1创建表结构任务1:使用企业管理器创建表结构任务2:使用查询分析器创建表结构。项目练习7任务1:使用企业管理器创建表结构提出任务在“Student”数据库下,使用【企业管理器】创建“xs”(“学生”)表对象。分析任务“展开“Student”数据库,选择【表】,右键选择【新建表】创建表结构。字段名数据类型长度允许为空字段含义xhchar8notnull学号xmchar8姓名xbchar2性别csrqdatetime出生日期zychar20专业8任务1:使用企业管理器创建表结构完成任务展开“Student”数据库;选择【表】,右键选择【新建表】;在【表设计器】中上部分表格中输入列名、数据类型、长度和允许空字段属性,其中前三个是必须输入的。9“xs”表结构任务1:使用企业管理器创建表结构10任务2:使用查询分析器创建表结构。基本语法:CREATE-TABLE语句的语法格式:CREATETABLE表名(字段1数据类型[notnull][identity(seed,increment)][,…n])基本参数:常见符号:[]——代表可省略;红色字体代表最基本语法格式;“…n”——可以有n个字段。11任务2:使用查询分析器创建表结构。提出任务使用【查询分析器】创建任务1的“xs”表结构。分析任务直接进入【查询分析器】,在【查询分析器】中输入CREATETABLE语句即可。12任务2:使用查询分析器创建表结构。完成任务进入【查询分析器】,选择“student”数据库,输入CREATETABLE语句:CREATETABLExs(xhchar(8)notnull,xmchar(8),xbchar(2),csrqdatetime,zychar(20))单击工具栏上的“”按钮分析代码,如果出现“命令已成功完成”,代表代码正确;执行“”,执行此代码。13项目练习练习3.1:若表中字段类型为char,长度为20,当输入字符串“计算机及应用”时,此字段占用字节存储空间。若字段类型为varchar,将占用字节存储空间。14项目练习“cj”(“成绩”)表结构如下:字段名数据类型长度小数位允许空字段含义xhchar8notnull学号kcbhchar3课程编号cjdecimal4(精度)1notnull成绩“kc”(“课程”)表结构如下:字段名数据类型长度小数位允许空字段含义kcbhchar3notnull课程编号kcmchar20课程名xfint学分练习3.2:在Student中创建“kc”(“课程”),“cj”(“成绩”)表对象。“cj”(“成绩”),“kc”(”课程”)表结构如下:15项目3.2使用企业管理器创建完整性约束基本概念:完整性约束的类型:实体完整性:数据库表中的每一条记录都是惟一的,即表中没有重复记录。因此每个实体都必须拥有一个主键或惟一性约束。域完整性:域完整性要求存入字段中的数据值必须符合特定的条件来保证数据的有效性。引用完整性:引用完整性涉及两个或两个以上表的数据的一致性维护。当添加、删除或修改数据库表中的记录时,可以借助引用完整性来保证相关联的表之间的数据一致性。16项目3.2使用企业管理器创建完整性约束基本概念:SQLServer的约束:主键(PrimaryKey)约束:就是基本表中的主码,用来惟一标识每行。每个表只能有一个主键,且主键不能为空,不能重复。外键(ForeignKey)约束:用于维护同一数据库中两表之间的一致性关系,使用户在一张表中做增删查改操作时要注意与其关联的另一张表。默认(Default)约束:用于指定一个字段的默认值。当用户未指定字段数据时,系统自动指派的数据值。检查(Check)约束:使用逻辑表达式来限制字段上可以接受的数据值。检查约束通过检查输入表中字段的数据值来维护域完整性。惟一性(Unique)约束:主要用于非主键字段约束。每张表可以定义多个惟一性约束,定义了惟一性约束的字段值不可重复。17项目3.2使用企业管理器创建完整性约束任务1:创建主键(PrimaryKey)约束任务2:创建外键(ForeignKey)约束任务3:创建默认值(Default)约束任务4:创建检查(Check)约束任务5:创建惟一性(Unique)约束18任务1:创建主键(PrimaryKey)约束提出任务“Student”数据库中有“xs”(“学生”)、“kc”(“课程”)、“cj”(“成绩”)三个数据库对象,按要求创建如下主键约束:1.将“xs”表中的“xh”(“学号”)字段设置为主键。2.将“cj”表中的“xh”(“学号”)和“kcdh”(“课程代号”)两个字段组合起来作为主关键字。分析任务打开“xs”和“cj”表结构,先将相关字段设置成“NOTNULL”,然后单击工具栏中“”按钮即可设置主键。19任务1:创建主键(PrimaryKey)约束完成任务1.操作步骤:打开“xs”(“学生”)表的【表设计器】;检查“xs”(“学生”)表中的“xh”(“学号”)字段是否为NOTNULL,若为NOTNULL,选中“xh”(“学号”)行;单击工具栏或快捷菜单中的“”按钮,“xs”(“学生”)表的主关键字设置完成。20任务1:创建主键(PrimaryKey)约束完成任务2.操作步骤:打开“cj”(“成绩”)表的【表设计器】窗口;检查“cj”(“成绩”)表中的“xh”(“学号”)和“kcdh”(“课程代号”)两个字段是否为NOTNULL,若为NOTNULL,按住“CTRL”键,在“xh”和“kcdh”的行选择器处依次单击进行多选;单击工具栏或快捷菜单中的“”按钮,“cj”(“成绩”)表的主关键字设置完成。21任务2:创建外键(ForeignKey)约束提出任务将“xs”表中的“xh”(“学号”)字段设置为“cj”表的外键;分析任务由题意,以“xs”表为主表,“cj”表为子表,创建“xh”字段的外键约束。22任务2:创建外键(ForeignKey)约束完成任务方法一:使用【管理关系】按钮创建外关键字:打开“xs”(“学生”)或“cj”(“成绩”)表的【表设计器】窗口;选择“”(“管理关系”)按钮,将出现【属性】对话框,选择【新建】按钮,在【主键表】中选择“xs”表的“xh”字段,在【外键表】中选择“cj”表的“xh”字段;23在“属性”对话框创建外键任务2:创建外键(ForeignKey)约束24任务2:创建外键(ForeignKey)约束完成任务方法二:使用数据库关系图创建外关键字:进入【企业管理器】,展开Student数据库;选择“”节点,右键选择【新建数据库关系图】命令单击【下一步】,选择“xs”(“学生”)和“cj”(“成绩”)表;单击【完成】按钮。选择“xs”表的“xh”(“学号”)字段,按住鼠标左键不放,拖到“cj”表“xh”字段,出现如图所示【创建关系】对话框。25“创建关系”对话框任务2:创建外键(ForeignKey)约束26任务2:创建外键(ForeignKey)约束建立好的外键约束图如下图所示27任务3:创建默认值(Default)约束提出任务1.将“xs”表中的“xb”(“性别”)字段默认值设置为“男”;2.为“xs”表中的“zy”(“专业”)设置默认值约束:“计算机应用技术”;分析任务由题意,打开“xs”表结构,分别选择“xb”字段和“zy”字段,在【默认值】框里输入内容即可。28任务3:创建默认值(Default)约束完成任务1.操作步骤:打开“xs”(“学生”)表的【表设计器】窗口;选中“xb”(“性别”)字段,在【默认值】框里输入“男”;单击“保存”按钮。2.操作步骤:打开“xs”(“学生”)表的【表设计器】窗口;选中“zy”(“专业”)列,在【默认值】框里输入“计算机应用技术”;单击【保存】按钮。29任务4:创建检查(Check)约束提出任务为“cj”表中的“cj”(“成绩”)字段设置检查约束:成绩在0~100之间;分析任务由题意,打开“cj”表结构,右键选择【属性】快捷菜单,在【CHECK约束】选项卡中进行设置。30任务4:创建检查(Check)约束完成任务打开“cj”(“成绩”)表的【表设计器】窗口;右键单击,选择【属性】快捷菜单,或者单击“”快捷按钮,进入“check约束”选项卡,在【约束表达式】中输入“cj0andcj100”;单击【关闭】按钮,“CHECK约束”已创建好。31“cj”表的“check约束”任务4:创建检查(Check)约束32任务5:创建惟一性(Unique)约束提出任务为“xs”表中的“xm”(“姓名”)字段设置惟一性约束分析任务由题意,打开“xs”表结构,右键选择【属性】快捷菜单,在【索引/键】选项卡中进行设置。33任务5:创建惟一性(Unique)约束完成任务打开“xs”(“学生”)表的【表设计器】窗口;右键单击,选择【属性】快捷菜单,或者单击“”快捷按钮,进入“索引/键”选项卡,点击【新建】按钮,在【列名】框中选择“xm”,勾选【创建UNIQUE】复选框,选择【约束】单选框。单击关闭”按钮,“索引/键”已创建好。34“xs”表的惟一性约束任务5:创建惟一性(Unique)约束35项目3.3:使用T-SQL语言创建完整性约束任务1:通过CREATE-SQL重新创建完整性约束任务2:通过ALTER-SQL修改表结构。36基本语法:带有约束条件的CREATE-SQL语句的语法格式:CREATETABLE表名(字段数据类型列的特征[,…n])“列的特征”具体参数描述:1.空值(NULL)约束:[NULL|NOTNULL]2.默认值(DEFAULT)约束:[[CONSTRAINT约束名]DEFAULT默认值]3.主键(PRIMARYKEY)约束:[[CONSTRAINT约束名]PRIMARYKEY[CLUSTERED|NONCLUSTERED][(字段名,…n)]]任务1:通过CREATE-SQL重新创建完整性约束37“列的特征”具体参数描述:4.外键(FOREIGNKEY)约束:[[CONSTRAINT约束名]FOREIGNKEY[(字段名,…n)]REFERENTCES引用表(引用字段[,…n])]5.惟一性(UNIQUE)约束:[[CONSTRAINT约束名]UNIQUE[CLUSTERED|NONCLUSTERED][(字段名,…n)]]6.检查(CHECK)约束:[[CONSTRAINT约束名]CHECK(约束条件)]任务1:通过CREATE-SQL重新创建完整性约