当前位置:文档之家› 关于图书馆管理系统的Mysql设计报告

关于图书馆管理系统的Mysql设计报告

《高级数据库系统(MYSQL)》课程设计报告课题:图书馆管理系统班级:计科N141姓名: xxx学号: 200000000001目录一.课程设计目的.................................................................................................................................... 二.系统设计.............................................................................................................................................1.系统的功能分析 .......................................................2.系统的功能模块设计 ................................................... 三.课程设计说明书 ...............................................................................................................................1. 需求分析 ............................................................(1)数据库需求分析 ....................................................(2)图书馆管理流程图..................................................2. 概要设计 ............................................................ 四.逻辑设计.............................................................................................................................................1.图书信息表 ...........................................................五. 物理设计.............................................................................................................................................六. 数据库建立 ........................................................................................................................................1.创建图书信息表 .......................................................2.创建借阅表 ...........................................................3.用户信息表 ...........................................................4.借书卡信息表 .........................................................七.系统功能实施需要的语句 ............................................................................................................./*用户信息表*/ ........................................................./*借阅表*/ ............................................................./*图书信息表*/ ........................................................./*视图*/ .............................................................../*存储过程*/ ...........................................................END ....................................................................八.数据库的完整性要求 ......................................................................................................................九.数据库安全设计 ...............................................................................................................................十.课程设计心得体会........................................................................................................................... 一.课程设计目的数据库课程设计是为数据库原理及应用课程而独立开设的实践性课程,对于巩固数据库知识,加强学生的实际动手能力和提高学生综合素质十分必要。

通过本实验达到以下目的:1.熟练掌握一种数据库系统(如MYSQL)的使用。

2.熟练掌握一种数据库应用软件开发工具的使用。

3.通过设计实际的数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力。

二.系统设计1.系统的功能分析a. 图书信息管理:图书信息的插入、修改,编号、书名、作者、价格、出版社、出版日期、在馆状态。

管理员用户可以对图书信息进行修改等操作。

读者用户只可以查询图书信息。

b. 读者信息管理:读者信息:账号、密码、读者编号、读者姓名、读者类别编号、联系电话。

管理员对读者信息进行增加、删除、查询及修改等操作。

读者只能对读者信息进行查询操作。

c. 管理员信息管理。

管理员信息:管理员工作号、姓名、电话、备注。

管理员对管理员信息的添加删除修改等操作。

d. 图书借阅管理。

借阅信息:管理员工作号、ISBN、读者编号、借书日期、还书日期。

2.系统的功能模块设计对上述功能进行集中分析、分块,按照结构化程序设计的要求,得到功能模块图如图2-2-1:图2-2-1功能模块图三.课程设计说明书1. 需求分析(1)数据库需求分析通过对图书馆管理过程的内容和数据流程分析,设计如下的数据项和数据结构。

系统的实体集和实体属性:图书信息:ISBN、书名、管理员工作号、作者、价格、出版社、出版日期、在馆状态、简介、备注。

读者信息:读者编号、读者姓名、读者性别、读者类别编号、联系电话、生效时间、失效时间、违章状况、已借数目、备注。

管理员信息:管理员工作号、姓名、性别、电话、住址、备注。

(2)图书馆管理流程图图1-1 图书馆流程图2. 概要设计实体图及E-R图根据1)所要实现的功能设计,可能建立它们之间的关系,进而实现逻辑结构功能。

图书管理信息系统可以划分的实体有:书籍类别信息实体、读者信息实体、书籍信息实体、借阅记录信息实体,归还记录信息实体。

用E-R图一一描述这些实体。

E-R图实体属性图四.逻辑设计五. 物理设计数据库物理设计阶段的任务是根据具体计算机系统(DBMS和硬件等)的特点,为给定的数据库模型确定合理的存储结构和存取方法。

所谓的“合理”主要有两个含义:一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。

主要体现在后者。

1.建立索引:①对book表在bno属性列上建立聚集索引。

②对card 表在cno上建立聚集索引。

2.存储结构确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。

将日志文件和数据库对象(表、索引等)分别放在不同的磁盘可以改进系统的性能。

所以系统将日志文件和数据文件存放在不同磁盘上。

