图书馆数据库设计实例(需求分析、概念结构、逻辑结构)

合集下载

数据库课程设计--图书借阅管理系统的设计

数据库课程设计--图书借阅管理系统的设计

图书借阅管理系统的设计1.需求分析图书信息、借阅证件信息及图书借阅管理是一件非常繁琐但又及其重要的工作,因此有必要开发一个数据库管理系统,用来管理这些信息。

这篇课程设计介绍的就是图书借阅信息管理系统。

系统的具体要求如下所述:(1)图书信息的录入:要求能够将图书信息录入到数据库中。

(2)图书信息的修改:根据需要,修改、删除图书信息。

(3)用户登陆:根据用户权限登陆此系统。

(4)系统用户管理:要求可以管理系统的用户,包括添加、修改和删除用户。

(5)借阅证件信息录入:可以输入不同类型的借阅者信息,并根据需要修改、删除借阅证件信息。

(6)借阅证管理:包括借阅证丢失、过期等管理。

(7)借阅管理:包括借书、还书、过期还书与书籍丢失处罚等管理。

2.数据库设计数据库设计主要在SQL Server服务器端建立数据库和数据表,并实现数据处理功能。

本文所设计的数据库中要记录读者的借书情况、图书被借阅的情况以及读者、图书的基本情况。

下面对图书借阅管理系统所需的数据结构进行分析并创建数据库。

2.1 概念结构设计现在对所设计系统的需求作进一步的分析,产生概念结构设计的E-R模型。

由于这个系统并不复杂,因此可采用自顶向下的设计方法。

自顶向下设计的关键是确定系统的核心活动。

所谓核心活动就是系统中的其他活动都要围绕这个活动展开,或与此活动密切相关。

确定了核心活动之后,系统就有了可扩展的余地。

对于这个图书借阅管理系统,其核心活动是借阅,读者与图书之间是通过借阅发生联系的。

因此,此系统包含的实体有:(1) 读者:用于描述一名读者的基本信息,用借书卡编号来标识。

(2) 图书:用于描述一本图书的基本信息,用图书编号来标识。

经过初步分析,可以得到此系统中各实体所包含的基本属性如下:读者:借阅证编号、读者姓名、工作单位、身份证号、借阅证类型、办证日期、证件状态。

图书:图书编号、图书名称、图书分类、作者、出版社、图书价格、图书封面由于一名读者可以同时借阅多本图书,而一本图书一次只能借给一名读者,因此读者和图书之间是一对多的联系。

图书馆数据库设计

图书馆数据库设计

网络工程系综合性实验实验报告课程名称数据库技术与应用学号姓名任课老师图书馆数据库设计一.实验内容:为图书馆设计一个数据库,此数据库对每个借阅者保存读者记录,包括:借书证号、姓名、性别、单位、可借数量。

对每本书记录:书号、书名、作者、出版社。

对每本被借出的书有:读者号、借出日期、应还日期。

可以随时查阅书库中的书籍信息,所有的书籍均由书号唯一标识;可以随时查阅书籍借还情况,系统约定任何人可以借多本图书,任何一种图书可以为多人所借,借书证号具有唯一性。

二.实验要求:1.基于《数据库概论》中所学的知识分析该数据库的基本结构,2.用Transact-sql命令完成如下要求:(1)创建数据库和数据表,定义每个表的主键和外键,为每个属性选择合适的数据类型,定义每个属性是否允许空值,是否有默认值等;(2)结合具体情况为数据库表设置合理的约束或规则;(3)如果需要,为数据表设计合理的触发器;(4)使用SQL语句,在你设计的每个表中插入至少3条数据,要求记录满足数据约束要求,且尽量真实可信;(5)自行设计查询要求,给出经常需要用到的查询语句。

3.写出完整的实验报告。

三.实验代码--创建library数据库create database libraryon primary(name=library_dat,--创建主数据库文件filename='c:\mydata\librarydat.mdf',size=5,maxsize=100,filegrowth=10%)log on(name='library_log',--创建日志数据库文件filename='c:\mydata\librarylog.ldf',size=5,maxsize=100,filegrowth=5)go--借阅者信息表use librarygocreate table reader(rno char(10) primary key,rname char(10) not null,rsex char(2) check(rsex in ('男','女')),rdepart char(30) not null,rmaxb smallint not null default(5),)gocreate table book(bno char(10) primary key ,bname char(20) not null,bauthor char(20) ,bconcern char(20) not null,bnum int not null )gocreate table borrowbook(bbno char(20) primary key,rno char(10) foreign key(rno) references reader(rno),bno char(10) foreign key(bno) references book(bno),bbdateo datetime not null default(getdate()),bbdaten datetime not null default(dateadd(mm,2,getdate())),borrownum int not null default(1) )go--读者借书create proc pr_borrow @rno char(10),@bno char(10)asif(@rno in (select rno from reader) and @bno in(select bno from book)) beginif((select bnum from book where bno=@bno) like 0 or (select rmaxb from reader where rno=@rno) like 0)beginprint '该书本已借完或借书已达最大书目'return -7endelseif(@rno+@bno in (select bbno from borrowbook))beginupdate borrowbookset borrownum=borrownum+1where bbno=@rno+@bnoupdate readerset rmaxb=rmaxb-1 where rno=@rnoupdate bookset bnum=bnum-1 where bno=@bnoendelsebegininsert borrowbook(bbno,rno,bno)values (@rno+@bno,@rno,@bno)update readerset rmaxb=rmaxb-1 where rno=@rnoupdate bookset bnum=bnum-1 where bno=@bnoendendelseprint '您输入的信息有误,请重新输入'return -7go--读者还书create proc pr_return @rno char(10),@bno char(10)asupdate readerset rmaxb=rmaxb+1 where rno=@rnoupdate bookset bnum=bnum+1 where bno=@bnoupdate borrowbookset borrownum=borrownum-1where bbno=@rno+@bnoif ((select borrownum from borrowbook where bbno=@rno+@bno)<=0)begindelete from borrowbook where bbno=@rno+@bnoendgo--添加book数据insert bookvalues('s0001','数据库应用技术','刘卫军','清华大学出版社','10') insert bookvalues('s0002','离散数学','屈婉玲','高等教育出版社','9')insert bookvalues('s0003','计算机英语','刘艺','机械工程出版社','6')insert bookvalues('s0004','java程序设计与教程','王行言','清华大学出版社','12') go--添加reader数据insert readervalues('10168001','张三','男','计算机系通信工程','5')insert readervalues('10168002','李四','女','计算机系网络工程','5')insert readervalues('10168003','吴五','男','计算机系网络工程','5')insert readervalues('10168004','王六','女','计算机系通信工程','5')go四:图书馆数据库的实现--常用查询测试select * from readerselect * from book --查阅书库中的书籍信息select * from borrowbook --查阅书籍借还情况select rno from borrowbook where rno=10168001 --查询借书证为10168001的借书情况--测试中恢复数据用到的语句drop procedure pr_borrowdrop procedure pr_returndrop table borrowbookupdate bookset bnum=8 where bno='s0001'update borrowbookset borrownum=1update readerset rmaxb=5--执行借书还书--1.一本书被多人所借(书借完提示错误)/*借书说明:读者借书使用存储过程pr_borrow,读者借一本书的会记录到borrowbook中,并对book表中的书数量bnum减一,读者最大借书数量减一,读者重复借同一本书籍是会修改borrowbook中的借书数量borrownum。

图书馆一个数据库设计

图书馆一个数据库设计

综合设计性实验为图书馆设计一个数据库,此数据库对每个借阅者保存读者记录,包括:借书证号、姓名、性别、单位、可借数量。

对每本书记录:书号、书名、作者、初版社。

对每本被借出的书有:读者号、借出日期、应还日期。

可以随时查阅书库中的书籍信息,所有的书籍均由书号唯一表记;可以随时查阅书籍借还情况,系统约定任何人可以借多本图书,任何一种图书可以为多人所借,借书证号拥有唯一性。

要求:1.基于《数据库概论》中所学的知识解析该数据库的基本结构,2.用 Transact-sql 命令完成以下要求:(1)创办数据库和数据表,定义每个表的主键和外键,为每个属性选择合适的数据种类,定义每个属性可否赞同空值,可否有默认值等;(2)结合详尽情况为数据库表设置合理的拘束或规则;(3)若是需要,为数据表设计合理的触发器;(4)使用 SQL语句,在你设计的每个表中插入最少 3 条数据,要求记录知足数据拘束要求,且尽量真实可信;(5)自行设计盘问要求,给出经常需要用到的盘问语句。

3.写出完满的实验报告。

附:实验报告模板网络工程系综合性实验实验报告课程名称数据库技术与应用学号姓名张欢任课老师高宁2012 年 11月实验名称图书馆数据库设计create database library:创办图书馆数据库create table reader:创办读者记录数据表create table book:创办每本书记录数据表create table rb:创办借出的书数据表create rule借出日期_rule:创办借出日期的规则并且绑定create rule书号_rule:创办书号拘束规则并且绑定create trigger set_可借数量:创办可借数量触发器alter table rb add constraint t:拘束可借时间 3 个月select * from reader:盘问reader表所有信息select * from book:盘问book表所有信息select * from rb:盘问rb表所有信息select * from rb where姓名='张欢':盘问张欢的所有信息select * from reader,rb:盘问读者借书的所有信息源程序代码:create database librarygouse librarygocreate table reader( 借书证号 char ( 10)not null primary key ,姓名 nchar ( 4)not null,性别 char ( 1) check ( 性别 in( ' 男 ' , ' 女 ' )),单位 char ( 20),可借数量char ( 1))use librarygoinsert readervalues('' ,' 张欢','男','安徽农业大学 ','3' )insert readervalues('' ,' 李四','女','经济技术学院 ','4' )insert readervalues('' ,' 张三','男', ' 安徽医科大学 ' , '5' )create table book( 书号char ( 16)not 书名char ( 18)not 作者char ( 4),初版社char ( 20)) use librarygonullnull,primary key ,insert bookvalues ( 'ab123' , ' 天龙八部 ' , ' 金庸 ' , ' 新华初版社' )insert bookvalues ( 'bc124' , ' 呼叫 ' , ' 鲁迅 ' , ' 安徽初版社' )insert bookvalues ( 'dc124' , ' 数据库 ' , ' 刘卫国 ' , ' 清华大学初版社' )create table rb( 读者号char ( 10) unique ,借出日期datetime not null ,应还日期datetime not null)alter table rbadd constraint t check ( 应还日期 <dateadd ( m, 3, 应还日期 ))use librarygoinsert rbvalues( '1000', '', '')insert rbvalues( '1001', '', '')insert rbvalues( '1002' , '' , '' )create rule借出日期 _ruleas @借出日期 >='1982-01-01'and @借出日期 <=getdate ()exec sp_bindrule借出日期 _rule , 'rb. 借出日期 'create rule书号 _ruleas @value like'[a-h]%[0-9]'exec sp_bindrule书号 _rule, 'book. 书号 'use librarygocreate trigger set_ 可借数量on readerfor insert, deleteasif exists(select*from inserted)update可借数量set可借数量 =可借数量 +1 where reader in ( select reader from inserted )elseupdate可借数量set可借数量 =可借数量 - 1 where reader in ( select reader from deleted)select * from readerselect * from bookselect * from rbselect * from rbwhere姓名='张欢'select * from reader , rbwhere reader . 借书证号 =rb . 读者号。

数据库《图书管理系统》综合实验报告

数据库《图书管理系统》综合实验报告

华北科技学院计算机系综合性实验实验报告课程名称《数据库系统A》实验学期2011 至2012 学年第 2 学期学生所在系部计算机学院年级2010 专业班级网络B10—3班学生姓名安志欣学号200907024320 任课教师郭红实验成绩计算机系制《数据库系统B》课程综合性实验报告借阅执行后的读者信息状态:图书归还后的读者信息状态:创建存储过程后,对dm为1003的读者的借阅信息进行查询后的结果:四、实验结果及分析数据库创建后,对其性能进行测试。

对图书借阅表进行更改,执行语句后,触发器t2首先工作,看读者是否还具有借阅权限,当有借阅权限时对读者信息进行更改,将读者的借阅次数加1,以此来实现对读者以后借书数量的限制。

;t3工作,对图书基本信息中的数据进行修改。

当读者归还图书时,t1工作,删除图书借阅表中的图书信息,图书的库存量相应增加,t4工作,使读者的借书次数减1,使读者可以以后继续借书.用存储过程p1,实现读者对借书信息的查询。

输入语句,并对语句执行后,显示出所输入编号对应读者的借阅信息;p2用于查询每本图书的借阅情况.相对来说,这个数据库的功能还有很大的改进空间,比如安全性方面的问题,读者不能对自己的登录密码进行更改,当有人知道某个读者的编号后,就可以对读者的信息查询,这些都使这个数据库不够完美。

但,这个数据库可以使读者对自己的借书信息,归还信息,个人信息进行查询,在对图书借阅的时候,自动对读者,图书馆藏信息进行更改,在归还图书时,可以对读者和馆藏信息更改,从而减少了图书管理员的操作内容,避免了由于人员输入出错导致数据不能操作的现象.用存储过程减少了临时对语句输入所耗费的时间,提高了系统的操作效率.体会:对于这次综合实验的设计,最开始没有担心太多事情,因为时间给的很多,而且对于图书馆的一些管理内容的东西有比较多的经历,所以最开始就只是先对图书管理的需求进行了下简单的分析,同时进入学校的图书馆管理系统体会已经设计好的数据库系统所应包含的功能与信息。

图书管理系统数据库设计示例

图书管理系统数据库设计示例

图书管理系统数据库设计一个简单的图书管理系统包括图书馆内书籍的信息、学校在校学生的信息以及学生的借阅信息.此系统功能分为面向学生和面向管理员两部分,其中学生可以进行借阅、续借、归还和查询书籍等操作,管理员可以完成书籍和学生的增加,删除和修改以及对学生,借阅、续借、归还的确认.一、需求分析针对一般图书管理信息系统的需求,通过对图书管理工作过程的内容和数据流程分析,设计如下面所示的数据项:1.读者信息属性:读者学号,读者姓名,读者性别,联系电话,所在系,生效日期,失效日期,违章状况,累计借书,备注主键:读者学号2.书籍信息属性:ISBN,书名,作者,出版社,出版日期,简介,备注主键:ISBN3.管理员信息属性:工作号,姓名,性别,电话,家庭住址,备注主键:工作号数据流程通过对系统的调查和可行性分析,画出系统的数据流程图:1.读者学生对图书管理系统的要求有:1)能按各种方式(比如书名、编号、作者)查询图书馆的藏书情况.2)能够方便地借阅图书、续借图书、归还图书3)能够查询自己的基本资料、图书情况4)能够熟悉图书管理系统的使用。

读者进入系统工作的流程为:注册→查询→修改信息→借阅续借→图书归还→注销2.图书管理员他们对图书管理系统的要求有:1)能方便的对图书进行录入登记,注销陈旧的书籍。

2)能够方便地对新生进行登记,或注销已经毕业的学生信息(基本信息,借阅信息).3)能够随时发布一些诸如各学院学生借阅图书超期情况、馆内藏书情况、借情况等信息,以便各学院能够随时获知本院学生的一些借书信息。

图书管理员工作的流程为::注册→录入图书→录入新生→注销图书→注销学生→注销→修改个人信息→超期处理二、概念模型设计数据库需要表述的信息有以下几种:1.读者信息2.书籍信息3.管理员信息4.读者与书籍之间的关系(借阅关系E-R图)5.管理员与书籍之间的关系(管理员_书籍E—R图)6.管理员与学生之间的关系(管理员_学生E-R图)三、逻辑设计从理论‘E/R模型’到理论‘关系模型'的整理转换,通过E/R模型到关系模型的转化,可以得到如下关系模式:借阅关系属性:工作号,读者学号,ISBN,是否续借,借书日期,还书日期,备注。

图书馆数据库设计实例(需求分析、概念结构、逻辑结构)

图书馆数据库设计实例(需求分析、概念结构、逻辑结构)

数据库设计实例分析一、需求分析实例现要开发高校图书管理系统。

经过可行性分析和初步的需求调查,确定了系统的功能边界,该系统应能完成下面的功能:(1)读者注册。

(2)读者借书。

(3)读者还书。

(4)图书查询。

1、数据流图顶层数据流图反映了图书管理系统与外界的接口,但未表明数据的加工要求,需要进一步细化。

根据前面图书管理系统功能边界的确定,再对图书管理系统顶层数据流图中的处理功能做进一步分解,可分解为读者注册、借书、还书和查询四个子功能,这样就得到了图书管理系统的第0层数据流图从图书管理系统第0层数据流图中可以看出,在图书管理的不同业务中,借书、还书、查询这几个处理较为复杂,使用到不同的数据较多,因此有必要对其进行更深层次的分析,即构建这些处理的第1层数据流图。

下面的图8-7分别给出了借书、还书、查询子功能的第1层数据流图2、数据字典2.1 数据项数据项名称:借书证号别名:卡号含义说明:惟一标识一个借书证类型:字符型长度:20……2.2 数据结构(1)名称:读者类别含义说明:定义了一个读者类别的有关信息组成结构:类别代码+类别名称+可借阅数量+借阅天数+超期罚款额(2)名称:读者含义说明:定义了一个读者的有关信息组成结构:姓名+性别+所在部门+读者类型(3)名称:图书含义说明:定义了一本图书的有关信息组成结构:图书编号+图书名称+作者+出版社+价格……2.3 数据流(1)数据流名称:借书单含义:读者借书时填写的单据来源:读者去向:审核借书数据流量:250份/天组成:借书证编号+借阅日期+图书编号(2)数据流名称:还书单含义:读者还书时填写的单据来源:读者去向:审核还书数据流量:250份/天组成:借书证编号+还书日期+图书编号……2.4 数据存储(1)数据存储名称:图书信息表含义说明:存放图书有关信息组成结构:图书+库存数量说明:数量用来说明图书在仓库中的存放数(2)数据存储名称:读者信息表含义说明:存放读者的注册信息组成结构:读者+卡号+卡状态+办卡日期说明:卡状态是指借书证当前被锁定还是正常使用(3)数据存储名称:借书记录含义说明:存放读者的借书、还书信息组成结构:卡号+书号+借书日期+还书日期说明:要求能立即查询并修改……2.5 处理过程(1)处理过程名称:审核借书证输入:借书证输出:认定合格的借书证加工逻辑:根据读者信息表和读者借书证,如果借书证在读者信息表中存在并且没有被锁定,那么借书证是有效的借书证,否则是无效的借书证。

图书馆管理系统数据库设计

图书馆管理系统数据库设计

图书馆管理系统数据库设计图书馆是每个高校必备的建筑之一,而一个图书馆的好坏不仅与管内藏书的数量、质量有关,还与一个图书馆的管理系统密切相关。

一个好的图书管理系统,可以实时跟踪书的近况,了解每本书的在借续借情况。

本组成员经过研究讨论,决定针对图书馆借书系统进行进一步的研究、优化,提高图书馆图书的管理性能,方便学生了解图书借阅情况,及时还书,避免出现逾期。

本实验数据库设计包括以下四个部分:数据库需求分析、数据库概念结构设计、数据库逻辑结构设计、数据库物理结构实现。

一、数据库需求分析通过对##大学图书馆借书还书流程的分析,得到以下数据流程图1、借书流程图2、还书流程图根据数据流图,设计如下数据项和数据结构:1、图书信息,包括的数据项有:图书号、书名、图书数量、作者、出版社、出版日期、所属图书馆等。

2、借阅人信息,包括的数据项有:一卡通卡号、姓名、性别、专业、联系方式3、图书馆信息,包括的数据项有:图书馆ID、图书馆名称等。

4、图书借阅关系,包括的数据项有:一卡通卡号、图书号、借阅时间、还书时间等。

5、图书收藏关系,包括的数据项有:图书馆ID、图书号、藏书量等。

二、数据库功能组成三、 数据库概念结构设计本数据概念设计采用E-R 图体现。

各个实体具体的E-R 图描述如下:图书信息E-R 图所在校区图书馆图书馆ID图书馆信息E-R 图借阅者姓名年级专业一卡通卡号 联系方式借阅者信息E-R 图实体及其关系E-R图四、数据库逻辑结构设计逻辑结构设计,即将以上E-R图转化为关系模式,具体如下所示:1、借阅关系信息表:创建此表所需要的字段名是:借阅人一卡通号、借阅图书号、借阅时间、借阅期限、还书时间,其中借阅人一卡通号、借阅图书设为主键。

学生借阅图书表字段名字段类型字段宽度说明描述jyykth varchar 10 不空,主键借阅人一卡通号jytsh varchar 18 不空,主键借阅图书号jysj datetime 18 不空借阅时间hssj datetime 18 不空还书时间qfje money 8 不空欠费金额2、图书馆信息表:创建此表所需要的字段名是:图书馆ID、图书馆名称,其中图书馆ID设为主键。

图书馆数据库需求分析及E-R图设计ppt课件

图书馆数据库需求分析及E-R图设计ppt课件
实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的 联系通常是指不同实体集之间的联系。在E-R图中用菱形表示,菱形 框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向 边旁标上联系的类型(1 : 1,1 : n或m : n)。 比如老师给学生授课 存在授课关系,学生选课存在选课关系。如果是弱实体的联系则在菱 形外面再套菱形。
2020/4/1
12
作E-R图的步骤
⑴确定所有的实体集合
⑵选择实体集应包含的属性
⑶确定实体集之间的联系
⑷确定实体集的关键字,用下划线在属性 上表明关键字的属性组合
⑸确定联系的类型,在用线将表示联系的菱 形框联系到实体集时,在线旁注明是1或 n(多)来表示联系的类型
2020/4/1
13
分E-R图
2020/4/1
4
图书信息及被借阅情况
图书信息包括:书号、书名、作者、 出版社。 每本图书的信息会汇总在一起,保存在图书馆的 图书数据库,读者可以在登陆图书馆管理系统后 根据需要进行图书的搜索与查询,在得到满意的 查询结果后,可以进行预约,再去图书馆借阅。 而对于每本被借出的书,管理系统又会将相应的 读者号、借出日期和应还日期保存在数据库中, 供读者查询和系统管理。
以方便读者的借阅。图书的基本信息有:图书索引号、图书名、作者、出版 社、出版日期和图书的使用状态。 • (4)当图书被读者借阅的时候,图书管理员要改变图书的使用状态,不再允 许借阅,但是允许预约,而且每本书只允许被一个读者借阅,也只能被一个 读者预约。 • (5)当学生借阅的图书延期的时候,图书管理员要及时通知学生归还图书, 并对其进行相应的处罚。学生可以在图书未超期的情况下办理续借。 • (6)学生可以在图书管理系统中查询自己的借阅情况。 • (7)当图书被损坏或图书出馆时,图书管理员要及时修改相应的图书信息。 • (8)管理系统还应该提供强大的数据统计,查询等功能。 • (9)管理系统应充许外界人士通过规定的步骤注册成为新用户,并享有一定 的权利。 • (10)管理系统应该有很好的可扩展性。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库设计实例分析
一、需求分析实例
现要开发高校图书管理系统。

经过可行性分析和初步的需求调查,确定了系统的功能边界,该系统应能完成下面的功能:
(1)读者注册。

(2)读者借书。

(3)读者还书。

(4)图书查询。

1、数据流图
顶层数据流图反映了图书管理系统与外界的接口,但未表明数据的加
工要求,需要进一步细化。

根据前面图书管理系统功能边界的确定,再对图书管理系统顶层数据流图中的处理功能做进一步分解,可分解为读者注册、借书、还书和查询四个子功能,这样就得到了图书管理系统的第0层数据流图
从图书管理系统第0层数据流图中可以看出,在图书管理的不同业务中,借书、还书、查询这几个处理较为复杂,使用到不同的数据较多,因此有必要对其进行更深层次的分析,即构建这些处理的第1层数据流图。

下面的图8-7分别给出了借书、还书、查询子功能的第1层数据流图
2、数据字典
2.1 数据项
数据项名称:借书证号
别名:卡号
含义说明:惟一标识一个借书证
类型:字符型
长度:20
……
2.2 数据结构
(1)名称:读者类别
含义说明:定义了一个读者类别的有关信息
组成结构:类别代码+类别名称+可借阅数量+借阅天数+超期罚款额(2)名称:读者
含义说明:定义了一个读者的有关信息
组成结构:+性别+所在部门+读者类型
(3)名称:图书
含义说明:定义了一本图书的有关信息
组成结构:图书编号+图书名称+作者++价格
……
2.3 数据流
(1)数据流名称:借书单
含义:读者借书时填写的单据
来源:读者
去向:审核借书
数据流量:250份/天
组成:借书证编号+借阅日期+图书编号
(2)数据流名称:还书单
含义:读者还书时填写的单据
来源:读者
去向:审核还书
数据流量:250份/天
组成:借书证编号+还书日期+图书编号
……
2.4 数据存储
(1)数据存储名称:图书信息表
含义说明:存放图书有关信息
组成结构:图书+库存数量
说明:数量用来说明图书在仓库中的存放数
(2)数据存储名称:读者信息表
含义说明:存放读者的注册信息
组成结构:读者+卡号+卡状态+办卡日期
说明:卡状态是指借书证当前被锁定还是正常使用(3)数据存储名称:借书记录
含义说明:存放读者的借书、还书信息
组成结构:卡号+书号+借书日期+还书日期
说明:要求能立即查询并修改
……
2.5 处理过程
(1)处理过程名称:审核借书证
输入:借书证
输出:认定合格的借书证
加工逻辑:根据读者信息表和读者借书证,如果借书证在读者信息表中存在并且没有被锁定,那么借书证是有效的借书证,否则是无效的借书证。

……
二、概念结构设计实例
1.标识图书管理系统中的实体和属性
参照数据字典中对数据存储的描述,可初步确定三个实体的属性为:
读者:{卡号,,性别,部门,类别、办卡日期,卡状态}
读者类别:{类别代码,类别名称,可借阅天数、可借阅数量,超期罚款额}
图书:{书号,书名,作者,价格,,库存数量}
借还记录:{卡号,书名,借书日期,还书日期}
其中有下划线的属性为实体的码。

2.确定实体间的联系
三、逻辑结构设计实例
1、图书管理系统的关系模型
将在概念结构阶段得到的基本E-R图转换成关系模型,如下表所示:关系名属性及码其他约束条件
读者借书证号,,性别,部门,类
别代码,办证日期,借书证
状态1、类别代码引用读
者类别关系中的类别
代码;
2、不允许为空;
2、将关系设计成SQL Server 2005下相应的表reader(读者表)
dzclass(读者类别表)
book(图书表)
borrow(借还表)。

相关文档
最新文档