图书管理系统数据库设计-MYSQL实现.docx

上传人:wj 文档编号:85564 上传时间:2022-10-02 格式:DOCX 页数:30 大小:547.76KB
下载 相关 举报
图书管理系统数据库设计-MYSQL实现.docx_第1页
第1页 / 共30页
图书管理系统数据库设计-MYSQL实现.docx_第2页
第2页 / 共30页
图书管理系统数据库设计-MYSQL实现.docx_第3页
第3页 / 共30页
图书管理系统数据库设计-MYSQL实现.docx_第4页
第4页 / 共30页
图书管理系统数据库设计-MYSQL实现.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

图书管理系统数据库设计-MYSQL实现.docx

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

图书管理系统数据库设计-MYSQL实现.docx

图书管理系统数据库设计

一、系统概述

1、系统简介

图书管理是每个图书馆都需要进行的工作。

一个设计良好的图书管理系统数据库能够给图书管理带来很大的便利。

2、需求分析

图书管理系统的需求定义为:

1.学生可以直接通过借阅终端来查阅书籍信息,同时也可以查阅自己的借阅信息。

2.当学生需要借阅书籍时,通过账号密码登陆借阅系统,借阅系统处理学生的借阅,同时修改图书馆保存的图书信息,修改被借阅的书籍是否还有剩余,同时更新学生个人的借阅信息。

3.学生借阅图书之前需要将自己的个人信息注册,登陆时对照学生信息。

4.学生直接归还图书,根据图书编码修改借阅信息

5.管理员登陆管理系统后,可以修改图书信息,增加或者删除图书信息

6.管理员可以注销学生信息。

通过需求定义,画出图书管理系统的数据流图:

数据流图

二、系统功能设计

画出系统功能模块图并用文字对各功能模块进行详细介绍。

系统功能模块图:

三、数据库设计方案图表

1、系统E-R模型

总体E-R图:

精细化的局部E-R图:

学生借阅-归还E-R图:

管理员E-R图:

2、设计表

给出设计的表名、结构以及表上设计的完整性约束。

student:

列名

数据类型

是否为空/性质

说明

stu_id

int

notnull/PK

标明学生唯一学号

stu_name

varchar

notnull

学生姓名

stu_sex

varchar

notnull

学生性别

stu_age

int

notnull

学生年龄

stu_pro

varchar

notnull

学生专业

stu_grade

varchar

notnull

学生年级

stu_integrity

int

notnull/default=1

学生诚信级

book:

列名

数据类型

是否为空/性质

说明

book_id

int

notnull/PK

唯一书籍序号

book_name

varchar

notnull

书籍名称

book_author

varchar

notnull

书籍作者

book_pub

varchar

notnull

书籍出版社

book_num

int

notnull

书籍是否在架上

book_sort

varchar

notnull

书籍分类

book_record

datatime

null

书籍登记日期

book_sort:

列名

数据类型

是否为空/性质

说明

sort_id

varchar

notnull/PK

类型编号

sort_name

varchar

notnull

类型名称

borrow:

存储学生的借书信息

列名

数据类型

是否为空/性质

说明

student_id

varchar

notnull/PK

学生编号

book_id

varchar

notnull/PK

书籍编号

borrow_date

datatime

null

借书时间

expect_return_date

datetime

null

预期归还时间

return_table:

存储学生的归还信息

列名

数据类型

是否为空/性质

说明

student_id

varchar

notnull/PK

学生编号

book_id

varchar

notnull/PK

书籍编号

borrow_date

datetime

null

借书时间

return_date

datatime

null

实际还书时间

ticket:

存储学生的罚单信息

列名

数据类型

是否为空/性质

说明

student_id

varchar

notnull/PK

学生编号

book_id

varchar

notnull/PK

书籍编号

over_date

int

null

超期天数

ticket_fee

float

null

处罚金额

manager:

列名

数据类型

是否为空/性质

说明

manager_id

varchar

notnull/PK

管理员编号

manager_name

varchar

notnull

管理员姓名

manager_age

varchar

notnull

管理员年龄

