2015网络数据库实验指导书

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

《网络数据库实验》指导书计算机科学与技术专业

佛山科学技术学院计算机系

2015年3月

目录

实验一数据库和数据库表操作 (1)

实验二数据库单表查询 (5)

实验三数据库多表连接查询 (9)

实验四数据库嵌套查询和组合查询 (11)

实验五数据的更新 (17)

实验六 T-SQL语言 (19)

实验七视图与索引 (24)

实验八存储过程的实现 (27)

实验九触发器的实现 (32)

实验十数据库的安全性 (36)

实验十一备份、还原与导入、导出 (37)

实验十二数据库应用系统设计 (38)

参考资料

1.王珊萨师煊.《数据库系统概论》(第四版).北京:高等教育出版社,2006

2.方风波. 网络数据库项目教程. 北京:电子工业出版社,2012

3.吴德胜. SQL Server入门经典. 北京:机械工业出版社,2013

公共邮箱:fosucomputer@

邮箱密码:computer

学生-课程数据库xscj中用到的四个表文件如下:

1.学生表(Student表)

Student表(学生表)结构

Student表(学生表)记录

2.课程表(Course表)

Course表(课程表)结构

Course表(课程表)记录

3.成绩表(SC表)

SC表(成绩表)结构

SC表(成绩表)记录

4.系表(Department表)

Department表(系表)结构

Department表(系表)结构

实验一数据库和数据库表操作

一、实验目的和要求

1.掌握利用查询窗口和对象资源管理器进行数据库及基本表的定义、删除与修改;

2.掌握索引的建立与删除的方法。

二、实验内容与步骤

(一)建立数据库

【SY1-01】通过企业管理器或查询分析器建立学生-课程数据库xskc。

CREATE DATABASE xscj

ON PRIMARY

(NAME='xscj_data',FILENAME='E:\sjk2015\xscj.mdf')

LOG ON

(NAME='xscj_log',FILENAME='E:\sjk2015\xscj.ldf')

【注】先在E:盘上建立一个文件夹(例如:E:\sjk2015),数据库文件保存到自建的文件夹中。

(二)基本表的定义、修改与删除

1.定义基本表

利用查询窗口和对象资源管理器创建基本表,并输入数据。

【SY1-02】建立一个学生表Student,它由学号Sno、姓名Sname、性别Ssex、出生日期Sbirth、年龄Sage、系代号Dno五个属性组成。要求“学号”为主键,“姓名”不能为空,“性别”默认值为“男”。

CREATE TABLE Student

( Sno char(10)PRIMARY KEY,

Sname Varchar(8)NOT NULL,

Ssex char(2)DEFAULT'男'CHECK(Ssex in('男','女')),

Sbirth smalldatetime NULL,

Sage int null,

Dno char(4)NULL

)

【SY1-03】建立课程表Course,它由课程号Cno、课程名Cname、先修课Cpno、Ccredit学分四个属性组成。要求“课程号”为主键,“课程名”属性不能为空。

CREATE TABLE Department

( Dno char(4)PRIMARY KEY,

Dname Varchar(20)NOT NULL,

College Varchar(20)

)

【SY1-04】建立学生成绩表SC,包含学号Sno、课程号Cno、成绩Grade三个字段。要求建立主键及与student、sc表联接的外键,并创建检查约束(Grade>=0 and Grade<=100)。

CREATE TABLE SC

(Sno char(10)NOT NULL,

Cno char(6)NOT NULL,

Grade int CHECK(Grade BETWEEN 0 AND 100),

PRIMARY KEY(Sno,Cno),

FOREIGN KEY(Sno)REFERENCES Student(Sno),

FOREIGN KEY(Cno)REFERENCES Course(Cno)

)

【SY1-05】建立系表Department,包含系代号Dno、系名称Dname、所属学院College三个字段。

CREATE TABLE Department

( Dno char(4)PRIMARY KEY,

Dname Varchar(20)NOT NULL,

College Varchar(20)

)

2 修改基本表

利用查询窗口和对象资源管理器修改基本表。

【SY1-06】向基本表Student中增加“入学时间”属性列,其属性名为S_entrance,数据类型为日期型。

ALTER TABLE Student ADD S_entrance DATETIME;

【SY1-07】将Student表中Sage(年龄)的数据类型改为SMALLINT型。

ALTER TABLE Student ALTER COLUMN Sage SMALLINT;

【SY1-08】增加课程名称必须取唯一值的约束条件。

ALTER TABLE Course ADD UNIQUE(Cname);

【SY1-09】将Student表的Dno列允许空值的属性更改为不允许为空。

ALTER TABLE Student ALTER COLUMN Dno CHAR(4) NOT NULL;

【SY1-10】删除Student表中的S_entrance列。

ALTER TABLE Student DROP COLUMN S_entrance;

3 删除基本表

【SY1-11】删除Student表。

DROP TABLE Student;

说明:此表删除后,请立即将其建立起来,以便后面的例子使用。

(三)索引的建立和删除

1 建立索引

【SY1-12】在基本表Student的Sname(姓名)列上建立一个聚簇索引,而且Student中的物理记录将按照Sname值的升序存放。其语句为:

CREATE CLUSTERED INDEX Stu_Sname ON Student(Sname);

【SY1-13】分别为学生-课程数据库中的Student,Course,SC三个表建立索引。其中Student表按Sno(学号)升序建唯一索引,Course表按Cno(课程号)升序建唯一索引,SC表按Sno(学号)升序和Cno(课程号)号降序建唯一索引。其语句为:

CREATE UNIQUE INDEX Stu_Sno ON Student(Sno);

CREATE UNIQUE INDEX Cou_Cno ON Course(Cno);

CREATE UNIQUE INDEX SCno ON SC(Sno ASC, Cno DESC);

2 删除索引

【SY1-14】删除Student表的Stu_Sname索引。

DROP INDEX Student.Stu_Sname;

相关文档
最新文档