图书管理系统数据库设计说明书.docx

上传人:b****5 文档编号:30732837 上传时间:2023-08-19 格式:DOCX 页数:17 大小:162.66KB
下载 相关 举报
图书管理系统数据库设计说明书.docx_第1页
第1页 / 共17页
图书管理系统数据库设计说明书.docx_第2页
第2页 / 共17页
图书管理系统数据库设计说明书.docx_第3页
第3页 / 共17页
图书管理系统数据库设计说明书.docx_第4页
第4页 / 共17页
图书管理系统数据库设计说明书.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

图书管理系统数据库设计说明书.docx

《图书管理系统数据库设计说明书.docx》由会员分享,可在线阅读,更多相关《图书管理系统数据库设计说明书.docx(17页珍藏版)》请在冰豆网上搜索。

图书管理系统数据库设计说明书.docx

图书管理系统数据库设计说明书

数据库设计说明书

文档标识:

LMS_07

当前版本:

1.0

当前状态:

草稿

发布日期:

发布

修改历史

日期

版本

作者

修改内容

评审号

变更控制号

2011-11-24

1.0

1引言

编写目的

●本文档主要详细描述了图书管理系统的整个数据库设计,便于开发人员与维护人员的工作,是系统升级的重要参考资料。

背景

●待开发的数据库:

librarymanagement

●开发数据库的软禁系统:

MySQL5.1

客户端连接工具:

NavicatforMySQL

●软件开发项目的任务提出者:

朱微

●软件开发的用户:

厦门理工学院的学生

●数据库负责人员:

卢苑玲

 

定义

LSMLibraryManagerSystem:

图书管理系统;

●数据选项约束表:

用于为其他数据表中的字符型字段提供限定的选项。

●实体表:

用户实际使用的客观表格.

●计算表:

数据来自于对其他一个或多个实体表的计算结果

参考资料

●本项目的《图书管理系统的用户需求说明书》。

●本项目的《图书管理系统的系统需求说明书》

2外部设计

标识符

数据库标示符:

librarymanagement

用户名:

root

密码:

权限:

全部

有效时间:

开发阶段

说明:

系统正式发布后,可能更改数据库用户/密码。

使用它的程序

应用程序的名称:

MySQl,NavicatforMySQL,MyEclipse

约定

所有数据项都用英语单词或单词的部分表示。

每个表都有唯一标示这段id及主键

字符集采用UTF-8,请注意字符的转换。

支持软件

数据设计编辑工具“NavicatforMySQL”。

数据库自带工具(cmd环境)“MySQLCommandLineClient”

管理员工具:

NavicatforMySQL

查询浏览工具:

NavicatforMySQL

命令行工具:

mysql

开发客户端:

NavicatforMySQL

3结构设计

系统数据分布

本系统在校内网及外网使用,所有数据都放在学校的web服务器上

根据我校图书管理的要求,通过对图书管理工作过程的内容和数据流程分析,设计如下面的主要数据项和数据结构:

(1)图书基本信息:

包括编号,图书类别编号,图书编号,作者,书名,出版社,价格,页码,总数,翻译者

(2)借还基本信息:

包括编号,借还编号,借书时间,归还时间,借还情况,读者编号

(3)图书馆基本信息:

包括编号,名称,馆长,电话,地址,邮箱,图书馆网址,建馆时间,基本信息

(4)图书类型基本信息:

包括编号,类型名称,可借阅天数

(5)参数设置基本信息:

包括编号,办证费,有效日期

(6)人员基本信息:

包括编号,人员编号,用户名,密码

(7)读者基本信息:

包括编号,读者编号,姓名,性别,类型编号,职业,生日,证件类型,证件号码,电话,邮箱,管理员,备注

(8)读者类型基本信息:

包括编号,类型名称,可借阅数量

(9)用户基本信息:

包括编号,用户名,密码,真实姓名,权限

概念结构设

根据上面的做的数据项和数据结构和它们之间的关系,设计规划出来的实体有:

系统登陆和首页,系统设置,读者管理,图书管理,图书借还,系统查询,更改口令,退出系统。

各个实体的属性通过实体属性图表示如下面这些图所示。

数据概括分为八部分

(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图

逻辑结构设计

逻辑结构设计的任务是把概念结构设计阶段设计好的E-R图转换成与选用的DBMS产品所支持的数据模型相符合的逻辑结构。

E-R图转换为关系数据模型所要解决的问题是如何将实体和实体间的联系转换成关系模式,如何确定这些关系模式的属性和码。

数据库中两实体间1:

n联系转换为一个与n端对应的关系模式合并的关系模式的方法是将联系的属性与1端的码加入n端作为属性,主码为n端实体的主码。

(1)图书基本信息由E-R图转换成的关系数据模式有:

Book_info图书基本信息表

列名

数据类型

可否为空

说明

id

INT(10)

NOTNULL

编号(主键)

Type_id

INT(10)

NULL

类型编号

Book_id

Varchar(11)

NOTNULL

图书编号

Author

Varchar(21)

NULL

作者

Book_name

Varchar(50)

NOTNULL

图书名称

Publishing

Varchar(50)

NULL

出版社

Price

Float

NOTNULL

价格

Page

Int(10)

NOTNULL

页码

Quantity

Int(10)

NULL

总数

Translator

Varchar(20)

NOTNULL

翻译者

(2)借还基本信息由E-R图转换成的关系数据模式有:

Borrow借还基本信息表

列名

数据类型

可否为空

说明

id

Int(10)

NOTNULL

编号(主键)

bid

Int(10)

NOTNULL

借书编号

Borrow_time

Date

NOTNULL

借书时间

Return_time

int(11)

NOTNULL

还书时间

State

int(11)

NOTNULL

借还情况

Rid

Int(10)

NOTNULL

还书编号

(3)图书馆基本信息由E-R图转换成的关系数据模式有:

Library_info图书管理基本信息表

列名

数据类型

可否为空

说明

id

Int(10)

NOTNULL

编号(主键)

Lib_name

varchar(30)

NOTNULL

图书馆名称

Lib_manager

varchar(20)

NOTNULL

馆长

Telphone

int(10)

NULL

电话

Address

varchar(40)

NULL

地址

E-mail

varchar(50)

Null

邮箱

Lib_web

varchar(50)

Null

图书馆网址

Lib_build

Date

NOTNULL

建馆时间

Lib_info

Text

Null

备注

(4))图书类型信息由E-R图转换成的关系数据模式有:

Library_type图书类型信息表

列名

数据类型

可否为空

说明

id

Int(10)

NOTNULL

编号(主键)

Type_name

varchar(50)

NOTNULL

专业名称

Days

Int(10)

NOTNULL

借阅时间

(5)参数设置基本信息由E-R图转换成的关系数据模式有:

Parameter参数设置信息表

列名

数据类型

可否为空

说明

id

Int(10)

NOTNULL

编号(主键)

Cost

Folat

defaultNULL

办证费

effdate

Int(10)

NOTNULL

有效日期

(6)人员基本信息由E-R图转换成的关系数据模式有:

person_table人员基本信息表

列名

数据类型

可否为空

说明

id

Int(10)

NOTNULL

编号(主键)

pid

Int(10)

NOTNULL

人员编号

Username

varchar(20)

NOTNULL

用户名

Password

varchar(32))

NOTNULL

密码

(7)读者基本信息由E-R图转换成的关系数据模式有:

Reaer_info读者基本信息表

列名

数据类型

可否为空

说明

id

int(10)

NOTNULL

编号(主键)

Reader_id

varchar(11)

NOTNULL

读者编号

Reader_name

varchar(20)

NOTNULL

读者名称

Sex

int(10)

NOTNULL

性别

Type_id

int(10)

NULL

类型编号

Profession

varchar(10)

NOTNULL

职业

Birthday

Date

NULL

生日

Card

varchar(10)

NOTNULL

证件类型

Card_number

varchar(30)

NOTNULL

证件号码

Tel

varchar(30)

NULL

电话

E-mail

varchar(30)

NULL

邮箱

Manager

varchar(10)

NULL

管理员

Info

Text

NULL

备注

(8)读者类型信息由E-R图转换成的关系数据模式有:

Reader_type读者类型信息表