manager_phone

varchar

notnull

管理员电话

3、设计索引

给出在各表上建立的索引以及使用的语句。

student:

1.为stu_id创建索引,升序排序

sql:

createindexindex_idonstudent(stu_idasc);

2.为stu_name创建索引,并且降序排序

sql:

altertablestudentaddindexindex_name(stu_name,desc);

插入索引操作和结果如下所示:

mysql>createindexindex_idonstudent(stu_idasc);

QueryOK,0rowsaffected

Records:

0Duplicates:

0Warnings:

0

mysql>altertablestudentaddindexindex_name(stu_namedesc);

QueryOK,0rowsaffected

Records:

0Duplicates:

0Warnings:

0

mysql>

book:

1.为book_id创建索引,升序排列

sql:

createindexindex_bidonbook(book_id);

2.为book_record创建索引,以便方便查询图书的登记日期信息,升序:

sql:

createindexindex_brecordonbook(book_record);

插入索引的操作和结果如下所示:

mysql>createindexindex_bidonbook(book_id);

QueryOK,0rowsaffected

Records:

0Duplicates:

0Warnings:

0

mysql>createindexindex_brecordonbook(book_record);

QueryOK,0rowsaffected

Records:

0Duplicates:

0Warnings:

0

borrow:

1.为stu_id和book_id创建多列索引:

sql:

createindexindex_sid_bidonborrow(stu_idasc,book_idasc);

插入索引的操作和结果如下所示:

mysql>createindexindex_sid_bidonborrow(stu_idasc,book_idasc);

QueryOK,0rowsaffected

Records:

0Duplicates:

0Warnings:

0

return_table:

1.为stu_id和book_id创建多列索引:

sql:

createindexindex_sid_bidonreturn_table(stu_idasc,book_idasc);

插入索引的操作和结果如下所示:

mysql>createindexindex_sid_bid_ronreturn_table(stu_idasc,book_idasc);

QueryOK,0rowsaffected

Records:

0Duplicates:

0Warnings:

0

ticket:

1.为stu_id和book_id创建多列索引:

sql:

createindexindex_sid_bidonticket(stu_idasc,book_idasc);

插入索引的操作和结果如下所示:

mysql>createindexindex_sid_bidonticket(stu_idasc,book_idasc);

QueryOK,0rowsaffected

Records:

0Duplicates:

0Warnings:

0

manager:

1.为manager_id创建索引:

sql:

createindexindex_midonmanager(manager_id);

插入索引的操作和结果如下所示:

mysql>createindexindex_midonmanager(manager_id);

QueryOK,0rowsaffected

Records:

0Duplicates:

0Warnings:

0

4、设计视图

给出在各表上建立的视图以及使用的语句。

1.在表student上创建计算机专业(cs)学生的视图stu_cs:

sql:

createviewstu_csas

select*

fromstudent

wherepro=‘cs’;

操作和结果:

mysql>createviewstu_csas

select*

fromstudent

wherestu_pro='cs';

QueryOK,0rowsaffected

2.在表student,borrow和book上创建借书者的全面信息视图stu_borrow:

sql:

createviewstu_borrowas

selectstudent.stu_id,book.book_id,student.stu_name,book.book_name,borrow_date,adddate(borrow_date,30)expect_return_date

fromstudent,book,borrow

wherestudent.stu_id=borrow.stu_idandbook.book_id=borrow.book_id;

操作和结果:

mysql>createviewstu_borrowas

selectstudent.stu_id,book.book_id,student.stu_name,book.book_name,borrow_date,adddate(borrow_date,30)expect_return_date

fromstudent,book,borrow

wherestudent.stu_id=borrow.stu_idandbook.book_id=borrow.book_id;

QueryOK,0rowsaffected

3.创建类别1的所有图书的视图cs_book:

sql:

createviewcs_bookas

select*

frombook

wherebook.book_sortin

(selectboo

frombook_sort

wheresort_id=1);

操作和结果显示:

mysql>createviewcs_bookas

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

当前位置:首页 > 农林牧渔 > 林学

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

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