数据库图书馆管理系统课程设计报告.docx

上传人:b****0 文档编号:9656245 上传时间:2023-05-20 格式:DOCX 页数:33 大小:398.23KB
下载 相关 举报
数据库图书馆管理系统课程设计报告.docx_第1页
第1页 / 共33页
数据库图书馆管理系统课程设计报告.docx_第2页
第2页 / 共33页
数据库图书馆管理系统课程设计报告.docx_第3页
第3页 / 共33页
数据库图书馆管理系统课程设计报告.docx_第4页
第4页 / 共33页
数据库图书馆管理系统课程设计报告.docx_第5页
第5页 / 共33页
数据库图书馆管理系统课程设计报告.docx_第6页
第6页 / 共33页
数据库图书馆管理系统课程设计报告.docx_第7页
第7页 / 共33页
数据库图书馆管理系统课程设计报告.docx_第8页
第8页 / 共33页
数据库图书馆管理系统课程设计报告.docx_第9页
第9页 / 共33页
数据库图书馆管理系统课程设计报告.docx_第10页
第10页 / 共33页
数据库图书馆管理系统课程设计报告.docx_第11页
第11页 / 共33页
数据库图书馆管理系统课程设计报告.docx_第12页
第12页 / 共33页
数据库图书馆管理系统课程设计报告.docx_第13页
第13页 / 共33页
数据库图书馆管理系统课程设计报告.docx_第14页
第14页 / 共33页
数据库图书馆管理系统课程设计报告.docx_第15页
第15页 / 共33页
数据库图书馆管理系统课程设计报告.docx_第16页
第16页 / 共33页
数据库图书馆管理系统课程设计报告.docx_第17页
第17页 / 共33页
数据库图书馆管理系统课程设计报告.docx_第18页
第18页 / 共33页
数据库图书馆管理系统课程设计报告.docx_第19页
第19页 / 共33页
数据库图书馆管理系统课程设计报告.docx_第20页
第20页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数据库图书馆管理系统课程设计报告.docx

《数据库图书馆管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《数据库图书馆管理系统课程设计报告.docx(33页珍藏版)》请在冰点文库上搜索。

数据库图书馆管理系统课程设计报告.docx

数据库图书馆管理系统课程设计报告

 

课程设计报告

(2011--2012年度第2学期)

 

名称:

数据库原理课程设计

题目:

图书管理信息系统

院系:

计算机系

班级:

学号:

学生姓名:

指导教师:

阎蕾

设计周数:

1周

成绩:

日期:

2012年7月4日

《数据库原理课程设计》课程设计

任务书

一、目的与要求

1.本实验是为网络工程、信息安全等专业的学生在学习数据库原理后,为培养更好的解决问题和实际动手能力而设置的实践环节。

通过这个环节,使学生具备应用数据库原理对数据库系统进行设计的能力。

为后继课程和毕业设计打下良好基础。

2.通过该实验,培养学生在建立数据库系统过程中使用关系数据理论的能力。

3.通过对一个数据库系统的设计,培养学生对数据库需求分析、数据库方案设计、系统编码、界面设计和软件调试等各方面的能力。

是一门考查学生数据库原理、面向对象设计方法、软件工程和信息系统分析与设计等课程的综合实验。

二、主要内容

针对一个具有实际应用场景的中小型系统(见题目附录)进行数据库设计,重点分析系统涉及的实体、实体之间的联系,实现增加、删除、更新、查询数据记录等基本操作。

大致分为如下步骤:

1.理解系统的数据库需求,分析实体及实体间联系,画出E-R图:

1.分析确定实体的属性和码,完成对该实体的实体完整性、用户自定义完整性的定义。

2.设计实体之间的联系,包括联系类型和联系的属性。

最后画出完整的E-R图。

2.根据设计好的E-R图及关系数据库理论知识设计数据库模式:

1)把E-R图转换为逻辑模式;

2)规范化设计。

使用关系范式理论证明所设计的关系至少属于3NF并写出证明过程;如果不属于3NF则进行模式分解,直到该关系满足3NF为止,要求写出分解过程。

3)设计关系模式间的参照完整性,要求实现级联删除和级联更新。

4)用SQL语言完成数据库内模式的设计。

3.数据库权限的设计:

