资源描述
图书管理数据库设计说明书
———————————————————————————————— 作者:
———————————————————————————————— 日期:
2
个人收集整理 勿做商业用途
图 书 库 存 管 理 系 统
数据库设计说明书
目 录
0. 文档介绍 4
0.1 文档目的 4
0。2 文档范围 4
0。3 读者对象 4
0。4 术语与缩写解释 4
1。 数据库环境说明 5
2。 数据库的命名规则 5
3。 逻辑设计 5
4.物理设计 8
4.0 表汇总 8
4。1 用户表 9
4.2 图书信息表 9
4。3 出版社信息表 10
4。4 库存信息表 10
4。5 进货信息表 10
4.6 退货信息表 11
4。7 出货信息表 11
4。8报损信息表 11
5。 安全性设计 12
5。1 防止用户直接操作数据库的方法 12
5.2 用户密码的加密方法 12
5。3 角色与权限 12
6。 数据库管理与维护说明 13
0. 文档介绍
0.1 文档目的
本份是图书库存管理系统的数据库设计说明,主要用于说明数据库环境、命名规则、逻辑、物理设计以及数据库的安全性设计和数据库管理和维护说明.
0.2 文档范围
包括数据库环境,数据库命名规则,逻辑设计,物理设计以及数据库安全性广义地说设计和数据库管理和维护说明.
0.3 读者对象
本计划的读者是公司高级管理者、项目管理员、用户及开发人员、质保人员、测试人员。
0.4 术语与缩写解释
缩写、术语
解 释
SD
系统设计,System Design
1. 数据库环境说明
1.1数据库系统:
SQL Server 2000
1。2设计工具:
Microsoft Visio 2003
1。3编程工具
C#
2. 数据库的命名规则
1. 避免使用常用的名称空间[Namespace]中的类型名称[Class Name]。
2. 避免使用与常用关键词[Keywords]有冲突的标识符[Identifier]。
3。 变量采取加前缀组合方式。
4.属性用名词或名词短语命名属性。
3。 逻辑设计
public class Back
{
private int BackID; //主键
public string Account; //记录操作人员
public DateTime Date; //记录操作时间
private string Bnumber; //记录操作图书出版号
public int Amount; //记录操作数量
}
public class Stock
{
private int StockID; //主键
public string Account; //记录操作人员
public DateTime Date; //记录操作时间
private string Bnumber; //记录操作图书出版号
public int Amount; //记录操作数量
}
public class Sell
{
private int SellID; //主键
public string Account; //记录操作人员
public DateTime Date; //记录操作时间
private string Bnumber; //记录操作图书出版号
public int Amount; //记录操作数量
}
public class Waste
{
private int WasteID; //主键
public string Account; //记录操作人员
public DateTime Date; //记录操作时间
private string Bnumber; //记录操作图书出版号
public int Amount; //记录操作数量
}
public class Publish
{
private int PublishID; //记录出版社号
public string Bpublish; //记录出版社信息
private string Bnumber; //记录图书出版号
}
public class Location
{
private int LocationID; //记录库存位置号
public string BLocation; //记录库存位置信息
private string Bnumber; //记录图书出版号
}
public class Administrator
{
private string Account; //帐号设置为固定长度字符串位(主////键);
private string Password; //密码设置位~位;
private int flag=0; //初始化为,分(,)用于标识帐号是否可//用;
}
public class Book
{
private string Bnumber; //书的出版号,用一个固定字符串来表示的(主//键);
private string Bname; //书名采用位的可变字符串长度表示;
private DateTime Bdate; //出版日期采用日期形式;
private float Binprice; //价格用的是单精度型,适应各种形式的价钱;
private float Bsellprice; //同上;
private float Bbackprice; //同上;
private long Storagenumber//用于标识库存量;
}
4.物理设计
4。0 表汇总
表名
功能说明
Administrator
记录系统使用者,即库存管理人员。
Book
记录为库存中图书信息,对每一类书进行管理。
Stock
记录图书进货信息
Back
记录图书退货信息
Sell
记录图书出货信息
Waste
记录图书报损信息
Publish
记录出版社信息
Location
记录图书存放位置信息
4.1 用户表
表名
Administrator
列名
数据类型(精度范围)
空/非空
约束条件
Account
Vachar(10)
not null
主键
Password
Vachar(10)
not null
不能低6 位
Flag
Char(1)
not null
取值只能为0,1
补充说明
无
4.2 图书信息表
表名
Book
列名
数据类型(精度范围)
空/非空
约束条件
Bnumber
CHAR(10)
not null
主键
Bname
CHAR(30)
not null
无
Bauthor
CHAR(10)
not null
无
Bdate
DATETIME
not null
格式:1900—0—0
Binprice
Float
not null
规范价格表示法(单位:元)
Bsellprice
Float
not null
规范价格表示法(单位:元)
Bbackprice
Float
null
规范价格表示法(单位:元)
BpublishID
Int
not null
外码
BlocationID
Int
not null
外码
补充说明
无
4.3 出版社信息表
表名
Publish
列名
数据类型(精度范围)
空/非空
约束条件
BpublishID
Int
not null
主键
Bpublish
Vachar(30)
not null
无
Bnumber
CHAR(10)
not null
外码
补充说明
无
4.4 库存信息表
表名
Location
列名
数据类型(精度范围)
空/非空
约束条件
BlocationID
Int
not null
主键
BLocation
Vachar(30)
not null
无
Bnumber
CHAR(10)
not null
外码
补充说明
无
4.5 进货信息表
表名
Stock
列名
数据类型(精度范围)
空/非空
约束条件
StockID
Int
not null
主键
Amount
Int
not null
正数
Account
Vachar(30)
not null
有系统获取
Date
DateTime
not null
格式:1900—0—0
补充说明
无
4.6 退货信息表
表名
Back
列名
数据类型(精度范围)
空/非空
约束条件
BackID
Int
not null
主键
Amount
Int
not null
正数
Account
Vachar(30)
not null
有系统获取
Date
Datetime
格式:1900—0—0
补充说明
无
4.7 出货信息表
表名
Sell
列名
数据类型(精度范围)
空/非空
约束条件
SellID
Int
not null
主键
Amount
Int
not null
正数
Account
Vachar(30)
not null
有系统获取
Date
Datetime
格式:1900—0—0
补充说明
无
4。8报损信息表
表名
Waste
列名
数据类型(精度范围)
空/非空
约束条件
WasteID
Int
not null
主键
Amount
Int
not null
正数
Account
Vachar(30)
not null
有系统获取
Date
Datetime
格式:1900-0—0
补充说明
无
5. 安全性设计
5。1 防止用户直接操作数据库的方法
在管理方面,用户只能用帐号登陆到应用软件,通过应用软件访问数据库,而没有其它途径操作数据库。每一管理员对数据库操作后都有一项记录。
为防止用户非法登陆,在用户创建的同时,每个用户都必须确定自己的密码.用户只用在登陆系统以后,才可进行数据操作(如:查询、删除、添加以及更新)。在用户登陆时,如果用户3次密码错误,为了保证系统安全性,则系统将该用户加入黑名单。此时,这个帐号将被冻结,只有在用户在通知超级管理员后才可以激活此账号。
此外,为保证数据库内数据的安全性,要求在数据输入和更改时进行数据检测(如:范围、格式等),可以通过正则表达式实现.一致性方面,主要考虑有多个用户进行数据操作时,对于数据库更新、修改等要求互斥访问,有系统信息提示。
5。2 用户密码的加密方法
在用户密码输入时,要求输入两次密码,只有在两次输入密码一致的时候,才允许密码入库,否则,要求用户重新输入,页面显示为*号.
在入库前还需要用加密算法,对密码进行加密,将密文存入数据库。在用户登录时,将数据库中密文取出,用相应的解密算法解密后,与用户输入密码进行匹配,一致则进入系统,不一致则要求用户,重新输入。如果用户3次密码错误,为了保证系统安全性,则系统将该用户加入黑名单。此时,这个帐号将被冻结,只有在用户在通知超级管理员后才可以激活此账号。
此外,用户设置的密码不能少于6位。
5。3 角色与权限
角色
可以访问的表与列
操作权限
普通管理员
图书表
可以对表中项进行查询、添加、修改和删除
进货信息表
可以对表中信息进行查询,没有其他权限,只更改数量信息
退货信息表
可以对表中信息进行查询,没有其他权限,只更改数量信息
出货信息表
可以对表中信息进行查询,没有其他权限,只更改数量信息
报损信息表
可以对表中信息进行查询,没有其他权限,只更改数量信息
超级管理员
图书表
可以对表中项进行查询、添加、修改和删除
进货信息表
可以对表中信息进行查询,没有其他权限,只更改数量信息
退货信息表
可以对表中信息进行查询,没有其他权限,只更改数量信息
出货信息表
可以对表中信息进行查询,没有其他权限,只更改数量信息
报损信息表
可以对表中信息进行查询,没有其他权限,只更改数量信息
黑名单
有查询、修改权限
6。 数据库管理与维护说明
1、定期对数据库进行备份。一但发生异常,则更新至最近正常状态。并通过查询日志,对数据库进行更新。
2、由超级管理员定期对库存基本信息进行维护,并对日志进行管理。
Copyright © 4-2小组right reserved.
Page 14 of 14
展开阅读全文