数据库原理实验指导书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据库原理》实验指导书
实验1 熟悉SQL Server
一、实验目的
1.熟悉数据库表的创建及管理方法。
2.熟悉SQL Server的运行环境。
二、实验内容
1.使用企业管理器创建数据库。
2.使用企业管理器创建基本表。
三、实验过程
1. 首先通过【开始】→【程序】→【Microsoft SQL Servers】→【企业管理器】,打开企业管理器界面,如图1。
图1企业管理器
2.在“数据库”上按鼠标右键选择“新建数据库”,出现数据库属性窗口,在常规选项页的名称栏中输入数据库名称StuCourse。
3. 利用“企业管理器”在数据库StuCourse中建立三个表Student、Course、SC,结构如下:
表1 学生信息表:student
表2 课程信息表:course
表3 学生选课表:sc
点击StuCourse数据库下“表”对象,右键选择“新建表”。在表设计器(如图2)中输入学生表的各列及其数据类型,完毕后保存为“Student”表。
图2表设计器
以同样的方法创建其余表。
4.建立主码
(1)给学生表student建立主码。在student表上单击右键选择“设计表”,选
中Sno,点击右键,选择设置主键。
图3
(2)打开student表,则发现向其中输入数据时,在Sno列不能输入相同的数据,也不能取空值。
(3)用同样的方法设置其他表的主码.
5. 设定外码
(1)给sc表设定外码sno。打开student表的设计器,点击右键,选择“关系”。
(2)选择“关系”后会弹出“属性”对话框,如图4.
图4 设置外码
(3)点击“新建”按钮,并在其中选择主键表“student”外键表“sc”,属性都选择“sno”。然后“关闭”,即可创建好外码。
(4)采用同样的方法给sc表设定外码cno。
6. 设定自定义完整性
打开“student”表设计器,点击右键,选择“CHECK约束”,在弹出的窗口中,点击“新建”按钮,并在“约束表达式”文本框中输入条件“age>15 and age<25 ”如图5所示,然后点击关闭。
图5 自定义完整性
以同样的方式再在“student”上创建一个约束,约束条件是ssex=’男’ or ssex=’女’。
7.输入数据
用鼠标右键单击student表,在弹出菜单中选择:“打开表”,“返回所有行”,然后在表格中输入相应的记录。
Student表
Course 表
Sc表
8.下面来验证前面设置的外码、自定义完整性:
(1)在sc表中分别添加记录“04 2 95”和“02 6 70”.看一下能否添加到表中?为什么?
“04 2 95”的Sno属性的值“04”在表Student中找不到一个元组,其Sno属性的值与之相等。
“02 6 70”的Cno属性的值“ 6 ”在表Course中找不到一个元组,其Cno属性的值与之相等。因此以上2条记录不能被添加。
(2)在student表中分别尝试添加以下记录“04 孙卫男35 CS”和“04孙卫重20 CS”。考虑不能添加的原因是什么?
记录“04 孙卫男35 CS”不满足约束条件“age>15 and age<25 ”
记录“04 孙卫重20 CS”不满足约束条件“ssex=’男’ or ssex=’女’”。
实验2 SQL定义语句
一、实验目的
1.熟悉SQL语言环境
2.熟练使用SQL语言所提供的定义功能
二、实验内容
1.练习creat语句的使用
2.练习drop语句的使用
3.练习alter语句的使用
三、实验过程
1.利用create语句创建一个student表,它由学号Sno、姓名Sname、性别Ssex、年龄Sage、系别Sdept五个属性组成。其中,学号是主码,姓名取值唯一。
CREATE TABLE Student
(Sno CHAR(9) PRIMARY KEY, /* 列级完整性约束条件*/
Sname CHAR(20) UNIQUE, /* Sname取唯一值*/
Ssex CHAR(2),
Sage SMALLINT,
Sdept CHAR(20)
);
将创建具有如下图1所示的表结构的数据库表。
图1 表结构
2.建立一个“课程”表Course。包含Cno、Cname、Cpno、Ccredit四个属性。其中Cno是主码,Cpno是外码,参照Cno属性。
CREATE TABLE Course
( Cno CHAR(4) PRIMARY KEY,
Cname CHAR(40),
Cpno CHAR(4) ,
Ccredit SMALLINT,
FOREIGN KEY (Cpno) REFERENCES Course(Cno)
);
3.建立一个“学生选课”表SC。主码由Sno,Cno组成。Sno是外码,被参照表是Student ,Cno是外码,被参照表是Course。
CREATE TABLE SC
(Sno CHAR(9),
Cno CHAR(4),
Grade SMALLINT,
PRIMARY KEY (Sno,Cno),
FOREIGN KEY (Sno) REFERENCES Student(Sno),
FOREIGN KEY (Cno) REFERENCES Course(Cno)
);
4.利用alter语句向student表增加入学时间SCOME列,其数据类型为日期型。
Alter table student add SCOME DATE;
图2 修改后的表结构
5.将年龄的数据类型由字符型改为整数。
ALTER TABLE Student ALTER COLUMN Sage INT;