1、实验三实验三 数据表的创建与管理数据表的创建与管理 1.表的创建表的创建1 1、使用企业管理器创建表使用企业管理器创建表例例:在企业管理器中创建一个名为student的数据库,并在这个数据库中创建一个名为“学生表”的表对象,并在表中输入一些记录。“学生表”包含以下字段:“学号”字段的数据类型为int,不允许NULL值,自动编号,种子(初始编号)为200001,增量为1;“姓名”、“专业”、“年级”和“班级”字段的数据类型为char,字段长度分别为6、20、4和2,这些字段均允许NULL值。2、使用、使用CREATE TABLE语句创建表语句创建表CREATE TABLE 表名表名 (列名列名
2、数据类型数据类型 NULL|NOT NULL,.n)例:创建学生表例:创建学生表CREATE TABLE 学生表学生表 -在数据库中创建表在数据库中创建表(学号学号 int IDENTITY(200001,1),-自动编号,初始值为自动编号,初始值为200001,递增量为,递增量为1 姓名姓名 char(6),专业专业 char(20),年级年级 char(4),班级班级 char(2)参考 P59 例3-1、3-2、3-33、使用约束使用约束(为了达到数据的正确性和一致性而设置约束)(1)NULL约束约束 CREATE TABLE 学生表学生表 -在数据库中创建表在数据库中创建表 (学号学号
3、 int IDENTITY(200001,1),姓名姓名 char(6)not null,-姓名不为空,必须有值姓名不为空,必须有值 专业专业 char(20)null,-设置专业可为空设置专业可为空 年级年级 char(4),-年级没设置,默认也可为空年级没设置,默认也可为空 班级班级 char(2)(2)PRIMARY 约束(实体完整性,设置为该约束的字段不可为空,如要设置多字段组合,可按住Ctrl键复选)例:单一字段作主键。学生表(学号,姓名,专业)。create table 学生表 (学号 int not null primary key,.)例:多字段组合做主键。成绩表(学号,课程编
4、号,成绩)create table 成绩表 (学号 int not null,课程编号 char(6)not null,-做主键的两项都不为空。成绩 numeric,constraint pk primary key clustered(学号,课程编号)-设置该主键约束的名称为pk,是聚集索引,默认值也为聚集索引,由学号和课程编号组合而成)(3)FOREIGN KEY约束(参照完整性)create table 成绩表(学号 int not null constraint fk foreign key references 学生表(学号),-指定约束名为pp,成绩表中学号字段为外键,参照的是学生
5、表中学号字段。课程编号 char(6)not null,成绩 numeric)(4)CHECK约束约束(用户定义完整性)a.使用企业管理器创建(在所建表中限定“成绩”字段取值 范围为0100)b.使用语句创建 CREATE TABLE 成绩表 (学号 int NOT NULL,课程编号 char(2)NOT NULL,成绩 numeric NOT NULL CHECK(成绩=0 AND 成绩=0and score=100 绑定规则:sp_bindrule 规则名,表名.字段例:sp_bindrule tt,选课表.成绩查看格式:sp_helptext 规则名例:sp_helptext tt 删
6、除绑定格式:sp_unbindrule 表名.字段 例:sp_unbindrule 选课表.成绩 删除默认格式:drop rule 默认名 例:drop rule tt练习一:用语句创建以下三张表。学生表:学号(varchar(9)主键),姓名(char(8),不为空),性别(char(2),系号(char(4)课程表:课程号(char(3)主键),课程名(varchar(20)不为空),学分(int),先修课程(varchar(3)选课表:学号(varchar(8)),课程号(char(3)),成绩(smallint)其中学号、课程号联合为主键练习二:用语句修改表。1)修改学生表中系号字段:
7、系号 char(2)不为空 2)在学生表中添加字段:年龄 int 3)删除课程表中“先修字段”。4)为选课表添加两个外键约束,约束名称自拟,要求学号参考学生表的学号,课程号参考课程表的课程号,并进行验证。1)用insert往学生表中插入以下三条记录。(135040301 李悦 女 23 01)(135043301 张欢 男 22 02)(135043302 刘海 男 24 01)2)用update将学生表中所有人的年龄加1。3)用update修改刘海的系号为02.4)用delete删除学生表中01系学生的信息。练习三:用SQL语句插入、更新,删除记录。1)创建一默认,其名aa,取值为“男”,将默认值绑定学生表的性别字段。并进行验证。2)创建一规则tt,其取值范围为(0100),将规则分别绑定学生表的年龄字段和选课表的成绩字段。并进行验证。练习四:用SQL语句设置默认和规则