您好,欢迎来到99网。
搜索
您的当前位置:首页图书管理系统数据库实验报告

图书管理系统数据库实验报告

来源:99网


图书管理系统数据库实验报告

科技学院

课程设计报告

(2013--20__年度第2学期)

名称:数据库原理课程设计院系:

班级:学号:学生姓名:指导教师:郭设计周数:1

日期:20__年5月29

《数据库原理》课程设计

一、目的与要求

1.这门课是为计算机科学与技术专业的学生在学习数据库原理后,为培养更好的解决

问题和实际动手能力而设置的实践环节。通过这个环节,使学生拥有能够应用数据库原理对数据库系统进行设计的能力。为后继课程和毕业设计打下良好基础。

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

3.通过一个学生并不陌生的完整系统的设计,可以培养学生对需求分析、方案设计、

系统编码、界面设计和软件调试等各方面的能力。是一门综合考查学生数据库原理、面向对象设计方法、软件工程和信息系统分析与设计等涉及多课程的综合实验。

二、主要内容

信息管理系统的设计与实现是针对一个实际中小型系统(见题目附录)进行的数据库设计,它需要管理的内容有实体以及实体之间的联系。

1.首先要求完成需求的理解和实体的设计:

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(如SQLServer,DB2等)上完成完整的数据库的设计;2.使用可视化开发平台完成该系统,并要可以求正确的运行;3.完成实验报告。

五、考核方式

1.在微机上检查数据库设计的模式的设计、完整性的设计等;2.在微机上检查系统的运行结果,并请学生解释所使用的技术;3.实验报告的检查。

六、题目附录

1.学生信息管理信息系统2.学生成绩管理信息系统3.图书管理信息系统4.物资管理信息系统5.汽车销售管理信息系统6.超市管理信息系统7.通讯录管理信息系统8.工资管理信息系统9.酒店管理信息系统10.小区物业管理信息系统

学生姓名:指导教师:郭

20__年5月29日

一、实验题目:图书管理信息系统二、实验目的与要求

1.培养更好的解决问题和实际动手能力。通过这个环节,使学生具备应用数据库原理对数据库系统进行设计的能力。为后继课程和毕业设计打下良好基础。

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

3.通过对一个数据库系统的设计,培养学生对数据库需求分析、数据库方案设计、系统编码、界面设计和软件调试等各方面的能力。是一门考查学生数据库原理、面向对象设计方法、软件工程和信息系统分析与设计等课程的综合实验。三、实验原理

系统所使用的原理有概念模型、三层模式、关系表理论、范式理论等。四、实验所需仪器、设备

计算机、MicrosoftSQLServer2008、MicrosoftVisualStudio2008。五、实验内容

针对一个图书管理信息系统进行数据库设计,分析系统涉及的实体、实体之间的联系,实现增加、删除、更新、查询数据记录等基本操作。

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

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

2)设计实体之间的联系,包括联系类型和联系的属性。最后画出完整的E-R图。

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

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

将上述E_R图转换成二维表(设计字段,确定字段的取值范围,字段名字,主键,字段的长度,确定自定义完整性,确定参照完整性)。

读者信息表图书信息表

管理员信息表

2)规范化设计。

读者基本信息表、管理员信息表、图书信息表中均不含部分函数依赖和传递函数依赖,故此关系为3NF。

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

3.完成用户界面的设计,连接数据库,用C语言实现系统所需的各种操作:实现数据记录的插入、删除、查询和修改;以视图的形式完成复杂查询,比如多表、多条件等。

4.使用MicrosoftVisual2008的窗体进行前台界面操作

1)登录界面

登录界面代码:

usingSystem;

XXX.Generic;

XXX;

XXX;

XXX;

XXX;

XXX.Forms;

XXX.SqlClient;

namespaceLibraryManagement

publicpartialclassForm1:Form

publicstaticstringrname;

publicForm1()

InitializeComponent();

privatevoidbutton1_Click(objectsender,EventArgse)

if(XXXXXX()==""XXX.Te_t=="")

XXX("请输入您的用户名和密码!","提示!");

return;

stringlevel=XXX.ToString();

SqlConnectionconn=newSqlConnection();

XXX"DataSource=localhost;Initial

Catalog=libraryMS;IntegratedSecurity=True";

XXX();

SqlCommandcomm=newSqlCommand();

XXX;

