数据库实验三

更新时间:2024-01-20 14:31:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

计算机科学系实验报告 (首页) 课程名称 数据库系统概论 班 级 网络工程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”,恢复“学生-课程”数据库中所有表的结

构及数据;

实验报告:

描述实验的详细实现步骤 写出设计心得,总结各种数据更新的方法和特点;在数据更新时保持数据一致性的问题;比较企业管理器和查询分析器使用的特点。

在插入,更新以及删除数据时需要保持数据一致性,这样才能正常操作,这就需要弄清楚对各个表之间的关系。企业管理器主要用于数据库备份,还能很方便的建立关系,很直观。二查询分析器主要用于查询各种逻辑上的关系。

本文来源:https://www.bwwdw.com/article/ogbo.html

Top