实验三 创建和修改数据表

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三创建和修改数据表

[目的和意义]

熟悉有关数据表的创建和修改等工作,并了解主键、外键以及约束的创建和应用,熟练掌握使用企业管理器和CREATE TABLE、ALTER TABLE等Transact-SQL语句对数据表的操作方法。

[实验内容]

分别使用企业管理器和Transact-SQL语旬按下列要求创建两个数据表: 表B1项目数据表,表B2员工数据表,并按照步骤完成对表的相关修改和约束设置。

项目表(Project)

[实现步骤]

方法一:使用企业管理器创建数据表并添加约束

1.打开企业管理器,在树状目录窗口中找到数据库节点TestDB,并选中下一级节点"

表"。

2.单击鼠标右键,从弹出菜单中选择命令"新建表",打开表设计窗口,在窗口中按照

"上机任务"中所列的"项目数据表"的字段及要求键入列名、数据类型、长度等属性,

并将"项目编号"设置为主键。如图2-l 所示。

图2-l 创建"项目数据表"

3. 单击"保存"按钮,在弹出的对话框中输入表名称"项目数据表",关闭表设计窗口,

完成表"项目数据表"的刨建。

4. 重复1-3步,创建另一个数据表"员工数据表",表设计窗口如图2-2所示。

图2-2创建"员工数据表"

5. 添加外键约束:在"项目数据表"的"负责人"字段上添加外键约束,参照字 段为"员工数据表"中的字段"编号",约束名为FK_pm 。实现方法为:

首先在企业管理器中选中"项目数据表"并单击鼠标右键,在弹出菜单中选择命令"设计表"打开设计表窗口。然后在该窗口中单击按钮"表和索引属性"按钮,打开表的"属性"对话框。最后选择"关系"选项卡,在改选项卡中做如下的操作。

单击"新建"按钮

;

从"主键表"中选择"员工数据表",并选择字段"编号"; 从"外键表"中选择"项目数据表",并选择字段"负责人"; 在"关系名"中输入FK_pm 。

单击"关闭"按钮,完成外键约束的设置。

6. 添加检查约束:将"员工数据表"中的字段"工资"的值限定在1000-10000,约束名

CK_Salary 。操作方法为:

首先在企业管理器中选中"员工数据表"并单击鼠标右键,在弹出菜单中选择命令"设计表"打开设计表窗口。然后在该窗口中单击按钮"表和索引属性"按钮,打开表的"属性"对话框。最后选择"CHECK 约束"选项卡,在改选项卡中做如下的操作:

单击标签中"新建"按钮;

在"约束表达式"文本框中输入一个条件表达式; (工资>=1000 AND 工资<=10000)

在"约束名"对话框中输入所建核查约束名"CK_Salary"。如图2-3所示。

图2-3

方法二:使用Transact-SQL 语句创建数据表并添加约束

1. 创建项目数据表 USE TestDB GO

CREATE TABLE 项目数据表 (项目编号

int PRIMARY KEY,

名称varchar(50),

负责人int,

客户int,

开始日期datatime,

结束日期datatime

2.创建员工数据表

USE TestDB

GO

(

编号int PRIMARY KEY,

姓名varchar(50),

性别varchar(50),

所属部门varchar(50)

工资money(8)

3.添加外键约束

ALTER TABLE 项目数据表

ADD CONSTRAINT PK_pm

FOREIGN KEY(负责人)

REFERENCES 员工数据表(编号)

添加检查约束

ALTER TABLE 员工数据表

ADD CONSTRAINT CK_pm

CHECK(工资>=1000 AND 工资<=10000)

[习题]

在SM数据库中,建立学生的基本信息表student、班级class表、课程表course和选修课成绩表sc。

Course表

SC

[思考题]

什么是临时表?

什么是数据完整性?关系数据库有几类完整性?怎么通过SQL Server来实现?

实验四表的维护

[目的与意义]

熟练掌握用企业管理器修改表;

能够运用T-SQL语句对表结构进行修改;

熟练掌握用企业管理器编辑表中的数据;

能够运用T-SQL语句对表中的数据进行插入、修改和删除操作。

[实验内容]

1.使用企业管理器为表Student增加一列。

2. 用SQL语句修改表course的列属性,将Cname的长度改为40,且不允许空。Use SM

Alter table course alter column cname varchar(40) not null

3. 用SQL语句向表Student中增加列Email,且要求输入的电子邮件地址必须包括“@”字符

Use sm

Alter table student add email varchar(40) null constraint ck_ea check(email like ‘%@%’)

4. 用SQL语句删除表Student中的列Address

Use sm

Alter table student drop column address

5. 用SQL语句给表student中的sname添加主键约束

Use sm

Alter table student add constraint pk_name primary key(sname)

6. 删除Sname列上的主键约束

Use sm

Alter table student drop constraint pk_name

7. 使用with nocheck子句

对表student的Sage列添加约束,使学生的年龄为18-25岁。

Alter table student with nocheck add constraint ck_age check(sage>=18 and Sage<=25)

相关文档
最新文档