数据库图书管理系统含代码

合集下载

C语言程序课程设计图书管理系统方案

C语言程序课程设计图书管理系统方案

C语言程序课程设计报告标题:图书管理系统专业:软件工程类:设计主题图书馆管理系统主要包括管理图书的库存信息,每本书的借阅信息,每个人的借阅信息。

每本书的库存信息包括数量、书名、作者、出版日期、金额、类别、总入库数量、当前库存、已借出图书数量等。

每本借书包括以下信息:编号、书名、金额、借书证号、借阅日期、到期日期、罚款金额等。

每个人的图书馆信息包括借书证号、班级、学号等。

该系统的功能包括以下几个方面:一、借阅资料管理要求对图书、期刊、报纸、期刊进行分类管理,这样操作会更加灵活方便。

可以随时添加、删除、修改、查询等相关资料。

b、借贷管理(1)借贷操作(2)还书操作(3)更新治疗提示:以上处理需要相互配合,通过编辑赔偿和违约金金额来完成图书借还业务的各种登记。

例如,读者在还书时,不仅要更新图书的库存信息,还要自动计算图书的罚款金额。

并显示读者当天到期未还图书的所有信息。

c、读者管理读者等级:对借阅的读者进行分类,比如可以分为教师和学生两类。

并定义每类读者可以借阅的图书数量及相关借阅时间等信息。

读者管理:可以录入读者信息,以及挂失或注销读者、查询等服务。

D.统计分析可以随时进行统计分析,及时了解当前的借阅情况和相关数据状态。

统计分析包括借阅列表、数据状态统计、借阅统计等功能分析,显示当日所有到期未还的图书信息。

e系统参数设置:您可以设置相关的系统服务器参数,如违约金金额、最大借用天数等。

根据题目分析这项工作分为六个模块。

1.图书数据2.借款人信息3.借用模块4.还书模块5.照看书籍6.查询模块模块一:书号,书名,作者,出版时间,价格,份数,页数。

模块二:单位、借阅书目、借阅时间模块3:输入书名、书号、借书证。

模块四:登记书号,还书,处理罚款。

模块5:管理书库中的书籍,将新书入库,删除旧书,堆栈查询模块6:图书查询。

数据测试源代码汉字菜单可以参照以下代码编写:#包含“stdio.h”。

主(){ char c;int I;做{clr SCR();for(I = 0;i < 80i++)printf(" * ");printf("\t 1:添加书籍\ n ");printf("\t 2:列出书籍\ n ");printf(" \ t 3:s reach books \ n ");printf("\t 4:借书\ n ");printf("\t 5:返回图书\ n ");printf("\t6:退出\n ")printf(" \ t请选择输入选项[1 \ \ 2 \ \ 3 \ \ 4 \ \ 5 \ \ 6]:\ n ");做{c = getchar();}while(c!='1'&&c!='2'&&c!='3'&&c!='4'&&c!='5'&&!='6');getchar();开关(c){事例“1”:输入();打破;案例“2”:del();打破;事例“3”:find();打破;case“4”:arrange();打破;事例“5”:right();打破;案例“6”:出口(0);}Printf("按任意键返回主菜单:\ n ");getchar();clr SCR();} while(1);}#include <stdio.h >定义图书结构*/结构书{int _ id#include <stdlib.h >#include <string.h >#定义借入1#定义NOBORROW 0/*//数字,唯一char _ name[32];//书的名称,不唯一int _ type//书的类型,不唯一int _ status//书的状态,借出/未借出int _ count//图书借出的次数struct Book * _ next//下一本书结构书* _ prev//前一本书};定义书籍类型*/操作目录提示*/操作目录提示1 */添加图书类型并显示用户信息*/添加图书状态并显示用户信息。

基于C++图书管理系统(包含原代码)

基于C++图书管理系统(包含原代码)

图书馆管理系统设计报告(数据结构)学院:信息科学与工程学院班级:统计学2007完成人:姓名:徐倩学号:200701050722 姓名:徐振华学号:200701050723指导教师:杨红梅山东科技大学2010年6月20日小组分工说明小组编号题目:____图书馆管理系统小组分工情况:徐倩:用户模块的主要设计徐振华:管理员模块的设计以及用户注册模块的设计组长签字:徐振华2010 年06 月17 日指导教师对课程设计的评价成绩:指导教师签字:年月日目录1、需求分析 (4)1.1.系统概述 (4)1.2.实现功能 (4)1.3.模块结构 (5)1.4.程序流程图 (5)2.设计概要 (7)2.1.数据结构体设计 (7)2.2.函数功能、参数说明 (9)2.3 主函数程序 (10)3.详细设计 (10)3.1 管理员模块的函数实现 (10)3.2 用户模块的函数实现 (19)3.3 注册用户模块的函数实现 (24)3.3 公共函数实现 (24)4. 程序调试及分析 (27)5.用户手册 (27)6. 测试结果 (29)7.附录 (30)1、需求分析1.1、系统概述一直以来人们使用传统的人工方式管理图书馆的日常工作,对于图书馆的借书和还书过程,想必大家都已很熟悉。

在计算机尚未在图书馆广泛使用之前,借书和还书过程主要依靠手工。

一个最典型的手工处理还书过程就是:读者将要借的书和借阅证交给工作人员,工作人员将每本书上附带的描述书的信息的卡片和读者的借阅证放在一个小格栏里,并在借阅证和每本书贴的借阅条上填写借阅信息。

这样借书过程就完成了。

还书时,读者将要还的书交给工作人员,工作人员根据图书信息找到相应的书卡和借阅证,并填好相应的还书信息,这样还书过程就完成了。

以上所描述的手工过程的不足之处显而易见,首先处理借书、还书业务流程的效率很低,其次处理能力比较低,一段时间内,所能服务的读者人数是有限的。

