广东工业大学数据库原理实验报告.doc

上传人:wj 文档编号:1867318 上传时间:2023-05-02 格式:DOC 页数:27 大小:701KB
下载 相关 举报
广东工业大学数据库原理实验报告.doc_第1页
第1页 / 共27页
广东工业大学数据库原理实验报告.doc_第2页
第2页 / 共27页
广东工业大学数据库原理实验报告.doc_第3页
第3页 / 共27页
广东工业大学数据库原理实验报告.doc_第4页
第4页 / 共27页
广东工业大学数据库原理实验报告.doc_第5页
第5页 / 共27页
广东工业大学数据库原理实验报告.doc_第6页
第6页 / 共27页
广东工业大学数据库原理实验报告.doc_第7页
第7页 / 共27页
广东工业大学数据库原理实验报告.doc_第8页
第8页 / 共27页
广东工业大学数据库原理实验报告.doc_第9页
第9页 / 共27页
广东工业大学数据库原理实验报告.doc_第10页
第10页 / 共27页
广东工业大学数据库原理实验报告.doc_第11页
第11页 / 共27页
广东工业大学数据库原理实验报告.doc_第12页
第12页 / 共27页
广东工业大学数据库原理实验报告.doc_第13页
第13页 / 共27页
广东工业大学数据库原理实验报告.doc_第14页
第14页 / 共27页
广东工业大学数据库原理实验报告.doc_第15页
第15页 / 共27页
广东工业大学数据库原理实验报告.doc_第16页
第16页 / 共27页
广东工业大学数据库原理实验报告.doc_第17页
第17页 / 共27页
广东工业大学数据库原理实验报告.doc_第18页
第18页 / 共27页
广东工业大学数据库原理实验报告.doc_第19页
第19页 / 共27页
广东工业大学数据库原理实验报告.doc_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

广东工业大学数据库原理实验报告.doc

《广东工业大学数据库原理实验报告.doc》由会员分享,可在线阅读,更多相关《广东工业大学数据库原理实验报告.doc(27页珍藏版)》请在冰点文库上搜索。

广东工业大学数据库原理实验报告.doc

数据库原理实验报告

课程名称____数据库系统_____

学生学院____计算机学院______

专业班级__

学号___________

学生姓名_____________

指导教师________________

2012年12月3日

27

实验一数据库及基本表的建立

一、实验目的

1、掌握SQLSERVER的查询分析器和企业管理器的使用;

2、掌握创建数据库和表的操作;

二、实验内容和要求

1、分别使用SQL语句、企业管理器(EnterpriseManager)创建数据库;

2、使用SQL语句、企业管理器(EnterpriseManager)创建数据库表;

三、实验主要仪器设备和材料

1.计算机及操作系统:

PC机,Windows2000/xp;

2.数据库管理系统:

SQLsever2000/2005;

四、实验方法、步骤及结果测试

创建一个教学管理数据库SC,其描述的信息有:

学生信息、课程信息、教师信息、学生选课成绩、授课信息、班级信息、系部信息、专业信息。

创建:

student表(学生信息表)、course表(课程信息表)、teacher表(教师信息表)、student_course表(学生选课成绩表)、teacher_course表(教师上课课表)等。

题目1、创建数据库:

实现代码及截图:

查询分析器执行情况:

SQL语句及执行结果显示

CREATEDATABASEsc

ONPRIMARY

(NAME=sc_Data,

FILENAME=’E:

\3110006079

\sc_Data.mdf’,

SIZE=30MB,

MAXSIZE=100MB,

FILEGROWTH=20%)

LOGON

