数据库原理实验报告[骄阳教学]_第1页
数据库原理实验报告[骄阳教学]_第2页
数据库原理实验报告[骄阳教学]_第3页
数据库原理实验报告[骄阳教学]_第4页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、重庆交通大学信息科学与工程学院设计性实验报告专 业: 计算机科学与技术 班 级: 2015 级 4 班 学 号: 631507020418 姓 名: 张 再 朝 课 程 名 称: 数据库原理课程实验 实验项目性质: 设计性实验 实验所属课程: 数据库原理B 实验室(中心): 软件与通信实验室 指 导 教 师 : 王家伟 实验完成时间: 2017 年 11 月 25 日总 成 绩教师签名习题与教育此页必须保留评分标准及成绩实验名称评分细则评分实验四报告表述的清晰程度和完整性(20分)概念模型的合理性(实验一内容)(10分)逻辑模型的合理性(实验一内容)(10分)功能合理性(20分)功能完善性(1

2、0分)个人体会(10分)实验二10分实验三10分总成绩总体实验要求:1 排版要求标题用黑体四号,段前、段后距6磅(或0.3行);正文用小四号宋体,行距为1.5倍行距。报告必须生成目录,目录必须带页码。2 设计报告需要打印,装订,1份/人,理论课考试时交设计报告。3 各班学习委员收集每位同学做的成果,包含数据库的备份、程序源代码和运行配置说明,并将每位同学的成果拷贝到软件与通信实验室的教师机上。第一部分 实验四目 录报告正文4一、实验目的4二、实验题目4三、实验涉及仪器设备和材料清单(或软件)4四、实验原理5五、实验内容5六、实验步骤及代码分析6七、实验结果及分析8实验体会11实验二 表查询13

3、一 实验要求13二 实验结果14实验三 对象的建立与数据更新操作17一 实验要求17二 实验结果19报告正文一、实验目的1、掌握ODBC的概念并学习使用ODBC访问数据库; 2、学习Visual C+下如何通过ODBC访问数据库; 3、学习用Visual C+制作简单数据库应用程序的方法。 二、实验题目某大学需要使用计算机管理学生信息、成绩信息等,要求如下:1、学生信息管理,包含学生的基本信息,如学号、姓名、性别、出生日期等;还要包含学生的简历、社会关系等;2、课程管理,包含整个学校开设的所有课程;3、教学计划管理,包含设定各系各专业在哪学期开设什么样的课程,学分是多少;4、学生选课管理,包含

4、学生在某学期选择什么样的课程;5、学生成绩管理,包含学生各课程的成绩、是否补考、补考成绩;6、学生奖惩管理,管理学生在校期间所获得的奖励和惩罚记录。根据实验一的结果,完成设计。可以根据自己的实际情况实现一部分也可。三、实验涉及仪器设备和材料清单(或软件)操作系统:Windows10软件:Visual Studio Professional 2017,Power Designer 15.1实现语言:C#开发平台:.NET Framework 4数据库:SQL Server 2014四、实验原理 Microsoft推出的ODBC(Open Database Connectivity)技术为异质数据

5、库的访问提供了统一的接口。ODBC基于SQL(Structured Query Language),并把它作为访问数据库的标准。这个接口提供了最大限度的相互可操作性:一个应用程序可以通过一组通用的代码访问不同的数据库管理系统。一个软件开发者开发的客户/服务器应用程序不会被束定于某个特定的数据库之上。ODBC可以为不同的数据库提供相应的驱动程序。 ODBC的灵活性表现在以下几个方面: 应用程序不会受制于某种专用的API SQL语句以源代码的方式直接嵌入在应用程序中 应用程序可以以自己的格式接收和发送数据 ODBC的设计完全和ISO Call-Level Interface兼容 现在的ODBC数据

6、库驱动程序支持55家公司的数据产品 最新推出的ODBC 3.0已经升级到32位,支持Win32。 在C#中,提供了良好的数据库支持。输入数据源是遵循开放式数据库互接(ODBC)标准,还是微软的数据访问对象(DAO)标准,或OLE数据库(OLE DB)标准。ODBC功能在数据库管理系统,如Microsoft Access、Oracle或dBase的特定的驱动程序中实现。C#提供了一个ODBC驱动程序的集合;其他的可从经销商那里买到。实验中即利用ODBC接口来创建.NET下的数据库支持。 五、实验内容1、建立概念模型2、利用Power Designer生成的SQL语句建立相关数据表3、利用C#进行

7、相关软件开发六、实验步骤及代码分析查询部分:private void 查询课程ToolStripMenuItem_Click(object sender, EventArgs e) string CommandString = select * from Course; try OdbcDataAdapter adapter = new OdbcDataAdapter(CommandString, odbcConnection); DataSet ds = new DataSet(); adapter.Fill(ds); dataGridView1.DataSource = ds.Tables

8、0.DefaultView; odbcConnection.Close(); catch (OdbcException ex) MessageBox.Show(ex.Message); 录入成绩,利用数据源自动更新 private void button2_Click(object sender, EventArgs e) OdbcCommandBuilder ocd = new OdbcCommandBuilder(adapter); try adapter.Update(ds); catch (Exception ex) MessageBox.Show(ex.Message); this.

9、Close(); return; MessageBox.Show(成功); this.Close(); 更改成绩,利用数据源自动更新 private void button1_Click(object sender, EventArgs e) /dataGridView1.DataSource = null; ds.Clear(); dataGridView1.Update(); string CommandString = select * from Score where Score.CourseNo= + textBox1.Text + ; try adapter = new OdbcD

10、ataAdapter(CommandString, odbcConnection); adapter.Fill(ds); dataGridView1.DataSource = ds.Tables0.DefaultView; odbcConnection.Close(); catch (OdbcException ex) MessageBox.Show(ex.Message); private void button2_Click(object sender, EventArgs e) OdbcCommandBuilder ocd = new OdbcCommandBuilder(adapter

11、); try adapter.Update(ds); catch (Exception ex) MessageBox.Show(ex.Message); this.Close(); return; MessageBox.Show(成功); this.Close(); 七、实验结果及分析登录界面:查询界面:增加界面:修改界面:删除界面:实验体会通过本次实验,我明白了数据库中的各种操作是怎么回事,这些操作有增加,修改和删除,基于这些操作,完成了学生信息管理系统。在用C#完成系统的过程中,重新回顾了高级程序设计语言编程的基本语法和思想,由此让我产生了许多学习的心得:在上理论课的时候,要把笔记做好,课

12、堂上的重点内容需要记录下来,尤其是关于技术方面的知识,这些知识的贯通需要通过应用来实现,在实验的实践过程中把理论知识用起来,达到活学活用的目的。在完成了本次实验之后,我对于SQL代码的掌握更熟练了,而且对于C#语法的认识更深刻,在做出体现面向对象的程序的能力上,有所进步。第二部分 实验二、实验三目 录实验二 表查询13一 实验要求13二 实验结果14实验三 对象的建立与数据更新操作17一 实验要求17二 实验结果19实验二 表查询一 实验要求根据给定的样例数据库pubs,完成以下查询操作。1、无条件查询 1) 查找pub库中authors表的全部信息。 2) 查找其他样例表中全部信息。 2、简

13、单条件查询 1) 查找titles表中全部书号及书名。 2) 查找titles 表中价格在$1518 元之间的书的书名。 3) 查找titles 表中书名以T 开头的书号, 书名。 4) 对其他样例表构造各种简单查询条件,进行查询。 3、多条件查询 1) 查找书名起始字符为T,价格小于$16元的书名及价格。 2) 查找书名起始字符不为T的, 价格大于$16元的书号, 书名及价格。 3) 对其他样例表构造多个查询条件,进行查询。 4、用连接操作(或嵌套查询)进行查询 1) 使用样例表titles, publishers 进行查询: 查找出版社的名称以及所出的书名。 2) 使用样例表authors

14、, titleauthor, titles进行查询: 查找作者的姓、名和所写的书名。 3) 对构造其他条件,在两个以上样例表中进行查询。 5、得到排序的查询结果 1)查找作者的姓、名、电话号码,并按作者姓、名排列。 2)查找书名和书的价格,按书价由大到小的次序排列。 3)对其他样例表构造查询条件、排序要求,给出查询结果。 6、使用函数进行查找 1)列出有多少类书。 2)列出书的定价有多少种。 3)列出书价最低的书名和书价。 4)查出书价最高的书名及书价。 5)列出当年销量的总和。 6)构造其他查询条件和统计要求,给出查询结果。二 实验结果select *from authorsselect *

15、from discountsselect *from salesselect *from titlesselect *from employeeselect *from jobsselect *from pub_infoselect *from publishersselect *from royschedselect *from storesselect *from titleauthorselect title_id,titlefrom titlesselect titlefrom titles where price15 and price18select title_id,titlef

16、rom titleswhere title like T%select title_id,title,pub_idfrom titleswhere pub_id1000select price,titlefrom titleswhere price16select title_id,title,pricefrom titleswhere title not like T% and price=16select pub_name,titlefrom titles,publisherswhere titles.pub_id=publishers.pub_idselect au_lname,au_f

17、name,titlefrom authors,titleauthor,titleswhere titles.title_id=titleauthor.title_id and titleauthor.au_id=authors.au_idselect city,titlefrom titles,publisherswhere titles.pub_id=publishers.pub_idselect au_fname,au_lname,phonefrom authorsorder by au_fname,au_lnameselect title,pricefrom titlesorder by

18、 price descselect title,pricefrom titlesorder by price ascselect COUNT(distinct type) as 书的种类from titlesselect COUNT(distinct price) as 定价种类from titlesselect title,pricefrom titleswhere price=(select min(price)from titles)select title,pricefrom titleswhere price=(select max(price)from titles)实验三 对象的

19、建立与数据更新操作一 实验要求1 创建和修改对象(1)创建表对象 按照下面的的结构与内容建两个关系。表名分别以S、T 开头,后面是建表人的学号(以下简记为T*、S* )。先用create table 命令建立表的初始结构,表T*的初始结构包括下面T*中前四个属性。然后再用alter table .add. 添加一个属性: QTY(库存量)。并插入相应的内容。T* Title author t_nopriceQTY计算机原理张一平S3092 20.80 200 C语言程序设计李华H1298 15.30 300 数据库原理王家树D1007 22.70 150 计算机网络高明S5690 18.90

20、230 Artificial intelligence P.Winston D2008 20.50 400 Expert systems R.Ullman H3067 17.00 370 软件工程鲁廷璋S2005 35.00 200 Fortran 程序设计顾学峰S5006 18.00 180 S* T_no Page pub-date S3092 304 1986 D1007 280 1993 S5006 315 1987 S5690 300 1993 H1298 210 1989 D2008 358 1994 S2005 298 1995 H3067 307 1995 (2)用alter

21、table.alter column.改变属性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, Digital

22、 Image Processing, 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)计算总共有多少本书

23、。 (5)对样例表,设计统计要求,获得各种统计量。 二 实验结果/* 1 */*(1)*/create database studentuse studentcreate table T631507020418(Title varchar(30),author varchar(15),t_no char(6),price numeric(6,2) )insert into T631507020418(Title,author,t_no,price)select 计算机原理,张一平,S3092,20.8union allselect C语言程序设计,李华,H1298,15.3union alls

24、elect 数据库原理,王家树,D1007,22.7union allselect 计算机网络,高明,S5690,18.9union allselect Artificial intelligence,P.Winston,D2008,20.5union allselect Expert systems,R.Ullman,H3067,17union allselect 软件工程,鲁廷璋,S2005,35union allselect Fortran程序设计,顾学峰,S5006,18alter table T631507020418add QTY intupdate T631507020418 s

25、et QTY=200 where t_no=S3092update T631507020418 set QTY=300 where t_no=H1298update T631507020418 set QTY=150 where t_no=D1007update T631507020418 set QTY=230 where t_no=S5690update T631507020418 set QTY=400 where t_no=D2008update T631507020418 set QTY=370 where t_no=H3067update T631507020418 set QTY

26、=200 where t_no=S2005update T631507020418 set QTY=180 where t_no=S5006create table S631507020418(T_no char(6),page int,pub_date date)insert into S631507020418select S3092,304,1986union allselect D1007,280,1993union allselect S5006,315,1987union allselect S5690,300,1993union allselect H1298,210,1989union allselect D2008,358,1994union allselect S2005,298,1995union allselect H3067,307,1995/*(2)*/alter table T631507020418alter column Title varchar(35)/*(3)*/select Title,price into ST631507020418 from T631507020418/*(4)*/create index IT6315

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论