利用计算机来处理这些流程无疑会极大程度地提高效率和处理能力。

图书馆管理系统C语言程序设计

图书馆管理系统C语言程序设计

HUNAN UNIVERSITY C语言程序训练报告【设计目的】图书信息包括:读者登录号、管理员登录号、图书编号、作者名、种类、出版社、图书库存、图书借出数目等。

图书信息管理系统,使之能提供以下功能:1)系统以菜单方式工作2)读者注册功能3)读者登录功能4)读者借书还书功能5)查询读者借阅记录6)查询在管图书信息功能7)修改密码功能8)管理员登录功能9)增加、修改、删除图书功能10)查看图书信息功能【设计思路】根据题目要求,应当把图书信息用结构体形式输入,应该提供以下结构体和文件的输入等操作:在程序中需要实现图书信息录入,浏览,查询,删除和修改等功能的操作,所以需要建立相应的模块来实现:另外还需提供选择菜单实现功能,在运行时达到所要求的目的;管理员和读者登录界面及各自功能应有不同的实现。

【总体设计】【详细设计】1.主函数主函数设计要求简洁,只提供部分提示语和函数的调用源代码为//rkou。

c 程序的入口#include<stdio。

h>#include〈stdlib.h〉#include〈string。

h>#include<conio.h〉#include"head.h”#include”fuc.h"#include”picture。

h"#include”jiangzhuo1.h"#include”output。

h"main(){ int i=setup();switch (i){ case 0: while(n<50){ conects(n);}default:eros(i);}system("pause”);}2.程序中全局变量声明定义,以及所有函数声明源代码为struct book //图书结构体声明{ char name[50],classic[10],writer[20]; //书名,类别,作者int jn; //借出数量int zn; //在馆数量int bh; //图书编号};struct information //管理员和读者结构体声明{char name[10],no[12],key[10]; //姓名,账号,密码};struct show //图书借阅记录的结构体声明{char name1[10],name2[50],writer[20],no[12]; //书名,读者姓名,书的作者,读者账号int bh,o; //图书编号,借阅状况(未还,已还)};//以下为用到的全局变量struct book bk;struct information aa,rr;struct information stu[100];struct book bb[100];struct information ad[100];struct show ss[100];int i,j,k,s;int n=0;int x;FILE *fp;//以下函数主要功能:方便窗口与用户之间交换信息int regst();void password(char *a,int b,int j);//登陆时的输入函数void examine(int *a,int b); //保证键入的数据是数字void changepaw(int a,int b); //修改密码用到的提示函数void inputs0(); //输出图书类别以供用户选择void inputs1(int a,int b,int c,int d,int e); //方便用户输入图书各项信息(如书名,编号)void inputs2(int a,int b,int c); //方便用户输入管理员的信息(如账号姓名)void inputs3(int a,int b,int c);//方便用户输入读者的信息(如账号姓名)void eros(int i); //错误显示函数,操作一旦出错,则会出现相应的错误信息void conects(int j); //连接函数,选择界面//一下函数主要用于改变文件的内容并保存int setup(); //数据初始化函数int xzc(char no[12],char key1[10],char key2[10],char name[10]);//读者注册函数int exam(char no[10],char key[10],int n);//密码账号检验函数int mp(char no[12],char key1[10],char key2[10],char key3[10],int n); //密码修改函数void paixu(); //对图书按照编号从小到大的顺序进行排列int sc(int bh); //管理员删除图书信息函数int zj(struct book bb); //管理员增加图书信息函数int xg(struct book bb);//管理员修改图书信息函数int js(int bh,char no[12]); //借书函数int hs(int bh,char no[12]); //还书函数int bh1(int bh); //判断该编号的图书信息是否存在函数void bh2(int bh); //按照图书编号显示图书信息函数int sm1(char name[50]);//判断是否存在该名字的图书信息函数void sm2(char name[50]); //按照图书名字显示图书信息函数int zz1(char writer[20]); //判断是否存在该作者的图书信息函数void zz2(char writer[20]);//按照图书作者显示图书信息函数void lb(char classic[10]); //按类别显示图书信息int rck1(int bh);//判断该编号的图书的借书记录是否存在void rck2(int bh);//按编号显示图书借书情况int gck21(char no[12]);//判断该账号读者的借书记录是否存在void gck22(char no[12]); //按读者显示借书情况2void gck12(); //显示全部借书情况void gck23();//管理员查看所有书的信息void copy(int bh); // 按编图书编号将图书信息暂时保存在另外一个结构体里面void copy2(char no[12]); //按管理员账号将管理员信息暂时保存在另外一个结构体里面void copy3(char no[12]);//按读者账号将读者信息暂时保存在另外一个结构体里面//pic()函数:每个函数表示一个界面,conects函数将它们连接起来void pic0();void pic1();void pic2();void pic3();void pic4();void pic5();void pic6();void pic7();void pic8();void pic9();void pic10();void pic11();void pic12();void pic13();void pic14();void pic15();void pic16();void pic17();void pic18();void pic19();void pic20();void pic21();void pic22();void pic23();void pic24();void pic25();void pic26();void pic27();void pic29();void pic30();void pic31();void pic32();void pic33();void pic34();void pic35();void pic36();void pic37();void pic38();void pic39();void pic40();void pic41();void pic42();void pic43();void pic44();void pic45();void pic46();void pic47();void picc();3.用户输入以及界面反馈用到的功能函数源代码为int regst(){char num[12],paw1[10],paw2[10],name[10];int i;printf(”请输入账号\n(11字符以内,不能含有中文字符):\n”);password(num,0,11);printf(”输入您的密码\n(9字符以内,不能含有中文字符):\n");password(paw1,1,9);printf("请再次输入密码:\n”);password(paw2,1,9);printf("输入您的姓名:\n");gets(name);system("cls”);i=xzc(num,paw1,paw2,name);return i;}void password(char *a,int b,int j){ char c;int i=0;while((c=getch())!=’\r’){if(c==8){ printf(”\b \b”);if(i〉0)i-—;}else if(i<j){if(b)printf("*”);else printf("%c",c);a[i]=c;i++;}if(i==j){ printf("\a");}}a[i]='\0';printf("\n");}void examine(int *a,int b){ while(!scanf(”%d",a)){ while(getchar()!='\n’);printf("请输入数字!!\n");}rewind(stdin);if(b) system("cls”);}void changepaw(int a,int b){ int i;char c1[10],c2[10],c3[10];printf("请输入原密码\n”);password(c1,1,9);printf("请输入新密码\n");password(c2,1,9);printf(”请再次输入新密码\n”);password(c3,1,9);system("cls”);if(b){i=mp(aa。

图书管理系统数据库设计

图书管理系统数据库设计

图书管理系统数据库设计1. 引言图书管理系统是一个用于管理图书馆馆藏图书的软件系统。

它提供了图书的借阅、归还、查询等功能,方便读者进行图书借阅和图书馆管理员进行图书管理。

本文档将介绍图书管理系统的数据库设计。

通过组织图书、读者、借阅记录等相关数据,实现图书管理系统的各项功能。

2. 数据库设计2.1 数据库结构图书管理系统的数据库主要包含以下几个表:•图书表(books):存储图书的基本信息,如图书编号、名称、作者、出版社等。

•读者表(readers):存储读者的基本信息,如读者编号、姓名、性别、年龄等。

•借阅记录表(borrow_records):存储图书的借阅记录,包括借阅编号、借阅日期、归还日期、读者编号等。

2.2 数据库字段2.2.1 图书表(books)•book_id:图书编号,主键•book_name:图书名称•author:作者•publisher:出版社•publication_date:出版日期•price:价格2.2.2 读者表(readers)•reader_id:读者编号,主键•reader_name:读者姓名•gender:性别•age:年龄•phone:联系电话2.2.3 借阅记录表(borrow_records)•record_id:借阅记录编号,主键•book_id:借阅图书编号,外键•reader_id:借阅读者编号,外键•borrow_date:借阅日期•return_date:归还日期2.3 数据库关系•图书表与读者表之间是多对多的关系,通过借阅记录表进行关联。

•图书表与借阅记录表是一对多的关系,一个图书可以对应多条借阅记录。

•读者表与借阅记录表也是一对多的关系,一个读者可以借阅多本图书。

2.4 数据库约束•图书编号(book_id)在图书表中是唯一的,不能重复。

•读者编号(reader_id)在读者表中是唯一的,不能重复。

•借阅记录编号(record_id)在借阅记录表中是唯一的,不能重复。

图书馆管理系统数据库设计-数据库图书馆系统管理

图书馆管理系统数据库设计-数据库图书馆系统管理

图书馆管理系统数据库设计1、系统简要分析1。

1图书资料基本管理(1)、新书编号、登记、入库:将新购入的书籍按照国家统一的分类编号;登记书号、书名、作者、出版社等基本信息,将新购图书入库.(2)、检索查询:按照各种组合条件对书库图书进行查询,也可以进行模糊查询.(3)、图书资料统计:根据要求对图书总数、各类图书数以及图书单价合计统计,打印日常报表。

(4)、旧书出库处理:通过查询确定过期期刊杂志、旧书籍以及由于丢失等其他原因需要从书库中撤销的图书资料,并从书库中撤除。

1.2图书资料借阅管理(1)、借还书管理:主要负责日常的借书登记、还书登记,和逾期未还图书的催还工作。

(2)、检索查询:按照各种组合条件对图书借阅情况查询,也可以进行模糊查询。

(3)、借书统计:统计各类书借阅情况,借阅次数;统计个人借书情况,打印日常报表。

(4)、定期整理图书借阅信息:将还书情况总结整理后彻底删除。

此外,图书管理人员还要定期做整理图书资料的全部图书清单、分类印图书清单、借阅清单以及整理填写各种报表等工作。

2、业务流程分析2。

1 借书业务流程2。

2 新书购进入库业务流程2。

3 还书业务流程2.4 销书业务流程3、数据流程图符号说明:实体处理逻辑数据流数据存储3. 1 系统的总数据流程图3。

2 借书处理数据流程图3。

3 还书处理数据流程图3.4 购书处理数据流程图4、数据字典4.1 数据项的描述数据项名:学号数据项含义说明:学生的唯一编号别名:数据类型:字符型长度:10取值范围:‘0000000000’-‘9999999999’取值说明:第1位为校区代码,2—3位为入学年份,.。

