数据库原理实验报告Word格式.docx
- 文档编号:1521715
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:21
- 大小:566.17KB
数据库原理实验报告Word格式.docx
《数据库原理实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《数据库原理实验报告Word格式.docx(21页珍藏版)》请在冰点文库上搜索。
正文用小四号宋体,行距为1.5倍行距。
报告必须生成目录,目录必须带页码。
2设计报告需要打印,装订,1份/人,理论课考试时交设计报告。
3各班学习委员收集每位同学做的成果,包含数据库的备份、程序源代码和运行配置说明,并将每位同学的成果拷贝到软件与通信实验室的教师机上。
第一部分实验四
报告正文
一、实验目的
1、掌握ODBC的概念并学习使用ODBC访问数据库;
2、学习VisualC++下如何通过ODBC访问数据库;
3、学习用VisualC++整理简单数据库应用程序的方法。
二、实验题目
某大学需要使用计算机管理学生信息、成绩信息等,要求如下:
1、学生信息管理,包含学生的基本信息,如学号、姓名、性别、出生日期等;
还要包含学生的简历、社会关系等;
2、课程管理,包含整个学校开设的所有课程;
3、教学计划管理,包含设定各系各专业在哪学期开设什么样的课程,学分是多少;
4、学生选课管理,包含学生在某学期选择什么样的课程;
5、学生成绩管理,包含学生各课程的成绩、是否补考、补考成绩;
6、学生奖惩管理,管理学生在校期间所获得的奖励和惩罚记录。
根据实验一的结果,完成设计。
可以根据自己的实际情况实现一部分也可。
三、实验涉及仪器设备和材料清单(或软件)
操作系统:
Windows10
软件:
VisualStudioProfessional2017,PowerDesigner15.1
实现语言:
C#
开发平台:
.NETFramework4
数据库:
SQLServer2014
四、实验原理
Microsoft推出的ODBC(OpenDatabaseConnectivity)技术为异质数据库的访问提供了统一的接口。
ODBC基于SQL(StructuredQueryLanguage),并把它作为访问数据库的标准。
这个接口提供了最大限度的相互可操作性:
一个应用程序可以通过一组通用的代码访问不同的数据库管理系统。
一个软件开发者开发的客户/服务器应用程序不会被束定于某个特定的数据库之上。
ODBC可以为不同的数据库提供相应的驱动程序。
ODBC的灵活性表现在以下几个方面:
·
应用程序不会受制于某种专用的API
SQL语句以源代码的方式直接嵌入在应用程序中
应用程序可以以自己的格式接收和发送数据
ODBC的设计完全和ISOCall-LevelInterface兼容
现在的ODBC数据库驱动程序支持55家公司的数据产品
最新推出的ODBC3.0已经升级到32位,支持Win32。
在C#中,提供了良好的数据库支持。
输入数据源是遵循开放式数据库互接(ODBC)标准,还是微软的数据访问对象(DAO)标准,或OLE数据库(OLEDB)标准。
ODBC功能在数据库管理系统,如MicrosoftAccess、Oracle或dBase的特定的驱动程序中实现。
C#提供了一个ODBC驱动程序的集合;
其他的可从经销商那里买到。
实验中即利用ODBC接口来创建.NET下的数据库支持。
五、实验内容
1、建立概念模型
2、利用PowerDesigner生成的SQL语句建立相关数据表
3、利用C#进行相关软件开发
六、实验步骤及代码分析
查询部分:
privatevoid查询课程ToolStripMenuItem_Click(objectsender,EventArgse)
{
stringCommandString="
select*fromCourse"
;
try
OdbcDataAdapteradapter=newOdbcDataAdapter(CommandString,odbcConnection);
DataSetds=newDataSet();
adapter.Fill(ds);
dataGridView1.DataSource=ds.Tables[0].DefaultView;
odbcConnection.Close();
}
catch(OdbcExceptionex)
MessageBox.Show(ex.Message);
录入成绩,利用数据源自动更新
privatevoidbutton2_Click(objectsender,EventArgse)
OdbcCommandBuilderocd=newOdbcCommandBuilder(adapter);
adapter.Update(ds);
catch(Exceptionex)
this.Close();
return;
MessageBox.Show("
成功"
);
更改成绩,利用数据源自动更新
privatevoidbutton1_Click(objectsender,EventArgse)
//dataGridView1.DataSource=null;
ds.Clear();
dataGridView1.Update();
select*fromScorewhereScore.CourseNo='
"
+textBox1.Text+"
'
"
adapter=newOdbcDataAdapter(CommandString,odbcConnection);
try
{
七、实验结果及分析
登录界面:
查询界面:
:
增加界面:
修改界面:
删除界面:
实验体会
通过本次实验,我明白了数据库中的各种操作是怎么回事,这些操作有增加,修改和删除,基于这些操作,完成了学生信息管理系统。
在用C#完成系统的过程中,重新回顾了高级程序设计语言编程的基本语法和思想,由此让我产生了许多学习的心得:
在上理论课的时候,要把笔记做好,课堂上的重点内容需要记录下来,尤其是关于技术方面的知识,这些知识的贯通需要通过应用来实现,在实验的实践过程中把理论知识用起来,达到活学活用的目的。
在完成了本次实验之后,我对于SQL代码的掌握更熟练了,而且对于C#语法的认识更深刻,在做出体现面向对象的程序的能力上,有所进步。
第二部分实验二、实验三
实验二表查询
一实验要求
根据给定的样例数据库pubs,完成以下查询操作。
1、无条件查询
1)查找pub库中authors表的全部信息。
2)查找其他样例表中全部信息。
2、简单条件查询
1)查找titles表中全部书号及书名。
2)查找titles表中价格在$15~18元之间的书的书名。
3)查找titles表中书名以T开头的书号,书名。
4)对其他样例表构造各种简单查询条件,进行查询。
3、多条件查询
1)查找书名起始字符为T,价格小于$16元的书名及价格。
2)查找书名起始字符不为T的,价格大于$16元的书号,书名及价格。
3)对其他样例表构造多个查询条件,进行查询。
4、用连接操作(或嵌套查询)进行查询
1)使用样例表titles,publishers进行查询:
查找出版社的名称以及所出的书名。
2)使用样例表authors,titleauthor,titles进行查询:
查找整理的姓、名和所写的书名。
3)对构造其他条件,在两个以上样例表中进行查询。
5、得到排序的查询结果
1)查找整理的姓、名、电话号码,并按整理姓、名排列。
2)查找书名和书的价格,按书价由大到小的次序排列。
3)对其他样例表构造查询条件、排序要求,给出查询结果。
6、使用函数进行查找
1)列出有多少类书。
2)列出书的定价有多少种。
3)列出书价最低的书名和书价。
4)查出书价最高的书名及书价。
5)列出当年销量的总和。
6)构造其他查询条件和统计要求,给出查询结果。
二实验结果
select*
fromauthors
fromdiscounts
fromsales
fromtitles
fromemployee
fromjobs
frompub_info
frompublishers
fromroysched
fromstores
fromtitleauthor
selecttitle_id,title
selecttitle
fromtitles
whereprice>
15andprice<
18
wheretitlelike'
T%'
selecttitle_id,title,pub_id
wherepub_id<
1000
selectprice,title
whereprice<
16andtitlelike'
selecttitle_id,title,price
wheretitlenotlike'
andprice>
16
andprice<
=16
selectpub_name,title
fromtitles,publishers
wheretitles.pub_id=publishers.pub_id
selectau_lname,au_fname,title
fromauthors,titleauthor,titles
wheretitles.title_id=titleauthor.title_idandtitleauthor.au_id=authors.au_id
selectcity,title
selectau_fname,au_lname,phone
orderbyau_fname,au_lname
selecttitle,price
orderbypricedesc
orderbypriceasc
selectCOUNT(distincttype)as书的种类
selectCOUNT(distinctprice)as定价种类
whereprice=(selectmin(price)fromtitles)
whereprice=(selectmax(price)fromtitles)
实验三对象的建立与数据更新操作
1创建和修改对象
(1)创建表对象
按照下面的的结构与内容建两个关系。
表名分别以S、T开头,后面是建表人的学号(以下简记为T**、S**)。
先用createtable命令建立表的初始结构,表T**的初始结构包括下面T**中前四个属性。
然后再用altertable.add.添加一个属性:
QTY(库存量)。
并插入相应的内容。
T**
Title
author
t_no
price
QTY
计算机原理
张一平
S3092
20.80
200
C语言程序设计
李华
H129815.30
300
数据库原理
王家树
D1007
22.70
150
计算机网络
高明
S569018.90
230
Artificialintelligence
P.Winston
D2008
20.50
400
Expertsystems
R.Ullman
H3067
17.00
370
软件工程
鲁廷璋
S2005
35.00
Fortran程序设计
顾学峰
S5006
18.00
180
S**
T_no
Page
pub-date
304
1986
280
1993
315
1987
S5690
H1298
210
1989
358
1994
298
1995
307
(2)用altertable.altercolumn.改变属性title的长度。
(3)用子查询方式建新表。
表名以ST开头,后面为建表人学号(简记为ST**)。
(新表内须包括title和price两个属性。
)
(4)按t_no建索引,索引名为IT**(**表示建表人的学号,下同)。
(5)用子查询方式建视图,视图名为VT**,并在视图上查找所需信息。
(6)删除以VT**命名的视图。
(7)删除以ST**命名的表。
2、记录的插入、删除与更新
(1)同前,用子查询方式建立表ST**。
该表的属性应有t_no,title,price。
(2)在ST**表中插入一元组:
S7028,DigitalImageProcessing,36.00
(3)删除书名为“Fortran程序设计”的那个元组。
(4)删除书号以H开头的元组。
(5)把书价调整到原来价格的95%。
(6)把书号以D开头的那些书的书价减掉2.00元。
(7)将“计算机原理”的书号改为S1135。
(8)对所建的表,进行各种插入、删除、更新操作。
(9)每次修改表后,可用select查看一下修改后表中的内容,看是否满足要求。
3、统计
(1)计算T**表中这些书籍的最高书价、最低书价及平均书价。
(2)计算T**表中的书的种类是多少。
(3)计算S**表中1990年后出版的书有多少。
(4)计算总共有多少本书。
(5)对样例表,设计统计要求,获得各种统计量。
/*1*/
/*
(1)*/
createdatabasestudent
usestudent
createtableT631507020418(
Titlevarchar(30),
authorvarchar(15),
t_nochar(6),
pricenumeric(6,2))
insertintoT631507020418(Title,author,t_no,price)
select'
计算机原理'
'
张一平'
S3092'
20.8'
unionall
C语言程序设计'
李华'
H1298'
15.3'
数据库原理'
王家树'
D1007'
22.7'
计算机网络'
高明'
S5690'
18.9'
Artificialintelligence'
P.Winston'
D2008'
20.5'
Expertsystems'
R.Ullman'
H3067'
17'
软件工程'
鲁廷璋'
S2005'
35'
Fortran程序设计'
顾学峰'
S5006'
18'
altertableT631507020418
addQTYint
updateT631507020418setQTY=200wheret_no='
updateT631507020418setQTY=300wheret_no='
updateT631507020418setQTY=150wheret_no='
updateT631507020418setQTY=230wheret_no='
updateT631507020418setQTY=400wheret_no='
updateT631507020418setQTY=370wheret_no='
updateT631507020418setQTY=180wheret_no='
createtableS6*******0418(
T_nochar(6),
pageint,
pub_datedate)
insertintoS6*******0418
304'
1986'
280'
1993'
315'
1987'
300'
210'
1989'
358'
1994'
298'
1995'
307'
/*
(2)*/
altercolumnTitlevarchar(35)
/*(3)*/
selectTitle,priceintoST631507020418
fromT631507020418
/*(4)*/
createindexIT6315070200418
onT631507020418(t_no)
/*(5)*/
createviewVT631507020418as
select*fromT631507020418
/*(6)*/
dropviewVT631507020418
/*(7)*/
droptableST631507020418
/*2*/
selectT_no,Title,price
intoST631507020418
insertintoST631507020418
S7028'
DigitalImageProcessing'
36'
delete
fromST631507020418
whereTitle='
wheret_nolike'
H%'
updateST631507020418
setprice=price*0.95
setprice=price-2
D%'
sett_no='
S1135'
/*(8)无*/
/*(9)无*/
/*3*/
selectmax(price)MAX,min(price)MIN,avg(price)AVG
selectcount(Title)种类
selectcount(*)
fromS6*******0418
whereDATEDIFF(yea
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 原理 实验 报告
![提示](https://static.bingdoc.com/images/bang_tan.gif)