图书管理系统Oracle
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 前言
图书馆管理系统是具有管理功能的计算机系统,而数据库原理及应用课程设计在开发应用程序中至关重要,合理的数据表结构不仅有利于软件的快速开发,而且有利于以后对软件的维护,使之能够有效的存储数据,满足各种用户的应用需求。
创建一个简单的图书管理系统包括图书的信息,读者(学生和老师)的信息以及读者的借阅信息,管理员的信息。系统在oracle的平台上用sql语言来编写实现,此系统功能分为面向读者和面向管理员两部分,其中读者可以进行借阅,归还和查询等功能,管理员可以完成书籍和读者的增加,删除和修改以及对读者借阅、归还,违规罚款的确认
2
2.1
知识解决实际问题的能力。本设计要求对实际问题进行需求分析,提炼实际问题中的数据,建立关系模型,并在大型数据库中得以实现。同时要求对数据库的运营、管理及使用上进行必要的规划和实现。
2.2课程设计任务
基本任务:
(1)根据需求,补充必要的数据库实体,建立ER模型,通过ER图表示。
(2)在Oracle中创建该系统的数据库,并在数据库中实现各表,写入一定的数据。
(3)从实际查询应用出发,为一些主要的应用模块设计至少3个参数化视图。
(4)从数据检验的角度出发,为相关的表建立至少1个触发器。
(5)从数据更新或修改的角度出发,设计至少1个存储过程。
(6)从安全的角度出发,规划系统的角色、用户、权限,并通过相关的SQL实现。
(7)预计每个表的大致容量和增长速度,指定备份的方案,写出相关的备份命令。
2.3设计环境
(1)WINDOWS XP系统
(2)Oracle数据库管理系统
2.4 开发语言
PL/SQL语言
3 分析和设计
为了实现图书管理系统数据库的设计,其主要思路是根据其任务书而来的。首先是根据资料和其任务书中要实现的主要功能对其进行分析并设计出系统的E-R图。其次根据E-R 图创建主要的表。然后根据具体的需要创建相应的视图,存储过程和触发器,最后是用户、角色、权限设计和数据的备份方案。其全部功能的详细创建和实现过程。后面将会具体的给出。
3.1 系统E-R模型
3.2 表空间及表的设计
create table book
( bno varchar(10) primary key,
bname varchar(40) not null,
writer varchar(30) not null,
btype varchar(8),
price float,
storenum int,
pub varchar(50),
pubday varchar(15)
);
create table reader
( rno varchar(10) primary key,
rname varchar(20) not null,
sex varchar(2) check(sex='男'or sex='女'),
type varchar(8) not null,
bwnum int not null,
depart varchar(20),
phone varchar(15) not null)
);
create table b_borrow
( bno varchar(10),
rno varchar(10),
primary key(bno,rno),
rname varchar(20) not null,
bwday varchar(10) not null,
bkday varchar(10) not null,
foreign key(bno) references book(bno),
foreign key(rno) references reader(rno)
);
create table bmanager
( mno varchar(10) primary key,
mname varchar(20) not null,
msex varchar(2) check(msex='男'or msex='女
'),
mphone varchar(15) not null,
address varchar(20) not null
);
create table b_manage
(mno varchar(10),
bno varchar(10),
primary key (mno,bno),
mname varchar(20) not null,
tnum int not null,
addtime varchar(10),
bwtimes varchar(8) not null,
foreign key(mno) references bmanager(mno),
foreign key(bno) references book(bno)
);
create table r_manage
(mno varchar(10),
rno varchar(10),
primary key (mno,rno),
rname varchar(20),
back varchar(2) check(back='是'or back='否'),
foreign key(mno) references bmanager(mno),
foreign key(rno) references reader(rno)
);
create table m_rule
(mno varchar(10),
rno varchar(10),
primary key (mno,rno),
rname varchar(20) not null,
rtype varchar(10) check(rtype='丢失赔款'or rtype=’损坏