..与其他数据项的关系表4-1 数据项的定义表4-2 数据流的描述表4—3 处理逻辑的描述表4—4 数据存储的描述表4—5 外部实体的描述数据流编号:D1数据流名称:借书单简述:借阅者所要借的图书信息单数据流来源:借阅者数据流去向:借书处理模块数据流组成:图书编号+书名+借阅证号等数据流量:200张/天高峰流量:400张/天数据流编号:D2数据流名称:图书简述:借阅者从图书馆所借的图书数据流来源:借书处理模块数据流去向:借阅者数据流组成:图书编号+图书名+条形码号+出版社+出版日期+入库日期+作者+单价等数据流量:300本/天高峰流量:500本/天数据流编号:D3数据流名称:图书简述:借阅者要准备归还给图书馆的图书数据流来源:借阅者数据流去向:还书处理模块数据流组成:图书编号+图书名+条形码号+出版社+出版日期+入库日期+作者+单价等数据流量:300本/天高峰流量:500本/天数据流编号:D4数据流名称:不合格借书单简述:经借书处理模块验证不合格的借书单数据流来源:借书处理模块数据流去向:借阅者数据流组成:图书编号+书名+借阅证号等数据流量: 50张/天高峰流量:100张/天数据流编号:D5数据流名称:借书清单简述:经借书处理模块处理后的借书情况数据单数据流来源:借书处理模块数据流去向:图书库存情况存档数据流组成:图书编号+图书名+借阅日期+借阅证号+管理员编号等数据流量: 200张/天高峰流量:400张/天数据流编号:D6数据流名称:还书清单简述:还书信息清单数据流来源:还书处理模块数据流去向:图书库存情况存档数据流组成:图书编号+图书名+借阅证号+还书日期+管理员编号等数据流量:150本/天高峰流量:400本/天数据流编号:D7数据流名称:订书单简述:订购新书的信息单数据流来源:采购员数据流去向:购书处理模块数据流组成:图书名+图书数量+价格+采购员姓名+采购单位名称+图书出版社+出版日期等数据流量:1张/3个月高峰流量:1张/月数据流编号:D8数据流名称:购书清单简述:购买图书后的信息单数据流来源:购书处理模块数据流去向:管理员数据流组成:图书名+图书数量+价格+采购员姓名+采购员编号+出版社+出版日期+供货商名称+采购日期等数据流量:1张/3个月高峰流量:1张/月数据流编号:D9数据流名称:入库新书清单简述:准备入库图书信息单数据流来源:管理员数据流去向:新书入库处理模块数据流组成:图书编号+图书名+数量+管理人员编号+入库日期等数据流量:1张/3个月高峰流量:1张/月数据流编号: D10数据流名称:入库清单简述:刚新入库图书的信息单数据流来源:新书入库处理模块数据流去向:图书库存情况存档数据流组成:图书编号+图书名+数量+管理人员编号+入库日期等数据流量:1张/3个月高峰流量:1张/月数据流编号:D11数据流名称:销书计划简述:准备从书库中撤除一部分图书的计划数据流来源:管理员数据流去向:销书处理模块数据流组成:图书编号+图书名称+入库日期+管理员编号+日期+数量等数据流量:1张/6个月高峰流量:1张/月数据流编号:D12数据流名称:销书清单简述:通过销书处理刚从书库中撤除的图书信息单数据流来源:销书处理模块数据流去向:图书库存情况存档数据流组成:图书编号+图书名称+入库日期+管理员编号+出库日期+数量+总价等数据流量:1张/6个月高峰流量:1张/月数据流编号:D13数据流名称:借书单简述:借阅者所要借书的信息单数据流来源:借阅者数据流去向:审核处理模块数据流组成:图书编号+图书名+借阅证号等数据流量:200张/天高峰流量:400张/天数据流编号:D14数据流名称:不合格借书单简述:经审核处理模块处理后,不合格的借书单数据流来源:审核处理模块数据流去向:借阅者数据流组成:图书编号+图书名+借阅证号等数据流量:50张/天高峰流量:100张/天数据流编号:D15数据流名称:合格的借书单简述:经审核处理后符合规定的借书单数据流来源:审核处理模块数据流去向:书借出处理模块数据流组成:图书编号+图书名+借阅证号等数据流量:200张/天高峰流量:400张/天数据流编号:D16数据流名称:借书清单简述:图书馆所借出图书信息单数据流来源:图书借出处理模块数据流去向:图书库存情况存档数据流组成:图书编号+图书名+借阅证号+管理员编号+日期等数据流量:200张/天高峰流量:400张/天数据流编号:D17数据流名称:借书清单简述:图书馆所借出图书信息单数据流来源:图书借出处理模块数据流去向:借阅者借阅情况存档数据流组成:图书编号+图书名+借阅证号+管理员编号+日期等数据流量:200张/天高峰流量:200张/天数据流编号:D18数据流名称:图书简述:借阅者从图书馆借出的图书数据流来源:图书借出处理模块数据流去向:借阅者数据流组成:图书编号+图书名+条形码号+出版社+出版日期+入库日期+作者+单价等数据流量:300本/天高峰流量:500本/天数据流编号:D19数据流名称:图书简述:借阅者准备归还给图书馆的图书数据流来源:借阅者数据流去向:审核处理模块数据流组成:图书编号+图书名+条形码号+出版社+出版日期+入库日期+作者+单价等数据流量:150本/天高峰流量:400本/天数据流编号:D20数据流名称:罚款通知单简述:审核处理后,发现借阅超期或损坏要求罚款的通知单数据流来源:审核处理模块数据流去向:罚款处理模块数据流组成:借阅证号+管理员编号+金额+日期数据流量:20张/月高峰流量:50张/月数据流编号:D21数据流名称:罚款单简述:对借阅者进行罚款的信息单数据流来源:罚款处理模块数据流去向:借阅者数据流组成:借阅证号+管理员编号+金额+日期数据流量:20张/月高峰流量:50张/月数据流编号:D22数据流名称:应付罚款简述:借阅者因借书超期或损坏图书应该作的赔偿数据流来源:借阅者数据流去向:罚款处理模块数据流组成:金额数据流量:40元/月高峰流量:100元/月数据流编号:D23数据流名称:图书简述:罚款处理后准备入库的图书数据流来源:罚款处理模块数据流去向:图书入库处理模块数据流组成:图书编号+图书名+条形码号+出版社+出版日期+入库日期+作者+单价等数据流量:20本/月高峰流量:50本/月数据流编号:D24数据流名称:图书简述:审核处理后合格的图书数据流来源:审核处理模块数据流去向:图书入库处理模块数据流组成:图书编号+图书名+条形码号+出版社+出版日期+入库日期+作者+单价等数据流量:150本/天高峰流量:400本/天数据流编号:D25数据流名称:还书清单简述:所还图书进行入库信息单数据流来源:图书入库处理模块数据流去向:图书库存情况存档数据流组成:图书编号+图书名+管理员编号+日期等数据流量:150本/天高峰流量:400本/天数据流编号:D26数据流名称:还书清单简述:所还图书进行入库信息单数据流来源:图书入库处理模块数据流去向:借阅者借阅情况存档数据流组成:图书编号+图书名+管理员编号+日期等数据流量:150本/天高峰流量:400本/天数据流编号:D27数据流名称:订书单简述:购买图书计划单数据流来源:采购员数据流去向:判定定货处理模块数据流组成:图书名+图书数量+价格+采购员姓名+采购单位名称+图书出版社+出版日期等数据流量:1张/3个月高峰流量:1张/月数据流编号:D28数据流名称:订书单简述:购买图书计划单数据流来源:判定定货处理模块数据流去向:开付款通知单数据流组成:图书名+图书数量+价格+采购员姓名+采购单位名称+图书出版社+出版日期等数据流量: 1张/3个月高峰流量:1张/月数据流编号:D29数据流名称:付款通知单简述:通知采购方支付货款的信息单数据流来源:开付款通知单数据流去向:采购员数据流组成:货物编号+数量+价格+总金额+供货商编号+供货商名+日期数据流量:1张/3个月高峰流量:1张/月数据流编号:D30数据流名称:订书单简述:购买图书计划单数据流来源:判定订货处理模块数据流去向:开发货票模块数据流组成:图书名+图书数量+价格+采购员姓名+采购单位名称+图书出版社+出版日期等数据流量:1张/3个月高峰流量:1张/月数据流编号:D31数据流名称:订书单简述:购买图书计划单数据流来源:开发货票模块数据流去向:仓库数据流组成:图书名+图书数量+价格+采购员姓名+采购单位名称+图书出版社+出版日期等数据流量:1张/3个月高峰流量:1张月数据流编号:D32数据流名称:发货单简述:通知采购方供货单位开始发货的信息单数据流来源:仓库数据流去向:采购员数据流组成:货物编号+数量+价格+总金额+供货商编号+供货商名+发货日期+采购员编号+采购员姓名等数据流量:1张/3个月高峰流量:1张/月4。

数据库设计关于图书馆管理系统的设计(有完整代码,史上最全!)

数据库设计关于图书馆管理系统的设计(有完整代码,史上最全!)

数据库设计关于图书馆管理系统的设计(有完整代码,史上最全!)《数据库》课程设计(2008/2009学年第2学期第18-19 周)数据库课程设计任务书⼀、⽬的1.掌握计算机管理信息系统设计的⼀般⽅法,主要包括系统分析、系统设计的组织和实施。

2.关系型数据库管理系统的编程技术,并能独⽴完成⼀般⼩系统的程序设计、调试运⾏等⼯作。

3.培养把所学知识运⽤到具体对象,并能求出解决⽅案的能⼒。

⼆、任务(任选其⼀)A.运⽤关系型数据库管理系统,实现本院图书馆管理信息系统。

具体要求如下:—图书、资料的登记、注销和查询。

—借书证管理,包括申请、注销借书证,查询借书证持有⼈等。

—借还图书、资料的登记、超期处理,超期拒借等。

—图书、资料查询,借、还图书和资料情况查询。

—图书、资料借阅情况的统计分析,拒此作为图书馆图书、资料订够的依据之⼀。

(本项不作为基本要求)B.运⽤关系型数据库管理系统,实现服务电话管理系统向客户现场派技术⼈员的服务公司可以⽤服务电话管理系统跟踪客户、员⼯、⼯作订单、发票、付款等等。

要求:数据库要存储以下信息:—客户信息—客户⼯需单信息—完成⼯需单所需⼈⼯—完成⼯需单所需部件—部件信息—付款信息—雇员信息完成的功能:—输⼊/查看客户⼯需单信息—输⼊/查看部件、雇员等其它信息—付款—打印发票等三、结果形式1.设计报告:含E-R图、数据字典、关系模式、关系实例、查询描述、关系代数、SQL 实现的查询语⾔及查询结果。

2.上机实现。

四、考核1.课程设计态度(20分)。

2.递交的书⾯材料(40分)。

3.上机运⾏情况(40分)⽬录1.问题描述 (2)1.1背景 (2)1.2数据需求 (2)1.3事物需求 (3)1.4关系模式 (3)2.⽅案图表设计 (3)2.1E-R图 (3)2.2数据流程图 (8)2.3数据字典 (9)2.4关系图: (11)3.数据库源代码 (12)3.1数据库建⽴ (12)3.2数据初始化 (14)4.结果数据处理 (17)4.1单表查询 (17)4.2超期处理 (19)4.3还书操作 (20)4.4借书操作 (22)4.5书籍状态 (24)4.6读者状态 (24)5.结束语 (26)5.1课程设计⼼得 (26)1.问题描述1.1背景随着图书馆规模的不断扩⼤,图书数量也相应的增加,有关图书的各种信息量也成倍增加,⾯对着庞⼤的信息量,传统的⼈⼯⽅式管理会导致图书馆管理上的混乱,⼈⼒与物⼒过多浪费,图书馆管理费⽤的增加,从⽽使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定⼀套合理、有效,规范和实⽤的图书管理系统,对图书资料进⾏集中统⼀的管理。

图书馆管理系统文档(含源代码)免费

图书馆管理系统文档(含源代码)免费

程序设计综合训练<图书馆管理系统>设计报告院系:材料科学与工程学院专业班级:材料成型一班*名:***学号: ***********指导老师:肖老师一、程序功能简介图书排序功能1)按图书编号排序可以按图书编号的大小排序,显示到屏幕上。

(从小到大)2)按图书出版时间排序可以按图书出版时间的前后排序,显示到屏幕上。

(从近到远)3)按图书价格排序可以按图书价格的贵宜排序,显示到屏幕上。

(从便宜到贵)4)按图书书名排序可以按图书书名字符的大小排序,显示到屏幕上。

(从小到大)5)按图书作者名排序可以按图书作者名字符的大小排序,显示到屏幕上。

(从小到大)二、本人完成的主要工作图书排序功能(排序比较简单只要做出来一个,其他都和它雷同。

)三、设计方案1.设计分析;1)序功能简介:s2)各个功能流程图1、按图书编号排序2、按图书出版时间排序3、按图书价格排序4、按图书书名排序5、按图书作者名排序2. 操作方法简介; 1)主面板输入密码9进入系统。

输入排序的功能序号5是 输入y/n 进,输入n 的话返回到主菜单Y/n是(y)显示排序否(n )按Enter2)主菜单按4进入排序功能。

2)排序功能目录3)选择功能(比如3)按价格的大小排序3.实验结果(包括输入数据和输出结果)四、设计体会在期末课程设计中,我们所选择的是设计一个图书管理系统,这对我们来说是一次尝试与创新的过程,也可以说是一个挑战的过程,毕竟以前没有作过,缺少经验。

现在利用自己学到的知识设计并制作一个图书管理系统,这本身就是一个知识转化为生产力的过程,所以大家都很兴奋,不同程度的投入了很高的热情与努力。

在具体的设计与实施中,我们看到并感受到了一个管理系统从无到有的过程,对具体的设计步骤、思路、方法、技巧都有了进一步的了解,并感受深刻。

在设计中我们基本能按照规范的方法和步骤进行,首先对现有的系统进行调查,并查阅有关资料,最后确定设计方案,然后设计并制作,实施过程中我们深刻的认识到认真执行管理系统软件标准的重要性,我们由于对管理系统软件相关的标准和规范不太了解,缺少行为操作准则,所以在设计中手法比较生硬,主与次也没能很好把握住,这些方面通过这次我们都要加强了解。

C语言程序设计大作业--图书管理系统

C语言程序设计大作业--图书管理系统

C语言程序设计大作业设计报告一.设计方案本程序旨在用一个C语言程序实现简单的图书馆图书管理系统,程序包含平时的借书,还书,新书录入,查询功能,用简单明了的人机交互界面快速实现图书管理的目的。

