数据库原理实验指导书

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

相关文档
最新文档