实验三 创建和修改数据表
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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)