文档介绍:《数据库概论》实验 1/ 40 《数据库系统概论》实验报告书安徽工业大学计算机学院专业班级网 133 学号 139074357 姓名赵世友指导教师陈业斌《数据库概论》实验 2/ 40 实验一:数据定义/ 数据操纵语言[ 实验日期] 2015 年 10月 13日[ 实验目的] 熟悉 Oracle 上机环境; 熟练掌握和使用 DDL 语言, 建立、修改和删除数据库表; 熟练掌握和使用 DML 语言,对数据进行增加、修改和删除操作。[ 实验内容] 1. SQL 数据定义语句: 例 1-1 :( 建立如附录一所示的四张数据表) 按要求建立教学数据库表结构及其完整性约束关系, 并将数据分别插入到教学数据库的四个数据库表中。 1. 建立学生表。例 1-2 :( 修改表结构)在 Student 表中将 SSEX 字段修改为 char(2), 观察返回结果,分析原因。答: ssex 改成 char (2 )后因为列长度问题,出现问题如图《数据库概论》实验 3/ 40 例 1-3 :( 修改表结构)在 Student 表中增加 BirthDay(date ) 字段。答: ALTER TABLE Student ADD BirthDay(date ) varchar2(50) NULL 例 1-4 :( 修改表结构)在 Student 表中删除 BirthDay 字段。答: ALTER TABLEStudent DROP COLUMN BirthDay 例 1-5 :( 修改表结构)在 Student 表中增加一个默认值约束,约束’性别’的默认值为’男’。答: ALTER TABLE Student modify ssex char(3) DEFAULT ('男') 2. SQL 数据操纵语句: 例 2-1 :( 插入数据) 执行如下语句向 student 表中插入一条数据。 insert into student(sno,sname,sdept) values('96001',' 张三','SC') (1) 根 据返回信息解释其原因; 答: SCLASS char(2) not null, 因为 SCLASS 不为空,所以插入时必要要给其赋值(2) 修改上面插入语句,让其能正确地插入一条记录。答: insert into student(sno,sname,sdept,sclass) values('96001',' 张三','SC', ’ 01’); 例 2-2 :( 插入数据) 执行如下语句向 Score 表中插入一条数据。 insert into Score values('96006','001',85) (1) 根据返回信息解释其原因; 答:错误: ORA-02291: 违反完整约束条件() - 未找到父项关键字未找到 96006 02291. 00000 - "integrity constraint (%s.%s) violated - parent key not found" 《数据库概论》实验 4/ 40 (2) 修改上面插入语句,让其能正确地插入一条记录。答: insert into Score values('96005','001',85); 例 2-3 :( 修改数据)将 Student 表中所有学生的年龄加 2。答: update STUDENT set SAGE= SAGE+2; 例 2-4 :( 修改数据)将 Course 表中‘程序设计’课时数修改成 50。答: update Course set CTIME=50 AME=' 程序设计'; 例 2-5 :( 修改数据)将 Student 表中的学号’ 96001 ’改为‘ 96010 ’,根据返回信息解释其原因。答: update STUDENT set SNO=96010 WHERE SNO=96001; SQL 错误: ORA-02292: 违反完整约束条件() - 已找到子记录因为数据表中主键 96001 作为外键在其他表中使用了,所以不能修改例 2-6 :( 删除数据) 删除 Student 表中学号为‘ 96001 ’的成绩信息,根据返回信息解释其原因。答: delete from STUDENT where Sno=96001; SQL 错误: ORA-02292: 违反完整约束条件() - 已找到子记录要改的话, 例 2-7 :( 创建表) 利用 Student 表的查询结果创建 Sc 表,表中记录与 Student 表相同。答: