数据库实验3数据操作.docx
- 文档编号:26621139
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:22
- 大小:2.40MB
数据库实验3数据操作.docx
《数据库实验3数据操作.docx》由会员分享,可在线阅读,更多相关《数据库实验3数据操作.docx(22页珍藏版)》请在冰豆网上搜索。
数据库实验3数据操作
实验3:
数据操作
1.实验目的
为实验2建立的表设计一组数据进行插入、删除、更新等操作,并体会数据完整性约束的作用,加深对数据完整性及其约束的理解。
2.实验要求
在前面的实验完成的前提下,本实验将通过向几张表中插入数据、删除数据以及更新数据等操作,要求读者掌握熟悉数据库的数据操作语句,并根据各完整性的定义设计出相应的语句以检查完整性规则的效果。
具体要求如下:
1.根据6张表的完整性规则,分别尝试:
⑴向课程信息表插入空的课程ID(检验实体完整性规则)。
⑵课程ID前两个字符为大写字母(检验用户定义完整性规则)。
⑶向教学任务表插入教师档案表中没有的教师ID信息(检验参照完整性的规则)。
2.删除教师档案表中的某一记录(此教师ID存在于教学任务中),检查参照完整性规则。
3.由于更新操作是先进行删除操作,然后再进行插入操作,所以更新的检验语句可参照以上两个设计完成。
3.实验环境与实验器材:
计算机,网络环境,投影设备。
实验相关软件:
WindowXP、SQLServer2000。
4.实验内容与步骤
本实验通过使用Transact-SQL语句和“企业管理器”两种方法,对已经建立的数据库进行插入、删除和更新操作。
4.1向表中插入记录
1)使用Transact-SQL语句
第一步:
进入“SQL查询分析器”窗口,然后在“教学管理”数据库下,编写如下Transact-SQL语句:
insertinto课程信息表(课程ID,课程名称,课程类别,学分,学时)
values('JB0001','马克思主义哲学原理','基础必修',2,32)
insertinto课程信息表values('JB0002','毛泽东思想概论','基础必修',2,32)
insertinto课程信息表values('JB0003','大学英语A','基础必修',4,64)
insertinto课程信息表values('JB0004','高等数学A','基础必修',4,64)
insertinto课程信息表values('ZB0001','管理运筹学','专业必修',3.5,56)
insertinto课程信息表values('ZB0002','管理学','专业必修',3,48)
insertinto课程信息表values('XX0001','审计学','限选',2,32)
insertinto课程信息表values('XX0002','货币银行学','限选',2,32)
insertinto课程信息表values('RX0001','公共关系学','限选',2,32)
insertinto课程信息表values('RX0002','广告学','任选',2,32)
第二步:
单击“运行”,得到如下的系统窗口:
第三步:
在查询分析器中输入:
select*from课程信息表,按执行后得到结果,如图:
2)使用“企业管理器”
第一步:
从开始菜单中,进入MicrosoftSQLServer的“企业管理器”,然后,逐层打开“控制台根目录”,直到显示数据库中的“教学管理”数据库,然后再打开该数据库,单击“表”,出现如下窗口:
第二步:
在右面的“教师档案表”中,单击右键,在出现的下拉菜单中,选择“打开表”的“返回所有行”,如图所示:
第三步:
在打开的“教师档案表”窗口中,将光标移到第一条记录上,输入教师ID为,然后将光标移到“教师姓名”上,输入教师姓名——“曹玉树”,然后输入性别——“M”,最后输入职称和单位,分别是“教授”和“会计系”。
这样就完成了一条记录的输入。
依次类推,将下面的内容输入到教室档案数据表中,得到如下窗口:
3)使用“企业管理器”,分别向“教学任务”“学生选课”“学生成绩”和“学生档案”中各插入10条记录,得到如下窗口:
4.2删除表中记录
1)使用Transact-SQL语句
删除“课程信息表”中课程ID为“JB0003”的记录,操作如下:
第一步:
输入如下Transact-SQL语句:
deletefrom课程信息表
where课程ID='JB0003'
第二步:
单击“运行”,可以显示该语句不能执行,出现如下窗口:
2)使用“企业管理器”
打开“企业管理器”后,找到“课程信息表”,在“课程信息表”中,单击右键,在出现的下拉菜单中,选择“打开表”的“返回所有行”,进入“课程信息表”界面后,找到课程ID=‘JB0003’的记录,然后将光标移到该条记录上,单击右键,选择“删除”,系统会提示与上图类似的出错信息,如下图:
4.3记录的简单更新
第一步:
更新“课程信息表”中课程ID,为‘RX0002’的记录,编写Transact-SQL语句,将该课程ID置为空,具体语句如下:
update课程信息表
set课程ID=null
where课程ID='RX0002'
单击“运行”,出现如下窗口:
第二步:
更新“教学任务表”中的任课教师ID,使更新后的任课教师ID在“教师档案”的“教师ID”是不存在的,具体语句如下:
update教学任务表
set任课教师ID=''
where任课教师ID=''
单击“运行”,出现如下窗口:
第三步:
更新“课程信息表”中课程ID的记录,编写Transact-SQL语句,将该课程ID‘JB0002’设置为数字‘’,具体语句如下:
update课程信息表
set课程ID=''
where课程ID='JB0002'
单击“运行”,出现如下窗口:
4.4记录的复杂更新
1)使用Transact-SQL语句
编写Transact-SQL语句,更新“学生成绩表”中的总成绩,总成绩的计算公式为:
平时成绩*0.3+期末成绩*(1-0.3)。
,具体语言如下:
update学生成绩表
set总成绩=(平时成绩*0.3+期末成绩*(1-0.3))
单击“运行”,出现如下窗口:
系统更新完成后,执行查询操作,select*from学生成绩表,按执行后得到结果,如图:
2)使用“企业管理器”
在“企业管理器”中,找到“教学管理”数据库,打开“学生成绩表”,打开“表”中的“返回所有行”找到需要更新的记录,更新相应属性,然后单击“运行”,运行后,关闭数据表即可,查询“总成绩”更新窗口如下:
4.5多表嵌套删除表中记录
编写Transact-SQL语句,删除选修课程名称为“大学英语A”的学生信息,先查询课程名称为“大学英语A”的记录是否存在,具体语句如下:
select*from学生选课表
where课程IDin
(select课程ID
from课程信息表
where课程名称='大学英语A')
单击“运行”,出现如下窗口:
根据上面查询的结果,删除选择了“大学英语A”的所有学生该课程的成绩,具体语句如下:
deletefrom学生成绩表
where学号in
(select学号
from学生选课表
where课程IDin
(select课程ID
from课程信息表
where课程名称='大学英语A'))
单击“运行”,出现如下窗口:
删除成功后,进行查询,具体语言如下:
select*from学生成绩表
where学号in
(select学号
from学生选课表
where课程IDin
(select课程ID
from课程信息表
where课程名称='大学英语A'))
单击“运行”,出现如下窗口:
4.6扩展实验
在“课程信息表”、“教师档案表”的基础上,进行扩展实验。
1)练习简单的数据的删除和更新操作。
①使用Transact-SQL语句将“学生选课表”中的学号为“”的相关选课信息删除。
第一步:
在“查询分析器”中输入如下语句:
deletefrom学生选课表
where学号=''
第二步:
运行,得到如下结果:
第三步:
在查询分析器中输入:
select*from学生选课表,按“执行”后得到结果:
②将“学生档案表”中学号为“”的学生信息更新为“刘真,F,1983-7-9,吉林,会计学,1”
⑴使用Transact-SQL语句
第一步:
在“查询分析器”中输入如下语句:
update学生档案表
set姓名='刘真',性别='F',出生日期='1983-7-9',籍贯='吉林',专业='会计学',班级=1
where学号=''
第二步:
运行,得到如下结果:
第三步:
在查询分析器中输入:
select*from学生档案表,按“执行”后得到结果:
⑵使用企业管理器
在“企业管理器”中,找到“教学管理”数据库,打开“学生档案表”,打开“表”中的“返回所有行”找到需要更新的记录,更新相应属性,然后单击“运行”,运行后,关闭数据表即可,查询更新窗口如下:
2)练习复杂的数据删除和更新操作。
①将学生姓名为“赵敏”的学生成绩删除
⑴使用Transact-SQL语句
第一步:
在“查询分析器”中输入如下语句:
deletefrom学生成绩表
where学号in(select学号from学生档案表where姓名='赵敏')
第二步:
运行,得到如下结果:
第三步:
在查询分析器中输入:
select*from学生成绩表,按“执行”后得到结果:
⑵用企业管理器
在“企业管理器”中,找到“教学管理”数据库,打开“学生档案表”,查找出姓名为“赵敏”的学生的学号,打开“学生成绩表”,打开“表”中的“返回所有行”找到需要更新的记录,更新相应属性,然后单击“运行”,运行后,关闭数据表即可,查询更新窗口如下:
②将教师姓名为“王周洪”的教学年度和学期改为“2003-2004”的第一学期:
⑴使用Transact-SQL语句
第一步:
在“查询分析器”中输入如下语句:
update教学任务表
set年度='2003-2004',
学期=1
where任课教师ID=(select教师IDfrom教师档案表where姓名='王周洪')
第二步:
运行,得到如下结果:
第三步:
在查询分析器中输入:
select*from教学任务表,按“执行”后得到结果:
⑵用企业管理器
在“企业管理器”中,找到“教学管理”数据库,打开“教师档案表”,查找出姓名为“王周洪”的教师的教师ID,打开“教学任务表”,打开“表”中的“返回所有行”找到需要更新的记录,更新相应属性,然后单击“运行”,运行后,关闭数据表即可,查询更新窗口如下:
5.思考与总结
书本上很多数据前后不一致,导致很多地方运行不了,只能通过前后对比,找出数据,才能继续运行。
在嵌套删除中,因为两个表之间有外键联系,所以只能运用语句:
altertable学生选课表
dropCONSTRAINTFK_学生选课表_学生成绩表1
将外键联系删掉,才能继续进行。
实验介绍了数据操作的基本语句,包括插入、删除、更新语句。
通过基本案例和拓展实验了解到MSSQL强大的数据操作功能,通过整个章节的树眼,来建立完整的“教学管理”数据库的原始数据表。
另外,通过数据的更新和删除操作,了解到数据的实体完整性规则、参照完整性规则和用户自定义完整性规则。
通过这次实验,进一步了解如何使用SQLServer软件,了解到整个数据库是怎样保存的,数据的插入、更新、删除等的不同方法,使我更熟悉这些简单语句,也从一次次的实验失败中找到解决方法,让我更加学会如何利用帮助文件来解决问题。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 实验 数据 操作