stringa=XXX.ToString();

stringb=XXX.ToString();

stringstr1="selectfromreaderwherer_num='"+a+"'andr_password='"+b+"'";

stringstr2="selectfromadministratorwherea_num='"+a+"'anda_password='"+b+"'";

if(level=="普通用户")

XXX;

else

XXX;

SqlDataReaderdr=XXX();

XXX();

if(XXX"普通用户")

rname=dr["r_name"].ToString();

MainFormaf=newMainForm();

XXX();

XXX.Clear();

XXX.Clear();

XXX();

elseif(XXX"管理员")

rname=dr["a_name"].ToString();

AdministratorFormad=newAdministratorForm();XXX();

XXX();

else

XXX("账号或密码错误!","提示!");XXX.Clear();

XXX.Clear();

XXX.Focus();

catch(E_ception)

XXX("数据库无法连接!","警告!");}

privatevoidbutton2_Click(objectsender,EventArgse){

XXX();

privatevoidForm1_Closing(objectsender,EventArgse){

XXX();

privatevoidForm1_Load(objectsender,EventArgse){

XXX.DropDownList;

XXX.Items[0].ToString();

2)普通用户界面

普通用户核心代码:

namespaceLibraryManagement

publicpartialclassMainForm:Form

publicstringstrconn="DataSource=localhost;InitialCatalog=libraryMS;IntegratedSecurity=True";

publicMainForm()

InitializeComponent();

privatevoidbutton1_Click(objectsender,EventArgse)

Form1aws=newForm1();

XXX();

XXX();

privatevoidMainForm_Load(objectsender,EventArgse)

stringrname=XXX;

XXX"欢迎"+rname+"登陆";

XXX;

privatevoidbutton2_Click(objectsender,EventArgse){

stringlno=XXX.ToString();

stringlname=XXX.ToString();

stringlauthor=XXX.ToString();

stringStrSql="selectfrombookwhere1=1";DataTabledt=newDataTable();

using(SqlConnectioncon=newSqlConnection(strconn)){

XXX();

StrSql+=

XXX.Add(SpSname);

StrSql+=

XXX.Add(SpSclass);

StrSql+=

XXX.Add(SpSclass1);

cmd.CommandTe_t=StrSql;

XXX;

XXX(dt);

XXX;

SqlCommandcmd=newSqlCommand();using(cmd)if(!XXX(lno))"andl_num=@lno";SqlParameterSpSname=newSqlParameter("@lno",lno);if(!XXX(lname))"andl_name=@lname";SqlParameterSpSclass=newSqlParameter("@lname",lname);if(!XXX(lauthor))"andl_author=@lau";SqlParameterSpSclass1=newSqlParameter("@lau",lauthor);using(SqlDataAdaptersda=newSqlDataAdapter(cmd))

3)管理员图书管理界面

管理图书核心代码:

publicpartialclassAdministratorForm:Form

publicstringstrconn="DataSource=localhost;InitialCatalog=libraryMS;IntegratedSecurity=True";

publicAdministratorForm()

InitializeComponent();

privatevoidbutton3_Click(objectsender,EventArgse)/图书查询按钮

XXX.AutoGenerateColumns=false;

stringlno=XXX.ToString();

stringlname=XXX.ToString();

stringlauthor=XXX.ToString();

stringStrSql="selectfrombookwhere1=1";

DataTabledt=newDataTable();

using(SqlConnectioncon=newSqlConnection(strconn))

XXX();

SqlCommandcmd=newSqlCommand();

using

if(!XXX(lno))

StrSql+="andl_num=@lno";

SqlParameterSplnum=newSqlParameter("@lno",lno);

XXX.Add(Splnum);

if(!XXX(lname))

StrSql+="andl_name=@lname";

SqlParameterSplname=newSqlParameter("@lname",lname);XXX.Add(Splname);

if(!XXX(lauthor))

StrSql+="andl_author=@lau";

SqlParameterSplauthor=newSqlParameter("@lau",lauthor);XXX.Add(Splauthor);

XXX;

XXX;

using(SqlDataAdaptersda=newSqlDataAdapter(cmd))

XXX(dt);

XXX;

privatevoiddataGridView1_CellClick(objectsender,DataGridViewCellEventArgse){

if(XXX)

stringlno=XXX.RowInde_].Cells[0]XXX();stringlname=XXX.RowInde_].Cells[1]XXX();stringlau=XXX.RowInde_].Cells[3]XXX();stringltype=XXX.RowInde_].Cells[2]XXX();stringlpress=dataGridViewXXX.RowInde_].Cells[4]XXX();XXX;