1)根据系统分析,完成授权操作;

2)了解学习收回权限的操作。

4.完成用户界面的设计,对重要数据进行加密。

5.连接数据库,用宿主语言实现系统所需的各种操作:

1)实现数据记录的录入、删除、查询和修改。

2)以视图的形式完成复杂查询,比如多表、多条件等。

三、进度计划

序号

设计(实验)内容

完成时间

备注

1

根据任务书完成信息模型(概念模型、逻辑模型、完整性、规范化)的设计,并基于选用的DBMS实现该信息模型,然后录入初始数据

2

根据任务书完成各种数据定义和数据操作,并保留所有SQL语句。

3

数据库权限设计,用户界面设计

4

用可视化开发工具环境开发学生选定的信息系统(C/S或者B/S模式)

5

系统的完善与验收

四、设计(实验)成果要求

1.在DBMS(如oracle,SQLServer2005/2008,DB2等)上完成完整的数据库的设计;

2.使用可视化开发平台完成信息系统,要求可以正确运行;

3.完成实验报告。

五、考核方式

1.在微机上检查数据库模式的设计、三大完整性的设计、关系属于几范式等;

2.在微机上检查系统的运行结果,要求学生阐述使用的相关技术;

3.实验报告的检查。

六、题目附录

1.学生信息管理信息系统

2.学生成绩管理信息系统

3.图书管理信息系统

4.物资管理信息系统

5.汽车销售管理信息系统

6.超市管理信息系统

7.通讯录管理信息系统

8.工资管理信息系统

9.酒店管理信息系统

10.小区物业管理信息系统

学生姓名:

指导教师:

年月日

 

一、课程设计的目的与要求

1.本实验是为网络工程、信息安全等专业的学生在学习数据库原理后,为培养更好的解决问题和实际动手能力而设置的实践环节。

通过这个环节,使学生具备应用数据库原理对数据库系统进行设计的能力。

为后继课程和毕业设计打下良好基础。

2.通过该实验,培养学生在建立数据库系统过程中使用关系数据理论的能力。

3.通过对一个数据库系统的设计,培养学生对数据库需求分析、数据库方案设计、系统编码、界面设计和软件调试等各方面的能力。

是一门考查学生数据库原理、面向对象设计方法、软件工程和信息系统分析与设计等课程的综合实验。

二、设计正文

1.需求分析

1.1图书管理信息系统就是实现图书的管理

1.2可分为三种用户:

管理员,其权限最大,有增删图书信息,更改图书种类,增加图书,修改普通用户信息;普通用户,对图书进行查阅,借书和还书。

2.系统功能设计,可以用模块结构图、功能结构图来描述。

功能结构图:

 

3.数据库概念设计(含ER图)

1NM1

111

 

1N1

 

4.数据库逻辑设计

4.1图书管理员表:

admin:

普通用户表:

Reader:

借阅图书信息用户表:

IssueBook:

图书表:

Book:

图书所属大类表:

SmallClassOfBook:

图书所属小类表:

BigClassOfBook:

4.2数据库关系图:

5.系统编码与实现。

主要功能截图和部分核心代码:

5.1登录界面:

部分代码:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Drawing;

usingSystem.Text;

usingSystem.Windows.Forms;

namespaceBookManagementSystem

