图书管理方案计划系统数据库设计-MYSQL实现

图书管理方案计划系统数据库设计-MYSQL实现
图书管理方案计划系统数据库设计-MYSQL实现

图书管理系统数据库设计

一、系统概述

1、系统简介

图书管理是每个图书馆都需要进行的工作。一个设计良好的图书管理系统数据库能够给图书管理带来很大的便利。

2、需求分析

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

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

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

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

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

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

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

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

数据流图

-`

三、数据库设计方案图表

1、系统E-R模型

2、设计表

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

3、设计索引

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

student:

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

sql:create index index_id on student(stu_id asc);

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

sql:alter table student add index index_name(stu_name, desc);

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

mysql> create index index_id on student(stu_id asc);

Query OK, 0 rows affected

Records: 0 Duplicates: 0 Warnings: 0

mysql> alter table student add index index_name(stu_name desc); Query OK, 0 rows affected

Records: 0 Duplicates: 0 Warnings: 0

mysql>

book:

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

sql:create index index_bid on book(book_id);

2.为book_record创建索引,以便方便查询图书的登记日期信息,升序:sql:create index index_brecord on book(book_record);

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

mysql> create index index_bid on book(book_id);

Query OK, 0 rows affected

Records: 0 Duplicates: 0 Warnings: 0

mysql> create index index_brecord on book(book_record);

Query OK, 0 rows affected

Records: 0 Duplicates: 0 Warnings: 0

borrow:

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

sql:create index index_sid_bid on borrow(stu_id asc, book_id asc);

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

mysql> create index index_sid_bid on borrow(stu_id asc, book_id asc); Query OK, 0 rows affected

Records: 0 Duplicates: 0 Warnings: 0

return_table:

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

sql:create index index_sid_bid on return_table(stu_id asc, book_id asc);

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

mysql> create index index_sid_bid_r on return_table(stu_id asc, book_id asc); Query OK, 0 rows affected

Records: 0 Duplicates: 0 Warnings: 0

ticket:

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

sql:create index index_sid_bid on ticket(stu_id asc, book_id asc);

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

mysql> create index index_sid_bid on ticket(stu_id asc, book_id asc); Query OK, 0 rows affected

Records: 0 Duplicates: 0 Warnings: 0

manager:

1.为manager_id创建索引:

sql:create index index_mid on manager(manager_id);

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

mysql> create index index_mid on manager(manager_id);

Query OK, 0 rows affected

Records: 0 Duplicates: 0 Warnings: 0

4、设计视图

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

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

sql: create view stu_cs as

select *

from student

where pro = ‘cs’;

操作和结果:

mysql> create view stu_cs as

select *

from student

where stu_pro = 'cs';

Query OK, 0 rows affected

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

sql: create view stu_borrow as

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

from student, book, borrow

where student.stu_id = borrow.stu_id and book.book_id = borrow.book_id;

操作和结果:

mysql> create view stu_borrow as

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

from student, book, borrow

where student.stu_id = borrow.stu_id and book.book_id = borrow.book_id;

Query OK, 0 rows affected

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

sql: create view cs_book as

select *

from book

where book.book_sort in

(select book_https://www.360docs.net/doc/a815911309.html,

from book_sort

where sort_id = 1);

操作和结果显示:

mysql> create view cs_book as

select *

from book

where book.book_sort in

(select book_sort.sort_name

from book_sort

where sort_id = 1);

Query OK, 0 rows affected

4.创建个人所有借书归还纪录视图stu_borrow_return:

sql:

create view stu_borrow_return as

select student.stu_id, student.stu_name, book.book_id, book.book_name,return_table.borrow_date,return_table.return_date

from student, book, return_table

where student.stu_id = return_table.stu_id and book.book_id = return_table.book_id;

5、设计触发器

给出在各表上建立的触发器以及使用的语句。

1.设计触发器borrow, 当某学生借书成功后,图书表相应的图书不在架上,变为0:sql:

create trigger borrow

after insert on borrow

for each row

begin

update book set book_num = book_num – 1

where book_id = new.book_id;

end

操作与结果显示:

mysql> delimiter $$

mysql> create trigger trigger_borrow

-> after insert on borrow

-> for each row

-> begin

-> update book set book_num = book_num - 1

-> where book_id = new.book_id;

-> end

-> $$

Query OK, 0 rows affected

在插入表borrow之前,book_id = 1 的图书还在架上,为1:

学生1借了这本书后,在borrow中插入了一条记录:

在borrow中插入这条记录后,book_id =1的图书,不在架上,为0:

2.设计触发器trigger_return,还书成功后,对应的书籍book_num变为1:

sql:

create trigger trigger_return

after insert on return_table

for each row

begin

update book set book_num = book_num + 1

where book_id = new.book_id;

end

还书时在return_table插入表项:

此时图书归还架上:

3.定义定时器(事件)eventJob,每天自动触发一次,扫描视图stu_borrow,若发现当前有预期归还时间小于当前时间,则判断为超期,生成处罚记录,这个定时器将每天定时触发存储过程proc_gen_ticket:

sql:

create event if not exists eventJob

on schedule every 1 DAY /*每天触发*/

on completion PRESERVE

do call proc_gen_ticket(getdate()); /*调用存储过程*/

set global event_scheduler = 1;

alter event eventJob on completion preserve enable; /*开启定时器*/

操作和结果显示:

1). 学生1借了图书1,生成借书记录stu_borrow视图,如下:

2). 当他在1月27日前还书时,没有生成罚单:

3). 当他在1月27日后还书时,生成罚单:

4.设计触发器trigger_credit,若处罚记录超过30条,则将这个学生的诚信级设置为0,下次不允许借书:

sql:

create trigger trigger_credit

after insert on ticket

for each row

begin

if (select count(*) from ticket where stu_id=new.stu_id)>30 then

update student set stu_integrity = 0 where stu_id = new.stu_id;

end if;

end

操作和结果显示,测试时选择插入ticket项大于3,因为30太大了,不容易测试:

学生1超过3次超期归还图书后,产生了4条罚单:

此时触动触发器trigger_credit,将学生1的诚信级设置为0:

四、应用程序设计与编码实现

1、系统实现中存储函数和存储过程的设计

要求给出功能描述和代码。

1. 设计存储过程,产生罚单proc_gen_ticket:

当日期超过预定归还日期时,产生罚单,并将记录写入表ticket中,这个存储过程在定时器eventJob中调用:

sql:

create procedure proc_gen_ticket(in currentdate datetime)

BEGIN

declare cur_date datetime;

set cur_date = currentdate;

replace into ticket(stu_id, book_id, over_date, ticket_fee)

select stu_id, book_id, datediff(cur_date,stu_borrow.expect_return_date),0.1*datediff(cur_date,stu_borrow.expect_ return_date)

from stu_borrow

where cur_date>stu_borrow.expect_return_date;

end

操作和结果显示:

1). 学生1借了图书1,生成借书记录stu_borrow视图,如下:

2). 当他在1月27日前还书时,没有生成罚单:

3). 当他在1月27日后还书时,生成罚单:

2.设计学生注册信息存储过程:学生注册信息stu_register

sql:

create procedure stu_register(in stu_id int, in stu_name varchar(20), in stu_sex varchar(20), in stu_age int, in stu_pro varchar(20), in stu_grade varchar(20))

begin

insert into student(stu_id, stu_name, stu_sex, stu_age, stu_pro, stu_grade)

values(stu_id, stu_name, stu_sex, stu_age, stu_pro, stu_grade);

end

3. 设计管理员注册信息存储过程:ma_register

sql:

create procedure ma_register(in ma_id int, in ma_name varchar(20), in ma_age int, in ma_phone int)

BEGIN

insert into manager

values(ma_id, ma_name, ma_age, ma_phone);

END

4. 借书过程的实现:

1)设计存储函数,func_get_credit,返回学生的诚信级:

create function func_get_credit(stu_id int) returns int

begin

return(select stu_integrity from student where student.stu_id = stu_id);

end

2)设计存储函数,func_get_booknum,返回书籍是否在架上:

create function func_get_booknum(book_id int) returns int

begin

return(select book_num from book where book.book_id = book_id);

end

3)设计存储过程proc_borrow,调用func_get_credit和func_get_booknum,判断这

个学生诚信度和书籍是否在架上,若为真,则借书成功,在borrrow表中插入纪录;

否则提示失败:

create procedure proc_borrow(in stu_id int, in book_id int, in borrow_date datetime)

begin

if func_get_credit(stu_id) = 1 and func_get_booknum(book_id) = 1 then

insert into borrow

values(stu_id, book_id, borrow_date);

else

select 'failed to borrow';

end if;

end

实验操作与结果显示:

borrow纪录为空:

执行函数,学生1借图书2:

call proc_borrow(1,2,now());

学生1的诚信级为0:

借书失败:

修改学生1诚信级为1:

此时借书成功:

5. 还书存储过程proc_return:

当还书时,查看是否书是否超期,即查询ticket表项,当发现超期,提示交罚单后再次还书,

如没有超期,则纪录归还项目到return_table中,并且删除借书纪录(以免还书后定时器仍然扫描这个纪录):

sql:

create procedure proc_return(in stu_id int, in book_id int, in return_date datetime) begin

DECLARE borrowdate datetime;

if (select payoff from ticket where ticket.stu_id = stu_id and ticket.book_id=book_id) = 1 then /*判断是否交了罚单,1表示没有交*/

select 'please pay off the ticket';

else /*纪录归还项目到return_table中,并且删除借书纪录*/

set borrowdate = (select borrow_date from borrow where borrow.stu_id = stu_id and borrow.book_id = book_id);

insert into return_table

values(stu_id, book_id, borrowdate, return_date);

delete from borrow

where borrow.stu_id = stu_id and borrow.book_id = book_id;

end if;

end

实验操作与结果显示:

学生1借了图书2:

超期产生了罚单,没有交罚单,payoff=1:

此时调用还书过程:

call proc_return(1, 2, now());

提示交罚单:

交罚单,调用proc_payoff:

call proc_payoff(1, 2);

交罚单成功,payoff = 0;

此时再次调用还书过程:

call proc_return(1, 2, now());

还书成功,在return_table生成了还书纪录:

6. 交罚单存储过程:

修改罚单中payoff段为0,表明罚单已交:

create procedure proc_payoff(in stuid int, in bookid int)

begin

update ticket

set payoff = 0

where ticket.stu_id = stuid and ticket.book_id = bookid;

select ‘succeed’;

end

交罚单,调用proc_payoff:

call proc_payoff(1, 2);

交罚单成功,payoff = 0;

2、功能实现

按各功能模块进行描述。要求:画出流程图并给出实现代码。

●创建学生统一账户,账户名:student_account,并且授予权限:

sql:

create user 'student_account'@'localhost';

grant insert,select on student to 'student_account'@'localhost';

grant select on book to 'student_account'@'localhost';

grant insert,select on borrow to 'student_account'@'localhost';

grant insert,select on return_table to 'student_account'@'localhost';

grant select on ticket to 'student_account'@'localhost';

●创建管理员统一账户,账户名:manager_account, 并且授予全部权限:

sql:

create user 'manager_account'@'localhost' identified by '123';

grant all on library_management to 'manager_account'@'localhost';

●查询图书信息

按书名查找:

select * from book where book_name = ‘sql’;

按作者查找:

select * from book where book_author = ‘author’;

●借书功能:proc_borrow(in stu_id int, in book_id int, in borrow_date datetime)

如果要接的书还在架上,并且学生的诚信级为1,那么可以借书

call proc_borrow(1, 1, now());

命令行操作:

表borrow:

视图stu_borrow:

表book:

●还书功能:proc_return(in stu_id int, in book_id int, in return_date datetime)

call proc_return(1, 1, now());

命令行操作:

表return_table:

表borrow:

表book:

●交罚单功能:proc_payoff(in stuid int, in bookid int)

call proc_payoff(1,1);

实验操作和结果见上节:“6. 交罚单存储过程“

●管理员添加图书:

insert into book

values(…);

操作与结果:

●管理员删除图书:

delete from book

where (condition);

●管理员注销学生信息:

delete from student

where (condition);

●管理员恢复学生的诚信级:

update student

set stu_integrity=1

where (condition);

学生借书-归还流程图:

SQL数据库图书管理系统(完整代码)

作品设计报告书题目:《图书管理系统》 班级网络2012-1班 学号 姓名 课程名称数据库应用技术 指导教师

目录

数据库课程设计报告书 一、设计目标 1.掌握计算机管理信息系统设计的一般方法,主要包括系统分析、系统设计的组织 和实施。 2.关系型数据库管理系统的编程技术,并能独立完成一般小系统的程序设计、调试 运行等工作。 3.培养把所学知识运用到具体对象,并能求出解决方案的能力。 二、数据库存储设计指导思想 在数据库存储设计的无数选择中,简单是系统架构师和DBA 的秘密武器。 简单,有时候就来自于对一个特定的表或表空间没有选择最优I/O 特性,总有这么一种可能,一个富有经验的DBA 拥有高超的存储技能并可以没有时间限制的去为一个非常重要的表或者索引配置一个存储。然而这样做的问题是,就算能达到设计的最佳性能,为了维护原始对象,这也经常造成对一个系统的管理变得更加复杂。好的数据库存储设计的要点是,在一个动态系统上,实现所有目标应该是最初的系统设计的一部分,并应该在数据库运行过程中长期进行。这篇文档简单的最佳实践描述达到了这些目标并且几乎没有性能损失。 三、任务 角色:读者、图书馆馆员、系统管理员;基础数据:读者信息、图书信息、操作员信息;业务数据:借还书记录登记、罚款登记;统计数据:书籍借阅情况统计或读者借阅情况统计。基本要求:利用数据库技术,完成基础数据和业务数据的储存和操作,数据库设计合理1.设计报告:含E-R图、数据字典、关系模式、关系实例、查询描述、关系代数、SQL 实现的查询语言及查询结果。 2.上机实现。

1.问题描述 1.1背景 随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。 另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。 提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。 1.2数据需求 图书馆管理信息系统需要完成功能主要有: 1. 读者基本信息的输入,包括借书证编号、读者姓名、读者性别。 2.读者基本信息的查询、修改,包括读者借书证编号、读者姓名、读者性别等。 3.书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。 4.书籍类别信息的查询、修改,包括类别编号、类别名称。 5.书籍库存信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、登记日期。 6.书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期登记日期等。 7.借书信息的输入,包括读者借书证编号、书籍编号、借书日期。 8.借书信息的查询、修改,包括借书证编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期等。 9.还书信息的输入,包括借书证编号、书籍编号、还书日期。 10.还书信息的查询和修改,包括还书读者借书证编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期等。 11.超期还书罚款输入,还书超出期限包括超出期限还书的读者借书证号,书籍编号,罚款金额。

数据库管理系统的设计与实现

数据库管理系统的设计与实现 1.DBMS的目标 (1)用户界面友好对一个实用DBMS来说,用户界面的质量直接影响其生命力。DBMS的用户接口应面向应用,采用适合最终用户的交互式、表格式、菜单式、窗口式等界面形式,以方便使用和保持灵活性。一般地说,用户界面应具有可靠性、简单性、灵活性和立即反馈等特性。 (2)功能完备DBMS功能随系统的规模的大小而异。大型DBMS功能齐全,小型DBMS功能弱一些。DBMS主要功能包括数据定义、数据库数据存取、事务控制、数据库组织和存储管理、数据库安全保护等等。我们在下面讨论这些功能的内容。 (3)效率高系统效率包括三个方面:一是计算机系统内部资源的使用效率。能充分利用资源(包括存储空间、设备、CPU等),并注意使各种资源负载均衡以提高整个系统的效率,二是DBMS本身的运行效率。三是用户的生产率。这是指用户学习、使用DBMS和在DBMS基础上开发的应用系统的效率。 2.DBMS的基本功能 (1)数据库定义对数据库的结构进行描述,包括外模式、模式、内模式的定义;数据库完整性的定义;安全保密定义(如用户口令、级别、存取权限);存取路径(如索引)的定义。这些定义存储在数据

字典(亦称为系统目录)中,是DBMS运行的基本依据。为此,提供数据定义语言DDL。 (2)数据存取提供用户对数据的操纵功能,实现对数据库数据的检索、插入、修改和删除。一个好的DBMS应该提供功能强易学易用的数据操纵语言(DML)、方便的操作方式和较高的数据存取效率。DML有两类:一类是宿主型语言,一类是自含型语言。前者的语句不能独立使用而必须嵌入某种主语言,如C语言、COBOL语言中使用。而后者可以独立使用,通常以供终端用户交互使用和批处理方式两种形式使用。 (3)数据库运行管理这是指DBMS运行控制、管理功能。包括多用户环境下的并发控制、安全性检查和存取权限控制、完整性检查和执行、数据加密、运行日志的组织管理、事务的管理和自动恢复(保证事务的正确性),这些功能保证了数据库系统的正常运行。 (4)数据组织、存储和管理DBMS要分门别类地组织、存储各类数据,包括数据字典(亦称系统目录)、用户数据、存取路径等等。要确定以何种文件结构和存取方式在存储级上组织这些数据,如何实现数据之间的联系。数据组织和存储的基本目标是提高存储空间利用率,选择合适的存取方法确保较高存取(如随机查找、顺序查找、增、删、改)效率。 (5)数据库的建立和维护包括数据库的初始建立、数据的转换、数据库的转储和恢复、数据库的重组织和重构造以及有性能监测分析等功能。

数据库图书管理系统

create database 图书管理系统 on ( name = 图书管理系统, filename ='c:\图书管理系统.mdf', size = 10 , maxsize =20 , filegrowth=5) log on ( name = lib_log, filename= 'c:\lib_log.ldf', size = 5, maxsize = 25 , filegrowth =5 ) Create table 管理员信息表 ( 工作号varchar(10) primary key not null, 姓名varchar(10) , 性别varchar(10), 电话varchar(10) ); (2)书籍信息表的建立 drop table 图书信息表 create table 图书信息表 ( 图书编号varchar(20) primary key not null, 书名varchar(50) not null, 主编varchar(20) not null, 出版社varchar(20) not null, 作者varchar(20) not null); (3)读者信息表的建立 create table 读者信息表 ( 读者学号varchar(10) primary key not null, 读者姓名varchar(10) not null, 联系电话varchar(10) not null, 读者性别varchar(5) not null, 所在院系varchar(10) ) (4)借阅关系表建立 drop table 借阅表 create table 借阅表

图书管理系统数据库设计-MYSQL实现(2)

图书管理系统数据库设计 一、系统概述 1、系统简介图书管理是每个图书馆都需要进行的工作。一个设计良好的图书管理系统数据库能够给图书管理带来很大的便利。 2、需求分析 图书管理系统的需求定义为: 1.学生可以直接通过借阅终端来查阅书籍信息,同时也可以查阅自己的借阅信息。 2.当学生需要借阅书籍时,通过账号密码登陆借阅系统,借阅系统处理学生的借阅,同时修改图书馆保存的图书信息,修改被借阅的书籍是否还有剩余,同时更新学生个人的借阅信息。 3.学生借阅图书之前需要将自己的个人信息注册,登陆时对照学生信息。 4.学生直接归还图书,根据图书编码修改借阅信息 5.管理员登陆管理系统后,可以修改图书信息,增加或者删除图书信息 6.管理员可以注销学生信息。 通过需求定义,画出图书管理系统的数据流图:

数据流图 二、系统功能设计 画出系统功能模块图并用文字对各功能模块进行详细介绍系统功能模块图: 三、数据库设计方案图表 1、系统E-R模型 总体E-R图: 精细化的局部E-R图: 学生借阅-归还E-R图: 管理员E-R图: 2、设计表 给出设计的表名、结构以及表上设计的完整性约束。student :

book: book_so比 borrow:存储学生的借书信息

return_table: 存储学生的归还信息 存储学生的罚单信息 man ager:

3、设计索引 给出在各表上建立的索引以及使用的语句。student : 1. 为stu_id 创建索引,升序排序sql:create index index_id on student(stu_id asc); 2. 为stu_name 创建索引,并且降序排序sql:alter table student add index index_name(stu_name, desc); 插入索引操作和结果如下所示: mysql> create index index_id on student(stu_id asc); Query OK, 0 rows affected Records: 0 Duplicates: 0 Warnings: 0 mysql> alter table student add index index_name(stu_name desc); Query OK, 0 rows affected Records: 0 Duplicates: 0 Warnings: 0 mysql> book: 1. 为book_id 创建索引,升序排列sql:create index index_bid on book(book_id); 2. 为book_record 创建索引,以便方便查询图书的登记日期信息,升序:sql:create index index_brecord on book(book_record); 插入索引的操作和结果如下所示: mysql> create index index_bid on book(book_id);

数据库设计案例-酒店管理系统精品

【关键字】方案、情况、方法、实效、空间、文件、模式、运行、认识、问题、系统、有效、充分、公开、持续、统一、发展、建立、制定、发现、了解、措施、特点、位置、安全、稳定、准则、根本、基础、需要、项目、职能、需求、方式、作用、标准、规模、结构、水平、速度、关系、设置、分析、简化、吸引、逐步、形成、严格、管理、维护、服务、发挥、解决、优化、调整、分工、保障、实现、提高、落实、系统性 酒店管理系统 一、背景说明 目前大多数酒店提供的服务多种多样,规模大小也各不相同,但稍具规模的酒店必含下面三类服务:饮食、住宿和娱乐。由于我们对酒店行业没有具体的接触和实质性的了解。此次数据库设计只能在一些收集到的基本材料与个人直观认识的基础上,简单模仿中等规模的酒店设计管理系统,并将其抽象成一个由三部门组成、实现三大服务的系统。 二、部门的划分 1.饮食部门 它是酒店基本部门之一。它提供服务的特点是实时性强、持续时间短,强调效率。例如,顾客人数、顾客所用的菜及其它饮料等种类繁多,数量不等;后勤各种活动如采购等频繁发生。通过分析可发现,用人工完成此类操作比计算机更具实效与时效,且此类信息也没有长时间保留的必要,因此这些信息没有必要采用数据库管理。对于饮食部门,需要较长时间保留的信息主要是财务信息,一方面便于期末汇总,另一方面便于向上级报告。 在规模较大的酒店餐饮服务部分,餐厅可分成几个等级或几个小部门,然后各自形成小系统,本系统为了简单起见,把饮食部门作为一个子系统,不再细分。 2.住宿管理部门 它也是酒店基本部门之一。住宿管理部门的主要职责有:A.给个房间布置各种设备、分类、编号、制定收费标准、分配服务人员。B.登记旅客信息,确认其身份,登记其入住、退房时间。C.统计各类房间的客满程度。D.对本部门的财务流动进行登记处理。以上信息处理可以通过计算机完成,其他不便于计算机操作的在此没有列出。 3.娱乐管理部门 娱乐是酒店非主流服务,它的存在除了赢利,更多的是为了吸引顾客食宿。娱乐部门的特点与饮食部门很相似,不便于使用计算机进行操作。可以用计算机完成并且有必要用计算机完成的有:A.制定收费标准,分配负责人.B.收入支出财务处理:编号、财务来源去处的摘要、数量、单价、数额、

数据库图书管理系统含代码范文

数据库图书管理系 统含代码

目录 一.需求描述和系统边界 ........................................ 错误!未定义书签。二.需求分析 ............................................................ 错误!未定义书签。 1.业务需求 .............................................................. 错误!未定义书签。 2.功能需求及数据需求分析 ................................... 错误!未定义书签。 3.业务规则分析....................................................... 错误!未定义书签。三.实体集及属性 .................................................... 错误!未定义书签。四.联系集及E-R图................................................. 错误!未定义书签。五.逻辑数据库设计 ................................................ 错误!未定义书签。六.数据库编程 ........................................................ 错误!未定义书签。 1.创立表 .................................................................. 错误!未定义书签。 2.创立触发器 .......................................................... 错误!未定义书签。 3.管理员操作 .......................................................... 错误!未定义书签。 4.读者操作 .............................................................. 错误!未定义书签。 5. 管理员对借阅关系的操作 .................................. 错误!未定义书签。七.代码实现 ............................................................ 错误!未定义书签。 1.输入数据设计.................................................... 错误!未定义书签。 2.完成借阅、续借、归还的操作设计 ................... 错误!未定义书签。八.模式求精 ............................................................ 错误!未定义书签。九.小结.................................................................... 错误!未定义书签。

数据库系统设计说明书

数据库课程设计——学生信息管理系统 学院:机电工程学院 班级:09工业工程 组员:郎建鹏 学号:0911******* 指导老师:李峰平

目录 第一章系统分析 (2) 1 建立新系统的必要性 (2) 2 业务流程分析(业务流程图) (2) 3 数据流程图 (3) 4 数据字典 (4) 第二章系统设计 (4) 1 数据库设计(E-R) (4) 2系统运行环境 (6) 3输入输出设计 (10) 第三章设计总结 (10) 参考文献……………………………………………………………… 图例说明………………………………………………………………

第一章系统分析 1 建立新系统的必要性 这次的课程设计是在学习完《数据库原理》和《delphi程序设计》基础上进行的一次系统性的训练,既是对所学知识的巩固,也是对自己综合运用所学知识解决实际问题的一次锻炼。学生信息管理系统的主要目的是为了方便学校对学生的信息进行录入、修改、查询,提高学校的工作效率。这一系统的开发成功,解决了手写速度慢、容易出错的现状。 学生信息管理可以帮助学校最迅速最准确的完成所需的工作。无论是在适用性、灵活性和易操作性方面都显示出了它的强大功能。 2 业务流程分析(业务流程图)

数据流图是结构化分析中不可缺少的有力工具,它描述了系统的分解,即系统由哪些部分组成,各部分之间有什么联系等。但是,它还不能完整地表达一个系统的全部逻辑特征,特别是有关数据的详细内容。因此,仅仅一套数据流图并不能构成系统说明书,只有对图中出现的每一个成分都给出详细定义以之后,才能全面地描述一个系统。对数据流、数据存储和数据处理的详细描述,需要用数据字典(DD)。它包括数据流、数据存储、外部项和处理过程的详细条目。数据字典中把数据的最小单位定义为数据项,而若干数据项可以组成一个数据结构。数据字典是通过以数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。 第二章系统设计 1 数据库设计(E-R) (1)管理员实体的E-R图 (2)普通用户实体的E-R图

学生数据库设计实例

学生成绩管理系统 目录一:需求分析 二:系统功能描述 三:E-R图 四:数据库逻辑结构设计 五:数据库物理设计 六:代码设计 七:SQL代码 八:界面截图 一:需求分析: 随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长,对学生成绩信息的管理难度随之增大。面队如此庞大的信息量,这就需要学生成绩管理信息系统来提高学生管理工作的效率。通过这样的系统,做到信

息的规范管理、科学统计以及快速的查询和修改,从而减少管理方面的工作量。总体任务是要实现学生成绩信息关系的系统化、规范化和自动化。根据总体任务的要求进行需求分析得出,学生成绩管理信息系统需要完成的功能主要如下:学生基本信息的输入,其中包括学生学号、姓名、性别、所属学院,所属系别,所属班级、出生年月、籍贯、宿舍、联系方式等。 学校基本课程信息的输入,包括课程编号、课程名称、课程属性、课程描述以及完成该课程所得的学分。 教师基本信息的输入,其中包括教师编号,教师姓名,教师职称,所教课程,所教班级等情况 学生信息,教师信息,课程信息,学生考试成绩的插入,删除,修改、查询和统计。 识别每个用户的身份和密码,从而保证信息的安全性,防止信息的外泄和盗用。 还有,涉及到信息的增,删,改的,主要都是面向教务管理员,教师只能录入成绩,查询成绩,修改成绩,和查询个人信息,而学生只能登录查看自己的信息,查询成绩等。 二:系统功能描述 教务处(管理员) 教师学生

三:E-R图(概念结构建立)1)学生查询系统的分E-R图

2)教师查询更新系统的分E-R图 3)管理员分E-R图

图书管理系统数据库详细设计

图书管理系统数据库设计 图书管理系统数据库设计 项目名称:图书管理系统指导老师: 姓名:

目录 一、需求分析 (2) 二、概念设计 (5) 三、逻辑设计 (8) 四、物理设计 (10) 五、实施阶段 (16) 六、运行和维护 (18)

一、需求分析 1.1 系统目标 图书管理信息系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强.数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 系统开发的总体任务是实现各种信息的系统化,规范化和自动化。 1.2 需求定义 图书馆管理系统开发。系统开发的总的设计目标是实现图书管理的系统化、规范化和自动化,实现对图书资料的集中统一的管理。本系统主要实现对图书馆信息的管理,主要功能为管理有关读者、图书、借阅、查询、删除和管理员的信息等。本系统结构分为读者信息管理、图书信息管理,读者管理可以浏览读者的信息,可以对读者信息进行维护。图书管理可以浏览图书的信息,可以对图书信息进行维护。借阅管理可以显示当前数据库中书籍借阅情况,可以对借阅信息进行维护。本系统主要解决的问题是利用关键字对数据库进行查询。本系统的宗旨是提高图书管理工作的效率,减少相关人员的工作量,使学校的图书管理工作真正做到科学、合理的规划,系统、高效

的实施。 1.3 功能需求 (1)有关读者种类标准的制定、种类信息的输入、包括种类编号、种类名称、借书数量、借书期限等。 (2)读者有关信息的修改、查询等。 (3)读者基本信息的输入,包括读者编号、读者姓名、班级、院系等。 (4)读者基本信息的查询、修改 (5)书籍信息的输入,包括书籍编号、书籍名称、书籍所属类别、作者、出版社、出版日期、在库数、价格 (6)借书信息包括借书证号、书籍编号、借出日期、拖欠日期、罚款种额 (7)图书管理书籍号、管理员编号、销书数量、销书日期。

数据库系统课程设计--实例

摘要 数据库技术是计算机科学技术发展最快,应用最为广泛的技术之一。其在计算机设计,人工智能,电子商务,企业管理,科学计算等诸多领域均得到了广泛的应用,已经成为计算机信息系统和应用的核心技术和重要基础。 随着信息技术的飞速发展,信息化的大环境给各成人高校提出了实现校际互联,国际互联,实现静态资源共享,动态信息发布的要求; 信息化对学生个人提出了驾驭和掌握最新信息技术的素质要求;信息技术提供了对教学进行重大革新的新手段;信息化也为提高教学质量,提高管理水平,工作效率创造了有效途径. 校园网信息系统建设的重要性越来越为成人高校所重视. 利用计算机支持教学高效率,完成教学管理的日常事务,是适应现代教学制度要求、推动教学管理走向科学化、规范化的必要条件;而教学管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,不允许出错,如果实行手工操作,每月须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行教学管理工作,不仅能够保证各项准确无误、快速输出,而且还可以利用计算机对有关教学的各种信息进行统计,同时计算机具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高员工工资管理的效率,也是教学的科学化、正规化管理,与世界接轨的件。在软件开发的过程中,随着面向对象程序设计和数据库系统的成熟,数据设计成为软件开发的核心,程序的设计要服从数据,因此教学管理系统的数据库设计尤其重要。 本文主要介绍教学管理系统的数据库方面的设计,从需求分析到数据库的运行与维护都进行详细的叙述。本系统利用IBM DB2企业版本开发出来的。DB2是IBM公司开发的关系关系数据库管理系统,它把SQL语言作为查询语言。 本文的分为5章。其中第1章主要是课题简介及设计的内容与目的。第2章是需求分析,此阶段是数据库设计的起点。第3章是概念设计,它是将需求分析的用户需求抽象为信息结构,这是整个数据库设计最困难的阶段。第4章是逻辑结构设计,它将概念模型转换为某个DBMS所支持的数据模型。第5章是数据库的实施与运行,它包括数据的载入及数据库的运行。 关键词:SQL语言;IBM DB2;数据库设计;教学管理系统 I

图书管理系统数据库设计

工程技术学院 数据库课程设计 题目:图书管理系统数据库设计 学号: 专业班级: 姓名: 指导老师: 完成日期:

目录 一、需求分析 二、概念结构设计 三、逻辑结构设计 四、物理结构设计 五、数据库的构建和数据装入 六、数据库的功能实现 七、总结

1.需求分析 系统现状及主要解决问题 近年来,随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍的增加,面对着庞大的信息量,传统的人工方式管理的记录中我们可以发现这样的问题: (1)检索速度慢、效率低。因为图书馆的藏书种类多、数量多,将藏书准确地分门别类,快速检索,手工进行非常困难往往是终于查到了书的信息,馆中没有此书或已被别人借走。图书馆的规模越大,这个问题越突出。 (2)借书、还书工作量大。借书、还书频率越大,说明图书馆的作用越大,然而随之而来的大量的借书、还书登记、实存图书的更新以及借出图书超期、遗失等的处理,其工作量之大,往往是人工操作所难以胜任的。而且经常会出现这样那样的差错。 (3)图书统计工作难、藏书更新不能及时完成。图书馆的图书应根据科学技术的发展和教学工作的需要及时添加和更新,然而由于藏书数量及图书种类越来越多,加上自然损耗,人为破坏,使图书的统计工作难以及时完成,藏书的更新也就很难有针对性地进行,藏书的知识结构得不到良好地控制。 因此必须制定一套合理、有效、规范和实用的图书管理系统,对图书资料进行集中统一的管理。系统开发的总的设计目标是实现图书管理的系统化、规范化和自动化,实现对图书资料的集中统一的管理。使图书管理者便于对图书和读者的管理。本系统主要实现对图书馆信息的管理,主要功能为管理有关读者、图书、借阅、查询、删除和管理员的信息等。使用该系统之后,图书馆管理人员可以管理读者的登记、图书的购入、借出、归还以及注销等;还可以查询某位读者、某本图书的借阅情况,对当前借阅情况给出一些统计,给出统计表格,以全面掌握图书的流通情况。 能解决的问题 (1) 在读者信息管理部分要求: a.可以查询读者信息。 b.可以对读者信息进行添加及删除的操作。 (2 )在书籍信息管理部分,要求

图书管理系统数据库设计(DOC)

软件工程(课程设计)题目:图书管理系统-数据库设计 学院工商学院 学科门类工科 专业软件工程 学号2012484156 姓名文鹏 指导教师王思乐 2014年12月7日

河北大学学年论文(课程设计)任务书 (指导教师用表) 指导教师签字:

河北大学学年论文(课程设计)成绩评定表 学院:工商学院

数据库设计说明书大纲 1 引言 随着计算机技术的不断应用和提高,计算机已经深入到当今每个学生学习生活的各个角落。而对于学校的图书馆仍采用管理员管理书籍基本信息、书籍借还信息的形式,不仅效率低,而且手续繁琐。为了满足其学生自行对图书馆书籍,借还书等进行高效的查询使用,在学生具备一定的计算机操作能力的前提下,此图书管理系统软件力求提高其图书馆使用效率。 1.1 编写目的 本文档的编写是为了熟悉SQL Server数据库的数据库管理(数据库的创建、备份与恢复、函数与存储过程的应用、数据导入导出、作业的调度等)、表的设计(表的创建、修改、删除,字段的默认值、约束及关系等)、数据的查询处理(insert、update、delete、select语句的应用)等技术;完善图书管理系统软件的开发途径和应用方法。以求在最短的时间高效的开发图书管理系统。 预期读者是“软件工程”教师,及从事“图书管理系统”开发的相关人。 1.2 背景 待开发的数据库的名称:Library Management System(LMS) 使用此数据库的软件系统的名称:图书管理系统。 随着图书馆图书种类、数量的不断扩大,图书检索速度慢、统计工作量大,难以满足图书馆现代化管理的要求。因此,建立一套图书馆管理软件,科学的对图书馆数据进行管理,方便图书的检索和读者借阅工作。 本项目的提出者及开发者是软件工程专业图书管理系统开发小组(高彦昭、甄朝霞、李茹枫、孙华芬、陆叶倩、秦薇),用户是学校图书馆。 图书管理系统软件LMS V1.0是一套功能比较完善的数据管理软件,具有数据操作方便高效迅速等优点。该软件采用功能强大的数据库软件开发工具进行开发,具有很好的可移植性,可在应用范围较广的DOS、WINDOWS系列等操作系统上使用。除此以外,LMS V1.0可通过访问权限控制以及数据备份功能,确保数据的安全性。

数据库系统的设计步骤

数据库系统的设计步骤 数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。下面小编整理了数据库系统的设计步骤,供大家参考! 进行数据库设计首先必须准确了解和分析用户需求。需求分析是整个设计过程的基础,也是最困难,最耗时的一步。需求分析是否做得充分和准确,决定了在其上构建数据库大厦的速度与质量。需求分析做的不好,会导致整个数据库设计返工重做。 需求分析的任务,是通过详细调查现实世界要处理的对象,充分了解原系统工作概况,明确用户的各种需求,然后在此基础上确定新的系统功能,新系统还得充分考虑今后可能的扩充与改变,不仅仅能够按当前应用需求来设计。 调查的重点是,数据与处理。达到信息要求,处理要求,安全性和完整性要求。 分析方法常用SA(Structured Analysis) 结构化分析方法,SA方法从最上层的系统组织结构入手,采用自顶向下,逐层分解的方式分析系统。 数据流图表达了数据和处理过程的关系,在SA方法中,处理过程的处理逻辑常常借助判定表或判定树来描述。在处理功能逐步分解的同事,系统中的数据也逐级分解,形成若

干层次的数据流图。系统中的数据则借助数据字典来描述。数据字典是系统中各类数据描述的集合,数据字典通常包括数据项,数据结构,数据流,数据存储,和处理过程5个阶段。 概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合,归纳与抽象,形成了一个独立于具体DBMS 的概念模型。 设计概念结构通常有四类方法: 自顶向下。即首先定义全局概念结构的框架,再逐步细化。 自底向上。即首先定义各局部应用的概念结构,然后再将他们集成起来,得到全局概念结构。 逐步扩张。首先定义最重要的核心概念结构,然后向外扩张,以滚雪球的方式逐步生成其他的概念结构,直至总体概念结构。 混合策略。即自顶向下和自底向上相结合。 逻辑结构设计是将概念结构转换为某个DBMS所支持的数据模型,并将进行优化。 在这阶段,E-R图显得异常重要。大家要学会各个实体定义的属性来画出总体的E-R图。 各分E-R图之间的冲突主要有三类:属性冲突,命名冲突,和结构冲突。

数据库设计实例—教学管理系统

数据库课程设计报告 教学管理系统 数据库设计 课程设计题目教学管理系统学院软件学院 班级软件技术四班年级2013级 姓名彭超李新徐彤(2014 年11月)

用5行左右的文字对系统进行简要介绍 对教学管理信息统一规范整理,实现各种信息的自动管理。为便于信息的查询,找出各种信息的关联性,根据各种需求设计出合理的报表。 减轻教学日常信息管理的负担,方便学生、教师查询信息和学校对所有信息的管理。以简单便捷的操作获取详尽的信息。 一、数据需求分析 某学校设计学生教学管理系统。学生实体包括学号、姓名、性别、生日、民族、籍贯、简历、登记照,每名学生选择一个主修专业,专业包括专业编号、名称和类别,一个专业属于一个学院,一个学院可以有若干个专业。学院信息要存储学院号、学院名、院长。教学管理还要管理课程表和学生成绩。课程表包括课程号、课程名、学分,每门课程由一个学院开设。学生选修的每门课程获得一个成绩。另外,为了管理教师教学安排,教师包括编号、姓名、年龄、职称,一个教师只能属于一个学院,一名教师可以上若干门课程,一门课程可以有多名老师来上,每个教师所上的每门课都有一个课堂号和课时数。 本系统数据字典如下: 数据项表

数据流 数据流表 二、概念结构设计 1.首先确定系统中的实体 从以上数据需求可以看出,系统共包括5个实体:学生、专业、学院、教师、课程。

2.再确定系统中实体间的关系 根据数据需求描述推出:专业与学生是1对多关系;学生与课程是多对多关系;课程与老师是多对多关系;课程与学院是多对1关系;学院与专业是1对多关系;学院与教师是1对多关系。 3.转化成E-R图 图1 实体-属性图 图2 教学管理ER图 三、逻辑结构设计

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

图书管理系统数据库设计-M Y S Q L实现 公司内部编号:(GOOD-TMMT-MMUT-UUPTY-UUYY-DTTI-

图书管理系统数据库设计 一、系统概述 1、系统简介 图书管理是每个图书馆都需要进行的工作。一个设计良好的图书管理系统数据库能够给图书管理带来很大的便利。 2、需求分析 图书管理系统的需求定义为: 1.学生可以直接通过借阅终端来查阅书籍信息,同时也可以查阅自己的借阅信息。 2.当学生需要借阅书籍时,通过账号密码登陆借阅系统,借阅系统处理学生的借阅,同时修改图书馆保存的图书信息,修改被借阅的书籍是否还有剩余,同时更新学生个人的借阅信息。 3.学生借阅图书之前需要将自己的个人信息注册,登陆时对照学生信息。 4.学生直接归还图书,根据图书编码修改借阅信息 5.管理员登陆管理系统后,可以修改图书信息,增加或者删除图书信息 6.管理员可以注销学生信息。 通过需求定义,画出图书管理系统的数据流图:

数据流图 二、系统功能设计 画出系统功能模块图并用文字对各功能模块进行详细介绍。系统功能模块图: 三、数据库设计方案图表 1、系统E-R模型 总体E-R图: 精细化的局部E-R图: 学生借阅-归还E-R图: 管理员E-R图: 2、设计表 给出设计的表名、结构以及表上设计的完整性约束。student:

book: book_sort: borrow:存储学生的借书信息 return_table:存储学生的归还信息 ticket:存储学生的罚单信息 manager:

3、设计索引 给出在各表上建立的索引以及使用的语句。 student: 1.为stu_id创建索引,升序排序 sql:create index index_id on student(stu_id asc); 2.为stu_name创建索引,并且降序排序 sql:alter table student add index index_name(stu_name, desc); 插入索引操作和结果如下所示: mysql> create index index_id on student(stu_id asc); Query OK, 0 rows affected Records: 0 Duplicates: 0 Warnings: 0 mysql> alter table student add index index_name(stu_name desc); Query OK, 0 rows affected Records: 0 Duplicates: 0 Warnings: 0 mysql> book: 1.为book_id创建索引,升序排列 sql:create index index_bid on book(book_id); 2.为book_record创建索引,以便方便查询图书的登记日期信息,升序:

数据库设计实例

114801班 数据库综合题设计实例 一、问题描述:某集团公司拥有多个大型连锁商场,公司需要构建一个数据库系统以方便管理其业务运作活动 ? 需求分析结果: ? 1、商场需要记录的信息包括:商场编号(编号唯一)、商场名称、地址和联系电话; ? 2、每个商场包含有不同的部门,部门需要记录的信息包括:部门编号(编号唯一)、 部门名称、位置分布和联系电话; ? 3、每个部门雇佣多名员工处理日常事务,每个员工只能隶属于一个部门,员工需 要记录的信息包括:员工编号(编号唯一)、姓名、岗位、电话号码和工资; ? 4、每个部门的员工中有一名是经理,每个经理只能管理一个部门,系统需要记录 每个经理的任职时间。 1、E-R 图 2、关系模式 ? 商场(商场编号,商场名称,地址,联系电话) ? 部门(部门编号,部门名称,位置分布,联系电话,商场编号) – 外键:商场编号 ? 员工(员工编号,员工姓名,岗位,电话号码,工资,部门编号) – 外键:部门编号 ? 经理(员工编号,任职时间) – 外键:员工编号 ? 为使商场有紧急任务时能联系到轮休的员工,要求每位员工必须登记且只能登记一 位紧急联系人的姓名和联系电话,不同的员工可以登记相同的紧急联系人,则在E-R 图中还需添加的实体是什么?该实体和图中的员工存在什么样的联系(联系类型)。给出该实体的关系模式。 ? 紧急联系人,1:n 商场 经理 部门 员工 联系1 联系2 联系3 联系4 1 m n 1 m 1 1 1

? 紧急联系人(员工编号,姓名,联系电话) 二、问题描述:某公司拟开发一多用户电子邮件客户端系统,部分功能的初步需求分析结果如下: ? (1)邮件客户端系统支持多个用户,用户的信息主要包括用户名和用户密码,且 系统的用户名不可重复。 ? (2)邮件帐号信息包括邮件地址及其相应的密码,一个用户可以拥有多个邮件地 址。 ? (3)一个用户可以拥有一个地址簿,地址簿信息包括联系人编号、姓名、电话、 单位地址、邮件地址1、邮件地址2、邮件地址3等信息。地址簿中的一个联系人只能属于一个用户,且联系人编号唯一标识一个联系人。 ? (4)一个邮件帐号可以含有多封邮件,一封邮件可以含有多个附件。邮件主要包 括邮件号、发件人地址、收件人地址、邮件状态、邮件主题、邮件内容、发送时间、接收时间。其中邮件号在整个系统内唯一标识一封邮件,邮件状态有已接收、待发送、已发送和已删除4种,分别表示邮件是属于收件箱、发件箱、已发送箱和废件箱。一封邮件可以发给多个用户。附件信息主要包括附件号、附件文件名、附件大小。一个附件只属于一封邮件,附件号仅在一封邮件内唯一。 2、E-R 图 3、关系模式 ? 用户(用户名,用户密码) ? 地址簿(用户名,联系人编号,姓名,电话,单位地址,邮件地址1,邮件地址2, 邮件地址3) – 外键:用户名 ? 邮件帐号(邮件地址,邮件密码,用户名) – 外键:用户名 ? 邮件(邮件号,发件人地址,收件人地址,邮件状态,邮件主题,邮件内容,发送 时间,接收时间) – 外键:发件人地址,收件人地址 ? 附件(邮件号,附件号,附件文件名,附件大小) – 外键:邮件号 地址簿 邮件帐 邮 件 附 件 用 户 拥有1 拥有2 属于 包含 1 1 1 m 1 1 m m

数据库课程设计图书管理系统

XXXXXX大学 计算机科学与技术学院 课程设计报告 20 11 — 20 12 学年第一学期 课程名称数据库课程设计 设计题目图书管理系统 学生姓名XXX 学号 专业班级 指导教师 2012 年 1 月 9 日 目录 1.需求分析............................. 错误!未定义书签。 1.1背景.............................. 错误!未定义书签。 1.2数据需求 ...................... 错误!未定义书签。 1.3功能需求 ...................... 错误!未定义书签。2.概念结构设计.................... 错误!未定义书签。 2.1 E-R图 .......................... 错误!未定义书签。 3.逻辑结构设计...................... 错误!未定义书签。 3.1 E-R图向关系模式转化 . 错误!未定义书签。 3.2数据字典 ...................... 错误!未定义书签。

4.数据库实现 ......................... 错误!未定义书签。 4.1 表结构截图.................. 错误!未定义书签。 4.2表间关系截图 ............... 错误!未定义书签。 5.数据库功能模块图 .............. 错误!未定义书签。 5.1 数据库功能模块图....... 错误!未定义书签。 5.2 功能模块窗口截图....... 错误!未定义书签。 5.3 数据库具体代码 .......... 错误!未定义书签。 6.课程设计心得...................... 错误!未定义书签。 1.需求分析 1.1背景 随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过 多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制 管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中 统一的管理。 另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息 管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。 提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆更好 的为学校,社会服务。 1.2数据需求 图书馆管理信息系统需要完成功能主要有: 1. 读者基本信息的输入,包括借书证编号、读者姓名、读者性别。 2.读者基本信息的查询、修改,包括读者借书证编号、读者姓名、读者性别等。 3.书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。 4.书籍类别信息的查询、修改,包括类别编号、类别名称。

VFP数据库系统开发实例(附图)

VFP基本数据库系统开发实例(附图) 西南大学计信院 导学 在Visual Foxpro中开发一个应用系统应该包括需求分析、项目创建、模块设计、运行调试、保存发布到建立帮助等,下面介绍如何把各个模块集成起来,并创建一个应用程序。 11.1 系统需求分析 传统的学生成绩管理方法不仅浪效率低,而且由于管理不规范容易导致各种错误的发生。因此实现一个智能化、系统化的公共计算机成绩管理系统是十分必要和不可缺少的。它将大大减轻管理者的劳动强度,降低出错率,提高管理的效率。该系统可以实现如下功能: 1. 数据需求 通过调查,总结出该应用程序对数据的需求大致有如下这些: (1) 学生信息 包括学号,姓名,性别,出生日期,系科,备注,照片 (2) 管理员信息 包括用户名,密码,管理员姓名,权限,说明信息 (3) 学生成绩信息 主要包括学号, 课程编号,平时成绩,笔试成绩,上机成绩,总评成绩,审核否 (4) 课程信息 包括课程编号,课程名称 2. 功能需求 功能分析的任务是了解用户对数据的处理方法和输出格式。 (1) 基本数据录入 基本数据包括学生信息、管理员信息、学生成绩休息和课程信息等。要求系统能够录入这些数据,并且可以进行修改。在数据录入和修改过程中应保持数据的参照完整性。 (2) 查询 能够查询出学生成绩,和补考人员名单等。 (3) 学生和管理员信息的维护 要求能够根据需要对学生和管理员信息进行维护修改等。 (4)成绩的审核 根据学生的总评成绩审核学生的计算机成绩是否通过。 (5) 打印输出 打印学生成绩表和补考人员名单等。 11.2 系统设计 1. 程序总体结构设计 在开始程序设计之前,首先应该将程序的总体结构以层次图的形式表示出来,便于对程序分

相关文档
最新文档