数据库课程设计——图书管理系统_第1页
数据库课程设计——图书管理系统_第2页
数据库课程设计——图书管理系统_第3页
数据库课程设计——图书管理系统_第4页
数据库课程设计——图书管理系统_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、一、课程设计题目:图书信息管理系统后台数据库采用sql server数据库服务器,前台开发语言可自选。可设计 成为c/s模式或b/s模式均可。要求根据题目自行设计系统所使用的数据库及数 据表,通过系统界面实现对数据库的各种查询、增、删、改等功能操作。实验课程任务与要求目的与任务:1. 掌握数据库设计和实现的基本过程2. 掌握数据库设计模式、分析和实现的方法3 了解数据库应用系统软件开发的一般过程实验基本要求:(1) 学习相应的数据库知识和程序设计思想(2) 按照设计思想设计数据库及应用程序,进行上机调试完成开发(3) 写数据设计报告开发环境说明:开发软件:microsoft visual st

2、udio 2010数据库:microsoft sql service 2008二、功能需求分析:程序需实现以下功能:书籍入库、书籍查询和书籍信息修改功能借书人信息添加和删除功能借书信息添加、查询、修改和删除功能三、数据库概念设计:根据程序功能需求本程序涉及实体很简单,包括借书人实体和书籍实体,根据实 体属性和实体间的联系进行设计。1. e-r 图借书人性别其存在借书关系:借书(书籍编号,借书编号,借书时间)四、数据库逻辑设计:关系数据库的数据模型(即关系模型)由一组关系模式组成,因而e-r图向 关系模型的转换实际上就是将实体(包括实体的屈性)和凉席转换为关系模型。 一半遵循以下基本原则:1.

3、一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的 码就是关系的码。2. 一个1: x (x为1或者n)联系通常与某一端的关系模式合并,其中1: n的联系需要与n端对应的关系模式合并,需要在合并的关系模式的属 性屮加入另一个关系模式的码和联系本身的属性。3. 一个联系转换为一个关系模式。与该关系相连的各实体的码以及联 系木身的属性转换为关系的属性,而关系的码为各个实体码的组合。4. 三个或者三个以上实体间的一个多元素可以转换为一个关系模式。与该 多元素系相连的齐实体的码以及联系本身的属性均转换为关系的属性, 而关系的码为各实体的码的组合。5. 具有相同码的关系模式可以合并。使用sq

4、l server 2008建立数据库和表1. 书籍的数据数据项名对应名数据类型长度说明书籍编号bnumvarchar50主键书籍名称bn amechar50不允许空书籍数量bcountint4不允许空2.借书人数据数据项名对应名数据类型长度说明借书编号pnumvarchar50主键姓名pnamechar20不允许空性别psexnchar4不允许空3.借书数据数据项名对应名数据类型长度说明书籍编号bnumvarchar50借书编号pnumvarchar50借书时间ltimedatatime4.表说明:借书数据表中,书籍编号和借书编号为组合主键,约束一个人只能在一类书籍中最多借一本。5.数据表截图

5、:曰匸表田匚浆统聂± 二 dbo.book± 口 dbo丄end(± dbo.persons ca视圏q lj同义词ee)匚3可链性(±) _j service broker g囲s 一,安全性pnumvarchar(50)ebnumvarchar(50)0ldmedatetxnebpojun-pgmydata-dbo.lend列名教据类型允许null值lend 表:set ansi_nulls ongoset quotedidentifier ongoset ansi padding ongocreate table dbo. lend(pnum va

6、rchar(50) not null,bnum varchar(50) not null, ltime datetime not null)on primarygoset anst_paddtng offgobook 表:pojun pc.mydata dbo.boolc专 x|列名数擴类型允诈nul值g bnumbnamebcountvarchar(5o) char(so) intbb0 iset anst_nulls ongoset quotedidentifier ongoset ansi_padding ongocreate table dbo. book(bnum varchar (

7、50) not null, bname char (50) not null, bcount int not null,constraint pk_book primary key clusteredbnum asc)wit11 (pad_index = off, stat i st i cs_norecompute = off, ignore_dup_key 二 off, allow_row_locks 二 on, allow_page_locks 二 on) on primary )on primarygoperson 表:t x允许nul值pojun-pgmydata dbo.perso

8、n 列名数据类型varchar(50) char(2o) nchar(4)9 pnumpnamepsexset anst_padding ongocreate table dbo. person(pnum varchar (50) not null,pname char (20) not null,psex nchar (4) not null,constraint pk_person primary key clustered(pnum asc)wit11 (pad_index = off, stat i st i cs_norecompute = off, ignore_dup_key 二

9、 off, allow_row_locks 二 on, allow_page_locks 二 on) on primary )on primarygoset ans1_padd1ng offgo五、用户界面设计匝、;+ su成品启动图标:整体应用界面:注:左边为信息栏,右边为用户操作栏。1 出借09041108"it江冬坤2011/6/1509041108人桂的.iz总坤2011/6/1509041108盘龙江冬地.2011/6/1509041128人肚的.2011/6/1509041128盒龙伍jl2011/6/1509041129线检代孚值玄2011/6/1509041129旣4

10、统.艸峯2011/6/1509041129盘崩公早位军2011/6/1509041129歩工花.孚俊氏2011/6/1609041129金是字值氏2011/6/1509041129诛仏厚位罪2011/6/15090411362011/6/15信息一更numbname pname lt ime仿息一 jlpnumbnamepnamelt ime09041108粧鼻龙.江“2011/6/1509041108人性討江志对2011/6/1509041108盘龙江志坤2011/6/1509041128人肚的uj2011/6/1509041128金是2011/6/1509041129线桂代w2011/6/

11、1509041129概鼻就孚值冬2011/6/1509041129这專玄寥值m.2011/6/1509041129歩乂花孚位罪2011/6/1609041129金龙孚位氏2011/6/1509041129诛仙孚位琴2011/6/1509041136神篡锁额珍2011/6/15幺弘立您圭龙书斥书幷全龙退运倍书塢号: 书拆筠号:趨殆:201c 终止:202c 砂定弐糟叠乂 4|弟斤呈龙|速辽借书塢号:书尺塢号:4£ 名:h 别:借书对同:2011/6/19确定1£用户可以安装提示要求添加借书的信息,点击确定可以添加信息并且可以在 左边的信息栏看见相应的信息。点击重置则置空所填写

12、的信息。注:添加的信息均不可以为空,若为空则会有错误信息提示。2. 出借查询主要提供各种单一或者组合类型的条件查询,用户可以根据时间段、借书编 号和书籍编号来查询所需要的信息。3.书籍000001效怆代數.30000002帳应统计320000020法右20000003數3&虚技.30000004數坍丼构31000005狼羽逸2000006人煌的弱.3000007大爭英语60000008计算方渎25000009选高公*1000010老人与海3000011高等數琴.35000013c程序设计26000014笋乂花客.2000015金龙4000016jl展变4bnumbnamebcount1

13、)00001线肚代做.30)00002蟆单统计32300002020000003數輔虚技.30)00004数毎结构31000005猿困除2000006人肚的聶.3000007大芋艮诲60)00008计真方条25000009选岛尘畀1)00010老人与海.3)00011高等數手.35000013c私序设计.26)00014笋工花落2)00015女龙4)00016jl展变4借息艾bnumbnamebcount6* |'书斤金询|速込书榕塢号:书矣名參:总a4: 本飞加r不改这一界面用于书籍入库和数据信息修改。4.书籍查询书藉转号:书坯名侍:总屢存:现有4存:砌丈一|h用户可以根据已有的书籍

14、编号查询书籍名称和总库存量及现有库存。5.退还出繼|之僧i:洵书斤|书4全龙 追込09041108旣虫统.江禺呻2011/6/1509041108人桂的江志对.2011/6/1509041108殳龙江总对.2011/6/1509041128人的aj2011/6/1509041128h忆伍文2011/6/1509041129线桂代厚俊m .2011/6/1509041129嵌娶说.庠值m.2011/6/1509041129迂覇出字值玄2011/6花.耶值氏2011/6/1609041129欢龙早位2011/6/1509041129诛仙孚位氏2011/6/15090411

15、36#£ .颈颍珍2011/6/15忙息一夏pnum bname pname lt ime借书绳号书矣线号确认tt90catalog=mydata;interated secunty=true:w :删除借书信息。六.语言代码:1. datamanage 类class datamanagesqldat aadapter dataadapter : dataset dataset;數福库站檢宇符审strinj sqlstring = "data source. :initial用于数据描入和um除public void sqlinsert (string str)77用于数援

16、的更斬和直御public dit iset sqlupdate.searchcstrinc str)?7读取数据public string read.dat a (st ring sqlc)777第用的判if函数public bool judgeinput(string txtpnua, string txtbnua, string txtpnaae).,|public bool judgeinput (strinc txtthinc, string txtfee)!,. jpublic bool isnu*ber(string str)|,.用®?于®j数孑据y插?k?和

17、"删;?除ypublic void sqlinsert(string str)sqlconnection sqlconnect = new sqlconnection(sqlstring);sqlconnect.open();数勿据y库&语®?句?sqlcommand sqlcominsert = new sqlcommand(str, sqlconnect); sqlcominsert.executenonqueryo;sqlconnect.close();/用®?于®之数oy据y的1?更噺?和喳:询匚¥public dataset

18、sqlupdate_search(string str)sqlconnection sqlconnect = new sqlconnection(sqlstring);sqlconnect.open();dataset = new dataset(mmydatam);dataadapter = new sqldataadapter(str, sqlconnect);data adapter.fill(dataset);sqlconncct.closc();return dataset;读h取“?数oy据ypublic string read_data(string sqlc)string re

19、salt;sqlconnection sqlconnect = new sqlconnection(sqlstring);try(sqlconnect.open();sqldataadaptcr rcaddata = new sqldataadaptcr(sqlc, sqlconnect);dataset dataset = new datasei();readdata.fill(dataset, mmydatah);datarowvievv drv = dataset.tableso.default view 0;resalt = con vert<t os tring(drv .ro

20、 w 0);return resalt;)catch (exception ee)messagcbox.show(ee.message,m读飞数°y错沪误“®! e?u); return t;)finallysqlconnect.close();)2.forml 类/借书信息添加 private void buttonlclick(object/书薯信息添加private void button5_click(objectsender,sender,eventargseventargse) 口e)匚sender,eventargs/显示查询(更別d数据private voi

21、d button3_click(object删除借书数据信息 private void button7_click(objectsender,eventargse)口书躇信息査询private void button9_click(objectsender,eventargs/书藉信息修改private void button6_click(objectsender,eventargs借书信息添加:string stro = hselect count(*) from lend where bnum=n + textbox2.text + ,n;string strl = nselect bc

22、ount from book where bnum=n + textbox2.text + nn;if (convert.toint32(manage.read_data(stro) <convert.toint32(manage.read_data(strl)string str3 = hselect count(*) from lend where pnum=h + textbox 1.text+ ” and bnum=,r + textbox2.text + nn;if (convcrt,toint32(managc.rcad_data(str3)!=l)string strlin

23、sert = "insert into lend(pnunlbnuin,ltime)values( h, +textbox 1.text + ”',”' + textbox2.text + label6.text +manage.sqlinsert(strlinsert);判断是否己经借过该书籍,然后进行添加。string str = hselect count(*) from person where pnum=n + textboxl.text +if (manage.read_clata(str) = m0n)istring strpinscrt = hinse

24、rt into pcrson(pnum,pname,psex)values(n, + textbox 1 .text + textbox3.text + combobox7.text + ,n)m;manage.sqlinsert(strpinsert);借书人信息的添加。string strlinsert = hinsert into book(bnum,bnamc,bcount)valucs( +textboxb.text + ,fm + textbox7.text +m + convert.toint32(textbox8.text) + m)n;manage.sqlinsert(str

25、linsert);书籍入库信息添加。strsearch = mselect lend.pnuni,person.pname,book.bnamexend.ltime from lend inner joinbook on lcnd.bnum=book.bnum inner join person on lcnd.pnum二person.piium where ( ltimcbetween + ftime + ,n and m, + ltime + ”丁; if (lex(box4.texl != ,n,) strsearch = strsearch + "and lend.pnum=

26、h + textbox4.text;if (textbox5.text != ,n,) strsearch = strsearch + hand lend.bnum=h + textbox5.text;获取借书信息查询的字符串。dataset dt = managc.sqlupdatc_scarch(strscarch);datagridview 1 .datasource = dt.tables|o|;查询信息并且显示。string strfdelete = "select person.pnum,person.pname,book.bname,lend.ltime from le

27、nd inner join person on lend.pnum=pcrson.pnum inner join book on lcnd.bnum=book.bnum where lcnd.pnum=h, + textbox9.text +string strtdelete = ndelete from lend where pnum-u + textbox9.text + ,m and bnum-n + textboxlo.text +;还书字符串,managc.sqlinscrt(strtdclctc);dataset dt = manage.sqlupdate_search(strfd

28、elete);datagridview 1 .datasource = dt.tableso;删除当前数据库屮的信息并且显示删除后的数据信息。string strgctdata i 二"select bcount from book where bnum-n + tcxtboxl2.tcxt +string totalcount = manage.read_data(strgetdatal);labe!22.text = totalcount;string strgetdata2 = hselect count(*) from lend where bnum=h, + textboxl2.text + h,h;string lefecount = manage.read_data(strgetdata2);labe!23.text = ()nveil.tostring(convert.toint32(totalcount)-converl.toint32(lefecount);strin

温馨提示

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

评论

0/150

提交评论