列名

数据类型

可否为空

说明

id

Int(10)

NOTNULL

编号(主键)

Type_name

varchar(20)

NotNULL

类型名称

Quantity

Int(10)

NOTNULL

总数

(9)用户基本信息由E-R图转换成的关系数据模式有:

user_info用户基本信息表

列名

数据类型

可否为空

说明

id

Int(10)

NOTNULL

编号(主键)

Usernam

varchar(45)

NOTNULL

名称

Password

varchar(45)

NOTNULL

密码

Realname

varchar(45)

NULL

真实姓名

Authority

varchar(200)

NULL

权限

物理结构设计

各个表之间的代码实现如下:

(1)图书基本信息:

book_info

CREATETABLE`book_info`(

`id`int(10)unsignedNOTNULLAUTO_INCREMENT,

`Type_id`int(10)unsignedDEFAULTNULLCOMMENT'关联图书类型',

`Book_id`varchar(11)NOTNULLCOMMENT'条形码',

`Author`varchar(21)CHARACTERSETutf8DEFAULTNULLCOMMENT'作者',

`Book_name`varchar(50)CHARACTERSETutf8NOTNULLCOMMENT'书名',

`Publishing`varchar(50)CHARACTERSETutf8DEFAULTNULL,

`Price`floatunsignedNOTNULLCOMMENT'价格',

`Page`int(10)unsignedNOTNULLCOMMENT'页码',

`Quantity`int(10)unsignedDEFAULTNULLCOMMENT'关联读者类型的id',

`Translator`varchar(20)CHARACTERSETutf8DEFAULTNULLCOMMENT'译者',

PRIMARYKEY(`id`),

KEY`FK_book_info_1`(`Type_id`),

CONSTRAINT`FK_book_info_1`FOREIGNKEY(`Type_id`)REFERENCES`library_type`(`id`)

)ENGINE=InnoDBAUTO_INCREMENT=12DEFAULTCHARSET=latin1COMMENT='图书信息';

(2)借还基本信息表:

borrow

CREATETABLE`borrow`(

`id`int(10)unsignedNOTNULLAUTO_INCREMENT,

`Bid`int(10)unsignedDEFAULTNULLCOMMENT'关联图书表的id',

`Borrow_time`dateNOTNULL,

`Return_time`dateNOTNULL,

`State`int(10)unsignedNOTNULL,

`Rid`int(10)unsignedNOTNULLCOMMENT'关联读者信息表的',

PRIMARYKEY(`id`),

KEY`FK_borrow_1`(`Bid`),

KEY`FK_borrow_2`(`Rid`),

CONSTRAINT`FK_borrow_1`FOREIGNKEY(`Bid`)REFERENCES`book_info`(`id`),

CONSTRAINT`FK_borrow_2`FOREIGNKEY(`Rid`)REFERENCES`reader_info`(`id`)

)ENGINE=InnoDBDEFAULTCHARSET=latin1;

(3)图书馆基本信息表:

library_info

CREATETABLE`library_info`(

`id`int(10)unsignedNOTNULLAUTO_INCREMENT,

`Lib_name`varchar(30)CHARACTERSETutf8NOTNULL,

`Lib_manager`varchar(20)CHARACTERSETutf8NOTNULL,

`Telphone`int(10)unsignedDEFAULTNULL,

`Address`varchar(40)CHARACTERSETutf8NOTNULL,

`E-mail`varchar(50)CHARACTERSETutf8DEFAULTNULL,

`Lib_web`varchar(30)CHARACTERSETutf8DEFAULTNULL,

`Lib_build`dateNOTNULL,

`Lib_info`textCHARACTERSETutf8,

PRIMARYKEY(`id`)

)ENGINE=InnoDBAUTO_INCREMENT=2DEFAULTCHARSET=latin1;

(4)图书类型基本信息表:

library_type

CREATETABLE`library_type`(

`id`int(10)unsignedNOTNULLAUTO_INCREMENT,

`Type_name`varchar(50)CHARACTERSETutf8NOTNULLCOMMENT'图书类型',

`Days`int(10)unsignedNOTNULLCOMMENT'可借天数',

PRIMARYKEY(`id`)

)ENGINE=InnoDBAUTO_INCREMENT=5DEFAULTCHARSET=latin1COMMENT='图书类型'

