数据库原理实验报告.docx
《数据库原理实验报告.docx》由会员分享,可在线阅读,更多相关《数据库原理实验报告.docx(19页珍藏版)》请在冰豆网上搜索。
![数据库原理实验报告.docx](https://file1.bdocx.com/fileroot1/2022-11/16/9f61db8d-ac52-4787-b3fa-28389a5c5f80/9f61db8d-ac52-4787-b3fa-28389a5c5f801.gif)
数据库原理实验报告
重庆交通大学信息科学与工程学院
设计性实验报告
专业:
计算机科学与技术
班级:
2015级4班
学号:
************
姓名:
*****
课程名称:
数据库原理课程实验
实验项目性质:
设计性实验
实验所属课程:
《数据库原理B》
实验室(中心):
软件与通信实验室
指导教师:
***
实验完成时间:
2017年11月25日
总成绩
教师签名
此页必须保留
评分标准及成绩
实验名称
评分细则
评分
实验四
报告表述的清晰程度和完整性(20分)
概念模型的合理性(实验一内容)(10分)
逻辑模型的合理性(实验一内容)(10分)
功能合理性(20分)
功能完善性(10分)
个人体会(10分)
实验二
10分
实验三
10分
总成绩
总体实验要求:
1排版要求
标题用黑体四号,段前、段后距6磅(或0.3行);正文用小四号宋体,行距为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);
try
{
adapter.Update(ds);
}
catch(Exceptionex)
{
MessageBox.Show(ex.Message);
this.Close();
return;
}
MessageBox.Show("成功");
this.Close();
}
更改成绩,利用数据源自动更新
privatevoidbutton1_Click(objectsender,EventArgse)
{
//dataGridView1.DataSource=null;
ds.Clear();
dataGridView1.Update();
stringCommandString="select*fromScorewhereScore.CourseNo='"+textBox1.Text+"'";
try
{
adapter=newOdbcDataAdapter(CommandString,odbcConnection);
adapter.Fill(ds);
dataGridView1.DataSource=ds.Tables[0].DefaultView;
odbcConnection.Close();
}
catch(OdbcExceptionex)
{
MessageBox.Show(ex.Message);
}
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
OdbcCommandBuilderocd=newOdbcCommandBuilder(adapter);
try
{
adapter.Update(ds);
}
catch(Exceptionex)
{
MessageBox.Show(ex.Message);
this.Close();
return;
}
MessageBox.Show("成功");
this.Close();
}
}
七、实验结果及分析
登录界面:
查询界面:
:
增加界面:
修改界面:
删除界面:
实验体会
通过本次实验,我明白了数据库中的各种操作是怎么回事,这些操作有增加,修改和删除,基于这些操作,完成了学生信息管理系统。
在用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
select*
fromdiscounts
select*
fromsales
select*
fromtitles
select*
fromemployee
select*
fromjobs
select*
frompub_info
select*
frompublishers
select*
fromroysched
select*
fromstores
select*
fromtitleauthor
selecttitle_id,title
fromtitles
selecttitle
fromtitles
whereprice>15andprice<18
selecttitle_id,title
fromtitles
wheretitlelike'T%'
selecttitle_id,title,pub_id
fromtitles
wherepub_id<1000
selectprice,titl