六. 数据库建立1.创建图书信息表CREATE TABLE `book` (`bno` char(8) NOT NULL,`category` char(10) NOT NULL,`title` varchar(40) NOT NULL,`press` varchar(30) NOT NULL,`year` int(11) NOT NULL,`author` varchar(20) NOT NULL,`price` decimal(7,2) NOT NULL,`total` int(11) NOT NULL,`stock` int(11) NOT NULL,PRIMARY KEY (`bno`)) ENGINE=InnoDB DEFAULT CHARSET=utf82.创建借阅表CREATE TABLE `borrow` (`cno` char(7) NOT NULL,`bno` char(8) NOT NULL,`borrow_date` datetime NOT NULL,`return_date` datetime NOT NULL,KEY `library_cno` (`cno`),KEY `library_bno` (`bno`),CONSTRAINT `library_bno` FOREIGN KEY (`bno`)REFERENCES `book` (`bno`) ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT `library_cno` FOREIGN KEY (`cno`)REFERENCES `card` (`cno`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE=InnoDB DEFAULT CHARSET=utf83.用户信息表CREATE TABLE `users` (`id` char(10) NOT NULL,`password` varchar(10) NOT NULL,`username` varchar(10) NOT NULL,`tle` varchar(11) DEFAULT NULL,`userflag` int(11) NOT NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf84.借书卡信息表CREATE TABLE `card` (`cno` char(7) NOT NULL,`name` varchar(40) NOT NULL,`department` varchar(30) NOT NULL,`type` varchar(10) NOT NULL,PRIMARY KEY (`cno`)) ENGINE=InnoDB DEFAULT CHARSET=utf8七.系统功能实施需要的语句/*用户信息表*//*添加记录*/INSERT INTO `library`.`users` (`id`, `password`, `username`, `tle`, `userflag`) VALUES ('0000000002', '1234', '李四2', '2')INSERT INTO `library`.`users` (`id`, `password`, `username`, `tle`, `userflag`) VALUES ('0000000003', '1234', '王五3', '3')/*修改记录*//*删除记录*/delete from userswhere id='0000000001'/*查询记录*/select * from users/*借阅表*/INSERT INTO `library`.`borrow` (`cno`, `bno`, `borrow_date`, `return_date`) VALUES ('0000001', '003', '2017-06-15 16:38:15', '');/*修改记录*/update borrowset return_date='2017-7-14'where bno='003'/*删除记录*/delete from borrowwhere bno='003'/*查询记录*/select * from borrow/*图书信息表*//*添加记录*/INSERT INTO `library`.`book` (`bno`, `category`, `title`, `press`, `year`,`author`, `price`, `total`, `stock`) VALUES ('001', '舞蹈', '极乐净土', 'bilibili出版社', '2015', '98', '3.00', '3', '3')INSERT INTO `library`.`book` (`bno`, `category`, `title`, `press`, `year`, `author`, `price`, `total`, `stock`) VALUES ('002', '曲谱', '九九八十一', 'bilibili出版社','2016', '洛天依', '2.00', '2', '1')INSERT INTO `library`.`book` (`bno`, `category`, `title`, `press`, `year`, `author`, `price`, `total`, `stock`) VALUES ('003', '小说', '诸葛村夫与王司徒的爱情故事','bilibili出版社', '2015', '7.5', '1.00', '1', '1')INSERT INTO `library`.`book` (`bno`, `category`, `title`, `press`, `year`, `author`, `price`, `total`, `stock`) VALUES ('004', '动漫', '某科学的超电磁炮', 'bilibili出版社', '2010', '炮姐', '73.00', '4', '4')/*修改记录*/UPDATE `library`.`book` SET `author` = '麻麻这三个人要撩我' WHERE `book`.`bno` = '001'; /*删除记录*/delete from bookwhere bno='001'/*查询记录*/select * from book/*视图*/create view 读者查询as select 读者姓名,联系电话,生效时间from 读者信息表where 违章状况='无'/*存储过程*/CREATE DEFINER=`root`@`localhost` PROCEDURE `users_procedure`(IN P_name INT,IN P_pwd INT)BEGINselect namefrom userswhere name=p_name;END八.数据库的完整性要求通过各种约束,默认值,规则和触发器实现数据的完整性。

相关主题