《数据库实验-戴小平.》由会员分享,可在线阅读,更多相关《数据库实验-戴小平.(31页珍藏版)》请在金锄头文库上搜索。
1、数据库系统概论实验报告书专业班级学 号姓 名指导教师戴小平安徽工业大学计算机学院数据库系统概论实验报告书 安徽工业大学计算机学院实验一:数据定义语言 实验日期 2012 年 11月 20日 实验目的 熟悉Oracle上机环境及Oracle客户端的配置;熟练掌握和使用DDL语言,建立、修改和删除数据库表、主键、外键约束关系和索引。 实验内容 Oracle上机环境以及Oracle客户端的配置参见附录。1 SQL数据定义语句: 例1-1: (建立数据库表) 建立教学数据库的四个数据库表,其中Student表中不包含SSEX(C,2) 字段,Sname 字段为Sname(C,8)且可为空。(1)cre
2、ate table Student (SNO char(5), SNAME char(8), SDEPT char(2) not null, SCLASS char(2) not null, SAGE number(2), constraint Student_pk primary key(SNO);(2)create table Course (CNO char(3) primary key, CNAME char(16) unique, CTIME number(3);(3)create table Teach (TNAME char(8), TSEX char(2), CNO char(
3、3), TDATE char(20), TDEPT char(2), constraint Teach_pk primary key(TNAME,CNO,TDEPT), constraint CNO_fk foreign key(CNO) references Course(CNO);(4)create table Score (SNO char(5), CNO char(3), SCORE number(5,2), constraint Score_pk primary key(SNO,CNO), constraint SNO_fk foreign key(SNO) references S
4、tudent(SNO), constraint CNO2_fk foreign key(CNO) references Course(CNO); 例1-2: (修改数据库表) 在Student表中增加SEX(C,2) 字段。alter table Student add SEX char(2) check (SEX in (男,女); 例1-3: (修改列名) 将Student表中列名SEX修改为SSEX。alter table Student rename column SEX to SSEX; 例1-4: (修改数据库表) 将Student表中把Sname 字段修改为Sname(C,10)
5、且为非空。alter table Student modify (SNAME char(10) not null); 例1-5: (建立索引) 为Score表按课程号升序、分数降序建立索引,索引名为SC_GRADE。 create unique index SC_GRADE on Score (CNO asc,SCORE desc); 例1-6: (删除索引) 删除索引SC_GRADE。 drop index SC_GRADE; 例1-7: (建立数据库表) 建立数据库表S1(SNO,SNAME,SD,SA),其字段类型定义与Student表中的相应字段(SNO,SNAME,SDEPT,SAG
6、E)的数据类型定义相同。create table S1(SNO char(5),SNAME char(10),SD char(2),SA number(2); 例1-8: (修改数据库表) 删除成绩表Score的参照完整性约束关系。 alter table Score drop constraint Score_pk; alter table Score drop constraint SNO_fk; alter table Score drop constraint CNO2_fk; 例1-9: (修改数据库表) 添加成绩表Score的参照完整性约束关系。 alter table Score
7、 add constraint Score_pk primary key(SNO,CNO);alter table Score add constraint SNO_fk foreign key(SNO) references Student(SNO);alter table Score add constraint CNO2_fk foreign key(CNO) references Course(CNO); 例1-10: (修改数据库表名) 将数据库表S1改名为Student_Temp。 rename S1 to Student_Temp; 实验要求 熟悉Oracle上机环境,掌握Ora
8、cle客户端的配置; 建立数据库表,修改数据库表结构,建立、删除索引; 实验方法 按照附录中的操作步骤进行客户端的配置; 将实验需求用SQL语句表示; 执行SQL语句; 查看执行结果,如果结果不正确,进行修改,直到正确为止。 实验总结 SQL语句以及执行结果; 对重点实验结果进行分析; 实验中的问题和提高; 收获与体会。3/18数据库系统概论实验报告书 安徽工业大学计算机学院实验二:数据操纵语言 实验日期 年 月 日 实验目的 在实验一的基础上,熟练掌握和使用DML语言,对数据进行增加、修改和删除操作。 实验内容 2 SQL数据操纵语句: 例2-1: (插入数据) 按前面各表中的数据分别插入到
9、教学数据库的四个数据库表中。 insert into Student values(96001,马小燕,CS,01,21,女); insert into Student values(96002,黎明,CS,01,18,男);insert into Student values(96003,刘东明,MA,01,18,男);insert into Student values(96004,赵志勇,IS,02,20,男);insert into Student values(97001,马蓉,MA,02,19,女);insert into Student values(97002,李成功,CS,0
10、1,20,男);insert into Student values(97003,黎明,IS,03,19,女);insert into Student values(97004,李丽,CS,02,19,女);insert into Student values(96005,司马志明,CS,02,18,男);insert into Course values(001,数学分析,144);insert into Course values(002,普通物理,144);insert into Course values(003,微机原理,72);insert into Course values(0
11、04,数据结构,72);insert into Course values(005,操作系统,64);insert into Course values(006,数据库原理,64);insert into Course values(007,DB_Design,48);insert into Course values(008,程序设计,56);insert into Teach values(王成刚,男,004,1999.9.5,CS);insert into Teach values(李正科,男,003,1999.9.5,CS);insert into Teach values(严敏,女,
12、001,1999.9.5,MA);insert into Teach values(赵高,男,004,1999.9.5,IS);insert into Teach values(李正科,男,003,2000.2.23,MA);insert into Teach values(刘玉兰,女,006,2000.2.23,CS);insert into Teach values(王成刚,男,004,2000.2.23,IS);insert into Teach values(马悦,女,008,2000.9.6,CS);insert into Teach values(王成刚,男,007,1999.9.
13、5,CS);insert into Score values(96001,001,77.5);insert into Score values(96001,003,89);insert into Score values(96001,004,86);insert into Score values(96001,005,82);insert into Score values(96002,001,88);insert into Score values(96002,003,92.5);insert into Score values(96005,004,92);insert into Score values(96005,005,90);insert into Score values(96005,006,89);insert into Score values(96005,007,76);insert into Score values(96003,001,69);insert into Score values(97001,001,96);insert into Score