计算机科学系实验报告 (首页) 课程名称 数据库系统概论 班 级 网络工程2班 实验名称 实验三数据库中数据的更新 指导教师 索剑 姓名 李文森 学 号 1214080613213 日 期 2014年 5月20日
实验目的:
掌握数据输入、删除和修改的方法;理解各种约束的作用。 实验类型:验证 实验内容:
插入数据;修改数据;删除数据 操作步骤:
1) 打开实验1建立的数据库
2) 在查询分析器中完成以下插入语句
将一个新学生记录(学号:95020;姓名:陈冬;性别:男;所在系:IS;年龄:18岁)插入到Student表中;
INSERT INTO Student VALUES('95020','陈冬','男','18','IS');
不能插入数据,因为主键已存在
插入一条选课记录(’95099’,’1’);
因为Student与SC表建立了了关系,每次向SC表插入数据都需要参照Student表是否存在该值,所以应该先向Student 表插入,再到SC表插入
INSERT INTO Student(Sno) VALUES('95099'); INSERT INTO SC(Sno,Cno) VALUES('95099','1');
对每一个系,求学生的平均年龄,并把结果存入数据库表Deptage中; CREATE TABLE Deptage (Sdept varchar(10),Avg_age varchar(10) ); INSERT INTO Deptage (Sdept,Avg_age) SELECT Sdept ,AVG(Sage) FROM student GROUP BY Sdept; 3) 建立一个新数据库“SC_BAK”,将“学生-课程”数据库中所有表的结构及数据导入
“SC_BAK”中
1.新建数据库
2.导入
4) 在查询分析器中完成以下修改语句 将学生95001的年龄改为22岁;
UPDATE student SET Sage=22 WHERE Sno='95001'; 将所有学生的年龄增加1岁;
UPDATE student SET Sage=Sage+1 ; 将计算机科学系全体学生的成绩置零;
5) UPDATE SC SET Grade=0 WHERE 'CS'=(SELECT Sdept FROM student WHERE
student.Sno=SC.Sno) ;
6) 在查询分析器中完成以下删除语句 删除学号为‘95020’的学生记录;
因为与SC建立了关联,无法直接删除,如果SC与Student都有相同数据,需要先删除SC 表中的SC,才能删除Student的记录
DELETE FROM SC WHERE Sno='95020'; DELETE FROM Student WHERE Sno='95020';
删除所有计算机科学系的学生选课记录;
7) 利用步骤(3)建立的数据库“SC_BAK”,恢复“学生-课程”数据库中所有表的结
构及数据;
实验报告:
描述实验的详细实现步骤 写出设计心得,总结各种数据更新的方法和特点;在数据更新时保持数据一致性的问题;比较企业管理器和查询分析器使用的特点。
在插入,更新以及删除数据时需要保持数据一致性,这样才能正常操作,这就需要弄清楚对各个表之间的关系。企业管理器主要用于数据库备份,还能很方便的建立关系,很直观。二查询分析器主要用于查询各种逻辑上的关系。