《数据库》实验报告(2012最新)

时间:2019-05-12 00:41:34下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《《数据库》实验报告(2012最新)》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《《数据库》实验报告(2012最新)》。

第一篇:《数据库》实验报告(2012最新)

《数据库系统概论》

实验报告书

专业班级 学 号 姓 名 指导教师

安徽工业大学计算机学院

计101

小七制作 夏小宅 戴小平

《数据库系统概论》实验指导书 安徽工业大学计算机学院

实验一:数据定义语言

[ 实验日期 ] 年 月 日 [ 实验目的 ] 熟悉Oracle上机环境及Oracle客户端的配置;熟练掌握和使用DDL语言,建立、修改和删除数据库表、主键、外键约束关系和索引。[ 实验内容 ] Oracle上机环境以及Oracle客户端的配置参见附录。1. SQL数据定义语句:

例1-1:(建立数据库表)建立教学数据库的四个数据库表,其中Student表中不包含SSEX(C,2)字段,Sname 字段为Sname(C,8)且可为空。

Create table Student(Sno char(5),Sname varchar2(8),Sdept char(5)NOT NULL,SClass varchar2(10)NOT NULL,Sage number(2)check(Sage between 12 and 60),CONSTRAINT S_PK PRIMARY KEY(Sno));Create table Course(Cno char(3),Cname varchar2(16)NOT NULL UNIQUE,Ctime number(3),CONSTRAINT C_PK PRIMARY KEY(Cno));Create table Teach(Tname varchar2(8)NOT NULL,Tsex char(2)CHECK(Tsex IN('男','女')),Cno char(3),Tdate DATE,Tdept char(2),CONSTRAINT TC_PK PRIMARY KEY(Tname,Cno,Tdept),CONSTRAINT C_FK FOREIGN KEY(Cno)REFERENCES Course(Cno));Create table Score(Sno char(5),Cno char(3),SCore NUMBER(5,2),CONSTRAINT SC_PK PRIMARY KEY(Sno,Cno),CONSTRAINT Sno_FK FOREIGN KEY(Sno)REFERENCES Student(Sno),CONSTRAINT Cno_FK FOREIGN KEY(Cno)REFERENCES Course(Cno));

1/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

例1-2:(修改数据库表)在Student表中增加SEX(C,2)字段。Alter table Student ADD Sex char(2);例1-3:(修改列名)将Student表中列名SEX修改为SSEX。Alter table Student DROP COLUMN SEX;Alter table Student ADD SSex char(2)check(SSex IN('男','女'));例1-4:(修改数据库表)将Student表中把Sname 字段修改为Sname(C,10)且为非空。Alter table Student MODIFY(Sname varchar2(10)NOT NULL);例1-5:(建立索引)为Score表按课程号升序、分数降序建立索引,索引名为SC_GRADE。Create INDEX SC_GRADE ON Score(Cno ASC,SCore DESC);例1-6:(删除索引)删除索引SC_GRADE。

2/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

DROP INDEX SC_GRADE;例1-7:(建立数据库表)建立数据库表S1(SNO,SNAME,SD,SA),其字段类型定义与Student表中的相应字段(SNO,SNAME,SDEPT,SAGE)的数据类型定义相同。

Create table S1(SNO char(5),SNAME varchar2(10),SD char(2)NOT NULL,SA NUMBER(2)CHECK(SA BETWEEN 12 AND 60),CONSTRAINT S1_PK PRIMARY KEY(SNO));

例1-8:(修改数据库表)删除成绩表Score的参照完整性约束关系。Alter table Score DROP CONSTRAINT Sno_FK;Alter table Score DROP CONSTRAINT Cno_FK;例1-9:(修改数据库表)添加成绩表Score的参照完整性约束关系。

Alter table Score ADD CONSTRAINT Sno_FK FOREIGN KEY(Sno)REFERENCES Student(Sno);Alter table Score ADD CONSTRAINT Cno_FK FOREIGN KEY(Cno)REFERENCES Course(Cno);例1-10:(修改数据库表名)将数据库表S1改名为Student_Temp。RENAME S1 TO Student_Temp;

3/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

[ 实验要求 ] ① 熟悉Oracle上机环境,掌握Oracle客户端的配置; ② 建立数据库表,修改数据库表结构,建立、删除索引; [ 实验方法 ] ① 按照附录中的操作步骤进行客户端的配置;

② 将实验需求用SQL语句表示; ③ 执行SQL语句;

④ 查看执行结果,如果结果不正确,进行修改,直到正确为止。

[ 实验总结 ] ① SQL语句以及执行结果;

② 对重点实验结果进行分析;

③ 实验中的问题和提高;

④ 收获与体会。

实验二:数据操纵语言

[ 实验日期 ] 年 月 日 [ 实验目的 ]

4/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

在实验一的基础上,熟练掌握和使用DML语言,对数据进行增加、修改和删除操作。[ 实验内容 ] 2. SQL数据操纵语句:

例2-1:(插入数据)按前面各表中的数据分别插入到教学数据库的四个数据库表中。

