《网络数据库实验》指导书
计算机科学与技术专业
佛山科学技术学院计算机系
2015年3月
I
目 录
实验一 数据库和数据库表操作 ???????????????????????1 实验二 数据库单表查询 ??????????????????????????5 实验三 数据库多表连接查询 ????????????????????????9 实验四 数据库嵌套查询和组合查询 ??????????????????????11 实验五 数据的更新 ????????????????????????????17 实验六 T-SQL语言 ????????????????????????????19 实验七 视图与索引 ????????????????????????24 实验八 存储过程的实现 ???????????????????????27 实验九 触发器的实现 ???????????????????????32 实验十 数据库的安全性 ????????????????????????36 实验十一 备份、还原与导入、导出 ?????????????????????37 实验十二 数据库应用系统设计???????????????????????38
参考资料
1.王珊 萨师煊.《数据库系统概论》(第四版).北京:高等教育出版社,2006 2.方风波. 网络数据库项目教程. 北京:电子工业出版社,2012 3.吴德胜. SQL Server入门经典. 北京:机械工业出版社,2013
公共邮箱:fosucomputer@163.com 邮箱密码:computer
I
学生-课程数据库xscj中用到的四个表文件如下: 1.学生表(Student表)
Student表(学生表)结构
字段名称 Sno Sname Ssex Sbirth Sage Dno Student表(学生表)记录
Sno 2012314101 2012314102 2012314201 2012314202 2012394101 2012394201 2012374120 2012214230 2.课程表(Course表)
Course表(课程表)结构
字段名称 Cno Cname Cpno Ccredit 数据类型 char varchar char smallint Course表(课程表)记录
Cno 1 2 3 4 5 6 7 8
II
数据类型 char varchar char smalldatetime smallint char 长度 10 8 2 2 空值 否 否 √ √ √ 否 说明 学号 姓名 性别 出生日期 年龄 系代号 Sname 李勇 刘晨 欧阳原野 周小李 郑涛 吴小莉 王敏 欧大海 Ssex 男 女 男 女 男 女 女 男 Sbirth 1995-09-13 1996-07-28 1998-11-02 1997-01-15 1996-05-14 1997-11-05 1999-07-16 1996-04-04 Sage 20 19 17 18 19 18 18 19 Dno DX01 DX01 DX01 DX01 DX01 DX01 DX02 LX01 备注 12计算机1班 12计算机1班 12计算机2班 12计算机2班 12网络1班 12网络2班 12电子信息工程1班 12数学与应用数学2班 长度 6 20 6 空值 否 √ √ √ 说明 课程编号 课程名称 先修课 学分 Cname 数据库 数学 信息系统 操作系统 数据结构 数据处理 PASCAL语言 DB_Design Cpno 5 NULL 1 6 7 NULL 6 1 Ccredit 4 2 4 3 4 2 4 2
3.成绩表(SC表)
SC表(成绩表)结构
字段名称 Sno Cno Grade 数据类型 char char smallint SC表(成绩表)记录
Sno 2012314101 2012314101 2012314101 2012314102 2012314102 2012314102 2012314201 2012314202 2012394101 2012394201 2012374120 2012214230 2012314101 长度 10 6 空值 否 否 √ 说明 学号 课程编号 成绩 Cno 1 2 3 1 2 3 1 1 1 1 1 1 4 Grade 92 59 88 78 95 80 90 80 69 88 45 100 NULL 4.系表(Department表)
Department表(系表)结构
字段名称 Dno Dname College 数据类型 char varchar varchar 长度 2 20 20 空值 否 √ √ 说明 系代号 系名称 所属学院 Department表(系表)结构 Dno DX01 DX02 LX01 LX02 Dname 计算机系 电子系 数学系 物理系 College 电信学院 电信学院 理学院 理学院 III
实验一 数据库和数据库表操作
一、实验目的和要求
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)
)
1