数据库原理课程设计试验报告.docx
- 文档编号:23469796
- 上传时间:2023-05-17
- 格式:DOCX
- 页数:37
- 大小:216.04KB
数据库原理课程设计试验报告.docx
《数据库原理课程设计试验报告.docx》由会员分享,可在线阅读,更多相关《数据库原理课程设计试验报告.docx(37页珍藏版)》请在冰豆网上搜索。
数据库原理课程设计试验报告
科技学院
课程设计报告
(2013--2014年度第2学期)
名称:
数据库原理课程设计
院系:
班级:
学号:
学生姓名:
指导教师:
设计周数:
1
成绩:
《数据库原理》课程设计
任务书
一、目的与要求
1.这门课是为计算机科学与技术专业的学生在学习数据库原理后,为培养更好的解决问题和实际动手能力而设置的实践环节。
通过这个环节,使学生拥有能够应用数据库原理对数据库系统进行设计的能力。
为后继课程和毕业设计打下良好基础。
2.通过该实验,培养学生在建立数据库系统过程中使用关系数据理论的能力。
3.通过一个学生并不陌生的完整系统的设计,可以培养学生对需求分析、方案设计、系统编码、界面设计和软件调试等各方面的能力。
是一门综合考查学生数据库原理、面向对象设计方法、软件工程和信息系统分析与设计等涉及多课程的综合实验。
二、主要内容
信息管理系统的设计与实现是针对一个实际中小型系统(见题目附录)进行的数据库设计,它需要管理的内容有实体以及实体之间的联系。
1.首先要求完成需求的理解和实体的设计:
a)设计实体的属性和码,以及该实体的实体完整性、用户自定义的完整性。
b)设计实体的之间的联系,包括联系的类型和联系的属性,即设计实体参照完整性。
最后画出完整的E-R图。
2.根据设计好的E-R图及关系数据库理论知识设计数据库模式:
2.1将E-R图转换为关系模式。
2.2设计关系模式间的参照完整性。
2.3用SQL语言实现数据库模式的设计。
3.实现信息管理系统所需的各种操作:
3.1用SQL语言实现信息的录入、删除和修改。
3.2以视图的形式完成各类查询,包括单表、多表、单条件、多条件等。
4.权限的设计:
4.1授权操作;
4.2收回权限的操作。
5.界面的设计、加密的设计。
三、进度计划
序号
设计(实验)内容
完成时间
备注
1
根据任务书完成信息模型的设计,并将该信息模型在选用的DBMS中实现,并录入数据
1天
2
根据任务书完成各种数据操作,并以视图的形式保留SQL语句。
并开始界面的设计与编码
1天
3
使用可视化开发工具开发学生工作管理系统(C/S或者B/S模式)
1天
4
界面设计,权限设计和调试
1天
5
系统的完善与验收
1天
四、设计(实验)成果要求
1.在DBMS(如SQLServer,DB2等)上完成完整的数据库的设计;
2.使用可视化开发平台完成该系统,并要可以求正确的运行;
3.完成实验报告。
五、考核方式
1.在微机上检查数据库设计的模式的设计、完整性的设计等;
2.在微机上检查系统的运行结果,并请学生解释所使用的技术;
3.实验报告的检查。
六、题目附录
1.学生信息管理信息系统
2.学生成绩管理信息系统
3.图书管理信息系统
4.物资管理信息系统
5.汽车销售管理信息系统
6.超市管理信息系统
7.通讯录管理信息系统
8.工资管理信息系统
9.酒店管理信息系统
10.小区物业管理信息系统
学生姓名:
指导教师:
年月日
一、课程设计(综合实验)的目的与要求
1.这门课是为计算机科学与技术专业的学生在学习数据库原理后,为培养更好的解决问题和实际动手能力而设置的实践环节。
通过这个环节,使学生拥有能够应用数据库原理对数据库系统进行设计的能力。
为后继课程和毕业设计打下良好基础。
2.通过该实验,培养学生在建立数据库系统过程中使用关系数据理论的能力。
3.通过一个学生并不陌生的完整系统的设计,可以培养学生对需求分析、方案设计、系统编码、界面设计和软件调试等各方面的能力。
是一门综合考查学生数据库原理、面向对象设计方法、软件工程和信息系统分析与设计等涉及多课程的综合实验。
2、设计(实验)正文
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图
归还信息实体用于消除借阅学生信息,一个标准的归还信息实体E-R图
2.数据库关系模式设计
(一)书籍类别(种类编号,种类名称)
(二)借书学生(借书证编号,学生姓名,学生性别,学生性别,学生班级)
(三)书籍(书籍编号,书籍名称,书籍类别,书记作者,出版社名称)
(四)借阅(借书学生学号,书籍编号,学生借书时间)
(五)还书(借书学生学号,书籍编号,学生还书时间)
以上通过关系代数方法的进行运算得到所需要的结果,在实验结果中可以看到。
3.数据库操作建表
1.图书基本信息表
USElibrary
Createtablebook
2.管理员信息表
USElibrary
Createtablemanager
3.借阅学生信息表
USElibrary
Createtablestudent
4.借阅信息表
USElibrary
Createtableborrow
4.可视化界面功能
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
附录(设计流程图、程序、表格、数据等)
部分代码:
namespaceWindowsApplication1
{
publicpartialclassForm1:
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;
}
}
else
label3.Text="用户名或密码错误,请重新登陆";
}
privatevoidtextBox1_TextChanged(objectsender,EventArgse)
{
}
privatevoidForm2_Load(objectsender,EventArgse)
{
}
}
}
namespaceWindowsApplication1
{
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();
}
privatevoid
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 原理 课程设计 试验报告