INSERT INTO Student(Sno,Sname,Sdept,SClass,SSex,Sage)VALUES('96001','马小燕','CS','01','女',21);INSERT INTO Student(Sno,Sname,Sdept,SClass,SSex,Sage)VALUES('96002','黎明','CS','01','男',18);INSERT INTO Student(Sno,Sname,Sdept,SClass,SSex,Sage)VALUES('96003','刘志明','MA','01','男',18);INSERT INTO Student(Sno,Sname,Sdept,SClass,SSex,Sage)VALUES('96004','赵志勇','IS','02','男',20);INSERT INTO Student(Sno,Sname,Sdept,SClass,SSex,Sage)VALUES('96005','司马志明','CS','02’,'男',18);INSERT INTO Student(Sno,Sname,Sdept,SClass,SSex,Sage)VALUES('97001','马蓉','MA','02','女',19);INSERT INTO Student(Sno,Sname,Sdept,SClass,SSex,Sage)VALUES('97002','李成功','CS','01','男',20);INSERT INTO Student(Sno,Sname,Sdept,SClass,SSex,Sage)VALUES('97003','黎明','IS','03','女',19);INSERT INTO Student(Sno,Sname,Sdept,SClass,SSex,Sage)VALUES('97004','李丽','CS','02','女',19);

5/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

6/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

INSERT INTO Course(Cno,Cname,Ctime)VALUES('001','数学分析',144);INSERT INTO Course VALUES('002','普通物理',144);INSERT INTO Course VALUES('003','微机原理',72);INSERT INTO Course VALUES('004','数据结构',72);INSERT INTO Course VALUES('006','数据库原理',64);INSERT INTO Course VALUES('005','操作系统',64);INSERT INTO Course VALUES('007','DB_Desgin',48);INSERT INTO Course VALUES('008','程序设计',56);

7/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

INSERT INTO Teach(Tname,Tsex,Cno,Tdate,Tdept)VALUES('','004',to_DATE('1999.9.5','yyyy.mM.dd'),'CS');

成刚

','

男INSERT INTO Teach VALUES('李正科','男','003', to_DATE('1999.9.5','yyyy.mM.dd'),'CS');INSERT INTO Teach VALUES('严敏','女','001', to_DATE('1999.9.5','yyyy.mM.dd'),'MA');INSERT INTO Teach VALUES('赵高','男','004', to_DATE('1999.9.5','yyyy.mM.dd'),'IS');INSERT INTO Teach VALUES('李正科','男','003', to_DATE('2000.2.23','yyyy.mM.dd'),'MA');

8/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

INSERT INTO Teach VALUES('刘玉兰','女','006', to_DATE('2000.2.23','yyyy.mM.dd'),'CS');INSERT INTO Teach VALUES('王成刚','男','004', to_DATE('2000.2.23','yyyy.mM.dd'),'IS');INSERT INTO Teach VALUES('马悦','女','008', to_DATE('2000.9.6','yyyy.mM.dd'),'CS');INSERT INTO Teach VALUES('王成刚','男','007', to_DATE('1999.9.5','yyyy.mM.dd'),'CS');To_date('1999.9.5','dd.mm.yyyy');

9/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

INSERT INTO Score(Sno,Cno,SCore)VALUES('96001','003',89);INSERT INTO Score VALUES('96001','001',77.5);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('96002','006',90);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('71001','001',96);INSERT INTO Score VALUES('71001','008',95);INSERT INTO Score VALUES('96004','001',87);INSERT INTO Score VALUES('96003','003',91);INSERT INTO Score VALUES('71002','003',91);INSERT INTO Score VALUES('71002','004',NULL);INSERT INTO Score VALUES('71002','006',92);INSERT INTO Score VALUES('71004','005',90);INSERT INTO Score VALUES('71004','006',85);INSERT INTO Score VALUES('71004','008',75);INSERT INTO Score VALUES('71003','001',59);INSERT INTO Score VALUES('71003','003',58);

10/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

11/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

12/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

例2-2:(多行插入)将表Student中在计算机系(‘CS’)的学生数据插入到表Student_Temp中。INSERT INTO STUDENT_TEMP(SNO,SNAME,SD,SA)SELECT SNO,SNAME,SDEPT,SAGE FROM STUDENT WHERE SDEPT='CS';

13/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

(以上操作中,注意用COMMIT提交数据,将数据保存到数据库服务器)

例2-3:(利用查询来实现表的定义与数据插入)求每一个学生的平均成绩,把结果存入数据库表Student_Gr中。

CREATE TABLE STUDENT_GR(SNO CHAR(5),SNAME VARCHAR2(10),GAVG NUMBER(5,2));INSERT INTO STUDENT_GR(SNO,GAVG)SELECT SNO,AVG(SCORE)FROM SCORE GROUP BY SNO

例2-4:(修改数据)将Student_Temp表中所有学生的年龄加2。UPDATE STUDENT_TEMP SET SA=SA+2;

14/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

例2-5:(修改数据)将Course表中‘程序设计’课时数修改成与‘数据结构’的课时数相同。UPDATE COURSE SET CTIME=(SELECT CTIME FROM COURSE WHERE CNAME='数据结构')WHERE CNAME='程序设计';

15/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

例2-6:(插入数据)向Score表中插入数据(‘98001’, ‘001’, 95),根据返回信息解释其原因。INSERT INTO SCORE VALUES('98001','001',95);因为Score中的Sno是参照Student表中的Sno,而Student表中没有’98001’的Sno,所以插入失败。

例2-7:(插入数据)向Score表中插入数据(‘97001’, ‘010’, 80),根据返回信息解释其原因。INSERT INTO SCORE VALUES('97001','010',80);

16/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

因为Score中的Cno是参照Course表中的Cno,而Course表中没有’010’的Cno,所以插入失败。例2-8:(删除数据)删除Student表中学号为‘96001’的学生信息,根据返回信息解释其原因。DELETE FROM STUDENT WHERE SNO='96001';因为Score表中的Sno是参照Student表中的Sno,Sno_FK 默认关系是当父表的被删除时,如果该行在子表中引用,则它不能被删除。相当于ON DELETE RESTRICTED.例2-9:(删除数据)删除Course表中课程号为‘003’ 的课程信息,根据返回信息解释其原因。DELETE FROM COURSE WHERE CNO='003';因为Score表中的Cno是参照Course表中的Cno,Cno_FK 默认关系是当父表的被删除时,如果该行在子表中引用,则它不能被删除。相当于ON DELETE RESTRICTED.例2-10:(删除数据)删除学生表Student_Temp中学号以96打头的学生信息。DELETE FROM STUDENT_TEMP WHERE SNO LIKE '96%';

17/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

(此操作后,注意用ROLLBACK回退可能更新的数据)

例2-11:(删除数据)删除数据库表Student_Temp中所有学生的数据。DELETE FROM STUDENT_TEMP;

例2-12:(删除表)删除数据库表Student_Temp和Student_Gr。DROP TABLE STUDENT_TEMP PURGE;DROP TABLE STUDENT_GR PURGE;

18/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

[ 实验要求 ] 对数据库表进行插入、修改和删除数据的操作.[ 实验方法 ] ① 按照附录中的操作步骤进行客户端的配置;

② 将实验需求用SQL语句表示; ③ 执行SQL语句;

④ 查看执行结果,如果结果不正确,进行修改,直到正确为止。

[ 实验总结 ] ① SQL语句以及执行结果;

② 对重点实验结果进行分析;

③ 实验中的问题和提高;

④ 收获与体会。

实验三:数据查询语言

[ 实验日期 ] 年 月 日 [ 实验目的 ] 体会SQL语言数据查询功能的丰富和复杂。[ 实验内容 ]

3. SQL数据查询语句:

19/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

例3-1:(选择表中的若干列)求全体学生的学号、姓名、性别和年龄。Select Sno,Sname,SSex,sage from Student;

例3-2:(不选择重复行)求选修了课程的学生学号。Select Distinct Sno from Score;

例3-3:(选择表中的所有列)求全体学生的详细信息。Select * from Student;

20/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

例3-4:(使用表达式)求全体学生的学号、姓名和出生年份。Select Sno,Sname,2012-Sage AS “出生年份” from Student;

例3-5:(使用列的别名)求学生的学号和出生年份,显示时使用别名“学号”和“出生年份”。Select Sno AS “学号”,2012-Sage AS “出生年份” from Student;

21/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

例3-6:(比较大小条件)求年龄大于19岁的学生的姓名和年龄。Select Sname,Sage from Student WHERE Sage>19;

例3-7:(比较大小条件)求计算机系或信息系年龄大于18岁的学生的姓名、系和年龄。Select Sname,Sdept,Sage from Student WHERE Sage>18 AND Sdept IN('IS','CS');

例3-8:(确定范围条件)求年龄在19岁与22岁(含20岁和22岁)之间的学生的学号和年龄。Select Sno,Sage from Student WHERE Sage between 19 AND 22;

22/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

例3-9:(确定范围条件)求年龄不在19岁与22岁之间的学生的学号和年龄。Select Sno,Sage from Student WHERE Sage NOT between 19 AND 22;

例3-10:(确定集合条件)求在下列各系的学生信息:数学系、计算机系。Select * from Student WHERE Sdept IN('MA','CS');

例3-11:(确定集合条件)求不是数学系、计算机系的学生信息。Select * from Student WHERE Sdept NOT IN('MA','CS');

23/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

例3-12:(匹配查询)求姓名是以“李”打头的学生。Select * from Student WHERE Sname LIKE '李%';

例3-13:(匹配查询)求姓名中含有“志”的学生。Select * from Student WHERE Sname LIKE '%志%';

例3-14:(匹配查询)求姓名长度至少是三个汉字且倒数第三个汉字必须是“马”的学生。Select * from Student WHERE Sname LIKE '%马__';

例3-15:(匹配查询)求选修课程001或003,成绩在80至90之间,学号为96xxx的学生的学号、课程号和成绩。

Select Sno,Cno,SCore from Score WHERE Sno LIKE '96___' AND SCore between 80 AND 90 AND Cno IN('001','003');

24/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

例3-16:(匹配查询)求课程名中包含 ’_’ 字符的课程号、课程名和学时数。Select Cno,Cname,Ctime from Course WHERE Cname LIKE '%_%' ESCAPE'';

例3-17:(涉及空值查询)求缺少学习成绩的学生的学号和课程号。Select Sno,Cno from Score WHERE SCore IS NULL;

例3-18:(控制行的显示顺序)求选修003课程或004课程的学生的学号、课程号和分数,要求按课程号升序、分数降序的顺序显示结果。

Select Sno,Cno,SCore from Score WHERE Cno IN('003','004')ORDER BY Cno ASC,SCore DESC;

25/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

例3-19:(组函数)求学生总人数。Select COUNT(Sno)from Student;

例3-20:(组函数)求选修了课程的学生人数。Select COUNT(DISTINCT Sno)from Score;

例3-21:(组函数)求计算机系学生的平均年龄。Select AVG(Sage)from Student WHERE Sdept='CS';

例3-22:(组函数)求选修了课程001的最高、最低与平均成绩。Select MAX(SCore),MIN(SCore),AVG(SCore)from Score WHERE Cno='001';

例3-23:(分组查询)求各门课程的平均成绩与总成绩。Select AVG(SCore),SUM(SCORE)from Score GROUP BY Cno;

26/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

例3-24:(分组查询)求各系、各班级的人数和平均年龄。

Select COUNT(Sno),AVG(Sage)from Student GROUP BY Sdept,Sclass;

例3-25:(分组查询)输入以下查询语句并执行,观察出现的其结果并分析其原因。

SELECT SNAME ,SDEPT ,COUNT(*)FROM STUDENT WHERE SDEPT='CS ' GROUP BY SDEPT;

如果在分组后的查询结果中在选择出一组符合条件的分组需用HAVING字句,不能用WHERE字句。否则会出错。

例3-26:(分组查询)分析以下语句为什么会出现错误。并给出正确的查询语句。SELECT SAGE FROM STUDENT GROUP BY SNO;因为用的是GROUP BY语句所以查询出来的是一组一组的数据,而Select后面的Sage要与GROUP BY后面的 保持一致。

27/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

SELECT Sage FROM STUDENT GROUP BY Sage;

例3-27:(分组查询)求学生人数不足3人的系及其相应的学生数。

Select Sdept,COUNT(DISTINCT Sno)from Student GROUP BY Sdept HAVING COUNT(DISTINCT Sno)<3;

例3-28:(分组查询)求各系中除01班之外的各班的学生人数。

Select Sclass,COUNT(Sno)from Student GROUP BY Sdept,Sclass HAVING Sclass <> '01';

例3-29:(涉及空值的查询)分别观察各组函数、行的显示顺序以及分组查询与空值的关系。SELECT COUNT(SCore)AS Count FROM Score;SELECT SUM(SCore)AS Sum FROM Score;

28/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

SELECT AVG(SCore)AS Avg FROM Score;SELECT MAX(SCore)AS Max FROM Score;SELECT MIN(SCore)AS Min FROM Score;

SELECT SCore FROM Score ORDER BY SCore DESC;

29/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

SELECT SCore FROM Score ORDER BY SCore ASC;

30/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

例3-30:(连接查询)求选修了课程001且成绩在70分以下或成绩在90分以上的学生的姓名、课程名称和成绩。

SELECT SNAME,CNAME,SCORE FROM STUDENT S,COURSE C,SCORE SC WHERE S.SNO=SC.SNO AND SC.CNO=C.CNO AND SC.CNO= '001' AND(SCORE NOT BETWEEN 70 AND 90);

例3-31:(连接查询与表的别名)求选修了课程的学生的学生姓名、课程号和成绩。Select Sname,Cno,SCore from Student S,Score SC WHERE S.Sno=SC.Sno;

31/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

例3-32:(自身连接查询)求年龄大于 ’李丽’ 的所有学生的姓名、系和年龄.SELECT S1.SNAME,S1.SDEPT,S1.SAGE FROM STUDENT S1 WHERE S1.SAGE>(SELECT S2.SAGE FROM STUDENT S2 WHERE S2.SNAME='李丽');

例3-33:(外部连接查询)求选修了课程002或003的学生的学号、课程号、课程名和成绩,要求必须将002和003课程的相关信息显示出来。

Select Sno,Course.Cno,Cname,SCore from Score RIGHT OUTER JOIN Course ON Score.Cno=Course.Cno WHERE SCORE.Cno IN('002','003');

32/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

例3-34:(子查询)求与 ‘黎明’ 年龄相同的学生的姓名和系。

Select Sname,Sdept from Student WHERE Sage IN(Select Sage from Student WHERE Sname='黎明');

例3-35:(子查询)求选修了课程名为 ’数据结构’ 的学生的学号和姓名。

Select Sno,Sname from Student WHERE Sno IN(Select Sno from Score WHERE Cno =(Select Cno from Course WHERE Cname='数据结构'));

例3-36:(子查询ANY)求比数学系中某一学生年龄大的学生的姓名和系。

Select Sname,Sdept from Student WHERE Sage>ANY(Select Sage from Student WHERE Sdept='MA');

33/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

例3-37:(子查询ALL)求比数学系中全体学生年龄大的学生的姓名和系。

Select Sname,Sdept from Student WHERE Sage>ALL(Select Sage from Student WHERE Sdept='MA');

例3-38:(子查询EXISTS)求选修了课程004的学生的姓名和系。

SELECT SNO,Sname,Sdept from Student WHERE SNO IN(Select SNO from Score WHERE Cno='004');

例3-39:(返回多列的子查询)求与 ‘李丽’ 同系且同龄的学生的姓名和系。

Select Sname,Sdept from Student WHERE(Sdept,Sage)IN(Select Sdept,Sage from Student WHERE Sname='李丽')AND SNAME <>'李丽';

例3-40:(多个子查询)求与 ‘‘黎明’ 同系,且年龄大于 ‘李丽’ 的学生的信息。

Select * from Student WHERE Sdept IN(Select Sdept from student WHERE Sname='黎明')AND

34/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

Sage>(Select Sage from Student WHERE Sname='李丽');

例3-41:(子查询中使用表连接)求数学系中年龄相同的学生的姓名和年龄。

Select Sname,Sage from student WHERE SNO IN(Select S1.SNO from Student S1,STUDENT S2 WHERE S1.SAGE=S2.SAGE AND S1.SNO!= S2.SNO AND S1.Sdept='MA' AND S2.SDEPT='MA');

例3-42:(连接或嵌套查询)检索至少选修王成刚老师所授课程中一门课程的女学生姓名。Select Sname from Student WHERE SSex='女' AND Sno IN(Select Sno from Score WHERE Cno IN(Select DISTINCT Cno from Teach WHERE Tname='王成刚'));

例3-43:(嵌套与分组查询)检索选修某课程的学生人数多于3人的教师姓名。

Select DISTINCT Tname, Cno from Teach WHERE Cno IN(SELECT Cno FROM Score GROUP BY CNO HAVING COUNT(Cno)>3);

例3-44:(集合查询)列出所有教师和同学的姓名和性别。

35/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

Select Sname,SSEX from Student UNION Select Tname,TSEX from Teach;

例3-45:(相关子查询)求未选修课程004的学生的姓名。

Select SNO,Sname from Student WHERE SNO NOT IN(Select SNO from Score WHERE Cno='004');

例3-46:(相关子查询)求选修了全部课程的学生的姓名。

Select Sname from Student WHERE NOT EXISTS(Select * from Course WHERE NOT EXISTS(Select * from Score WHERE Sno=Student.Sno AND Cno=Course.Cno));

36/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

例3-47:(相关子查询)求至少选修了学生 ‘96002’ 所选修的全部课程的学生的学号。

Select DISTINCT Sno from Score SC1 WHERE NOT EXISTS(Select * from Score SC2 WHERE SC2.Sno='96002' AND NOT EXISTS(Select * from Score SC3 WHERE SC3.Sno=SC1.Sno AND SC3.Cno=SC2.Cno))AND SC1.SNO<>'96002';

例3-48:(相关子查询)求成绩比所选修课程平均成绩高的学生的学号、课程号、和成绩。Select Sno,Cno,SCore from Score SC WHERE SCore>(Select AVG(SCore)from Score SC1 WHERE SC1.Cno=SC.Cno);

例3-49:(相关子查询)查询被一个以上的学生选修的课程号。

Select DISTINCT Cno from Score SC WHERE EXISTS(Select * from Score GROUP BY CNO HAVING COUNT(Sno)>1)ORDER BY CNO ASC;

37/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

例3-50:(相关子查询)查询所有未选课程的学生姓名和所在系。

Select Sno,Sdept from Student S WHERE NOT EXISTS(Select * from Score SC WHERE S.Sno=SC.Sno);

[ 实验要求 ] 对数据库表进行各种查询操作。[ 实验方法 ] ① 将实验需求用SQL语句表示;

② 执行SQL语句;

③ 查看执行结果,如果结果不正确,进行修改,直到正确为止。

[ 实验总结 ] ① SQL语句以及执行结果;

② 对重点实验结果进行分析;

③ 实验中的问题和提高;

④ 收获与体会。

实验四:视图、授权控制与事务处理

[ 实验日期 ] 年 月 日 [ 实验目的 ] 通过实验进一步理解视图的建立和更新、数据库的权限管理和事务处理功能。[ 实验内容 ] 4. SQL视图的定义与操纵:

例4-1:(建立视图)建立计算机系的学生的视图STUDENT_CS。

38/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

CREATE VIEW STUDENT_CS AS SELECT * FROM Student WHERE Sdept='CS' WITH CHECK OPTION;例4-2:(建立视图)建立由学号和平均成绩两个字段的视图STUDENT_GR CREATE VIEW STUDENT_GR(Sno,GAVG)AS SELECT Sno,AVG(SCore)AS Avg FROM Score SC GROUP BY SNO;例4-3:(视图查询)利用视图STUDENT_CS,求年龄大于19岁的学生的全部信息。SELECT * FROM STUDENT_CS WHERE Sage>19;

例4-4:(视图查询)利用视图STUDENT_GR,求平均成绩为88分以上的学生的学号和平均成绩。SELECT Sno,GAVG FROM STUDENT_GR WHERE GAvg>88;例4-5:(视图更新)利用视图STUDENT_CS,增加学生(‘96006’,‘张然’,‘CS’,‘02’,‘男’,19)。INSERT INTO STUDENT_CS VALUES('96006','张然','CS','02',19,'男');例4-6:(视图更新)利用视图STUDENT_CS,将学生年龄增加1岁。观察其运行结果并分析原因。UPDATE STUDENT_CS SET Sage=Sage+1;

例4-7:(视图更新)利用视图STUDENT_GR,将平均成绩增加2分。观察其运行结果并分析原因。UPDATE STUDENT_GR SET GAvg=GAvg+2;例4-8:(视图更新)删除视图STUDENT_CS中学号为 ‘96006’ 的学生的全部数据。DELETE FROM STUDENT_CS WHERE Sno='96006';

例4-9:(视图更新)删除视图STUDENT_GR的全部数据。DELETE FROM STUDENT_GR;例4-10:(删除视图)删除视图STUDENT_CS和STUDENT_GR。DROP VIEW STUDENT_CS;DROP VIEW STUDENT_GR;5. SQL数据控制语句:

例5-1:(授权)给左右邻近同学(用户)授予在表Student上的SELECT权限,并使这两个用户具有给其他用户授予相同权限的权限。

GRANT SELECT ON Student TO U109074026,U109074024 WITH GRANT OPTION;

39/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

例5-2:(授权)给邻近同学(用户)授予Teach表上的所有权限。GRANT ALL ON Teach TO U109074026;例5-3:(授权)给所有用户授予Score表上的SELECT权限。GRANT SELECT ON Score TO PUBLIC;

例5-4:(授权验证)观察左右邻近同学查询你所授权的表中的内容。

例5-5:(收回授权)收回上面例子中的所有授予的权限。REVOKE SELECT ON Student FROM U109074026,U109074024;REVOKE ALL ON Teach FROM U109074026;REVOKE SELECT ON Score FROM PUBLIC;

6. SQL事务处理:

例6-1:(事务回退)将课程名称表中的 ‘程序设计’ 课程学时数修改为80、‘微机原理’ 课程学时数修改为70学时,查询全部课程的总学时数后,取消所有修改(ROLLBACK)。再次查询全部课程的总学时数。注意比较分析两次查询的结果。

UPDATE Course SET Ctime=80 WHERE Cname='程序设计';

40/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

UPDATE Course SET Ctime=70 WHERE Cname='微机原理';SELECT * FROM Course;ROLLBACK;

例6-2:(事务提交)将课程名称表中的 ‘程序设计’ 课程学时数修改为80、‘微机原理’ 课程学时数修改为70学时,查询全部课程的总学时数后,确认所有修改(COMMIT)。再次查询全部课程的总学时数。注意比较分析两次查询的结果。

UPDATE Course SET Ctime=80 WHERE Cname='程序设计';UPDATE Course SET Ctime=70 WHERE Cname='微机原理';SELECT * FROM Course;COMMIT;

41/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

[ 实验要求 ] ① 建立视图,视图查询,视图更新; ② 给某一或全部用户授权和收回授权; ③ 事务回退,事务提交。[ 实验方法 ] ① 将实验需求用SQL语句表示;

② 执行SQL语句;

③ 查看执行结果,如果结果不正确,进行修改,直到正确为止。

[ 实验总结 ] ① SQL语句以及执行结果;

② 对重点实验结果进行分析;

③ 实验中的问题和提高;

④ 收获与体会。

实验五:Oracle存储过程与触发器

[ 实验日期 ] 年 月 日 [ 实验目的 ] 通过实验进一步理解和掌握Oracle数据库的存储过程和触发器。[ 实验内容 ] 4. 存储过程与触发器:

例7-1:(存储过程)创建一个显示学生总人数的存储过程。

42/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

CREATE OR REPLACE PROCEDURE STUDENT_COUNT(P1 OUT Student.Sno%type)AS BEGIN COUNT(P1);END;例7-2:(存储过程)创建显示学生信息的存储过程STUDENT_LIST,并引用STU_COUNT存储过程。CREATE OR REPLACE PROCEDURE STUDENT_LIST(P1 IN Student.Sno%type,P2 IN Student.Sname%type,P3 IN Student.Sdept%type,P4 IN Student.Sclass%type,P5 IN Student.SSex%type,P6 IN Student.Sage%type)AS BEGIN SELECT P1,P2,P3,P4,P5,P6 FROM Student;例7-3:(存储过程)创建一个显示学生平均成绩的存储过程。CREATE OR REPLACE PROCEDUER 例7-4:(存储过程)创建显示所有学生平均成绩的存储过程。CREATE OR REPLACE PROCEDUER 例7-5:(修改数据库表)在Student表中增加SAVG(N,6,2)字段。ALTER TABLE Student ADD SAVG NUMBER(6,2);例7-6:(存储过程)创建存储过程,计算每个学生的平均成绩保存到学生表SAVG字段中。CREATE OR REPLACE PROCEDUER 例7-7:(触发器)当更新学生成绩表SCORE中的学生成绩时,自动计算该学生的平均成绩保存到学生表SAVG字段中。

例7-8:(触发器)创建包含插入、删除、修改多种触发事件的触发器DML_LOG,对SCORE表的操作进行记录。用INSERTING、DELETING、UPDATING谓词来区别不同的DML操作。

先创建事件记录表LOGS,该表用来对操作进行记录。该表的字段含义解释如下: LOG_ID:操作记录的编号,数值型,它是该表的主键,自动增1,可由序列自动生成。LOG_TABLE:进行操作的表名,字符型,非空,该表设计成可以由多个触发器共享使用。比如我们可以为Student表创建类似的触发器,同样将操作记录到该表。LOG_DML:操作的动作,即INSERT、DELETE或UPDATE三种之一。

LOG_KEY_ID:操作时表的主键值,数值型。之所以记录表的主键,是因为主键是表的记录的惟一标识,可以识别是对哪一条记录进行了操作。对于Score表,主键是由SNO_CNO构成。LOG_DATE:操作的日期,日期型,取当前的系统时间。

LOG_USER:操作者,字符型,取当时的操作者账户名。比如登录SCOTT账户进行操作,在该字段中,记录账户名为SCOTT。[ 实验要求 ] ① 创建、调试和修改、调用和执行Oracle存储过程; ② 创建、调试和修改、测试Oracle触发器。[ 实验方法 ] ① 将实验需求用SQL语句表示;

② 执行SQL语句;

③ 查看执行结果,如果结果不正确,进行修改,直到正确为止。

[ 实验总结 ]

43/8

《数据库系统概论》实验指导书 安徽工业大学计算机学院

① SQL语句以及执行结果;

② 对重点实验结果进行分析;

③ 实验中的问题和提高;

④ 收获与体会。

44/8

第二篇:数据库实验报告

数据库实验报告

一、题目要求

某银行准备开发一个银行业务管理系统,通过调查,得到以下的主要需求:

银行有多个支行。各个支行位于某个城市,每个支行有唯一的名字。银行要监控每个支行的资产。银行的客户通过其身份证号来标识。银行存储每个客户的姓名及其居住的街道和城市。客户可以有帐户,并且可以贷款。客户可能和某个银行员工发生联系,该员工是此客户的贷款负责人或银行帐户负责人。银行员工也通过身份证号来标识。员工分为部门经理和普通员工,每个部门经理都负责领导其所在部门的员工,并且每个员工只允许在一个部门内工作。每个支行的管理机构存储每个员工的姓名、电话号码、家庭地址及其经理的身份证号。银行还需知道每个员工开始工作的日期,由此日期可以推知员工的雇佣期。银行提供两类帐户——储蓄帐户和支票帐户。帐户可以由2个或2个以上客户所共有,一个客户也可有两个或两个以上的帐户。每个帐户被赋以唯一的帐户号。银行记录每个帐户的余额、开户的支行以及每个帐户所有者访问该帐户的最近日期。另外,每个储蓄帐户有其利率,且每个支票帐户有其透支额。每笔贷款由某个分支机构发放,能被一个或多个客户所共有。每笔贷款用唯一的贷款号标识。银行需要知道每笔贷款所贷金额以及逐次支付的情况(银行将贷款分几次付给客户)。虽然贷款号不能唯一标识银行所有为贷款所付的款项,但可以唯一标识为某贷款所付的款项。对每次的付款需要记录日期和金额。

二、需求分析

这一部分主要是根据实验需求对银行系统需求中的实体、实体属性以及实体之间的关联进行确认,以便画出正确的概念模型。

2.1 实体确认

根据需求分析确认实体:银行员工、银行支行、客户、账户(其中:储蓄账户、支票账户是继承实体账户而来)、贷款、支付(弱实体)。

2.2 实体属性确认

银行员工:身份证号(pi)、姓名、电话号码、家庭地址、开始工作日期 银行支行:支行名、资产、城市

客户:身份证号、姓名、街道、所在城市 账户:账户号、余额、最近访问日期 支票账户:透支额 储蓄账户:利率 2.3 实体关系确认

账户和支行:N:1定义关系为Relationship_accout_bank 客户和贷款:M:N定义关系为Relationship_client_loan 客户和员工:M:1 定义关系为 Relation_client_staff 贷款和支行:1:N 定义关系为 Relationship_loan_bank 客户和账户:M:N 定义关系为 client__accout 贷款发放信息和贷款:N:1 定义关系为 Relationship_loan_pay 支行和员工:1:N 定义关系为Relationship_staff_bank

员工和员工:1:N 定义关系为 Relationship_lead

三、概念模型(CDM)

根据sybase power designer画出概念模型(CDM),如下图所示:

四、物理模型(PDM)

根据概念模型转化成物理模型(PDM),如下图所示:

第三篇:数据库实验报告

实验4SQL高级应用

【实验目的】

1、掌握在SQL SERVER 2005下进行数据还原的方法。

2、掌握SQL语句的查询统计功能和数据更改功能。

【实验内容】

1.还原factory数据库。

2.在factory数据库上,完成如下各题。

(1)删除factory数据库上各个表之间建立的关系。(2)*显示各职工的工资记录和相应的工资小计。

(3)*按性别和部门名的所有组合方式列出相应的平均工资。

(4)在worker表中使用以下语句插入一个职工记录。职工号:20;姓名:陈立;性别:女;出生日期:55/03/08;党员否: 1;参加工作:75/10/10;部门号:4。

在depart表中使用以下语句插入一个部门记录。部门号:5;部门名:设备处。对worker和depart表进行全外连接显示职工的职工号、姓名和部门名,然后删除这两个插入的记录。

(5)显示最高工资的职工的职工号、姓名、部门名、工资发放日期和工资。(6)显示最高工资的职工所在的部门名。

(7)显示所有平均工资低于全部职工平均工资的职工的职工号和姓名。(8)*采用游标方式实现(6)小题的功能。(9)*采用游标方式实现(7)小题的功能。

(10)*先显示worker表中的职工人数,开始一个事务,插入一个职工记录,再显示worker表中的职工人数,回滚该事务,最后显示worker表中的职工人数。

【实验报告要求】

1.第(1)写出操作步骤。

2.其他各题写出实现要求的命令/程序,并列出执行结果。

【操作步骤】

1.还原factory数据库。

2.在factory基础上,有

(1)删除factory数据库上各个表之间建立的关系。

(2)*显示各职工的工资记录和相应的工资小计。

Select 职工号,姓名,工资from salary Order by 职工号

Compute sum(工资)by 职工号

(3)*按性别和部门名的所有组合方式列出相应的平均工资。

select worker.职工号,worker.性别,depart.部门名,avg(工资)as'平均工资' from worker inner join depart on worker.部门号=depart.部门号 inner join salary on worker.职工号=salary.职工号

group by worker.职工号,worker.性别,depart.部门名

order by worker.职工号

(4)在worker表中使用以下语句插入一个职工记录。职工号:20;姓名:陈立;性别:女;出生日期:55/03/08;党员否: 1;参加工作:75/10/10;部门号:4。

insert into worker values('20','陈立','女','1955-03-08','1','1975-10-10',4)

在depart表中使用以下语句插入一个部门记录。部门号:5;部门名:设备处。

Insert into depart Values('5','设备处')对worker和depart表进行全外连接显示职工的职工号、姓名和部门名,然后删除这两个插入的记录。

use factory Select b.部门号,c.姓名

from salary a,departb,worker c delete from worker where 职工号=20 delete from depart where 部门号=5(5)显示最高工资的职工的职工号、姓名、部门名、工资发放日期和工资。

Use factory Select b.部门名,c.职工号,c.姓名,b.部门名,a.日期,a.工资 from salary a,departb,worker c Where 工资in(select max(a.工资)from salary a)and a.职工号=c.职工号and b.部门号=c.部门号(6)显示最高工资的职工所在的部门名。

Use factory Select b.部门名from salary a,departb,worker c Where 工资in(select max(a.工资)from salary a)and c.部门号=b.部门号and a.职工号=c.职工号

(7)显示所有平均工资低于全部职工平均工资的职工的职工号和姓名。

Use factory Select a.职工号,a.姓名,avg(b.工资)as平均工资from worker a,salary b where a.职工号=b.职工号 group by a.职工号,a.姓名

having avg(工资)<(select avg(工资)from salary)

第四篇:数据库实验报告

南华大学

计算机科学与技术学院

实验报告

(2013 ~2014 学

第二学期)

课程名称 实验名称

数据库原理与技术

姓名 张涛 学号 20124350230

专业 软件工程

班级 02班

地点

教师 刘征海 实验1 认识DBMS 一.实验题目

认识DBMS 二.实验要求

1.利用管理工具创建数据库、表和表间关系。

实验目的和注意事项 基本操作,进一步理解数 据库、表、表间关系的概念。

注意事项:创建数据库和数据表时应认真,如果出现错误,应相应地修改结构或删除。三.实验代码(内容)

(1)利用SQL Server Management Studio 创建数据库,名称为【学生选课

YYXXXX】。其中YY为专业代号,计算机为JS,软件工程为RJ,网络为WL,数媒为

SM;XXXX为各位同学的学号中的最后四位 实验目的:熟悉SQL Server Management Studio

(2)在【学生选课YYXXXX】中建立数据表,表的定义如下所示。

学生YYXXXX(学号,姓名,性别,出生日期,院系名称,备注);

课程YYXXXX(课程号,课程名,先行课,学分); 选修YYXXXX(学号,课程号,分数)。

要求定义每张表的主码,为属性选择合适的数据类型,决定是否允许为空,为【性别】和【学分】属性定义默认值。

(3)定义表之间的关系。

(4)分别为表录入几行数据记录,同时练习数据的修改和删除操作

2.利用SQL 语句创建数据库、表和表间关系 实验目的和注意事项

实验目的:熟悉创建数据库和数据表的SQL 语句。

注意事项:输入SQL 语句时应注意,语句中均使用西文操作符号。

实验内容

在SQL Server Management Studio 中新建查询,实现以下操作。(1)用SQL 语句创建数据库,名称为“StudentCourseYYXXXX”。其中YYXXXX 为各位同学的学号中的最后四位。

(2)用SQL 语句创建StudentCourseYYXXXX 中的3 张表,同时指定主码、外 码、默认值等。

(3)直接在表数据窗口中录入表数据记录。

实验 2 交互式 SQL(1)

一、数据库单表查询 实验目的和注意事项

实验目的:掌握单表查询SELECT、FROM、WHERE 的用法,特别要掌握比较运 算符、逻辑运算符的使用。注意事项:子句WHERE<条件>表示元组筛选条件;子句HAVING<条件>表示元

组选择条件;子句HAVING<条件>必须和GROUP BY 子句配合使用;注意输入SQL语句时均应使用西文操作符号。实验内容

(1)创建查询窗口,设置查询环境。(2)单表查询 实验步骤

(1)选择要查询的数据库,右击【新建查询】,或者选择系统菜单中的【文

件】|【新建】|【使用当前连接查询】命令,或者单击标准工具栏中的【新建查

询】按钮,即可新建一个查询窗口。如果查询数据库不是StudentCourseYYXXXX,则可在可用数据库下拉列表中进行选择,或用USE 语句调用。

(2)在查询窗口中输入SELECT 查询语句,对StudentCourseYYXXXX 数据库 进行查询操作。

① 查询计算机系全体学生的信息

② 查询姓“李”的学生的学号和姓名。

③ 查询课程表中先行课为空的课程名。

④ 查询考试成绩有不及格的学生的学号。

⑤ 求选修了C1 课程或C2 课程的学生的学号及成绩。

⑥ 查询全体计算机系学生的姓名及其年龄。

⑦ 查询计算机系在1986-1987 年之间出生的学生的姓名。

⑧ 查询姓“李”的前两个学生的学号和姓名。

⑨ 查询选修了两门以上课程的学生学号与课程数。

⑩ 查询选修课程数大于等于2 的学生的学号、平均成绩和选课门数,并按平均成绩降序排列。

二、数据库多表连接查询 实验目的和注意事项

实验目的:理解多表查询的概念;掌握多表查询的SELECT、FROM、WHERE、JOIN子句的用法,特别要求比较内连接、外连接的结果。

注意事项:内连接、左外连接和右外连接的含义及表达方法;注意输入SQL 语 句时均应使用西文操作符号。实验内容

(1)创建查询窗口,设置查询环境。(2)多表复杂查询。实验步骤

新建查询窗口,选择StudentCourseYYXXXX 为当前数据库,输入如下SELECT 查询语句并执行,对数据库进行多表连接查询操作。(1)查询选修了【数据库原理】的计算机系的学生学号和姓名。

(2)查询每一门课的间接先行课(即先行课的先行课)。

(3)查询学生的学号、姓名、选修课程的名称和成绩。

(4)查询选修了课程的学生姓名。

(5)查询所有学生的信息和所选修的课程。

(6)查询已被选修的课程的情况和所有课程的名字。

(7)列出学生所有可能的选修情况。

(8)查找计算机系的学生选修课程数大于2 的学生的姓名、平均成绩和选课 门数,并按平均成绩降序排列。

实验 3 交互式 SQL(2)数据库嵌套查询和组合查询 实验目的和注意事项

实验目的:掌握查询中嵌套查询和组合查询的操作方法,进一步加深对 SELECT 语句的理解。

注意事项:子句的使用;注意语句的层次嵌套关系和括号的配对使用问题;

注意输入SQL 语句时均应使用西文操作符号。实验内容(1)创建查询窗口,设置查询环境。(2)分组查询。(3)统计查询。(4)嵌套查询。实验步骤

新建查询窗口,选择StudentCourseYYXXXX 为当前数据库,输入如下SELECT 查询语句并执行,对数据库进行嵌套查询和组合查询操作。

(1)统计选修了【数据库原理】课程的学生人数。

(2)查询没有选修【数据库原理】课程的学生信息。

(3)查询其他系中比计算机系学生年龄都小的学生。

(4)查询被0602001 学生或0602002 学生所选修的课程的课程号(用UNION 组合查询与IN 条件查询两种方法实现)。

(5)查询0602001 学生和0602002 学生同时选修的课程的课程号(用

INTERSECT 组合查询与EXISTS 嵌套子查询两种方法实现)。

(6)查询被0602001 学生选修,但没有被0602002 学生所选修的课程的课程

号(用EXCEPT 组合查询与NOT EXISTS 嵌套子查询两种方法实现)。

实验 4 交互式 SQL(3)数据的更新 实验目的和注意事项

实验目的:熟悉插入、修改和删除SQL 语句的用法。注意事项:对于INSERT 语句,要求理解默认值约束、空值约束在插入时所 起的作用。实验内容

(1)使用INSERT 语句在数据库的表中插入几行记录。(2)使用UPDATA 语句修改某个数据。(3)使用DELETE 语句删除某行记录。实验步骤

(1)新建查询窗口,选择StudentCourseYYXXXX 为当前数据库。

(2)在已建立StudentCourseYYXXXX 数据库和StudentsYYXXXX、CoursesYYXXXX、SCYYXXXX 3 个表的基础上,向StudentCourseYYXXXX数据库中 的表更新数据。

① 向表StudentsYYXXXX 中插入(0601001,赵林, 男,1985-09-08,计算机)的记录。

② 向SCYYXXXX 表中添加一个学生的选课记录,学号为0601001,所选的课

程号为C2。SC表中有Sno、Cno、Grade 这3 个列。这里只知道学号和课程号,不知道成绩值。

③ 向表StudentsYYXXXX 中插入(0601002,张修雨,default)记录,该记录 的数据中default 表示默认值‘男’,其他数据表示空值。

④ 用CREATE 语句建立表StudentBAK1YYXXXX,包含(与Students 的Sno、Sname、Sdept 相同)3 个字段,然后用INSERT SELECT 语句实现向

StudentBAK1YYXXXX 添加StudentsYYXXXX 表中的计算机系学生的学号、姓名、所在系的信息。

⑤ 用 SELECT...INTO 语句实现把StudentsYYXXXX 表中1986 年后(包含

1986 年)出生的学生的学号、姓名存储到一个新表StudentBAK2YYXXXX。

⑥ 将姓名为【赵林】的同学的所在系改为【机电系】,爱好改为【足球】。

⑦ 将选修了课程名为【数据库原理】的学生成绩加5 分。⑧ 将StudentCourseYYXXXX

数据库的StudentBAK1YYXXXX 表中所有姓赵的 同学删除。

⑨ 删除计算机系选修成绩不及格的学生选修记录。⑩ 将除。StudentCourseYYXXXX

数据库的StudentBAK2YYXXXX 表中的所有行删

四.实验总结

实验一要注意创建数据库和数据表时应认真,如果出现错误,应相应地修改结构或删除。输入SQL 语句时应注意,语句中均使用西文操作符号;实验二应注意注意group和having以及where的搭配使用的情况;实验三注意注意输入SQL 语句时均应使用西文操作符号,子句的使用,注意语句的层次嵌套关系和括号的配对使用问题;实验四注意输入SQL 语句时均应使用西文操作符号,对于INSERT 语句,要求理解默认值约束、空值约束在插入时所起的作用。注意插入,修改,新建表,删除语句的写法,并且掌握把原表中的数据转存到新表中的语句写法。

第五篇:数据库实验报告

10包三 李雅 100910306

实验报告

一、实验题目:

数据库基本操作实验

二、实验目的:

掌握数据库的建立、表的设计基本方法,通过实际操作熟练掌握数据库的基本操作——数据的输入与导入,表的设计。

三、实验内容:

建立课程管理数据库,要求:

1.输入老师、开设课程、选课表、学生基本数据等,并输入一些学生不同课程的考试成绩。

2.建立查询表,分别是成绩查询、学分查询、不及格学生查询。

3.建立窗体,分别显示不及格学生的姓名、课程名称、成绩和班级ID。在成绩查询中显示学生姓名及各科成绩。在教师基本信息中显示编号、职称、工资、院系、等。同时建立开设课程表和学生基本信息的窗体查询。提供用户一个简单的应用程序界面,方便用户操作使用。

4.制作报表。包括教师的授课报表,课程名称及课程类别。学生的总成绩报表,包括课程名称、成绩和学分。

注:课程及考试成绩可以任意输入。选课按照班级确定。

四、实验过程:

1、数据库表设计

在表格内填入教师基本信息、开始课程、课程基本信息、选课表、学生基本信息。

教师基本信息:

开设课程:

/ 7

10包三 李雅 100910306

课程基本信息:

选课表:

/ 7

10包三 李雅 100910306

学生基本信息:

2、查询表: 成绩查询:

/ 7

10包三 李雅 100910306

学分查询:

不及格学生查询:

/ 7

10包三 李雅 100910306

3、窗体设计: 不及格学生信息查询:

成绩查询:

教师基本信息查询:

开设课程信息查询:

/ 7

10包三 李雅 100910306

学生基本信息查询:

4、报表: 教师的授课报表:

/ 7

10包三 李雅 100910306

学生的总成绩:

/ 7

下载《数据库》实验报告(2012最新)word格式文档
下载《数据库》实验报告(2012最新).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    数据库实验报告

    实验7 索引和数据完整性的使用 1、 目的与要求 (1) 掌握索引的使用方法; (2) 掌握数据完整性的实现方法; 2、 实验准备 (1) 了解索引的作用与分类; (2) 掌握索引的创建方法; (3) 理解数据......

    数据库实验报告

    数据库系统原理课程设计 总结报告 学院: 软件学院 专业: 软件工程 年级: 2009 学号: 20092647 姓名: 李野 1、开发环境 Windows7系统 2、DBMS系统架构 采用向量的存储结构存储数......

    数据库实验报告

    课 程 实 验 报 告 课程名称: 数据库系统概论专业班级:计科1207班学号: U201215002 姓名: 李文勇 指导教师:江胜报告日期: 2015年6月8日计算机科学与技术学院 目 录 1 实验一 基......

    数据库实验报告

    实验一 PowerDesigner 的 CDM 应用 1:实验目的 使用PowerDesinger进行数据库概念模型设计,掌握CDM中的实体、实体属性、实体与实体之间联系的操作方法。 2:实验内容建立一个“......

    数据库实验报告[精选]

    实验报告 1. 实验内容与实验性质 实验内容:数据库实例设计 实验性质:专业基础综合设计性实验 2. 实验目的与要求 实验目的:深化“数据库设计”一章的课堂教学,借助数据库实例设......

    数据库实验报告格式

    课程:数据库原理及应用 实验题目: 系:班级:学号: 姓名:任课教师:时间: 一、 实验目的二、实验内容三、实验环境四、实验前准备五、实验步骤六、实验结果七、评价分析及心得体会......

    Access数据库实验报告

    注意事项:本手册上写的是题目的出处,但的实验本上,必须写上书上原本的题目,否则无效。并且写下每题实现的步骤。 《Access数据库》实验报告指导手册掌握选择查询、总记查询、在......

    北工大 数据库实验报告

    数据库实验报告 专业:电子信息工程 学号:14020019 姓名:康文杰 一, 实验内容: 本章介绍关系数据库标准语言SQL。 主要内容包括:1数据定义、 2数据操纵、 3数据控制和数据约束等。......