(5)参数设置基本信息表:

parameter

CREATETABLE`parameter`(

`id`int(10)NOTNULLDEFAULT'0',

`cost`floatNOTNULL,

`effdate`int(10)NOTNULL,

PRIMARYKEY(`id`)

)ENGINE=InnoDBDEFAULTCHARSET=gbk;

(6)人员基本信息表:

person_table

CREATETABLE`person_table`(

`id`int(10)unsignedNOTNULLAUTO_INCREMENT,

`Pid`int(10)unsignedNOTNULL,

`Username`varchar(20)CHARACTERSETutf8NOTNULL,

`Password`varchar(32)CHARACTERSETutf8NOTNULL,

PRIMARYKEY(`id`)

)ENGINE=InnoDBAUTO_INCREMENT=8DEFAULTCHARSET=latin1;

(7)读者基本信息表:

reader_info

CREATETABLE`reader_info`(

`id`int(10)unsignedNOTNULLAUTO_INCREMENTCOMMENT'动自编号',

`Reader_id`varchar(11)NOTNULLCOMMENT'条形码',

`Reader_name`varchar(20)CHARACTERSETutf8NOTNULLCOMMENT'名',

`Sex`int(10)unsignedNOTNULLDEFAULT'1'COMMENT'性别',

`Type_id`int(10)unsignedDEFAULTNULLCOMMENT'关联读者类型',

`Profession`varchar(10)CHARACTERSETutf8DEFAULTNULLCOMMENT'业职',

`Birthday`dateDEFAULTNULL,

`Card`varchar(10)CHARACTERSETutf8NOTNULLCOMMENT'证件类型',

`Card_number`varchar(30)CHARACTERSETutf8NOTNULLCOMMENT'证件号码',

`Tel`varchar(30)CHARACTERSETutf8DEFAULTNULLCOMMENT'话电',

`E-mail`varchar(30)CHARACTERSETutf8DEFAULTNULL,

`Manager`varchar(10)CHARACTERSETutf8DEFAULTNULL,

`Info`textCHARACTERSETutf8COMMENT'注备',

PRIMARYKEY(`id`),

KEY`FK_reader_info_1`(`Type_id`),

CONSTRAINT`FK_reader_info_1`FOREIGNKEY(`Type_id`)REFERENCES`reader_type`(`id`)

)ENGINE=InnoDBAUTO_INCREMENT=14DEFAULTCHARSET=latin1;

(8)读者类型基本信息表:

`reader_type`

CREATETABLE`reader_type`(

`id`int(10)unsignedNOTNULLAUTO_INCREMENT,

`Type_name`varchar(20)CHARACTERSETgbkNOTNULL,

`Quantity`int(10)unsignedNOTNULL,

PRIMARYKEY(`id`)

)ENGINE=InnoDBAUTO_INCREMENT=7DEFAULTCHARSET=latin1;

(9)用户基本信息表:

user_info

CREATETABLE`user_info`(

`id`int(10)unsignedNOTNULLAUTO_INCREMENT,

`Username`varchar(45)NOTNULL,

`Password`varchar(45)NOTNULL,

`Realname`varchar(45)DEFAULTNULL,

`Authority`varchar(200)DEFAULTNULL,

PRIMARYKEY(`id`)

)ENGINE=InnoDBAUTO_INCREMENT=4DEFAULTCHARSET=utf8;

●访问数据的方式方法:

mysql。

4安全保密设计

我们采用登入区分不同的管理员。

不同的管理员存储在不同的表中,而且每个管理员都要自己的密码权限,只有最终管理员可以修改别人的权限。

5数据库实现

数据库建立

采用MysQL建立数据库及各表,使用NavicatforMySQL来运行librarymanagement.sql这个数据库。

数据库初始化

数据库初始化的方法采用的是数据库反转的方式,利用代码以及librarymanagement.sql文件进行反转运行以及初始化。

参数设置

将数据库的字符编码设置为UTF-8,在建立数据库是也要使用UTF-8编码

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 初中作文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1