数据库应用设计设计报告

 

数据库应用设计设计报告

1.http://www.csdn.net/ 

上网搜索数据库设计报告

 

2.

图书管理系统

a)         图书室有各种图书10万余册。

b)        每种图书都有书名、书号(ISBN)、一名或多名作者(译者)、出版社、定价、内容简介和目录等。

c)         借书证记录有借阅者的编号、姓名、学号、所在单位或专业班级、职业、签发日期、有效期限等。

d)        凭借书证借书,每人每次最多能借8本书,累积借书不能超过20本。借书期限最长为30天。

二、       需求分析

作为一个图书管理系统,应该给用户提供方便,简洁的界面应用,对图书借阅归还的流通中图书的详细记录进行归档,实现新进图书的数据录入,实现对所有购进图书的分类查询和分类统计,能够按书名、作者等分类查询现有图书的数量,记录借阅者的个人资料和所借图书的书名、书号数据等,借书时如果每次超过限量或累积超过限量,提示相应信息,并拒绝借阅等功能都是必不可少的。

针对图书管理系统,有3类核心对象:借阅者,图书管理员,超级管理员。分别实现图书的流通,图书的管理,图书管理系统的管理。

 

系统包含对象如下:

图书:书号ISBN,书名,别名,版本,作者,出版社,类别,出版日期,进馆日期,数量,简介,定价

借阅者:ID号,登录名,姓名,性别,班级,学院,联系电话,E-mail,年龄,密码,学号,创建日期,

图书管理员:ID号,姓名,性别,联系电话,E-mail,年龄,密码,登录名,创建日期

超级管理员:登录名,密码,与DBS权

关系图如下:

 

 

 

 

 

三、       逻辑结构设计

图书管理系统数据项描述如下:

表book:

属性名

数据描述

数据类型

是否为空

备注

b_id

图书在馆编号ISBN

Varchar(20)

主键

b_name

书名

Varchar(20)

 

b_byname

别名

Varchar(20)

 

b_version

版本

smallint

 

b_author

作者

Varchar(20)

 

b_press

出版社

Varchar(20)

 

b_type

图书类别

Char(10)

 

b_pdate

出版日期

Date()

 

b_indate

进馆日期

Date()

 

b_num

在馆数量

int

 

b_intro

简介

Varchar(200)

 

表user

属性名

数据描述

数据类型

是否为空

备注

u_id

用户编号

Char(10)

主键

u_name

真实姓名

Varchar(10)

 

u_sex

性别

男或女

 

u_class

班级

Varchar(20)

 

u_dept

学院

Varchar(20)

 

u_tel

电话号码

Numeric(11)

 

u_job

工作状况

Char(10)

 

u_mailbox

邮箱

Varchar(50)

 

u_birthday

生日

Date()

 

u_login

登录名

Varchar(20)

 

u_date

创建日期

Date()

 

u_type

用户类型

Useradmin,reder,bookadmin,recordadmin

 

u_picurl

用户照片

Varchar(50)

 

u_password

用户密码

Varchar(20)

初始123456

表record

属性名

数据描述

数据类型

是否为空

备注

u_id

用户编号

Char(10)

外键

主键

b_id

图书编号

Varchar(20)

外键

borrow_date

借阅日期

Date()

 

borrow_num

借阅本数

int

如还书本书>借书则错误,如<则修改

表news

属性名

数据描述

数据类型

备注

n_name

新闻名称

Varchar(50)

主键

n_type

新闻类型

Varchar(10)

 

n_content

新闻类容

Varchar(500)

 

n_date

建立日期

date

 

表pulishment

属性名

数据描述

数据类型

是否为空

备注

P_name

罚款名称

Char(10)

主键

P_money

罚款基本数

Float

 

代码:

--建立数据库

create database if not exists lms;

use lms;

--建立表news

create table news(

n_name varchar(50) primary key,

n_type ENUM('newsmsg','systemmsg'),

n_content varchar(5000),

n_date date

);

--建立表books

create table book(

b_id char(10) primary key,

b_mname varchar(20) not null,

b_bname varchar(20),

b_version smallint,

b_author varchar(20),

b_press varchar(20),

b_type char(10),

b_pdate date,

b_indate date,

b_num smallint UNSIGNED not null,

b_intro varchar(500)

);

--建立表user

create table user(

u_id char(20) primary key,

u_name char(10),

sex ENUM('男','女'),

u_class varchar(20),

u_dept varchar(20),

u_tel numeric(11) UNSIGNED,

u_mailbox varchar(50)  not null,

u_birthday date,

u_login char(10) not null,

u_password char(10) not null,

u_type ENUM('reader','ueradmin','bookadmin','recordadmin'),

u_picurl varchar(50)

);

 

--建立表record

create table record(

u_id char(10),

b_id char(10),

borrow_date date not null,

borrow_num smallint UNSIGNED not null,

primary key(u_id,b_id),

foreign key (u_id) references user(u_id),

foreign key (b_id) references book(b_id)

);

 

--建立表pulishment

create table pulishment(

p_name char(10) primary key,

p_money float not null

);

四、       图书借阅流程

a)      借书:

 

 

 

过程:登陆界面,登陆时判断用户是否存在,不存在的话转入,注册页面,存在的话进行借书操作,检查要借的书是否存在,不存在的话,返回借阅状态,存在的话检查书的数量,数量为0的话转入借阅环节,够的话,借出该书并且记录下借阅信息

 

 

 

 

 

b)      还书:

过程:登陆界面:检测用户是否存在,不存在的话跳入注册页面,存在的话进行还书操作,检查是否存在借书,不存在的话,无法还书,跳转到还书页面,存在借书的话,查看该书的日期,并且按公式算是否超期,不超期的话还书成功,删除借阅信息,超期的话,计算出,罚款数目,如交罚款, 还书成功,删除借阅信息,不交的话,转入还书状态

 

 

 

 

 

五、       用户管理

添加图书管理员或者借阅者

 

 

 

过程:超级管理员登陆.然后进行添加用户操作,分为添加管理员和添加借阅者,不重名的话添加成功,并设置初始密码,权限和角色,重名的话提示用户已经存在,并返回添加用户状态.

 

posted @ 2017-05-02 17:32  feiyun8616  阅读(488)  评论(0编辑  收藏  举报