文档介绍:《数据库系统概论》
实验报告书
专业班级
网133
学号
139074357
姓名
赵世友
指导教师
陈业斌
安徽工业大学计算机学院
实验一:数据定义/数据操纵语言
[ 实验日期] 2015 年 10 月 13 日
[ 实验目的]
熟悉Oracle上机环境;熟练掌握和使用DDL语言,建立、修改和删除数据库表;熟练掌握和使用DML语言,对数据进行增加、修改和删除操作。
[ 实验内容]
SQL数据定义语句:
例1-1: (建立如附录一所示的四张数据表) 按要求建立教学数据库表结构及其完整性约束关系,并将数据分别插入到教学数据库的四个数据库表中。
。
例1-2: (修改表结构) 在Student表中将SSEX字段修改为char(2),观察返回结果,分析原因。
答:
ssex改成char(2)后因为列长度问题,出现问题如图
例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')
根据返回信息解释其原因;
答:SCLASS char(2) not null,因为SCLASS不为空,所以插入时必要要给其赋值
修改上面插入语句,让其能正确地插入一条记录。
答:insert into student(sno,sname,sdept,sclass) values('96001','张三','SC',’01’);
例2-2:(插入数据) 执行如下语句向Score表中插入一条数据。
insert into Score values('96006','001',85)
根据返回信息解释其原因;
答:错误: ORA-02291: 违反完整约束条件() - 未找到父项关键字未找到96006
02291. 00000 - "integrity constraint (%s.%s) violated - parent key not found"
修改上面插入语句,让其能正确地插入一条记录。
答: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表相同。
答:
create table SC as select * from student
例2-8: (删除数据) 删除Sc表中性别为’男’的所有学生。
答:delete from SC where SSEX='男';;
例2-9: