数据库原理课程设计试验报告_第1页
数据库原理课程设计试验报告_第2页
数据库原理课程设计试验报告_第3页
数据库原理课程设计试验报告_第4页
数据库原理课程设计试验报告_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

科技学院课程设计报告(2013--2014年度第2学期)名称:数据库原理课程设计院系:班级:学号:学生姓名:指导教师:设计周数:1成绩:《数据库原理》课程设计任务书一、目的与要求这门课是为计算机科学与技术专业的学生在学习数据库原理后,为培养更好的解决问题和实际动手能力而设置的实践环节。通过这个环节,使学生拥有能够应用数据库原理对数据库系统进行设计的能力。为后继课程和毕业设计打下良好基础。通过该实验,培养学生在建立数据库系统过程中使用关系数据理论的能力。通过一个学生并不陌生的完整系统的设计,可以培养学生对需求分析、方案设计、系统编码、界面设计和软件调试等各方面的能力。是一门综合考查学生数据库原理、面向对象设计方法、软件工程和信息系统分析与设计等涉及多课程的综合实验。二、主要内容信息管理系统的设计与实现是针对一个实际中小型系统(见题目附录)进行的数据库设计,它需要管理的内容有实体以及实体之间的联系。首先要求完成需求的理解和实体的设计:设计实体的属性和码,以及该实体的实体完整性、用户自定义的完整性。设计实体的之间的联系,包括联系的类型和联系的属性,即设计实体参照完整性。最后画出完整的E-R图。根据设计好的E-R图及关系数据库理论知识设计数据库模式:2.1将E-R图转换为关系模式。2.2设计关系模式间的参照完整性。2.3用SQL语言实现数据库模式的设计。实现信息管理系统所需的各种操作:3.1用SQL语言实现信息的录入、删除和修改。3.2以视图的形式完成各类查询,包括单表、多表、单条件、多条件等。权限的设计:4.1授权操作;4.2收回权限的操作。界面的设计、加密的设计。进度计划序号设计(实验)内容完成时间备注1根据任务书完成信息模型的设计,并将该信息模型在选用的DBMS中实现,并录入数据1天2根据任务书完成各种数据操作,并以视图的形式保留SQL语句。并开始界面的设计与编码1天3使用可视化开发工具开发学生工作管理系统(C/S或者B/S模式)1天4界面设计,权限设计和调试1天5系统的完善与验收1天四、设计(实验)成果要求在DBMS(如SQLServer,DB2等)上完成完整的数据库的设计;使用可视化开发平台完成该系统,并要可以求正确的运行;完成实验报告。五、考核方式在微机上检查数据库设计的模式的设计、完整性的设计等;在微机上检查系统的运行结果,并请学生解释所使用的技术;实验报告的检查。六、题目附录学生信息管理信息系统学生成绩管理信息系统图书管理信息系统物资管理信息系统汽车销售管理信息系统超市管理信息系统通讯录管理信息系统工资管理信息系统酒店管理信息系统小区物业管理信息系统学生姓名:指导教师:年月日、课程设计(综合实验)的目的与要求这门课是为计算机科学与技术专业的学生在学习数据库原理后,为培养更好的解决问题和实际动手能力而设置的实践环节。通过这个环节,使学生拥有能够应用数据库原理对数据库系统进行设计的能力。为后继课程和毕业设计打下良好基础。通过该实验,培养学生在建立数据库系统过程中使用关系数据理论的能力。通过一个学生并不陌生的完整系统的设计,可以培养学生对需求分析、方案设计、系统编码、界面设计和软件调试等各方面的能力。是一门综合考查学生数据库原理、面向对象设计方法、软件工程和信息系统分析与设计等涉及多课程的综合实验。二、设计(实验)正文1.E-R图设计1.1图书信息实体图书信息表用于存放系统图书的信息,一个标准的图书信息实体E-R图1.2图书管理员信息实体图书管理员信息实体用于存放管理员的有效信息,一个标准的管理员信息实体E-R图

1.3借阅记录信息实体E-R图借阅记录信息实体用于记录借阅学生的具体信息,一个标准的借阅信息实体E-R图1.4学生信息实体E-R图学生信息实体用于学生登录借阅图书,一个标准的学生信息实体E-R图1.5归还信息实体E-R图2.数据库关系模式设计(一)书籍类别(种类编号,种类名称)(二)借书学生(借书证编号,学生姓名,学生性别,学生性别,学生班级)(三)书籍(书籍编号,书籍名称,书籍类别,书记作者,出版社名称)(四)借阅(借书学生学号,书籍编号,学生借书时间)(五)还书(借书学生学号,书籍编号,学生还书时间)以上通过关系代数方法的进行运算得到所需要的结果,在实验结果中可以看到。3.数据库操作建表1.图书基本信息表USElibraryCreatetablebook列名允许Null值Vbnovarchar(10)□bnamevarchar(40)□bauthorvarchar(10)□bpressvarchar(3O)□bamountint□□2.管理员信息表USElibraryCreatetablemanager列名允许Nullifvarchar(20]□mpasswordvarchar[20]□mnamevarchar(10]□mcallnovarchar(11)□3.借阅学生信息表USElibraryCreatetablestudent

列名允许Null值varchar(2O)□spasswordvarchar(2O)□snamevarchar(W)□sageint□ssexvarcharfysdassvarchar(^O)□□4.借阅信息表USElibraryCreatetableborrow►snovanchar(20)obnavanchar(20)btvanchan(20)IBbbtvanchar(30)n列名数据类型允许Null值可视化界面功能4.1选择登录页面学生用户点击学生按钮,管理员用户点击管理员

4.2管理员登录界面管理员需要正确输入用户名和密码才能登陆,否则会提示“用户名或密码错误,请重新登陆”4.3管理员可进行的操作的界面管理员可以进行添加书、学生还书、旧书清理操作

