数据库实验 电子科技大学.docx
- 文档编号:29882729
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:45
- 大小:364.78KB
数据库实验 电子科技大学.docx
《数据库实验 电子科技大学.docx》由会员分享,可在线阅读,更多相关《数据库实验 电子科技大学.docx(45页珍藏版)》请在冰豆网上搜索。
数据库实验电子科技大学
计算机专业类课程
实验报告
课程名称:
数据库系统及应用
学 院:
计算机科学与工程
专 业:
计算机科学与技术
学生姓名:
李鹤鸣
学 号:
2014060101011
指导教师:
郑莉华
日 期:
2016年4月24日
电子科技大学
实验报告
实验一
1、实验名称:
创建,备份与恢复数据库
2、实验学时:
2
3、实验内容和目的:
本实验要求学生掌握创建数据库的方法及相关操作,向数据库中添加样本数据,学习SQLSERVER数据库的恢复和备份。
创建数据库,命名为DB+学号,如:
DB000000001
该数据库包括5个表:
建议:
在定义表中字段时,尽量使用意义的英文单词。
‘系别代码表’表名:
dep
‘教师表’表名:
teacher
‘学生表’表名:
stud
‘课程表’表名:
course
‘选课表’表名:
sc
为每个表准备大约5-10条记录,使用Insert语句将这些数据插入到相应表中
数据录入完成后,将数据库备份到磁盘上,在以后的的试验中备用。
4、实验原理:
使用数据库管理系统DB、DDL创建数据库及数据库对象。
5、实验器材(设备、元器件)
计算机,MicrosoftSQLsever2014
6、实验步骤:
启动SQLSERVER
创建数据库:
STUD
创建表
‘系别代码表’ 表名:
dep
其结构如下:
(该表的主键为’系代码’)
字段名称
字段类型
字段大小/格式
是否可为空
系代码depid
varchar
8
否
PK
系名depname
varchar
20
否
Notnull
‘教师表’表名:
teacher
其结构如下:
(该表的主键为’教师号’)
字段名称
字段类型
字段大小/格式
是否可为空
教师号tid
Varchar
8
否
PK
教师名tname
Varchar
8
否
Notnull
职称title
Varchar
10
是
所属院系编号depid
Varchar
20
是
‘学生表’表名:
student
其结构如下:
(该表的主键为’学生号’)
字段名称
字段类型
字段大小/格式
是否可为空
学号sid
Varchar
11
否
PK
学生名sname
Varchar
8
否
Notnull
性别sex
Char
2
否
院系编号depid
Varchar
20
是
出生年月birthd
Date
是
邮箱semail
Varchar
20
是
家庭地址homeaddr
Varchar
40
是
‘课程表’表名:
course
其结构如下:
(该表的主键是课程号)
字段名称
字段类型
字段大小/格式
是否可为空
课程号cid
varchar
8
否
PK
课程名cname
varchar
30
否
Notnull
先修课程号cid_pre
varchar
8
是
学分credits
numeric
3(小数位数1)
否
Notnull
‘选课表’表名:
sc
其结构如下:
(该表的主键是课程号)
字段名称
字段类型
字段大小/格式
是否可为空
学号sid
varchar
8
否
Notnull,PK
课程号cid
varchar
8
否
Notnull,PK
教师号tid
varchar
8
否
成绩score
integer
是
1、备份数据库
2、恢复数据库
PK:
主键,Notnull:
不能取空值
7、实验数据及结果分析:
Createtabledep(
depidvarchar(8)primarykey,
depnamevarchar(20)notnull
);
Createtableteacher(
tidvarchar(8)primarykey,
tnamevarchar(8)notnull,
titlevarchar(10),
depidvarchar(20)
);
Createtablestudent(
sidvarchar(8)primarykey,
snamevarchar(8)notnull,
sexchar
(2)notnull,
depidvarchar(20),
birthddate,
semailvarchar(20),
homeaddrvarchar(40)
);
Createtablecourse(
cidvarchar(8)primarykey,
cnamevarchar(30)notnull,
cid_prevarchar(8),
creditsnumeric(3,1)notnull
);
Createtablesc(
sidvarchar(8)notnull,
cidvarchar(8)notnullprimarykey,
tidvarchar(8)notnull,
scoreinteger
);
insertintodep(depid,depname)values('01','计算机');
insertintodep(depid,depname)values('02','信软');
insertintodep(depid,depname)values('03','通信');
insertintodep(depid,depname)values('04','电工');
insertintodep(depid,depname)values('05','自动化');
insertintoteacher(tid,tname,title,depid)values('200601','刘琦','讲师','03');
insertintoteacher(tid,tname,title,depid)values('200602','林闲','讲师','02');
insertintoteacher(tid,tname,title,depid)values('200605','李迁','教授','01');
insertintoteacher(tid,tname,title,depid)values('200604','曹薇','讲师','04');
insertintoteacher(tid,tname,title,depid)values('200608','孙峰','讲师','05');
insertintostudent(sid,sname,sex,depid,birthd,semail,homeaddr)values('201401','张澄','男','01','1994.10.15','13456289@','江苏省南京市');
insertintostudent(sid,sname,sex,depid,birthd,semail,homeaddr)values('201402','明青云','男','02','1996.1.11','465187@','河北省邯郸市');
insertintostudent(sid,sname,sex,depid,birthd,semail,homeaddr)values('201403','孔玲珑','女','03','1995.6.25','97644163@','福建省泉州市');
insertintostudent(sid,sname,sex,depid,birthd,semail,homeaddr)values('201404','雷破','男','04','1994.2.14','4941647@','广东省深圳市');
insertintostudent(sid,sname,sex,depid,birthd,semail,homeaddr)values('201405','李肃','男','05','1994.5.26','8794164@','湖北省武汉市');
insertintocourse(cid,cname,cid_pre,credits)values('00101','离散数学','10001','2');
insertintocourse(cid,cname,cid_pre,credits)values('00102','大学物理下','00100','2');
insertintocourse(cid,cname,cid_pre,credits)values('00103','数据结构','10000','3');
insertintocourse(cid,cname,cid_pre,credits)values('00104','概率论','10002','4');
insertintocourse(cid,cname,cid_pre,credits)values('00105','计算机导论','00010','1');
insertintosc(sid,cid,tid,score)values('201401','00101','200601','80');
insertintosc(sid,cid,tid,score)values('201402','00102','200604','76');
insertintosc(sid,cid,tid,score)values('201403','00103','200605','80');
insertintosc(sid,cid,tid,score)values('201404','00104','200608','84');
insertintosc(sid,cid,tid,score)values('201405','00105','200602','86');
8、实验结论、心得体会和改进建议:
按步骤进行试验,本实验相对简单。
电子科技大学
实验报告
实验二
3、实验名称:
数据库的完整性
4、实验学时:
4
5、实验内容和目的:
通过设置表的检查约束、外键约束体会数据库完整性的含义,约束条件下数据修改操作的限制,以及实现修改操作的技巧。
表结构中的完整性约束条件如下:
PK:
主键,FK:
外键,其它:
:
约束条件
‘系别代码表’ 表名:
dep
其结构如下:
(该表的主键为’系代码’)
字段名称
字段类型
字段大小/格式
是否可为空
约束条件
系代码depid
varchar
8
否
PK
系名depname
varchar
20
否
Notnull
‘教师表’表名:
teacher
其结构如下:
(该表的主键为’教师号’)
字段名称
字段类型
字段大小/格式
是否可为空
约束条件
教师号tid
Varchar
8
否
PK
教师名tname
Varchar
8
否
Notnull
职称title
Varchar
10
是
所属院系编号depid
Varchar
20
是
‘学生表’表名:
student
其结构如下:
(该表的主键为’学生号’)
字段名称
字段类型
字段大小/格式
是否可为空
约束条件
学号sid
Varchar
11
否
PK
学生名sname
Varchar
8
否
Notnull
性别sex
Char
2
否
院系编号depid
Varchar
20
是
FK
出生年月birthd
Date
是
邮箱semail
Varchar
20
是
家庭地址homeaddr
Varchar
40
是
‘课程表’表名:
course
其结构如下:
(该表的主键是课程号)
字段名称
字段类型
字段大小/格式
是否可为空
约束条件
课程号cid
varchar
8
否
PK
课程名cname
varchar
30
否
Notnull
先修课程号cid_pre
varchar
8
是
学分credits
numeric
3(小数位数1)
否
Notnull
‘选课表’表名:
sc
其结构如下:
(该表的主键是课程号)
字段名称
字段类型
字段大小/格式
是否可为空
约束条件
学号sid
varchar
8
否
Notnull,PK,FK
课程号cid
varchar
8
否
Notnull,PK,FK
教师号tid
varchar
8
否
Notnull,FK
成绩score
integer
是
0 (1)设置选课表的三个外键约束(学号,课程号,教师号) (2)设置教师表,学生表中的院系字段(depid)的外键约束 (3)设置学生表中姓名字段为 非空字段 (必须有数据,不能是空值) (4)设置选课表中成绩字段的取值范围是0到100 (5)设置学生表中性别字段的取值为 ’男’或’女’ (6)设置学生表电子邮件字段的取值必须包含@符号 (7) (8)向’系别代码表’ 添加数据,数据如下: (9)向’教师表’ 添加数据,2条 (10)向’学生表’ 添加数据,5条以上 (11)向’课程表’ 添加数据,3条以上 (12)向’选课表’ 添加数据,10条 6、实验原理: 数据库库的完整性、约束条件、结构化查询语言。 7、实验器材(设备、元器件) 计算机,MicrosoftSQLsever2014. 8、实验步骤: 恢复数据库,将数据库备份stud恢复到SQLSERVER中 执行SQL命令完成实验内容 备份数据库 9、实验数据及结果分析: Createtabledep( depidvarchar(20)primarykey, depnamevarchar(20)notnull ); Createtableteacher( tidvarchar(8)primarykey, tnamevarchar(8)notnull, titlevarchar(10), depidvarchar(20), foreignkey(depid)referencesdep(depid) ); Createtablestudent( sidvarchar(8)primarykey, snamevarchar(8)notnull, sexchar (2)notnull, depidvarchar(20), birthddate, semailvarchar(20), homeaddrvarchar(40), check(sexin('男','女')), check(semaillike'%@%') ); Createtablecourse( cidvarchar(8)primarykey, cnamevarchar(30)notnull, cid_prevarchar(8), creditsnumeric(3,1)notnull ); Createtablesc( sidvarchar(8)notnull, cidvarchar(8)notnull, tidvarchar(8)notnull, scoreinteger, check(scorebetween0and100), foreignkey(sid)referencesstudent(sid), foreignkey(cid)referencescourse(cid), foreignkey(tid)referencesteacher(tid) ); insertintodep(depid,depname)values('01','计算机'); insertintodep(depid,depname)values('02','信软'); insertintodep(depid,depname)values('03','通信'); insertintodep(depid,depname)values('04','电工'); insertintodep(depid,depname)values('05','自动化'); insertintoteacher(tid,tname,title,depid)values('200605','李迁','教授','01'); insertintoteacher(tid,tname,title,depid)values('200604','曹薇','讲师','02'); insertintostudent(sid,sname,sex,depid,birthd,semail,homeaddr)values('201401','张澄','男','01','1994.10.15','13456289@','江苏省南京市'); insertintostudent(sid,sname,sex,depid,birthd,semail,homeaddr)values('201402','明青云','男','02','1996.1.11','465187@','河北省邯郸市'); insertintostudent(sid,sname,sex,depid,birthd,semail,homeaddr)values('201403','孔玲珑','女','03','1995.6.25','97644163@','福建省泉州市'); insertintostudent(sid,sname,sex,depid,birthd,semail,homeaddr)values('201404','雷破','男','04','1994.2.14','4941647@','广东省深圳市'); insertintostudent(sid,sname,sex,depid,birthd,semail,homeaddr)values('201405','李肃','男','05','1994.5.26','8794164@','湖北省武汉市'); insertintostudent(sid,sname,sex,depid,birthd,semail,homeaddr)values('201406','林清','女','01','1995.5.28','8745156@','湖北省孝感市'); insertintocourse(cid,cname,cid_pre,credits)values('00101','离散数学','10001','2'); insertintocourse(cid,cname,cid_pre,credits)values('00102','大学物理下','00100','2'); insertintocourse(cid,cname,cid_pre,credits)values('00103','数据结构','10000','3'); insertintocourse(cid,cname,cid_pre,credits)values('00104','概率论','10002','4'); insertintocourse(cid,cname,cid_pre,credits)values('00105','计算机导论','00010','1'); insertintosc(sid,cid,tid,score)values('201401','00101','200605','80'); insertintosc(sid,cid,tid,score)values('201402','00102','200604','76'); insertintosc(sid,cid,tid,score)values('201403','00103','200605','80'); insertintosc(sid,cid,tid,score)values('201404','00104','200604','84'); insertintosc(sid,cid,tid,score)values('201405','00105','200604','86'); insertintosc(sid,cid,tid,score)values('201401','00102','200604','69'); insertintosc(sid,cid,tid,score)values('201402','00101','200605','85'); insertintosc(sid,cid,tid,score)values('201403','00104','200604','80'); insertintosc(sid,cid,tid,score)values('201404','00103','200605','75'); insertintosc(sid,cid,tid,score)values('201405','00101','200605','94'); 10、实验结论、心得体会和改进建议: 注意sql语句语法,认真编写代码基本就可以顺利完成实验。 电子科技大学 实验报告 实验三 一实验名称: 数据的修改 二实验学时: 2 三实验内容和目的: 练习UPDATE、DELETE命令的使用,实现对数据的修改和删除。 (1)将院系中,原院系名’IS’改为’Information‘ (2)在选课表中,删除计算机科学与工程系学生选修2号课程的记录 (3)在选课表中,删除软件工程系学生选课1号课程的纪录记录 (4)学号为2406010103的同学由原来的计算机科学与工程系转入信息安全系,学号更改为2406030102,在数据库中做出相应修改。 四实验原理: 使用结构化查询语言,在满足约束条件的情况下完成数据修改 五实验器材(设备、元器件) 计算机,MicrosoftSQLsever 六实验步骤: 1.恢复数据库,将数据库备份stud恢复到SQLSERVER中 2.执行SQL命令完成
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库实验 电子科技大学 数据库 实验
![提示](https://static.bdocx.com/images/bang_tan.gif)