1、“图书归还”用于登记读者归还图书的记录并增加图书在库的库存,登记内容包括归还编号、图书编号、读者编号、归还时间等。系统查询借阅此书的人的信息以及该书被借日期判断是否过期,若过期将进行罚款,并将该书刊的借阅记录改为已还。“图书丢失”用于报失图书,内容包括丢失编号、图书编号、读者编号、赔偿金额、操作时间等。“图书罚款”用于对图书超期、丢失等情况的罚款管理,内容包括罚款编号、图书编号、读者编号、罚款日期、罚款金额、是否交款、备注等。 系统总流程图系统流程图如图14所示:图14系统总流程图二、概念模型设计根据以上需求分析,一个基本的图书馆管理系统数据库大致包括10个表,分别存放相应子功能模块的数据信息
2、,期中“读者信息”和“图书信息”表是关键的表,用于存放图书馆读者的信息和文献的信息,图书馆管理系统实际上就是对读者和文献的管理。其他涉及读者信息和文献信息的表,都只是记录相应的编号,并根据作为外键的“编号”字段相对应。数据库要表述的信息有:(1)读者类型(2)读者信息(3)图书基本信息(4)图书信息(5)图书征订(6)图书借阅(7)图书归还(8)图书丢失(9)图书罚款(10)图书注销各个主要实体的属性的E-R图各实体及属性图如图31所示:图21各实体及属性各实体及其联系的E-R图图22各实体及其联系图三、逻辑设计一般逻辑模型设计3.1.1由ERD导出一般关系模型的四条原则为原则1(实体转换为关
3、系模式):ERD中每个独立的实体转换为一个关系模式,实体的属性组成关系的属性,实体的主标识转换成关系的主码。原则2(从实体及其主从联系转换为关系模式):ERD中一个从实体及其主从联系转换为一个关系,从实体的属性及其主实体关系的属性组成的属性,其主实体关系的主码,在主从关系联系为一对多联系时还要加上可把同一主实体个体所对应的从实体个体区分开来的,从实体的一组属性,作为该关系的主码。对子类实体可作类似一对一联系的从实体的转换。原则3(一对多联系在关系模式中的表示):ERD中的一个一对多联系通过在其“多”实体关系上增加“1”实体关系的主码(作为外码)和联系本身的属性来表示。原则4(多对多联系转换为关
4、系):ERD中的一个多对多联系转换为一个关系,其被联系实体关系的主码和该联系本身的属性一起组成的属性,被联系关系的主码组成该关系的复合主码。3.1.2读者类型的关系模式读者类型(身份、可借册数、可续借册数、可借时间)其中身份是本表的主键3.1.3 图书基本信息的关系模式图书基本信息(ISBN、书名、版次、类型、作者、出版社、价格、现存量、库存总量)其中ISBN号是主键3.1.4 读者信息的关系模式读者信息(编号、姓名、身份、读者性别、联系方式、登记日期、有效期至、违规次数、现借图书数、是否挂失)其中编号是主码,身份是外码3.1.5 图书信息的关系模式图书信息(编号、ISBN、入库时间)其中编号
5、是主码,ISBN号是外码3.1.6 图书征订的关系模式图书征订(征订编号、类型、征订数量、征订日期)其中征订编号是主码,类型是外码3.1.7图书借阅的关系模式图书借阅(借阅编号、图书编号、读者编号、借阅时间、应还时间、续借次数、图书状态)其中借阅编号是主码,图书编号和读者编号是外码3.1.8图书归还的关系模式图书归还(归还编号、图书编号、读者编号、归还时间)其中归还编号是本表的主码,图书编号和读者编号是外码3.1.9图书丢失的关系模式图书丢失(丢失编号、图书编号、读者编号、偿还金额、操作时间)其中丢失编号是主码,图书编号和读者编号是外码图书罚款的关系模式图书罚款 (罚款编号、图书编号 、读者编
6、号、罚款日期 、罚款金额 、是否交款、备注)其中罚款编号是主码,图书编号和读者编号是外码图书注销的关系模式图书注销(注销编号、图书编号、注销时间)其中注销编号是主码,图书编号是外码具体逻辑模型设计3.2.1读者类型表字段名数据类型能否为空说明身份char (20)not nullprimary key可借册数int可续借次数可借时间char (10)3.2.2图书基本信息表ISBN书名char(20)版次类型作者出版社价格float现存量库存总量3.2.3读者信息表编号姓名char(20),foreign key (身份) references 读者类型(身份)性别char(8)check (
7、性别 in (男,女),联系方式char(12)登记日期datetime有效期至违规次数借书数量Int是否挂失3.2.4图书信息表primary key,foreign key(ISBN)references 图书基本信息(ISBN)入库时间3.2.5图书借阅表借阅编号图书编号foreign key (图书编号) references 图书信息(编号)读者编号foreign key (读者编号) references 读者信息(编号)借阅时间应还时间续借次数3.2.6图书归还表归还编号foreign key(图书编号) references 图书信息(编号)归还时间3.2.7图书征订表征订编号
8、foreign key (ISBN)references 图书基本信息 (ISBN)征订数量征订日期3.2.8图书罚款表罚款编号Foreign key (图书编号) references 图书信息(编号)Foreign key (读者编号) references 读者信息(编号)罚款日期罚款金额char(10)是否交款备注3.2.9图书丢失表丢失编号偿还金额操作时间3.2.10图书注销表注销编号注销时间四、物理设计和保护设计创建图书馆管理系统数据库和库中的各表-创建图书馆管理系统数据库Create database 图书馆管理系统go use 图书馆管理系统go-创建“读者类型”表Create
9、 table 读者类型(身份 char (20) primary key, 可借册数 int,可续借次数 int,可借时间 char (10)-创建“图书基本信息”表create table 图书基本信息(ISBN char (20)primary key,书名 char(20),版次 char(20),类型 char(20),作者 char(20),出版社 char(20),价格 float,现存量 int,库存总量 int)-创建读者信息表:Create table 读者信息(编号 char(20)primary key,姓名 char(20),身份 char(20),性别 char(8)
10、check(性别 in(联系方式 char(12),登记日期 datetime,有效期至 datetime,违规次数 int,借书数量 int,是否挂失 char(8),)Go-创建图书信息表Create table 图书信息(编号 char(20) primary key, ISBN char (20),入库时间 datetimeforeign key (ISBN)references 图书基本信息(ISBN)-创建“图书借阅”表Create table 图书借阅 (借阅编号 char (20) primary key,图书编号 char (20),读者编号 char (20),借阅时间 d
11、atetime,应还时间 datetime,续借次数 int,Foreign key (图书编号) references 图书信息(编号),) -创建“图书归还”表Create table 图书归还(归还编号 char (20) primary key,归还时间 datetime,Foreign key(图书编号) references 图书信息(编号),-创建“图书征订”表Create table 图书征订 (征订编号 char(20) primary key,ISBN char(20),征订数量 int ,征订日期 datetime ,-创建“图书罚款”表 Create table 图书罚
12、款(罚款编号 char(20) primary key,图书编号 char(20),读者编号 char(20),罚款日期 datetime,罚款金额 char(10),是否交款 char(8),备注 char(10),-创建“图书丢失”表Create table 图书丢失(丢失编号 char(20) primary key,偿还金额 char(10),操作时间 datetime -创建“图书注销”表Create table 图书注销 (注销编号 char(20) primary key,注销时间 datetime, 向图书馆管理系统数据库中插入数据-插入读者类型Insert into 读者类型
13、 values(学生,5,2,30天教师,10,4,60天-插入图书基本信息Insert into 图书基本信息 values (7-302-12266-0经典案例开发2006年1月第1版,计算机马里杰清华大学出版社,2,2)Insert into 图书基本信息 values(7-302-12266-1经典实例精讲夏邦贵机械工业出版社,3,3)7-302-12266-4电工电子实训教程电工向守兵电子科技大学出版社7-302-12266-3英语专业四级词汇英语徐向珍 中国建材工业出版社-插入读者信息2006-09-102010-06-01,0,0,否2000-01-202050-01-200,0
14、,Insert into 读者信息 values (t000002刘晨22225462006-02-012056-02-01-插入图书信息Insert into 图书信息 values (TP00000012006-06-01TP0000002Insert into 图书信息 values(TP00000032006-05-01TP0000004TP0000005TM00000062004-12-12TM0000007H00000082006-05-20H0000009TP00000102008-06-10各表之间的联系图如图41所示图41各表之间的联系图五、具体功能实现5 .1 图书管理员的
15、操作5.1.1图书管理员对读者信息的管理(1)插入新读者 编号姓名:朱康,身份:学生,性别:男,,联系方式 2232365,登记日期 2008-06-10,有效期至 2010-06-01,违规次数 0,借书数量 0,是否挂失 否实现方法:, 0, 0,验证select * from 读者信息(2)读者信息的查询:select 姓名,借书数量,违规次数 from 读者信息(3)修改读者信息:实现方法update 读者信息 set 联系方式=2232334 38验证select * from 读者信息 385.1.2图书管理员对图书信息的管理(1)插入图书信息 编号:TP0000010,ISBN=
16、7-302-12266-0,入库时间=2008-06-10验证:select * from 图书信息 where 编号=(2)图书查阅 用ISBN号查阅select 编号,图书信息.ISBN,书名,作者,库存总量,现存量from 图书信息,图书基本信息where 图书信息.ISBN=图书基本信息.ISBN and 图书信息.ISBN=(3)图书信息修改 将图书编号=TP0000010的图书入库时间改为2008-06-11update 图书信息 set 入库时间=2008-06-11 where 编号=(4)图书统计Select sum(现存量) 现存总量From 图书基本信息5.1.3图书管理员对图书借阅的管理insert into 图书借阅 values(0001T382008-07-11,0,借出)验证方法:select * from 图书借阅 where 借阅编号=借出后此类图书现库存量减少一本,读者信息中借书量增加一本 update 图书基本信息set 现存量=现存量-1 where 图书基本信息.ISBN=(select 图书基本信息.ISBNfrom 图书信息,图书基本
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1