4.4管理员添加书时的界面管理员需要输入书号、书名、作者、出版社、数量才能成功添加书籍,从而记录到数据库4.5管理员对归还的书的操作界面管理员需输入书号和借书人号才能把书归还4.6管理员清除书的界面管理员只需输入书号就可清理相应的书籍4.7学生登录界面学生需要输入正确的用户名和密码,才可登陆,否则会提示“用户名或密码错误,请重新登陆”陆”4.8学生登录后可选择的操作的界面学生可进行查询和借阅操作4.9学生查询图书信息界面学生可以输入书名或作者任一一项,点击查询,就可看到相关书籍信息,也可点击借阅,跳转到借阅界面4.10借阅图书界面借书人需要输入书号和借阅人号,点击借阅,如果成功会提示“借阅成功”三、课程设计(综合实验)总结或结论通过此次数据库的课程设计,是我们学以致用,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对灵据库设计理念及思想上有更高的认识,从需求分析,到概念设计和逻辑设计,E-R图的表示,数据字典的创建,懂得了不少有关数据库开发过程中的知识,在实验中建表,及其关系模式,关系代数的建立及理解,将SQL语的查询语句用得淋漓尽致,增强了自己在数据库中应用SQL语言的灵活性,其中包括,插入、删除、修改、查询,牵涉表和表之间的联系,主建与外主键的定义,约束项的设置,使逻辑更严密。界面的实现结合VS是我在学习中产生了跟做兴趣在学习过程中,我也能过上网查了不少资料,也看了一些别人设计的图书馆管理信息系统的设计报告,学以致用,自我创新,独立完成了这份自己的报告,从中在学到用,从用又到学,不断修改,系统更新。虽然不能达到完善系统,但也做到了尽善尽美,加强理论学习对完善系统会有很多帮助,不管怎么说,对这次做的课程设计自己觉得还算满意。四、参考文献[1]王珊,《数据库系统概论》.高等教育出版社,第四版.2007-11-01附录(设计流程图、程序、表格、数据等)部分代码:namespaceWindowsApplicationl{publicpartialclassForml:Form{publicForm1(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){using(Form2form2=newForm2()){this.Opacity=0;form2.ShowDialog();this.Opacity=100;}}privatevoidbutton2_Click(objectsender,EventArgse){using(Form7form7=newForm7())this.Opacity=0;form7.ShowDialog();this.Opacity=100;}}privatevoidForm1_Load(objectsender,EventArgse){}}}usingSystem;namespaceWindowsApplication1{publicpartialclassForm2:Form{publicForm2(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){stringstrcon="DataSource=(local);InitialCatalog=library;IntegratedSecurity=True”;stringsno=textBox1.Text.ToString();stringspassword=textBox2.Text.ToString();SqlConnectionconn=newSqlConnection(strcon);conn.Open();SqlCommandcmd=newSqlCommand("select*fromstudentwheresno=@snoandspassword=@spassword”,conn);cmd.Parameters.Add(newSqlParameter("sno",sno));//连接字符串cmd.Parameters.Add(newSqlParameter("spassword",spassword));//连接字符串SqlDataReaderdr=cmd.ExecuteReader();if(dr.Read()){using(Form3form3=newForm3()){this.Opacity=0;form3.ShowDialog();this.Opacity=100;}}elselabel3.Text=”用户名或密码错误,请重新登陆";}privatevoidtextBox1_TextChanged(objectsender,EventArgse){}privatevoidForm2_Load(objectsender,EventArgse){}}namespaceWindowsApplicationl{publicpartialclassForm3:Form{publicForm3(){InitializeComponent();}privatevoidquerry_Click(objectsender,EventArgse){using(Form8form8=newForm8()){this.Opacity=0;form8.ShowDialog();this.Opacity=100;}}privatevoidborrow_Click(objectsender,EventArgse){using(Form9借阅=newForm9()){this.Opacity=0;借阅.ShowDialog();this.Opacity=100;}}privatevoidForm3_Load(objectsender,EventArgse){}}}publicpartialclassForm4:Form{publicForm4(){InitializeComponent();}privatevoidbutton2_Click(objectsender,EventArgse){using(Form6form6=newForm6()){this.Opacity=0;form6.ShowDialog();this.Opacity=100;}}privatevoidbutton1_Click(objectsender,EventArgse){using(Form5form5=newForm5()){this.Opacity=0;form5.ShowDialog();this.Opacity=100;privatevoidbutton2_Click_1(objectsender,EventArgse){using(Form6form6=newForm6()){this.Opacity=0;form6.ShowDialog();this.Opacity=100;}}privatevoidbutton3_Click(objectsender,EventArgse){using(Form10清理书籍=newForm10()){this.Opacity=0;清理书籍.ShowDialog();this.Opacity=100;}}privatevoidForm4_Load(objectsender,EventArgse){}}}publicpartialclassForm5:Form{publicForm5(){InitializeComponent();}privatevoidtextBox1_TextChanged(objectsender,EventArgse){}privatevoidbutton1_Click(objectsender,EventArgse){stringstrconn="DataSource=(local);InitialCatalog=library;IntegratedSecurity=True";//stringstrsql="updatestudentsetsname=@sname,sage=@sage,ssex=@ssex,sclass=@sclasswheresno=@sno";stringstrsql="insertintobookvalues(@bno,@bname,@bauthor,@bpress,@bamount)”;SqlParametersp1=newSqlParameter("@bno",textBox1.Text.Trim());SqlParametersp2=newSqlParameter("@bname",textBox2.Text.Trim());//trim去空格SqlParametersp3=newSqlParameter("@bauthor",textBox3.Text.Trim());//trim去空格SqlParametersp4=newSqlParameter("@bpress",textBox4.Text.Trim());//trim去空格SqlParametersp5=newSqlParameter("@bamount",textBox5.Text.Trim());//trim去空格using(SqlConnectionconn4=newSqlConnection(strconn)){conn4.Open();using(SqlCommandcmd4=newSqlCommand(strsql,conn4)){cmd4.Parameters.Add(sp1);cmd4.Parameters.Add(sp2);cmd4.Parameters.Add(sp3);cmd4.Parameters.Add(sp4);cmd4.Parameters.Add(sp5);if(cmd4.ExecuteNonQuery()>0)//影响的行数{MessageBox.Show("ok");}}}}privatevoidForm5_Load(objectsender,EventArgse){}}}publicpartialclassForm6:Form{publicForm6(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){—stringstrconn="DataSource=(local);InitialCatalog=library;IntegratedSecurity=True”;//stringstrsql1="insertintoborrowvalues(@sno,@bno,@bt,@bbt)”;stringstrsql1="deletefromborrowwherebno=@bnoandsno=@sno";SqlParametersp1=newSqlParameter("@bno",textBox1.Text.Trim());//trim去空格SqlParametersp2=newSqlParameter("@sno",textBox2.Text.Trim());//trim去空格//SqlParametersp3=newSqlParameter("@bt”,30);//trim去空格//SqlParametersp4=newSqlParameter("@bbt”,DateTime.Now.ToString());//trim去空格//SqlParametersp6=newSqlParameter("@bno”,textBox1.Text.Trim());using(SqlConnectionconn4=newSqlConnection(strconn)){conn4.Open();using(SqlCommandcmd4=newSqlCommand(strsql1,conn4)){cmd4.Parameters.Add(sp1);cmd4.Parameters.Add(sp2);//cmd4.Parameters.Add(sp3);//cmd4.Parameters.Add(sp4);stringstrsql2="selectbamountfrombookwherebno=@bno";SqlParametersp5=newSqlParameter("@bno",textBox1.Text.Trim());using(SqlConnectionconn5=newSqlConnection(strconn)){conn5.Open();using(SqlCommandcmd5=newSqlCommand(strsql2,conn5)){cmd5.Parameters.Add(sp5);using(SqlDataReaderdr=cmd5.ExecuteReader()){if(dr.Read()){stringstrsql3="updatebooksetbamount=@bamountwherebno=@bno";inta=Int32.Parse(dr["bamount"].ToString());SqlParametersp6=newSqlParameter("@bamount",a+1);SqlParametersp7=newSqlParameter("@bno",textBox1.Text.Trim());using(SqlConnectionconn6=newSqlConnection(strconn)){conn6.Open();using(SqlCommandcmd6=newSqlCommand(strsql3,conn6)){cmd6.Parameters.Add(sp6);cmd6.Parameters.Add(sp7);if(cmd4.ExecuteNonQuery()>0&&cmd6.ExecuteNonQuery()>0)//影响的行数{MessageBox.Show("归还成功");}}}}}}}}}}privatevoidForm6_Load(objectsender,EventArgse){}}}publicpartialclassForm7:Form{stringstrconn="DataSource=(local);InitialCatalog=library;IntegratedSecurity=True”;publicForm7(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){stringstrconn="DataSource=(local);InitialCatalog=library;IntegratedSecurity=True";stringmno=textBox1.Text.ToString();stringmpassword=textBox2.Text.ToString();SqlConnectionconn=newSqlConnection(strconn);conn.Open();SqlCommandcmd=newSqlCommand("select*frommanagerwheremno=@mnoandmpassword=@mpassword”,conn);cmd.Parameters.Add(newSqlParameter("mno",mno));//连接字符串cmd.Parameters.Add(newSqlParameter("mpassword",mpassword));//连接字符串SqlDataReaderdr=cmd.ExecuteReader();if(dr.Read()){using(Form4form4=newForm4()){this.Opacity=0;form4.ShowDialog();this.Opacity=100;}}elselabel4.Text=''用户名或密码错误,请重新登陆”;}privatevoidForm7_Load(objectsender,EventArgse){}}}publicpartialclassForm8:Form{publicForm8(){InitializeComponent();}privatevoidForm8_Load(objectsender,EventArgse){—}privatevoidbutton1_Click(objectsender,EventArgse){stringstrconn="DataSource=(local);InitialCatalog=library;IntegratedSecurity=True”;stringBname=textBoxl.Text;stringBauthor=textBox2.Text;//stringstrsql="select*fromstudentwhereBname=@name";//@name参数//stringstrsql="select*fromstudentwhere1=1";//if(!string.IsNullOrEmpty(Bname))//{strsql=strsql+"andBname=@name"}stringStrSql="select*frombookwhere1=1";DataTabledt=newDataTable();using(SqlConnectioncon=newSqlConnection(strconn)){con.Open();SqlCommandcmd=newSqlCommand();using(cmd){/*if(!string.IsNullOrEmpty(Bname)){,,,,StrSql+="andBname=@Bname";SqlParameterSpBname=newSqlParameter("@Bname”,Bname);cmd.Parameters.Add(SpBname);}if(!string.IsNullOrEmpty(Bauthor)){StrSql+="andBauthor=@Bauthor";SqlParameterSpBauthor=newSqlParameter("@Bauthor”,Bauthor);cmd.Parameters.Add(SpBauthor);}*/if(!string.IsNullOrEmpty(Bname)&&string.IsNullOrEmpty(Bauthor)){StrSql+="andbname=@bname";SqlParameterSpBname=newSqlParameter("@bname",Bname);cmd.Parameters.Add(SpBname);}elseif(!string.IsNullOrEmpty(Bauthor)&&string.IsNullOrEmpty(Bname)){StrSql+="andbauthor=@bauthor”;SqlParameterSpBauthor=newSqlParameter("@bauthor”,Bauthor);cmd.Parameters.Add(SpBauthor);}elseif(!string.IsNullOrEmpty(Bauthor)&&!string.IsNullOrEmpty(Bname)){StrSql+="andbname=@bname”;SqlParameterSpBname=newSqlParameter("@bname",Bname);cmd.Parameters.Add(SpBname);StrSql+="andbauthor=@bauthor”;SqlParameterSpBauthor=newSqlParameter("@bauthor",Bauthor);cmd.Parameters.Add(SpBauthor);}else{dataGridView1.DataSource='无';}cmd.CommandText=StrSql;cmd.Connection=con;using(SqlDataAdaptersda=newSqlDataAdapter(cmd)){sda.Fill(dt);}}}dataGridView1.DataSource=dt;}privatevoidbutton2_Click(objectsender,EventArgse){using(Form9借阅=newForm9()){this.Opacity=0;借阅.ShowDialog();this.Opacity=100;}}privatevoiddataGridView1_CellContentClick(objectsender,DataGridViewCellEventArgse){}}}publicpartialclassForm9:Form{publicForm9(){InitializeComponent();}privatevoidForm9_Load(objectsender,EventArgse){}privatevoidbutton1_Click(objectsender,EventArgse){stringstrconn="DataSource=(local);InitialCatalog=library;IntegratedSecurity=True";stringstrsql1="insertintoborrowvalues(@sno,@bno,@bt,@bbt)”;SqlParametersp1=newSqlParameter("@bno",textBox1.Text.Trim());//trim去空格SqlParametersp2=newSqlParameter("@sno",textBox2.Text.Trim());//trim去空格SqlParametersp3=newSqlParameter("@bt",30);//trim去空格SqlParametersp4=newSqlParameter("@bbt",DateTime.Now.ToString());//trim去空格//SqlParametersp6=newSqlParameter("@bno”,textBox1.Text.Trim());using(SqlConnectionconn4=newSqlConnection(strconn)){conn4.Open();using(SqlCommandcmd4=newSqlCommand(strsql1,conn4)){cmd4.Parameters.Add(sp1);cmd4.Parameters.Add(sp2);cmd4.Parameters.Add(sp3);cmd4.Parameters.Add(sp4);stringstrsql2="selectbamountfrombookwherebno=@bno”;SqlParametersp5=newSqlParameter("@bno",textBox1.Text.Trim());using(SqlConnectionconn5=newSqlConnection(strconn)){conn5.Open();using(SqlCommandcmd5=newSqlCommand(strsql2,conn5)){cmd5.Parameters.Add(sp5);using(SqlDataReaderdr=cmd5.ExecuteReader()){if(dr.Read()){stringstrsql3="updatebooksetbamount=@bamountwherebno=@bno";inta=Int32.Parse(dr["bamount"].ToString());SqlParametersp6=newSqlParameter("@bamount",a-1);SqlParametersp7=newSqlParameter("@bno",textBox1.Text.Trim());using(SqlConnectionconn6=newSqlConnection(strconn)){conn6.Open();using(SqlCommandcmd6=newSqlCommand(strsql3,conn6)){cmd6.Parameters.Add(sp6);cmd6.Parameters.Add(sp7

温馨提示

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

评论

0/150

提交评论