XXX;

XXX;

XXX;

XXX;

XXX;

privatevoidbutton1_Click(objectsender,EventArgse){

stringlno=XXX.ToString();

stringlname=XXX.ToString();

stringlau=XXX.ToString();

stringltype=XXX.ToString();

stringlpress=tXXX.ToString();

stringstr="updatebookset

l_name=@lname,l_author=@lau,l_type=@ltype,l_press=@lpresswherel_num=@lno";SqlParametersp1=newSqlParameter("@lname",lname);

SqlParametersp2=newSqlParameter("@lau",lau);

SqlParametersp3=newSqlParameter("@ltype",ltype);

SqlParametersp4=newSqlParameter("@lpress",lpress);SqlParametersp5=newSqlParameter("@lno",lno);

using(SqlConnectionconn=newSqlConnection(strconn)){

XXX();

using(SqlCommandcmd=newSqlCommand())

XXX;

XXX;

XXX.Add(sp1);

XXX.Add(sp2);

XXX.Add(sp3);

XXX.Add(sp4);

XXX.Add(sp5);

intn=XXX();

if(n>0)

XXX("更新成功");

XXX.Clear();

XXX.Clear();

XXX.Clear();

XXXXXX();

XXX.Clear();

privatevoidbutton2_Click(objectsender,EventArgse){

stringlno=XXX.ToString();

stringlname=XXX.ToString();

stringlau=XXX.ToString();

stringltype=XXX.ToString();

stringlpress=XXX.ToString();

if(lno==null||lno==""||lname==null||lname==""||lau==null||lau==""||ltype==null||ltype==""||lpress==null||lpress=="")

MeXXX("请完善信息,各项不能为空");

else

stringstr="insertintobook(l_num,l_name,l_type,l_author,l_press)values(@lno,@lname,@ltype,@lau,@lpress)";

SqlParametersp1=newSqlParameter("@lname",lname);

SqlParametersp2=newSqlParameter("@lau",lau);

SqlParametersp3=newSqlParameter("@ltype",ltype);

SqlParametersp4=newSqlParameter("@lpress",lpress);

SqlParametersp5=newSqlParameter("@lno",lno);

using(SqlConnectionconn=newSqlConnection(strconn))

XXX();

using(SqlCommandcmd=newSqlCommand())

XXX;

XXX;

XXX.Add(sp1);

XXX.Add(sp2);

XXX.Add(sp3);

XXX.Add(sp4);

XXX.Add(sp5);

intn=XXX();

if(n>0)

XXX("插入成功");

XXX.Clear();

XXX.Clear();

XXXXXX();

XXX.Clear();

XXX.Clear();

privatevoidbutton4_Click(objectsender,EventArgse)

stringlno=XXX.ToString();

stringstr="deletefrombookwherel_num=@lno";

SqlParametersp5=newSqlParameter("@lno",lno);

using(SqlConnectionconn=newSqlConnection(strconn)){

XXX();

using(SqlCommandcmd=newSqlCommand())

XXX;

XXX;

XXX.Add(sp5);

intn=XXX();

XXX("删除成功");

XXX.Clear();

XXX.Clear();

XXX.Clear();

XXX.Clear();

XXX.Clear();

XXX();

XXX();

privatevoidAdministratorForm_Load(objectsender,EventArgse){

XXX"123456";

XXX;

stringrname=XXX;

label17.Te_t="欢迎"+rname+"登陆";

XXX;

stringrname1=XXX;

XXX"欢迎"+rname+"登陆";

XXX;

4)管理用户界面

六、实验总结

在本次数据库的课程设计中,我制作出了图书管理系统。我在图书管理系统的制作过程中,学到了很多数据库和用C实现窗体的知识,提高了动手编程的能力。在此期间,我遇到了很多困难,但通过请教老师和同学把困难解决了。我意识到自己在编程方面还有不少缺陷,因此,我要再接再厉,努力学习编程的相关知识,进一步提高自己的能力,非常感谢帮助我的同学。

Copyright © 2019- 99spj.com 版权所有 湘ICP备2022005869号-5

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务