职业技能综合实训图书管理系统数据库设计说明书数据库设计说明书目录1引言 (3)1.1编写目的 (3)1.2背景 (3)1.3定义 (3)1.4参考资料 (3)2外部设计 (3)2.1标识符 (3)2.2使用它的程序 (4)2.3约定 (4)2.4支持软件 (4)3结构设计 (4)3.1系统数据分布 (4)3.2概念结构设 (5)3.3逻辑结构设计 (9)3.4物理结构设计 (13)4安全保密设计 (16)5数据库实现 (16)5.1数据库建立 (16)5.2数据库初始化 (16)5.3参数设置 (17)1引言1.1编写目的●本文档主要详细描述了图书管理系统的整个数据库设计,便于开发人员与维护人员的工作,是系统升级的重要参考资料。
1.2背景●待开发的数据库:librarymanagement●开发数据库的软禁系统:MySQL 5.1客户端连接工具:Navicat for MySQL●软件开发项目的任务提出者:朱微●软件开发的用户:厦门理工学院的学生●数据库负责人员:卢苑玲1.3定义LSM LibraryManagerSystem :图书管理系统;●数据选项约束表:用于为其他数据表中的字符型字段提供限定的选项。
●实体表:用户实际使用的客观表格.●计算表:数据来自于对其他一个或多个实体表的计算结果1.4参考资料●本项目的《图书管理系统的用户需求说明书》。
●本项目的《图书管理系统的系统需求说明书》2外部设计2.1标识符数据库标示符:librarymanagement用户名:root密码:权限:全部有效时间:开发阶段说明:系统正式发布后,可能更改数据库用户/密码。
2.2使用它的程序应用程序的名称:MySQl,Navicat for MySQL,MyEclipse2.3约定所有数据项都用英语单词或单词的部分表示。
每个表都有唯一标示这段id及主键字符集采用 UTF-8,请注意字符的转换。
2.4支持软件数据设计编辑工具“Navicat for MySQL”。
数据库自带工具(cmd环境)“MySQL Command Line Client”管理员工具:Navicat for MySQL查询浏览工具:Navicat for MySQL命令行工具:mysql开发客户端:Navicat for MySQL3结构设计3.1系统数据分布本系统在校内网及外网使用,所有数据都放在学校的web服务器上根据我校图书管理的要求,通过对图书管理工作过程的内容和数据流程分析,设计如下面的主要数据项和数据结构:(1) 图书基本信息:包括编号,图书类别编号,图书编号,作者,书名,出版社,价格,页码,总数,翻译者(2) 借还基本信息:包括编号,借还编号,借书时间,归还时间,借还情况,读者编号(3) 图书馆基本信息:包括编号,名称,馆长,电话,地址,邮箱,图书馆网址,建馆时间,基本信息(4) 图书类型基本信息:包括编号,类型名称,可借阅天数(5) 参数设置基本信息:包括编号,办证费,有效日期(6) 人员基本信息:包括编号,人员编号,用户名,密码(7) 读者基本信息:包括编号,读者编号,姓名,性别,类型编号,职业,生日,证件类型,证件号码,电话,邮箱,管理员,备注(8) 读者类型基本信息:包括编号,类型名称,可借阅数量(9) 用户基本信息:包括编号,用户名,密码,真实姓名,权限3.2概念结构设根据上面的做的数据项和数据结构和它们之间的关系,设计规划出来的实体有:系统登陆和首页,系统设置,读者管理,图书管理,图书借还,系统查询,更改口令,退出系统。
各个实体的属性通过实体属性图表示如下面这些图所示。
数据概括分为八部分(1) 图书基本信息的E-R图如下图所示:图书信息表E-R图(2) 借还基本信息的E-R图如下图所示:借还信息表E-R图(3) 图书馆基本信息的E-R图如下图所示:图书馆信息表E-R图(4) 图书类型基本信息的E-R图如下图所示:图书类型表E-R图(5) 参数设置基本的E-R图如下图所示:参数设置表E-R图(6) 人员基本信息的E-R图如下图所示:人员信息表E-R图(7) 读者基本信息的E-R图如下图所示:读者信息表E-R图(8) 读者类型基本信息的E-R图如下图所示:读者类型表E-R图(9) 用户基本信息的E-R图如下图所示:用户信息表E-R图3.3逻辑结构设计逻辑结构设计的任务是把概念结构设计阶段设计好的E-R图转换成与选用的DBMS产品所支持的数据模型相符合的逻辑结构。
E-R图转换为关系数据模型所要解决的问题是如何将实体和实体间的联系转换成关系模式,如何确定这些关系模式的属性和码。
数据库中两实体间1:n联系转换为一个与n端对应的关系模式合并的关系模式的方法是将联系的属性与1端的码加入n端作为属性,主码为n端实体的主码。
(1)图书基本信息由E-R图转换成的关系数据模式有:Book_info图书基本信息表(2)借还基本信息由E-R图转换成的关系数据模式有:Borrow借还基本信息表(3)图书馆基本信息由E-R图转换成的关系数据模式有:Library_info图书管理基本信息表(4))图书类型信息由E-R图转换成的关系数据模式有:Library_type 图书类型信息表(5) 参数设置基本信息由E-R图转换成的关系数据模式有:Parameter参数设置信息表(6) 人员基本信息由E-R图转换成的关系数据模式有:person_table人员基本信息表(7) 读者基本信息由E-R图转换成的关系数据模式有:Reaer_info读者基本信息表(8) 读者类型信息由E-R图转换成的关系数据模式有:Reader_type读者类型信息表(9) 用户基本信息由E-R图转换成的关系数据模式有:user_info用户基本信息表3.4物理结构设计各个表之间的代码实现如下:(1) 图书基本信息:book_infoCREATE TABLE `book_info` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT,`Type_id` int(10) unsigned DEFAULT NULL COMMENT '关联图书类型',`Book_id` varchar(11) NOT NULL COMMENT '条形码',`Author` varchar(21) CHARACTER SET utf8 DEFAULT NULL COMMENT '作者',`Book_name` varchar(50) CHARACTER SET utf8 NOT NULL COMMENT '书名',`Publishing` varchar(50) CHARACTER SET utf8 DEFAULT NULL,`Price` float unsigned NOT NULL COMMENT '价格',`Page` int(10) unsigned NOT NULL COMMENT '页码',`Quantity` int(10) unsigned DEFAULT NULL COMMENT '关联读者类型的id',`Translator` varchar(20) CHARACTER SET utf8 DEFAULT NULL COMMENT '译者', PRIMARY KEY (`id`),KEY `FK_book_info_1` (`Type_id`),CONSTRAINT `FK_book_info_1` FOREIGN KEY (`Type_id`) REFERENCES`library_type` (`id`)) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=latin1 COMMENT='图书信息';(2) 借还基本信息表:borrowCREATE TABLE `borrow` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT,`Bid` int(10) unsigned DEFAULT NULL COMMENT '关联图书表的id',`Borrow_time` date NOT NULL,`Return_time` date NOT NULL,`State` int(10) unsigned NOT NULL,`Rid` int(10) unsigned NOT NULL COMMENT '关联读者信息表的',PRIMARY KEY (`id`),KEY `FK_borrow_1` (`Bid`),KEY `FK_borrow_2` (`Rid`),CONSTRAINT `FK_borrow_1` FOREIGN KEY (`Bid`) REFERENCES `book_info` (`id`), CONSTRAINT `FK_borrow_2` FOREIGN KEY (`Rid`) REFERENCES `reader_info` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;(3) 图书馆基本信息表:library_infoCREATE TABLE `library_info` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT,`Lib_name` varchar(30) CHARACTER SET utf8 NOT NULL,`Lib_manager` varchar(20) CHARACTER SET utf8 NOT NULL,`Telphone` int(10) unsigned DEFAULT NULL,`Address` varchar(40) CHARACTER SET utf8 NOT NULL,`E-mail` varchar(50) CHARACTER SET utf8 DEFAULT NULL,`Lib_web` varchar(30) CHARACTER SET utf8 DEFAULT NULL,`Lib_build` date NOT NULL,`Lib_info` text CHARACTER SET utf8,PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;(4) 图书类型基本信息表:library_typeCREATE TABLE `library_type` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT,`Type_name` varchar(50) CHARACTER SET utf8 NOT NULL COMMENT '图书类型', `Days` int(10) unsigned NOT NULL COMMENT '可借天数',PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1 COMMENT='图书类型' (5) 参数设置基本信息表:parameterCREATE TABLE `parameter` (`id` int(10) NOT NULL DEFAULT '0',`cost` float NOT NULL,`effdate` int(10) NOT NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=gbk;(6) 人员基本信息表:person_tableCREATE TABLE `person_table` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT,`Pid` int(10) unsigned NOT NULL,`Username` varchar(20) CHARACTER SET utf8 NOT NULL,`Password` varchar(32) CHARACTER SET utf8 NOT NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=latin1;(7) 读者基本信息表:reader_infoCREATE TABLE `reader_info` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '动自编号',`Reader_id` varchar(11) NOT NULL COMMENT '条形码',`Reader_name` varchar(20) CHARACTER SET utf8 NOT NULL COMMENT '名',`Sex` int(10) unsigned NOT NULL DEFAULT '1' COMMENT '性别',`Type_id` int(10) unsigned DEFAULT NULL COMMENT '关联读者类型',`Profession` varchar(10) CHARACTER SET utf8 DEFAULT NULL COMMENT '业职', `Birthday` date DEFAULT NULL,`Card` varchar(10) CHARACTER SET utf8 NOT NULL COMMENT '证件类型',`Card_number` varchar(30) CHARACTER SET utf8 NOT NULL COMMENT '证件号码', `Tel` varchar(30) CHARACTER SET utf8 DEFAULT NULL COMMENT '话电',`E-mail` varchar(30) CHARACTER SET utf8 DEFAULT NULL,`Manager` varchar(10) CHARACTER SET utf8 DEFAULT NULL,`Info` text CHARACTER SET utf8 COMMENT '注备',PRIMARY KEY (`id`),KEY `FK_reader_info_1` (`Type_id`),CONSTRAINT `FK_reader_info_1` FOREIGN KEY (`Type_id`) REFERENCES `reader_type` (`id`)) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=latin1;(8) 读者类型基本信息表:`reader_type`CREATE TABLE `reader_type` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT,`Type_name` varchar(20) CHARACTER SET gbk NOT NULL,`Quantity` int(10) unsigned NOT NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1;(9) 用户基本信息表:user_infoCREATE TABLE `user_info` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT,`Username` varchar(45) NOT NULL,`Password` varchar(45) NOT NULL,`Realname` varchar(45) DEFAULT NULL,`Authority` varchar(200) DEFAULT NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;访问数据的方式方法:mysql。