12020年4月19日数据库课程设计安徽省巢湖学院计算机与信息工程学院课程设计报告课程名称《数据库课程设计》课题名称图书管理系统专业计算机科学与技术姓名欧佳佳学号10012061班级10计本1班联系方式指导教师王宏卫摘要数据库原理及应用课程设计是软件工程专业集中实践性环节之一,是学习完《数据库原理及应用》课程后进行的一次全面的综合练习。其目的在于加深对数据库基础理论和基本知识的理解,掌握使用数据库进行软件设计的基本方法,提高运用数据库解决实际问题的能力,最终实现对于给定的应用环境,构造最优的数据库模式,建立数据库及其应用文档仅供参考,不当之处,请联系改正。32020年4月19日系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。数据库及其应用系统是具有管理功能的计算机系统,而数据库原理及应用课程设计在开发应用程序中至关重要,合理的数据表结构不尽有利于软件的快速开发,而且有利于以后对软件的维护。当前,中国的科技水平高速发展,计算机作为今天使用最广的现代化工具已深入到各个领域,而且正在成为未来社会——信息社会的重要支柱。在这样的大背景下,现代图书馆的管理方式,资源建设等方面都发生了重大变化,这种变化表现在图书馆工作,管理和服务平台发生的变化,图书馆不再是传统的手工操作,人工管理,而是全面实行计算机管理。一个简单的图书管理系统包括图书馆内书籍的信息、学校在校学生的信息以及学生的借阅信息。系统在IBMDB2平台上用SQL语言来编写实现。此系统功能分为面向学生和面向管理员两部分,其中学生能够进行借阅、续借、归还和查询书籍等操作,管理员能够完成书籍和学生的增加,删除和修改以及对学生,借阅、续借、归还的确认。关键词:SQL语言;数据库设计;图书管理系统文档仅供参考,不当之处,请联系改正。42020年4月19日图书馆管理系统设计一、需求分析数据库名:library.mdb1)数据库内含下列表admininfo(管理员资料)board(公告记录)bookinfo(图书资料)class(学生班级资料)classify(图书分类资料)landinfo(图书借阅登记资料)libraryinfo(图书馆基本配置记录)studentinfo(学生资料)2)数据库表详细设计admininfo,管理员资料记录表字段名称数据类型说明长度id自动编号管理员标识号长整型adminname文本登陆名10lpassword文本登陆密码10logins数字登陆次数长整型lastlogin日期/时间上次登陆时间\tiptop数字是否最高管理员,是:1,否:0字节board,公告资料记录表字段名称数据类型说明长度id自动编号公告标识号长整型content文本公告内容60admin数字发表公告管理员ID长整型addtime日期/时间公告发表时间,默认:now()\文档仅供参考,不当之处,请联系改正。52020年4月19日bookinfo,图书资料记录字段名称数据类型说明长度id自动编号图书标识号长整型name文本图书名20classify数字图书分类整型author文本图书作者20bookconcern文本图书出版社25addtime日期/时间进馆时间,默认:now()\amount数字图书数量整型remain数字剩余数量整型loandegree数字借出次数长整型display数字是否显示,是:0,否:1字节class,学生班级资料记录字段名称数据类型说明长度id自动编号班级标识号长整型name文本班级名20classify,图书分类资料字段名称数据类型说明长度id自动编号分类标识号长整型name文本分类名10landinfo,图书借阅登记资料记录字段名称数据类型说明长度id自动编号借出图书标识号长整型bookid数字借出的图书标识号长整型studentid数字借书的学生标识号长整型landtime日期/时间借出时间,默认:Now()\returntime日期/时间实际还书的时间\shouldreturntime日期/时间应该还书的时间\hadreturn数字标识是否已经归还,是:1,否:0字节canreland数字续借次数长整型libraryinfo,图书馆基本配置记录字段名称数据类型说明长度canland数字是否可借出图书,是:1,否:0字节canlandnum数字能够借出图书的数量默认:0整型canlanddays数字图书能够借阅时间默认:60天整型canreland数字能够续借的次数默认:5次整型boardreflash数字公告刷新时间默认时间为6000毫秒长整型studentinfo,学生资料记录字段名称数据类型说明长度id自动编号学生标识号长整型文档仅供参考,不当之处,请联系改正。62020年4月19日name文本学生名5lpassword文本学生登陆密码10learnid文本学生学号12class数字班级标识号整型phone文本联系电话11lands数字借阅次数长整型logins数字登陆次数长整型lastlogin日期/时间最后登陆时间\islock数字是否超时锁定是:1否:0字节3)安全性和完整性要求本程序实现学生与图书馆管理员的界面分离模式,同时实现管理员对学生有全面的资料管理功能。有多个图书、学生、系统的动态管理功能,如:图书的查询、添加、删除、修改与及学生的详细资料的查询、添加、删除、修改等等多样、动态的管理。同时能够放权给非最高级管理员查询、添加、删除、修改的能力,实现密码修改。图书管理需要针对书籍、读者、员工以及查询和借阅信息进行有效的管理。此系统在功能上要实现信息查询、借阅图书(包括借阅日期、归还日期和借阅时间)等功能。流程图:读者情图书情图书信P2借书P3安全D3借书记D2读者记图读管P1内部D1图书图读管理员读者信借还书文档仅供参考,不当之处,请联系改正。72020年4月19日二、E-R图模型三、关系模式(带下划线的为主码,带波浪线的为外码)图书信息(图书编号,书名,类别,库存)图书信图书书类库借阅管借阅员借书图书姓名学号编姓名存放图书归还mnmn借阅书图书书归还书图书书名nn图书预约期限文档仅供参考,不当之处,请联系改正。82020年4月19日借阅信息(借书时间,归还时间,图书编号,)借阅人(图书编码,姓名,学号)借阅书籍(图书编号,书名)归还书籍(图书编号,书名)管理信息(图书编号,存放位置)员工(员工编号,姓名)四、函数依赖T_1={图书编号→书名,书名→类别,图书编号→类别}(传递依赖)T_2={(借书时间,归还时间)→图书编号,图书编号→借书时间,图书编号→归还时间}(完全函数依赖)T_3={学号→姓名,(姓名,学号)→图书编号,学号→图书编号}(部分函数依赖)T_4={图书编号→存放位置}T_5={员工编号→姓名}(非平凡的函数依赖)五、Sql语句,建立数据库和表(1)、建立数据库CREATEDATABASELIBERONPRIMARY(NAME='liber_data',文档仅供参考,不当之处,请联系改正。92020年4月19日FILENAME='e:\sql\liber\liber_data.mdf',SIZE=20MB,MAXSIZE=UNLIMITED,FILEGROWTH=10%),(NAME='liber_data1',FILENAME='e:\sql\liber\liber_data.ndf',SIZE=20MB,MAXSIZE=UNLIMITED,FILEGROWTH=10%)LOGON(NAME='liber_log',FILENAME='e:\sql\liber\liber_data.ldf',SIZE=50MB,MAXSIZE=100MB,FILEGROWTH=10MB)GO(2)建表文档仅供参考,不当之处,请联系改正。102020年4月19日1、书籍表createtable书籍(图书编号char(10)primarykey,书名char(15),作者char(10),出版社编号char(10),价格char(5),出版日期char(10),)2、出版社表createtable出版社(出版社编号char(10)primarykey,出版社名称char(10),地址char(10),电话char(15),)文档仅供参考,不当之处,请联系改正。112020年4月19日3、客库户信息表createtable客户信息(客户编号char(10)primarykey,姓名char(10),性别char(5),电话char(15),身份证号char(20),会员char(5),积分char(10),)4、书籍采购表createtable采购信息(图书编号char(10)primarykey,单价char(5),文档仅供参考,不当之处,请联系改正。122020年4月19日厂家char(10),日期char(15),采购员char(5),)5、入库表createtable销售信息(图书编号char(10)primarykey,售价char(5),销售数量char(5),销售日期char(10),单价char(5),销售员char(5),)6、销售表createtable工作人员(工作编号char(10)primarykey,姓名char(10),文档仅供参考,不当之处,请联系改正。132020年4月19日性别char(5),工作类型char(5),)7、工作人员表createtable工作人员(工作编号char(10)primarykey,姓名char(10),性别char(5),工作类型char(5),)8、供货商信息表createtable供货商(供货编号char(10)primarykey,供货商char(5),地址char(5),联系电话char(10),文档仅供参考,不当之处,请联系改正。142020年4月19日)三、插入数据1、对书籍表插入书籍insertinto书籍values('001','《英语》','周凯','01','20','-10-12')insertinto书籍values('002','《数学》','邢星','02','27','-09-01')insertinto书籍values('003','《语文》','王博轩','03','32','-08-27')insertinto书籍values('004','《物理》','胡森','04','25','-12-25')insertinto书籍values('005','《化学》','史佩玉','05','39','-10-01')2、对出版社表插入文档仅供参考,不当之处,请联系改正。152020年4月19日insertinto出版社values('01','长江出版社','武汉','12345678')insertinto出版社values('02','西南出版社','重庆','12233445')insertinto出版社values('03','人民出版社','北京','11223344')insertinto出版社values('04','西北出版社','西安','87654321')insertinto出版社values('05','大众出版社','郑州','88776655')3、对客户信息表插入insertinto客户信息values('1001','周特','男','6923','','是','108')insertinto客户信息values('1002','刘一','女','64466611','','是','120')insertinto客户信息values('1003','马池','男','67324613','','否','0')文档仅供参考,不当之处,请联系改正。162020年4月19日insertinto客户信息values('1004','武乐','女','69272314','','否','0')insertinto客户信息values('1005','邢泽','男','692