{

publicpartialclassfrmLogin:

Form

{

privateBooleanIsPass;

privateintcount=0;

publicfrmLogin()

{

InitializeComponent();

}

privatevoidfrmLogin_FormClosing(objectsender,FormClosingEventArgse)

{

Program.DataOperator.CloseConnection();

Environment.Exit

(1);

}

privatevoidBtnLogin_Click(objectsender,EventArgse)

{

if(account.Text.Equals(""))

{

MessageBox.Show("帐号不能为空");

return;

}

if(checkBox.Checked)

{

Program.IsAdministrator=true;

IsPass=Program.DataOperator.CheckAdmin(account.Text,password.Text);

if(IsPass)

{

Program.CurrentAccount=account.Text;

this.Dispose();

}

}

else

{

Program.IsAdministrator=false;

IsPass=Program.DataOperator.CheckUser(account.Text,password.Text);

if(IsPass)

{

Program.CurrentAccount=account.Text;

this.Dispose();

}

}

MessageBox.Show("帐号或密码错误");

count++;

if(count==5)

{

MessageBox.Show("错误登录次数太多!

","错误",MessageBoxButtons.OK,MessageBoxIcon.Error);

Program.DataOperator.CloseConnection();

Environment.Exit

(1);

}

return;

}

privatevoidname_KeyPress(objectsender,KeyPressEventArgse)

{

BtnLogin.Enabled=true;

}

privatevoidBtnExit_Click(objectsender,EventArgse)

{

Program.DataOperator.CloseConnection();

Environment.Exit

(1);

}

privatevoidfrmLogin_Load(objectsender,EventArgse)

{

account.Focus();

}

}

}

5.2图书查询:

部分代码如下:

privatevoidBookManagementSystem_Load(objectsender,EventArgse)

{

this.Activate();

listView1.Select();

ClassOfBook=Program.DataOperator.GetBigClassOfBook();

IssueBook.Add("借书");

IssueBook.Add("还书");

IssueBook.Add("所有借还记录");

BookManage.Add("书籍管理");

BookManage.Add("人员管理");

BookManage.Add("书籍类别管理");

SetBtn1();

}

privatevoidSetBtn1()

{

currbtn="btn1";

listView1.Select();

listView1.Dock=DockStyle.None;

button1.Dock=DockStyle.Top;

button2.Dock=DockStyle.Bottom;

button3.SendToBack();

button3.Dock=DockStyle.Bottom;

listView1.BringToFront();

listView1.Dock=DockStyle.Bottom;

listView1.Dock=DockStyle.Fill;

listView1.Clear();

listView1.Items.Add("","所有书籍",0);

AddItemTolistView(0,ClassOfBook);

}

5.3借书界面:

借书部分代码:

publicfrmIssueBook(stringno,stringname,stringCountOfBook,stringtxt)

{

this.b=true;

InitializeComponent();

this.BookNo.Text=no;

this.BookName.Text=name;

this.CountOfBook.Text=CountOfBook;

this.synopsis.Text=txt;

}

privatevoidfrmIssueBook_Load(objectsender,EventArgse)

{

NoOfPersonal.Text=Program.CurrentAccount;

BookNo.ReadOnly=b;

BookName.ReadOnly=b;

button3.Enabled=!

b;

//MessageBox.Show(IssueOfDate.Text);

this.AcceptButton=button1;

}

privatevoidbutton1_Click(objectsender,EventArgse)

{

string[]sdata=newstring[4];

sdata[0]=BookNo.Text;

sdata[1]=NoOfPersonal.Text;

sdata[2]=NameOfPersonal.Text;

sdata[3]=IssueOfDate.Text;

if(sdata[0]==""||sdata[1]==""||sdata[2]==""||sdata[3]=="")

{

MessageBox.Show("资料不完整!

");

return;

}

//MessageBox.Show(sdata[0]+""+sdata[1]+""+sdata[2]+""+sdata[3]);

switch(Program.DataOperator.IssueBook(sdata))

{

case1:

MessageBox.Show("你已借了这本书!

");

break;

case2:

MessageBox.Show("借书成功!

");

this.Close();

break;

case3:

MessageBox.Show("失败!

");

this.Close();

break;

}

}

5.4借书提示信息:

5.5管理员界面:

管理员进行书籍,人员管理

部分代码如下:

privatevoidbookBindingNavigatorSaveItem_Click(objectsender,EventArgse)

{

if(MessageBox.Show("确定要保存吗?

","保存确定",MessageBoxButtons.YesNo,MessageBoxIcon.Question)==DialogResult.No)

return;

this.Validate();

this.bookBindingSource.EndEdit();

this.bookTableAdapter.Update(this.mydata2DataSet.Book);

}

privatevoidfrmBookManager_Load(objectsender,EventArgse)

{

//TODO:

这行代码将数据加载到表“mydata2DataSet.Book”中。

您可以根据需要移动或移除它。

this.bookTableAdapter.Fill(this.mydata2DataSet.Book);

图片PictureBox.SizeMode=PictureBoxSizeMode.StretchImage;

}

privatevoidInImage_Click(objectsender,EventArgse)

{

if(openFileDialog.ShowDialog()==DialogResult.OK)

{

图片PictureBox.Image=Program.DataProcessor.GetImageFromFilePath(openFileDialog.FileName);

}

}

privatevoidGetBookClass_Click(objectsender,EventArgse)

{

大类ComboBox.Items.Clear();

foreach(stringsdatainpBigClassOfBook)

{

大类ComboBox.Items.Add(sdata);

}

}

privatevoid大类ComboBox_SelectedIndexChanged(objectsender,EventArgse)

{

ArrayListSmallClassOfBook=Program.DataOperator.GetSmallClassOfBook(大类ComboBox.Text);

小类ComboBox.Items.Clear();

foreach(stringsdatainSmallClassOfBook)

小类ComboBox.Items.Add(sdata);

}

privatevoidSerchBox_Click(objectsender,EventArgse)

{

try

{

string[]SerchData=newstring[3];

for(inti=0;i

SerchData[i]="%";

if(SerchBoxNo.Text!

="")

SerchData[0]=SerchBoxNo.Text;

if(SerchBoxName.Text!

="")

SerchData[1]=SerchBoxName.Text;

stringCmdString="SELECT书籍编号,书名,作者,,现有数量,小类,大类,内容简介,入库时间,图片FROMdbo.Book"

+"where书籍编号like'"+SerchData[0]+"'"+"and书名like'%"+SerchData[1]+"%'";

//MessageBox.Show(CmdString);

Program.SerchCmd[1].CommandText=CmdString;

try

{

this.bookTableAdapter.FillBy(this.mydata2DataSet.Book);

}

catch(System.Exceptionex)

{

System.Windows.Forms.MessageBox.Show(ex.Message);

}

}

catch(Exceptionex)

{

//MessageBox.Show(ex.Message);

}

}

5.6管理员观察看借还信息:

部分代码如下:

privatevoidissueBookBindingNavigatorSaveItem_Click(objectsender,EventArgse)

{

if(MessageBox.Show("确定要保存吗?

","保存确定",MessageBoxButtons.YesNo,MessageBoxIcon.Question)==DialogResult.No)

return;

this.Validate();

this.issueBookBindingSource.EndEdit();

this.issueBookTableAdapter.Update(this.mydata2DataSet.IssueBook);

}

privatevoidfrmIssueReturnManager_Load(objectsender,EventArgse)

{

//TODO:

这行代码将数据加载到表“mydata2DataSet.IssueBook”中。

您可以根据需要移动或移除它。

this.issueBookTableAdapter.Fill(this.mydata2DataSet.IssueBook);

}

5.7本实验中将所有的数据库查询,更新,删除等操作设置成方法,组合在一个类中。

代码如下:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Text;

usingSystem.Data;

usingSystem.Data.SqlClient;

usingSystem.Windows.Forms;

usingSystem.Collections;

usingSystem.IO;

usingSystem.Drawing;

namespaceBookManagementSystem

{

publicclassDataOperation

{

SqlConnectionsqlconn;

SqlCommandcmd;

SqlParameterpara;

publicDataOperation()

{

try

{

sqlconn=newSqlConnection("DataSource=LENOVO-PC;InitialCatalog=MYDATA2;PersistSecurityInfo=True;UserID=sa;Password=123456123");

sqlconn.Open();

cmd=sqlconn.CreateCommand();

}

catch(Exceptionex)

{

MessageBox.Show(ex.Message);

}

}

publicvoidCloseConnection()

{

sqlconn.Close();

}

publicBooleanCheckAdmin(stringaccount,stringpassword)

{

cmd.CommandText="select*fromadminwhereaccount='"+account+"'andpassword='"+password+"'";

SqlDataReaderthisReader=cmd.ExecuteReader();

if(thisReader.Read())

{

thisReader.Close();

returntrue;

}

else

{

thisReader.Close();

returnfalse;

}

}

publicDataSetGetAllBookData()

{

SqlDataAdapterthisAdapter=newSqlDataAdapter("Select*fromBook",sqlconn);

DataSetthisDataSet=newDataSet();

thisAdapter.Fill(thisDataSet,"Book");

returnthisDataSet;

//thisAdapter.Fill(thisDataSet,"Boo

}

publicArrayListGetBigClassOfBook()

{

cmd.CommandText="select*fromBigClassOfBook";

SqlDataReaderth

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2