二.模块说明及代码分析1.主函数:源代码:void main(){int a;printf("\n");printf("\n");printf(" ( ^_^ ) WELCOME!\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\t〉〉-------------BJTU图书管理系统--------------〈〈");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");do {printf("1.借书 2.还书 3.新书录入4.查询 0.退出");printf("\n");printf("\n");printf("\n");printf("\n");printf("请选择序号:");scanf("%d",&a);switch(a){case 1:jieshu();break;case 2:huanshu();break;case 3:xinshu();break;case 4:chaxun();break;case 0:break;default:printf("请选择正确的序号!\n");printf("\n");}}while(a!=0);printf("谢谢使用图书管理系统!\n");}主函数提供人机交互界面,让操作者选择所需的操作项目,并有退出选项。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库图书管理系统含代码The following text is amended on 12 November 2020.目录一.需求描述和系统边界数据库技术和Internet的飞速发展,使它们已经成为现代信息技术的重要组成部分,是现在计算机信息系统和计算机应用系统的基础和核心。

对于任何一个企业来说,数据是企业重要的资产,如何有效利用这些数据,对于企业发展起着极其重要的作用。

随着我国市场经济的迅速发展和人们生活水平的不断提高,图书馆藏书的数目逐渐增大,这也挑战了图书管理方面的技术,以前的人工管理方式已经不再适应现在的环境,取而代之的是先进的图书管理系统,创建图书管理系统可以让管理人员方便而快捷的进行管理、查询、借阅、录入等工作。

该图书管理系统支持2类用户:管理员和读者。

读者可以进行借阅、续借、归还和查询书籍等操作,管理员可以完成书籍和读者的增加,删除和修改以及对读者,借阅、续借、归还的确认。

二.需求分析1.业务需求图书管理系统的主要业务包括:包括图书馆内书籍的信息,读者信息,以及借阅信息。

此系统功能分为面向读者和面向管理员两部分,其中读者可以进行借阅、续借、归还和查询书籍等操作,管理员可以完成书籍和读者的增加,删除和修改以及对读者,借阅、续借、归还的确认。

2.功能需求及数据需求分析(1)注册管理管理员注册。

管理员注册时要求填写基本信息,包括管理员编号、姓名、性别、联系电话、家庭住址。

系统检查所有信息填写正确后管理员注册成功。

读者注册。

读者注册时要求填写基本信息,包括读者编号、姓名、性别、联系电话、学院等。

系统检查所有信息填写正确后读者注册成功。

(2)图书管理增加图书信息。

当有新的图书入库时,管理员负责添加图书信息,包括书名、分类、图书编号、作者、出版社、出版时间、简介等。

图书信息查询。

管理系统需提供方便快捷的方式进行图书检索。

如可以输入指定的关键词进行简单查询,也可以根据书名、分类、图书编号、作者、出版社、出版时间、简介等单一或组合条件进行查询。

图书信息更新及删除。

图书信息发布后,管理员可以随时更新和删除图书信息。

(3)借阅图书读者登入图书管理系统之后,将需要的图书的信息输入,可以借阅图书。

由管理员将图书信息修改为“不在馆”。

(4)续借图书读者借书之后,一个月后应归还。

如有需要可以续借图书30天。

此操作由管理员完成。

(5)归还图书读者将已借图书归还给图书馆时,需要管理员确认信息。

并将图书信息修改为“在馆”3.业务规则分析基于功能需求,通过进一步了解,图书管理业务需求如下:(1)所有用户均可以搜索图书信息。

但只有管理员可以对图书信息进行修改。

(2)管理员由管理员编号唯一标识。

(3)每位读者由读者编号唯一标识。

(4)图书编号是图书的唯一标识。

(5)借阅图书后需记录图书当前状态包括在馆、不在馆、已归还、未归还、是否续借。

(6)同一图书分类中可以有多本图书,但是每本图书只能在一种个图书分类中。

三.实体集及属性图3-1图书实体集E-R图图3-2管理员实体集E-R图图3-3读者实体集E-R图图3-4图书分类实体集E-R图四.联系集及E-R图五.逻辑数据库设计六.数据库编程1.创建表(1)创建图书分类表BookClassCREATE TABLE BookClass(classNo varchar(3)not null, className varchar(20)null, CONSTRAINT BookClassPK PRIMARY KEY(classNo) )(2)创建图书表BookCREATE TABLE Book(bookNo varchar(20)not null,classNo varchar(3)not null,bookName varchar(50) not null,author varchar(12)not null,publishName varchar(50),publishDate datetime,introduction varchar(200),CONSTRAINT BookPK PRIMARY KEY(bookNo),CONSTRAINT BookPK1 FOREIGN KEY(classNo)REFERENCES BookClass (classNo))(3)创建管理员表AdminCREATE TABLE Admin(adminNo varchar(12)not null,adminName varchar(12)not null,aSex varchar(2) not null,aPhoneNumber varchar(12) null,address varchar(40) null,CONSTRAINT AdminPK PRIMARY KEY(adminNo))(4)创建读者表ReaderCREATE TABLE Reader(readerNo varchar(12) not null,readerName varchar(10) not null,rSex varchar(2)not null,rPhoneNumber varchar(12) null,institute varchar(20) not null,effectDate datetime,lostEffectDate datetime,breakRules char(2),borrowAdd int,CONSTRAINT ReaderPK PRIMARY KEY(readerNo))(5)创建借阅表BorrowCREATE TABLE Borrow(adminNo varchar(12) not null,bookNo varchar(20)not null,readerNo varchar(12) not null,borrowDate datetime not null,shouldDate datetime not null,renewal char(4) not null,CONSTRAINT BorrowPK PRIMARY KEY(adminNo,readerNo,bookNo), CONSTRAINT BorrowPK1 FOREIGN KEY(adminNo)REFERENCES Admin(adminNo), CONSTRAINT BorrowPK2 FOREIGN KEY(readerNo)REFERENCESReader(readerNo),CONSTRAINT BorrowPK3 FOREIGN KEY(bookNo)REFERENCES Book(bookNo),)(6)创建管理员_图书表Admin_BookCREATE TABLE Admin_Book(adminNo varchar(12) not null,bookNo varchar(20) not null,shopTime datetime,inLibrary char(4)CONSTRAINT Admin_BookPK PRIMARY KEY(adminNo,bookNo),CONSTRAINT Admin_BookPK1 FOREIGN KEY(adminNo)REFERENCESAdmin(adminNo),)(7)创建管理员_读者 Admin_ReaderCREATE TABLE Admin_Reader(adminNo varchar(12) not null,readerNo varchar(12) not null,bookNo varchar(20) not null,brCheck char(4) not null,CONSTRAINT Admin_readerPK PRIMARY KEY(adminNo,readerNo,bookNo), CONSTRAINT Admin_readerPK1 FOREIGN KEY(adminNo)REFERENCESAdmin(adminNo),CONSTRAINT Admin_readerPK2 FOREIGN KEY(readerNo)REFERENCESReader(readerNo),CONSTRAINT Admin_readerPK3 FOREIGN KEY(bookNo)REFERENCESBook(bookNo))2.创建触发器Create Trigger RENEWOn Borrowfor UpdateAsIf Update(renewal)beginUpdate BorrowSet shouldDate=shouldDate+30Where adminNo=1001end3.管理员操作(1)注册INSERT INTO Admin (adminNo, adminName, aSex, aPhoneNumber, address) VALUES(#adminNo, #adminName, #aSex, #aPhoneNumber, #address)(2)注销DELETE FROMAdminWHERE(adminNo =#adminNo);(3)修改个人信息UPDATE AdminSET(adminNo=#adminNo, adminName= #adminName, aSex=#aSex, aPhoneNumber #aPhoneNumber, address#address);(4)增加图书INSERT INTO Book (bookNo, classNo,bookName, author, publishName, publishDate, introduction)VALUES(#bookNo, #classNo,#bookName, #author, #publishName,#publishDate, #introduction)(5)删除图书DELETE FROM BookWHERE(bookNo=#bookNo)(6)修改图书信息UPDATE Book (bookNo=#bookNo, classNo=#classNo,bookName=#bookName, author=#author, publishName=#publishName, publishDate=#publishDate, introduction=#introduction)(7)增加图书分类INSERT INTO BookClass(classNo,className)VALUES(#classNo,#className)(8)删除图书分类DELETE FROM BookClassWHERE(classNo=#classNo)(9)更新图书分类UPDATE BookClass(classNo=#classNo,className=#className)4.读者操作(1)注册INSERT INTO Reader (readerNo, readerName, rSex, rPhoneNumber , institute, effectDate, lostEffectDate, breakRules,borrowAdd) VALUES(#readerNo, #readerName, #rSex,# rPhoneNumber , #institute,#effectDate,# lostEffectDate, #breakRules,#borrowAdd)(2)注销DELETE ReaderWHERE(readerNo=#readerNo)(3)修改个人信息UPDATE ReaderSET (readerNo =#readerNo, readerName =#readerName, rSex= #rSex, rPhoneNumber =# rPhoneNumber , institute= #institute, effectDate=#effectDate ,lostEffectDate=# lostEffectDate, breakRules=#breakRules, borrowAdd =#borrowAdd)(4)查询SELECT * FROM BookWHERE bookNo=#bookNo OR bookName=#bookName5. 管理员对借阅关系的操作(1) 插入读者的信息INSERTINTO Borrow(adminNo, bookNo,readerNo,borrowDate,shouldDate,renewal)VALUES(#adminNo, #bookNo,# readerNo,#borrowDate,#shouldDate,#renewal)(2)更新信息①更新借出信息UPDATE BorrowSET(borrowDate =# borrowDate, shouldDate = shouldDate+30,renewal=’0’)WHERE(adminNo =# adminNoANDreaderNo =# readerNoANDbookNo=#bookNo) UPDATE Admin_BookSET(inLibrary=’0’)WHERE(bookNo=#bookNo)UPDATAReaderSET(borrowAdd= borrowAdd +1)WHERE(readerNo=#readerNo)INSERTINTO Admin_Reader (adminNo, readerNo, bookNo, brCheck)VALUES(#adminNo, #readerNo, #bookNo, #brCheck)②更新续借信息UPDATEBorrowSET (renewal=#renewal)WHERE (adminNo=# adminNoANDreaderNo=#readerNoANDbookNo=#bookNo)③更新还书信息UPDATE Admin_BookSET(inLibrary=1)WHERE(bookNo =#bookNo)UPDATE Admin_ReaderSET(brCheck =’1’)WHERE(adminNo =# adminNoANDreaderNo =# readerNoANDbookNo =# bookNo)七.代码实现1.输入数据设计(1)插入图书分类INSERT INTO BookClass (classNo,className)VALUES('C01','信息技术教材')INSERT INTO BookClass (classNo,className)VALUES('C02','小说')INSERT INTO BookClass (classNo,className)VALUES('C03','外语')INSERT INTO BookClass (classNo,className)VALUES('C04','漫画')(2)插入管理员INSERT INTO Admin (adminNo, adminName, aSex, aPhoneNumber, address) VALUES('1001','王子','女','0','北京')(3)插入读者INSERT INTO Reader (readerNo, readerName, rSex, rPhoneNumber , institute,effectDate, lostEffectDate, breakRules,borrowAdd)VALUES('11111','李瑞','男','9','软件','2010-09-02','2014-06-30','1','10')(4)插入图书INSERT INTO Book (bookNo, classNo,bookName, author, publishName, publishDate, introduction)VALUES('S1234','C01','数据库系统原理与设计','万常选','清华大学出版社','2009-03-05','数据库教程')INSERT INTO Book (bookNo, classNo,bookName, author, publishName, publishDate, introduction)VALUES('S1235','C01','JAVA','吴京','清华大学出版社','2007-05-07','JAVA基础教程')INSERT INTO Book (bookNo, classNo,bookName, author, publishName, publishDate, introduction)VALUES('S1236','C02','红楼梦','曹雪芹','清华大学出版社','2009-09-04','中国四大名着之一')INSERT INTO Book (bookNo, classNo,bookName, author, publishName, publishDate, introduction)VALUES('S1237','C03','英语写作','刘平惠','浙江大学出版社','2006-10-21','基础英语写作教程')INSERT INTO Book (bookNo, classNo,bookName, author, publishName, publishDate, introduction)VALUES('S1238','C04','最漫画','郭敬明','长江出版社','2011-03-17','漫画连载')(5)插入管理员_书籍表INSERT INTO Admin_Book (adminNo, bookNo ,shopTime, inLibrary) VALUES('1001','S1234','2010-7-7','0')INSERT INTO Admin_Book (adminNo, bookNo, shopTime, inLibrary) VALUES('1001','S1235','2008-7-8','1')(6)插入借阅信息INSERT INTO Borrow (adminNo, bookNo,readerNo,borrowDate,shouldDate ,renewal)VALUES('1001','S1234','11111','2012-6-1','2010-7-1','0')INSERT INTO Admin_Reader (adminNo, readerNo, bookNo,brCheck ) VALUES('1001','11111','S1234','0')2.完成借阅、续借、归还的操作设计假设读者想借书籍名为《JAVA》且不知道bookNo(1)借阅操作如下:if((select bookName from Book where bookNo='S1235')='JAVA')beginINSERT INTO Borrow (adminNo, bookNo,readerNo,borrowDate,shouldDate ,renewal)VALUES('1001','S1235','11111','2012-6-8','2012-7-8','0')UPDATE Admin_BookSET inLibrary ='0'WHERE bookNo='S1235'UPDATE ReaderSET borrowAdd=borrowAdd+1WHERE readerNo ='11111'INSERT INTO Admin_Reader (adminNo, readerNo, bookNo, brCheck)VALUES('1001','11111','S1235','0')print'借阅成功!'endelseprint'借阅失败!'(2)续借操作如下:if((SELECT renewalFROM BorrowWHERE adminNo ='1001'AND readerNo ='11111'AND bookNo='S1235')='0')beginUPDATE BorrowSET renewal='1'WHERE adminNo ='1001'AND readerNo ='11111'AND bookNo ='S1235'print'续借成功!'endelseprint'续借失败!'(3)归还操作如下:If((SELECT brCheckFROM Admin_ReaderWHERE adminNo ='1001'AND readerNo ='11111'AND bookNo ='S1235')='0') BEGINUPDATE Admin_BookSET inLibrary ='1'WHERE bookNo ='S1235'print'还书成功!'endelseprint'还书失败!'八.模式求精Admin_Book (adminNo, bookNo, shopTime, inLibrary)依据BCNF, Admin_Book可以分解为以下两个模式:Admin_ Book (bookNo, shopTime, inLibrary)Admin_s(adminNo,bookNo)可以验证,关系模式满足BCNF要求,且分解是无损分解。

相关文档
最新文档