数据库实验报告.docx
《数据库实验报告.docx》由会员分享,可在线阅读,更多相关《数据库实验报告.docx(22页珍藏版)》请在冰豆网上搜索。
![数据库实验报告.docx](https://file1.bdocx.com/fileroot1/2022-11/20/4dfdc48e-5e94-4451-9c3b-8189a8b8891f/4dfdc48e-5e94-4451-9c3b-8189a8b8891f1.gif)
数据库实验报告
《数据库系统概论》
实验报告书
专业班级
学号
姓名
指导教师
安徽工业大学计算机学院
实验一:
数据定义语言
[实验日期]年月日
[实验目的]
熟悉Oracle上机环境及Oracle客户端的配置;熟练掌握和使用DDL语言,建立、修改和删除数据库表、主键、外键约束关系和索引。
[实验内容]
Oracle上机环境以及Oracle客户端的配置参见附录。
1.SQL数据定义语句:
例1-1:
(建立数据库表)建立教学数据库的四个数据库表,其中Student表中不包含SSEX(C,2)字段,Sname字段为Sname(C,8)且可为空。
createtablestudent
(
Snochar(5),
Snamechar(10)notnull,
sAgenumber
(2)check(agebetween12and60),
Sclassvarchar2
(2)notnull,
sdeptvarchar2(16)notnull,
constraintsno_pkprimarykey(sno)
);
成绩表
createtablescore(
snochar(5),
cnochar(3),
scorenumber(5,2),
constraintscore_pkprimarykey(sno,cno),
constraintsno_fkforeignkey(sno)referencesstudent(sno),
constraintck1check(grade>=0andgrade<=100));
//课程表
createtablecourse
(cnovarchar2(3)primarykey,
cnamevarchar2(20),
CTIMEnumber(3));
//教师表
createtableTeach(
tnamevarchar2(8),
tsexvarchar2
(2),
cnochar(3),
tdatedate,
tdeptvarchar
(2)
);
例1-2:
(修改数据库表)在Student表中增加SEX(C,2)字段。
altertablestudentaddsexchar
(2);
例1-3:
(修改列名)将Student表中列名SEX修改为SSEX。
altertablestudentrenamecolumnsextossex;
例1-4:
(修改数据库表)将Student表中把Sname字段修改为Sname(C,10)且为非空。
altertablestudentmodifysnamechar(10);
例1-5:
(建立索引)为Score表按课程号升序、分数降序建立索引,索引名为SC_GRADE。
createindexsc_gradeonscore(cnoasc,gradedesc);
例1-6:
(删除索引)删除索引SC_GRADE。
dropindexsc_grade;
例1-7:
(建立数据库表)建立数据库表S1(SNO,SNAME,SD,SA),其字段类型定义与Student表中的相应字段(SNO,SNAME,SDEPT,SAGE)的数据类型定义相同。
createtables1
as
select*fromstudent;
例1-8:
(修改数据库表)删除成绩表Score的参照完整性约束关系。
altertablescoredropconstraintsno_fk;
altertablescoredropconstraintcno_fk;
altertablescoredropconstraintscore_pk;
例1-9:
(修改数据库表)添加成绩表Score的参照完整性约束关系。
altertablescoreaddconstraintsc_kprimarykey(sno,cno);
altertablescoreaddconstraintSno_fkforeignkey(sno)referencesstudent(sno);
altertablescoreaddconstraintCno_fkforeignkey(cno)referencescourse(cno);
例1-10:
(修改数据库表名)将数据库表S1改名为Student_Temp。
renames1toStudent_Temp;
实验总结:
通过此次试验,我懂得了一些SQLSERVER的一些基本语法,让我们对课堂上的基本理论有了更加深刻的印象。
同时感觉做任何事情都应该认真,不然什么样简单的错误都会出现
[实验要求]
①熟悉Oracle上机环境,掌握Oracle客户端的配置;
②建立数据库表,修改数据库表结构,建立、删除索引;
[实验方法]
①按照附录中的操作步骤进行客户端的配置;
②将实验需求用SQL语句表示;
③执行SQL语句;
④查看执行结果,如果结果不正确,进行修改,直到正确为止。
[实验总结]
①SQL语句以及执行结果;
②对重点实验结果进行分析;
③实验中的问题和提高;
④收获与体会。
实验二:
数据操纵语言
[实验日期]年月日
[实验目的]
在实验一的基础上,熟练掌握和使用DML语言,对数据进行增加、修改和删除操作。
[实验内容]
2.SQL数据操纵语句:
例2-1:
(插入数据)按前面各表中的数据分别插入到教学数据库的四个数据库表中。
学生表
insertintostudent(sno,sname,sdept,sclass,ssex,sage)values('96001','马小燕','CS','01','女',21);
insertintostudent(sno,sname,sdept,sclass,ssex,sage)values('96002','黎明','CS','01','男',18);
insertintostudent(sno,sname,sdept,sclass,ssex,sage)values('96003','刘东明','MA','01','男',18);
insertintostudent(sno,sname,sdept,sclass,ssex,sage)values('96004','赵志勇','IS','01','男',20);
insertintostudent(sno,sname,sdept,sclass,ssex,sage)values('97001','马蓉','MA','01','女',19);
insertintostudent(sno,sname,sdept,sclass,ssex,sage)values('97002','李成功','CS','01','男',20);
insertintostudent(sno,sname,sdept,sclass,ssex,sage)values('97003','黎明','IS','01','女',19);
insertintostudent(sno,sname,sdept,sclass,ssex,sage)values('97004','李丽','CS','01','女',19);
insertintostudent(sno,sname,sdept,sclass,ssex,sage)values('96005','司马志明','CS','01','男',18);
课程表:
insertintocourse(cno,cname,ctime)values('001','数学分析',144);
insertintocourse(cno,cname,ctime)values('002','普通物理',144);
insertintocourse(cno,cname,ctime)values('003','微机原理',72);
insertintocourse(cno,cname,ctime)values('004','数据结构',72);
insertintocourse(cno,cname,ctime)values('005','操作系统',64);
insertintocourse(cno,cname,ctime)values('006','数据库原理',64);
insertintocourse(cno,cname,ctime)values('007','DB_Design',48);
insertintocourse(cno,cname,ctime)values('008','程序设计',56);
教师表
insertintoTeachvalues('王成刚','男','004','05-10月-1999','CS');
insertintoTeachvalues('李正科','男','003','05-10月-1999','CS');
insertintoTeachvalues('严敏','女','001','05-10月-1999','MA');
insertintoTeachvalues('赵高','男','004','05-10月-1999','IS');
insertintoTeachvalues('李正科','男','003','23-2月-2000','MA');
insertintoTeachvalues('刘玉兰','女','006','23-2月-2000','CS');
insertintoTeachvalues('王成刚','男','004','23-2月-2000','IS');
insertintoTeachvalues('马悦','女','008','6-9月-2000','CS');
insertintoTeachvalues('王成刚','男','007','5-5月-1999','CS');
成绩表:
insertintoScorevalues('96001','001',77.5);
insertintoScorevalues('96001','003',89);
insertintoScorevalues('96001','004',86);
insertintoScorevalues('96001','005',82);
insertintoScorevalues('96002','001',88);
insertintoScorevalues('96002','003',92.5);
insertintoScorevalues('96002','006',90);
insertintoScorevalues('96005','004',92);
insertintoScorevalues('96005','005',90);
insertintoScorevalues('96005','006',89);
insertintoScorevalues('9600