(NAME=sc_Log,

FILENAME=’E:

\3110006079

\sc_Log.mdf’,

SIZE=3MB,

MAXSIZE=100MB,

FILEGROWTH=1MB

实验结果截图显示

题目2、创建基本表

创建各表的实现代码及截图:

查询分析器执行情况:

SQL语句及执行结果显示

------------------------------

--Tablestructurefor`class`

------------------------------

DROPTABLEIFEXISTS`class`;

CREATETABLE`class`(

`spno`char(8)NOTNULL,

`class_no`char(4)NOTNULL,

`header`char(8)DEFAULTNULL

)ENGINE=InnoDBDEFAULTCHARSET=utf8;

------------------------------

--Recordsofclass

------------------------------

------------------------------

--Tablestructurefor`course`

------------------------------

DROPTABLEIFEXISTS`course`;

CREATETABLE`course`(

`cno`char(10)NOTNULL,

`cname`char(20)NOTNULL,

`spno`char(8)NOTNULL,

`ctno`tinyint(4)DEFAULTNULL,

`lecture`tinyint(4)DEFAULTNULL,

`experiment`tinyint(4)DEFAULTNULL,

`semester`tinyint(4)DEFAULTNULL,

`credit`tinyint(4)DEFAULTNULL

)ENGINE=InnoDBDEFAULTCHARSET=utf8;

------------------------------

--Recordsofcourse

------------------------------

------------------------------

--Tablestructurefor`department`

------------------------------

DROPTABLEIFEXISTS`department`;

CREATETABLE`department`(

`dno`char(6)NOTNULL,

`dept_name`char(20)NOTNULL,

`header`char(8)DEFAULTNULL

)ENGINE=InnoDBDEFAULTCHARSET=utf8;

------------------------------

--Recordsofdepartment

------------------------------

------------------------------

--Tablestructurefor`speciality`

------------------------------

DROPTABLEIFEXISTS`speciality`;

CREATETABLE`speciality`(

`spno`char(8)NOTNULL,

`dno`char(6)NOTNULL,

`spname`char(20)NOTNULL

)ENGINE=InnoDBDEFAULTCHARSET=utf8;

------------------------------

--Recordsofspeciality

------------------------------

------------------------------

--Tablestructurefor`student`

------------------------------

DROPTABLEIFEXISTS`student`;

CREATETABLE`student`(

`s_no`char(8)NOTNULL,

`sname`char(8)NOTNULL,

`sex`char

(2)DEFAULTNULL,

`sbirthday`datetimeDEFAULTNULL,

`dno`char(6)NOTNULL,

`spno`char(8)NOTNULL,

`class_no`char(4)DEFAULTNULL

)ENGINE=InnoDBDEFAULTCHARSET=utf8;

------------------------------

--Recordsofstudent

------------------------------

------------------------------

--Tablestructurefor`student_course`

------------------------------

DROPTABLEIFEXISTS`student_course`;

CREATETABLE`student_course`(

`s_no`char(8)NOTNULL,

`tcid`smallint(6)NOTNULL,

`score`tinyint(4)DEFAULTNULL

)ENGINE=InnoDBDEFAULTCHARSET=utf8;

------------------------------

--Recordsofstudent_course

------------------------------

------------------------------

--Tablestructurefor`teacher`

------------------------------

DROPTABLEIFEXISTS`teacher`;

CREATETABLE`teacher`(

`t_no`char(8)NOTNULL,

`t_name`char(8)NOTNULL,

`t_sex`char

(2)DEFAULTNULL,

`t_birthday`datetimeDEFAULTNULL,

`dno`char(6)NOTNULL,

`tech_title`char(10)DEFAULTNULL

)ENGINE=InnoDBDEFAULTCHARSET=utf8;

------------------------------

--Recordsofteacher

------------------------------

------------------------------

--Tablestructurefor`teacher_course`

------------------------------

DROPTABLEIFEXISTS`teacher_course`;

CREATETABLE`teacher_course`(

`tcid`smallint(6)NOTNULL,

`t_no`char(8)NOTNULL,

`spno`char(8)NOTNULL,

`class_no`char(4)DEFAULTNULL,

`cno`char(10)NOTNULL,

`semester`char(6)DEFAULTNULL,

`schoolyear`char(10)DEFAULTNULL,

PRIMARYKEY(`tcid`)

)ENGINE=InnoDBDEFAULTCHARSET=utf8;

------------------------------

--Recordsofteacher_course

------------------------------

实验结果截图显示

题目3、查看各数据表之间的关系,生成数据库关系图。

生成数据库关系图截图显示

题目4、利用查询分析器修改上述各表。

(1)、用INSERT语句向各个表中插入数据录入5条记录。

录入时注意体会外键约束。

实现代码及截图:

查询分析器执行情况:

SQL语句及执行结果显示

INSERTINTO`student`VALUES('6079','陈三','男','1991-02-2020:

32:

06','1','1','6');

实验结果截图显示(插入数据的表格)

实现代码及截图:

查询分析器执行情况:

SQL语句及执行结果显示

INSERTINTO`course`VALUES('1','计算机网络','1','1','20','5','25','5');

实验结果截图显示(插入数据的表格)

实现代码及截图:

查询分析器执行情况:

SQL语句及执行结果显示

INSERTINTO`student_course`VALUES('6079','1','90');

;

实验结果截图显示(插入数据的表格)

实现代码及截图:

查询分析器执行情况:

SQL语句及执行结果显示

INSERTINTO`teacher`VALUES('1','廖老师','男','1989-01-0120:

41:

12','1',null);

实验结果截图显示(插入数据的表格)

实现代码及截图:

查询分析器执行情况:

SQL语句及执行结果显示

INSERTINTO`department`VALUES('1','计算机学院','廖老师');

INSERTINTO`department`VALUES('2','信息工程学院','张三');

实验结果截图显示(插入数据的表格)

实现代码及截图:

查询分析器执行情况:

SQL语句及执行结果显示

INSERTINTO`speciality`VALUES('1','1','计算机网络');

INSERTINTO`speciality`VALUES('2','1','Java');

实验结果截图显示(插入数据的表格)

实现代码及截图:

查询分析器执行情况:

SQL语句及执行结果显示

INSERTINTO`class`VALUES('1','6','廖老师');

实验结果截图显示(插入数据的表格)

实现代码及截图:

查询分析器执行情况:

SQL语句及执行结果显示

INSERTINTO`teacher_course`VALUES('1','1','1','6','1','2','2012');

实验结果截图显示(插入数据的表格)

共8组(共8个表)

(2)、用UPDATE语句更改student表中数据;

实现代码:

查询分析器执行情况:

SQL语句及执行结果显示

UPDATEstudent

SETsname='李四'

WHEREs_no=6079

student表更改前后的内容截图显示

(3)、用DELETE语句删除student表中数据;

实现代码:

查询分析器执行情况:

SQL语句及执行结果显示

DELETE

FROMstudent

WHEREs_no=6080

student表更改前后的内容截图显示

五、实验中出现的问题及解决方案

1.外键的设置:

外键设置不能一开始就设置,要等到所有表建完后再设置,这样才能保证外键存在。

2.删除操作:

不能删除有外键连接的记录,如果要删除这样的记录,必须先把引用该外键的记录删除。

六、思考题

1、说明数据库中的表和数据文件的关系。

2、数据库中的日志文件能否单独修改?

答:

1:

数据库中的表其实就是数据文件里面的语句生成的,在数据库中对表的任何操作在数据文件都会发生相应的变化。

2:

不能。

单独修改会造成DBMS跟Log文件的不匹配冲突问题。

实验二查询数据库

一、实验目的

熟悉SQL语句的基本使用方法,学习如何编写SQL语句来实现查询

二、实验内容和要求

使用SQL查询分析器查询数据,练习查询语句的使用,掌握SELECT语句的完整结构,包括简单查询、嵌套查询、连接查询等基本实现方法。

三、实验主要仪器设备和材料

1.计算机及操作系统:

PC机,Windows2000/xp;

2.数据库管理系统:

SQLsever2000/2005;

四、实验方法、步骤及结果测试

实验题目:

1、对实验一建立的数据库表进行查询

简单查询:

题目

(1)、查询全部学生的学号、姓名、性别和出身年月日。

实现代码及查询结果截图:

格式如下

查询分析器执行情况:

SQL语句及执行结果显示

SELECTs_no,sname,sex,sbirthday

FROMstudent

查询结果截图显示

题目

(2)、查询全体学生的学号、姓名和年龄

实现代码及查询结果截图:

查询分析器执行情况:

SQL语句及执行结果显示

SELECTs_no,sname,2012-year(sbirthday)age

FROMstudent

查询结果截图显示

题目(3)、查询院系编号为‘510000’(计算机学院)的全部学生的学号、姓名、性别和出身年月日。

实现代码及查询结果截图:

查询分析器执行情况:

SQL语句及执行结果显示

SELECTs_no,sname,sex,sbirthday,

department.dept_name

FROMstudent,department

WHEREstudent.dno=1

ANDdepartment.dno=student.dno

查询结果截图显示

题目(4)、查询“计算机科学与技术”专业(专业代码为‘080605’)并且班级代码为‘0201’的学生的学号、姓名和出生日期。

实现代码及查询结果截图:

查询分析器执行情况:

SQL语句及执行结果显示

/**由于0201没有数据,所以这里

改成1*/

SELECTs_no,sname,sbirthday,

speciality.spname,class_no

FROMstudent,speciality

WHEREstudent.spno=1

ANDpeciality.spno=student.spno

ANDstudent.class_no=6

查询结果截图显示

题目(5)、查询在‘1983/01/10’以后出生的计算机学院(院系编号为‘510000’)学生的学号、姓名、性别和出身年月日。

实现代码及查询结果截图:

查询分析器执行情况:

SQL语句及执行结果显示

SELECTs_no,sname,sex,sbirthday

FROMstudent

WHEREsbirthday>19830110000000ANDdno=1

查询结果截图显示

题目(6)、查询全部学生的学号、姓名、性别和出身日期结果按照出生日期的升序排列。

实现代码及查询结果截图:

查询分析器执行情况:

SQL语句及执行结果显示

SELECTs_no,sname,sex,sbirthday

FROMstudent

ORDERBYsbirthday

查询结果截图显示

连接查询:

题目

(1)、查询全部学生的学号、姓名、性别、所在院系名称和专业名称

实现代码及查询结果截图:

查询分析器执行情况:

SQL语句及执行结果显示

SELECT

s_no,sname,sex,

dept_name,spname

FROMstudent,department,speciality

WHEREstudent.dno=department.dno

ANDstudent.spno=speciality.spno

查询结果截图显示

题目

(2)、查询选修了课程1(上课编号)的学生的学号、姓名、专业名称和这门课的成绩

实现代码及查询结果截图:

查询分析器执行情况:

SQL语句及执行结果显示

SELECTstudent.s_no,sname,spname,score

FROMstudent,student_course,speciality

WHEREstudent.s_no=student_course.s_no

ANDstudent.spno=speciality.spno

ANDstudent.spno=1

查询结果截图显示

题目(3)、查询学生不及格的情况列出不及格学生的学号、姓名和不及格的课程名称。

实现代码及查询结果截图:

查询分析器执行情况:

SQL语句及执行结果显示

/**由于没有不及格的数据,所以显示为空,但是该sql语句亲测可行*/

SELECTstudent.s_no,sname,spname

FROMstudent,student_course,speciality

WHEREstudent.s_no=student_course.s_no

ANDstudent.spno=speciality.spno

ANDstudent_course.score<60

查询结果截图显示

嵌套查询:

题目

(1)、查询没有选修了课程1的学生,列出学生的学号和姓名。

实现代码及查询结果截图:

查询分析器执行情况:

SQL语句及执行结果显示

/**由于没有不选择课程1的学生数据,所以显示为空,但是该sql语句亲测可行*/

SELECTstudent.s_no,sname

FROMstudent

WHEREs_noIN

(SELECTs_no

FROMstudent

WHEREspno!

=1

查询结果截图显示

题目

(2)、查询每门课都是80分以上的学生的学号与姓名。

实现代码及查询结果截图:

查询分析器执行情况:

SQL语句及执行结果显示

SELECTstudent.s_no,sname

FROMstudent

WHEREs_noIN

(SELECTs_no

FROMstudent_course

WHEREscore>80

查询结果截图显示

2、选用Northwind数据库进行查询

题目

(1)、对NothWind.Products表进行简单查询;在查询分析器在窗口下用SELECT语句完成单表查询:

查询所有Products的详细记录;

实现代码及查询结果截图:

查询单价(UnitPrice)小于20的Products;

实现代码及查询结果截图:

查询Products中最高单价(UnitPrice)是多少;

实现代码及查询结果截图:

题目

(2)、在查询分析器在窗口下用SELECT语句完成连接(嵌套)查询:

查询所有被订购过得Products的ProductsID和ProductName;

实现代码及查询结果截图:

查询所有被CustomerID为AROUT客和订购过的ProductsID和ProductName;

实现代码及查询结果截图:

查询所有被CustomerID为AROUT客和订购过,且单价在20以上的ProductsID

和ProductName;

实现代码及查询结果截图:

查询Products中单价(UnitPrice)最高的Products的资料;

实现代码及查询结果截图:

五、实验中出现的问题及解决方案

六、思考题

1、进行连接查询时应注意哪些问题?

实验三、创建和使用视图、索引、存储过程

一、实验目的

1、掌握视图、索引、存储过程的定义、索引、存储过程的工作原理;

2、掌握创建视图、索引、存储过程的SQL语句的用法;并能够熟练利用视图向表中插入、删除和修改数据。

3、掌握使用视图来查询数据。

二、实验主要仪器设备和材料

1.计算机及操作系统:

PC机,Windows;

2.数据库管理系统:

SQLsever2000/2005;

三、实验方法、步骤及结果测试

(一)、视图

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2