《数据库原理》设计作业——图书管理查询系统(期末大作业)

一、系统概述

 要求:简述系统的开发背景与意义,系统研究现状,系统主要内容,实现目标及技术路线等内容。(300以上

(一)图书管理系统的开发背景与意义

        随着人们知识水平层次的提高,图书馆成为日常生活中不可缺少的一部分,图书管理也变得困难而重要,图书存书量和业务量庞大,仅靠传统的记帐式管理不可行;而图书管理系统数据库拥有手工管理无法比拟的优点,如:检索查询、查找方便、可靠性强、存储量大、保密性好、成本低等等。这些优点能极大的提高图书管理效率。图书馆需要为学校或社会有需求者提供图书的详细信息和馆内库存情况,需要建立庞大的数据库,一个健全的图书管理系统可以极大的方便图书管理员的操作,减少图书管理员的工作量并使其能更有效的管理书库中的图书,实现了传统的图书管理工作的信息化建设。

(二)图书管理系统研究现状

        图书馆作为一种资源的集散地,图书和用户在借阅资料繁多,包含很多的信息管理,现在有很多的图书馆都是初步的开始使用,甚至尚未使用计算机进行资源管理,没有建立相对应的图书管理数据系统,而是使用人工计算,抄写进行,数据处理工作量大,容易出错和数据丢失。

(三)图书管理系统主要内容以及实现目标及技术路线

        图书管理系统主要由:读者信息管理,图书信息管理,借阅信息管理等模块组成。进入系统后,读者可以在该系统中通过图书分类、书名、作者、ISBN号、主题词等等查询书籍基本信息。还可以实现对图书信息添加、修改、删除、查询等操作,图书管理系统可以应用于学校图书馆,通过对图书和借阅者相关信息的收集和分析,获得用户对数据库的要求

二、需求分析

详细描述系统不同用户的功能需求、性能需求、运行需求以及将来可能提出的需求。一般包括数据字典等内容(200字以上)

系统的功能描述

(1)基础信息设置

① 设置图书信息:对图书的基本信息进行增加、修改、删除

② 设置图书类型信息:对图书类型的基本信息进行增加、修改、删除

③ 设置图书管理员信息:对图书管理员的基本信息进行增加、修改、删除

④ 设置读者信息:对读者的基本信息进行增加、修改、删除

⑤ 设置借阅卡信息:对借阅卡的基本信息进行增加、修改、删除

⑥ 设置出版社信息:对出版社的基本信息进行增加、修改、删除

(2)图书借阅管理

① 图书编号:借阅卡持卡人所借的图书编号

② 借书日期:图书借出的日期

③ 还书日期:图书归还的日期

④ 罚款金额:显示持卡人未在规定期限内归还图书或对图书造成了损坏而需要罚款的金额

⑤ 是否续期:延长图书的借阅时间

(3)图书报损管理

① 图书总数:统计所有类型的受损图书数量

② 图书数量:统计该类型的受损数量

③ 受损原因:对受损图书的描述

4)图书购买管理

① 图书入库编号:对购买的图书进行编号

② 是否入库:显示图书的入库情况

③ 入库日期:图书编号之后记录至系统的时间

④ 图书数量:该图书入库的数量

(5)罚款缴费管理

借阅卡编号:显示需要缴费的卡号

② 日期:显示罚款单的日期

③ 金额:显示需要缴纳的罚款金额

(6)查询统计管理

① 图书查询:通过图书编号查询图书基本信息

② 借阅情况查询:通过阅览卡编号查询借阅基本信息

③ 图书受损情况查询:通过受损图书编号查询图书受损基本信息

④ 图书入库情况查询:通过图书入库编号查询图书入库基本信息

⑤ 罚款缴费单查询:通过缴费单号查询罚款缴费基本信息

主要的操作描述

1)学生管理实现读者信息管理可以实现读者信息的录入,修改,删除添加等更新操作。

2)图书管理实现图书信息管理可以实现新书入库,图书信息修改,删除,添加等更新操作。

(3)借阅管理系统管理员通过此模块来进行借书、还书以及相关信息的查询操作,该模块主要提供借书信息的登记和查询。

(4)查询报表实现图书信息查询,借/还纪录查询,未还图书查询,从而可以方便的进行分组管理。

(三)系统功能的设计与划分

该数据库可以应用到学校图书馆中,对图书和借阅者等相关信息进行收集和分析,包括以下三个功能读者信息管理、图书信息管理、借阅信息管理等,在此系统中我通过整合最终设置读者管理与图书管理员管理这两部分实现上述功能。

1.读者信息管理部分

(1)读者办理借书手续注册借书

(2)读者可以查询本人信息:包括读者姓名,性别,学号

(3)读者可以实现自助借/还书

(4)读者可以通过系统完成罚款缴费

(5)读者可以注销借阅卡

2.图书管理员管理部分

(1)处理管理员的操作

(2)管理员可以查询所有读者信息

(3)管理员可以查询所有图书

(4)管理员可以查询所有借阅信息

(5)管理员可以注销读者借阅卡信息

(6)管理员可以发布与更新图书信息

(7)管理员可以插入、修改与查询图书受损信息

(8)管理员可以插入与查询读者罚款缴费信息

3 . 信息需求分析:

  1. 图书信息:包括图书编号、图书类型编号、出版社编号、图书名称、作者、出版时间、价格、入库时间、库存总量、现存量等;
  2. 读者信息:包括读者编号、借阅卡编号、持卡人姓名、性别、身份证号、未交罚款金额等;
  3. 借阅信息:包括借阅卡编号、读者编号、余额、可借书册数、是否挂失、借期天数、可续借天数、还书日期等;

(四)数据需求分析(各个表的逻辑结构)

1、图书(book-info)数据字典B:

数据项名

别名

类型

长度

备注

图书编号

BNo

varchar

20

主键

图书类型编号

BTNo

char

10

外键

出版社编号

PNo

char

10

外键

图书名称

BName

varchar

50

作者

BAuthor

varchar

20

出版时间

PTime

datatime

价格

Price

Numeric(5,2)

入库时间

InputTime

datetime

库存总量

TotalNum

int

现存量

Biomass

int

2、图书类型(booktype-info)数据字典BT:

数据项名

别名

类型

长度

备注

图书类型编号

BTNo

char

10

主键

图书类型名

BTName

varchar

50

3、读者(readerinfo)数据字典R:

数据项名

别名

类型

长度

备注

读者编号

RNo

varchar

20

主键

借阅卡编号

CNo

char

12

外键

持卡人姓名

RName

char

8

性别

RSex

char

4

身份证号

RIDNum

char

24

未交罚金金额

RFine

Numerric(8,2)

4、图书管理员(manager-info)数据字典M:

数据项名

别名

类型

长度

备注

管理员编号

MNo

varchar

20

主键

管理员姓名

MName

char

10

性别

MSex

char

4

电话号码

MTNumber

char

11

家庭住址

MHAddress

varchar

50

文化程度

MEducation

varchar

50

5、借阅卡(bookcredit-info)数据字典C:

数据项名

别名

类型

长度

备注

借阅卡编号

CNo

char

12

主键

读者编号

RNo

varchar

20

外键

余额

CFine

Numeric(8,2)

可借书册数

CNum

int

是否挂失

CW

char

2

借期天数

CDate

datetime

可续借天数

CRenew

datetime

还书日期

CBack

datetime

6、出版社(publisher-info)数据字典P:

数据项名

别名

类型

长度

备注

出版社编号

PNo

varchar

20

主键

出版社名

PName

varchar

50

出版社地址

PAddress

varchar

50

7、借阅表(borrow-info)数据字典BB:

数据项名

别名

类型

长度

备注

借阅卡编号

CNo

char

12

外键

图书编号

BNo

varchar

20

外键

借书日期

BBRTime

datetime

还书日期

BBRTime

datetime

罚款金额

BBFine

Numeric(8,2)

是否续借

BBW

char

2

8、读者还书(return-info)表数据字典Re:

数据项名

别名

类型

长度

备注

借阅卡编号

CNo

char

12

外键

图书编号

BNo

varchar

20

外键

图书类型编号

BTNo

char

10

外键

是否逾期

ReW

char

2

10、图书报损单表(breakage-info)数据字典BA:

数据项名

别名

类型

长度

备注

报损单编号

BANo

varchar

20

主键

受损图书编号

BADNo

varchar

20

外键

报损时间

BATime

datetime

图书总数

BASum

int

经手人编号(图书馆人员)

MNo

varchar

20

11、图书报损明细表(br-detail-info)数据字典BAD:

数据项名

别名

类型

长度

备注

受损图书编号

BADNo

varchar

20

主键

图书编号

BNo

varchar

20

外键

受损原因

Reasons

char

50

数量

BADNum

int

12、图书购买表(bookBuy-info)数据字典BBuy:

数据项名

别名

类型

长度

备注

图书购买单编号

BBuyNo

varchar

20

主键

图书入库编号

BBSNo

varchar

20

外键

经手人编号

MNo

varchar

20

外键

13、图书购买入库表(bookStocking-info)数据字典BBS:

数据项名

别名

类型

长度

备注

图书入库编号

BBSNo

varchar

20

外键

入库日期

BBSTime

datetime

是否入库

BBSW

char

2

图书编号

BNo

varchar

20

外键

图书数量

BBSNum

int

14、罚款缴费单表(fine-info)数据字典F:

数据项名

别名

类型

长度

备注

缴费单号

FNo

char

18

主键

借阅卡编号

CNo

char

12

外键

日期

FTime

datetime

金额

FFine

Numeric(8,2)

三、概念结构设计

要求:描述系统概念结构设计的实现过程,并使用E-R图。建议使用Visio或者其他在线画图工具。(100字以上)

根据数据需求分析,对系统中的实体进行详细描述,并说明实体间关系如下:

1、定义实体之间的联系

① 一个出版社对应多个图书,一个图书对应一个出版社,出版社和图书是一对多联系。

② 一个图书类型对应多个图书,一个图书对应一个图书类型,图书类型和图书是一对多联系。

③ 一个读者类型对应多个读者,一个读者对应一个读者类型,读者类型和读者是一对多联系。

④ 一个图书库对应多个图书类型,一个图书类型对应一个图书库,图书库和图书类型是一对多联系。

⑤ 一个图书入库单对应多个图书入库单明细,一个图书入库单明细对应一个图书入库单,图书入库单和图书入库单明细是一对多联系。

⑥ 一个图书报损单对应多个图书报损单明细,一个图书报损单明细对于一个图书报损单,图书报损单和图书报损单明细是一对多联系。

⑦ 一个图书对应多个图书入库单明细,一个图书入库单明细对应一个图书,图书和图书入库单明细是一对多联系。

⑧ 一个图书对应多个图书报损单明细,一个图书报损单明细对应一个图书,图书和图书报损单明细是一对多联系。

⑨ 一个读者对应多个罚款缴费单,一个罚款缴费单对应一个读者,读者和罚款缴费单是一对多联系。

⑩ 一个管理员对应多个借阅表,一个借阅表对应一个管理员,管理员和借阅是一对多的关系。

⑪ 一个管理员对应多个图书入库单,一个图书入库单对应一个管理员,管理员和图书入库单是一对多联系。

⑫ 一个管理员对应多个图书报损单,一个图书报损单对应一个管理员,管理员和图书报损单是一对多联系。

⑬ 一个管理员对应多个罚款缴费单,一个罚款交费单对应一个管理员,管理员和罚款缴费单是一对多联系。

⑭ 一个读者对应多个图书,一个图书对应多个读者,读者和图书之间是多对多联系。

E-R图因为东西有点多一个页面画不下,就画了两个,第二个对第一个没有涉及到的属性进行了补充,并更详细的标注了实体间的对应关系,结果如下:

2、全局E-R图如下:

图一:

图二:

四、逻辑结构设计

要求:描述系统逻辑结构设计的实现过程。在E-R图的基础上,进行概念模型向关系模型的转换,并依据规范化理论及应用需求进行关系数据模型的优化并展示最终的关系模式及完整性约束等对象200字以上)

概念模型向关系模型的转换将遵循以下原则:

1. 一个实体型转换为一个关系模式。

        关系的属性:实体型的属性

        关系的码:实体型的码

2.一个1:1联系可以转换为一个独立的关系模式,也可以与任何一端对应的关系模式合并。

3.一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式 合并。

4.一个m:n联系转换为一个关系模式。

5.三个或三个以上实体间的一个多元联系可以转换为一个关系模式。

6.具有相同码的关系模式可合并。

目的:减少系统中关系个数

7.同一实体集的实体之间的联系即自联系,也可以按1:1,1:n和m:n三种情况分别处理。

优化:

合并。解决各分E-R图之间的冲突,将分E-R图合并起来生成基本E-R图。例如:借阅作为图书和借阅者之间的联系,其包含的读者编号和图书编号分别是借阅者和图书的属性之一。

概念模型向关系模型的转换:

(一)由实体集转换而来的关系模式

1.图书(book-info)实体集

book-info(BNo、BTNo、PNo、BName、BAuthor、PTime、Price、InputTime、TotalNum、Biomass)

2.图书类型(booktype-info)实体集

booktype-info(BTNo、BTName)

3.图书管理员(manager-info)实体集

manager-info(MNo、MName、MSex、MTNumber、MHAddress、MEducation)

4.读者(readerinfo)实体集

Readerinfo(RNo、CNo、RName、RSex、RIDNum、RFine)

5.阅览卡(bookcredit-info)实体集

bookcredit-info(CNo、RNo、CFine、CNum、CW、CDate、CRenew、CBack)

6.出版社(publisher-info)实体集

publisher-info(PNo、PName、PAddress)

(二)由联系集转换而来的关系模式

1.借阅表(borrow-info)联系集

borrow-info(CNo、BNo、BBRTime、BBBTime、BBFine、BBW)

2.读者还书表(return-info) 联系集

return-info(CNo、BNO、BTNo、ReW)

3.图书报损单表(breakage-info)联系集

breakage-info(BANo、BADNo、BATime、BASum、MNo)

4.图书报损明细表(br-detail-info)联系集

br-detail-info(BADNo、BNo、Reasons、BADNum)

5.图书购买表(bookBuy-info)联系集

bookBuy-info(BBuyNo、BBSNo、MNo)

6.图书购买入库表(bookStocking-info)联系集

bookStocking-info(BBSNo、BBSTime、BBSW、BNo、BBSNum)

7.罚款缴费单表(fine-info)联系集

fine-info(FNo、CNo、FTime、FFine)

五、物理结构设计

要求:描述系统物理结构设计的实现过程。在逻辑数据模型的基础上,进行数据库、数据表及相关数据对象的物理设计展示各个数据表结构及相关数据对象如索引、存储过程、触发器等。(100字以上)

1、创建索引

索引的创建原则:

 ①如果一个(或一组)属性经常在查询条件中出现,则考虑这个(或这组)属性建立索引。

②如果一个属性经常作为最大值和最小值等聚集函数的参数,则考虑这个属性上建立索引。

③如果一个(或一组)属性经常在连接操作的连接条件中出现,则考虑在这个(或这组)属性上建立索引。

 

2、存储过程

 

3、执行存储过程:

六、数据库的实施与运行维护

要求:描述数据库的实施及运行的具体实现过程,在物理数据模型的基础上,进行数据库、数据表及相关数据对象的物理实现,如数据库创建、数据表创建、数据导入等操作等,并截图展示。另外,根据需要描述系统的安全性、数据恢复等如何设计及实现。

1、表的创建

根据关系模型,以表格的形式列出数据库中所用到的表的结构,并在SQL Server中创建至少两个表

CREATE TABLE 出版社
(
出版社编号 INT PRIMARY KEY,
出版社名称 VARCHAR(50) NOT NULL,
出版社地址 VARCHAR(50)
);
CREATE TABLE 图书类型
(
图书类型编号 CHAR(10) PRIMARY KEY,
图书类型名 VARCHAR(50) NOT NULL,
)
CREATE TABLE 图书
(
图书编号 VARCHAR(20) PRIMARY KEY,
出版社编号 INT NOT NULL,
图书类型编号 CHAR(10),
书名 VARCHAR(50) NOT NULL,
作者 VARCHAR(20) NOT NULL,
价格 NUMERIC(8,2) NOT NULL,
页码 INT NOT NULL,
库存总量 INT NOT NULL,
现存量 INT NOT NULL,
入库时间 DATE,
FOREIGN KEY (出版社编号) REFERENCES 出版社(出版社编号),
FOREIGN KEY (图书类型编号) REFERENCES 图书类型(图书类型编号)
);
CREATE TABLE 读者类型
(
读者类型编号 CHAR(10) PRIMARY KEY,
读者类型名 VARCHAR(20) NOT NULL,
可借阅册数 INT CHECK(可借阅册数>=20 AND 可借阅册数<=60),
借期天数 INT CHECK(借期天数>=90 AND 借期天数<=120),
可续借天数 INT CHECK(可续借天数>=10 AND 可续借天数<=60)
)
CREATE TABLE 读者
(
证书编号 INT PRIMARY KEY,
读者类型编号 CHAR(10),
姓名 VARCHAR(50) NOT NULL,
性别 CHAR(10) CHECK (性别 IN ('男','女')),
出生日期 DATETIME NOT NULL,
身份证编号 CHAR(18) CHECK(LEN(TRIM(身份证编号))=18),
图书借阅次数 INT,
是否挂失 INT,
已借册数 INT,
未交罚款金额 NUMERIC(8,2),
FOREIGN KEY(读者类型编号) REFERENCES 读者类型 (读者类型编号)
)
CREATE TABLE 管理员
(
管理员编号 INT PRIMARY KEY,
管理员姓名 VARCHAR(50) NOT NULL,
性别 CHAR(10) CHECK (性别 IN('男','女')),
出生日期 DATETIME NOT NULL,
文化程度 VARCHAR(20) NOT NULL
)
CREATE TABLE 罚款交费单
(
交费单号 INT PRIMARY KEY,
借书证编号 INT,
日期 DATETIME NOT NULL,
金额 NUMERIC(8,2) NOT NULL,
FOREIGN KEY(借书证编号) REFERENCES 读者(证书编号)
)
CREATE TABLE 图书入库单
(
入库单编号 INT PRIMARY KEY,
入库日期 DATETIME NOT NULL,
经手人编号 INT,
是否入库 INT,
FOREIGN KEY(经手人编号) REFERENCES 管理员(管理员编号)
)
 CREATE TABLE 图书入库单明细
(
入库单编号 INT,
图书编号 VARCHAR(20),
数量 INT NOT NULL,
PRIMARY KEY(入库单编号,图书编号),
FOREIGN KEY(入库单编号) REFERENCES 图书入库单(入库单编号), 
FOREIGN KEY(图书编号) REFERENCES 图书(图书编号)
)
CREATE TABLE 图书报损单
报损单编号 INT PRIMARY KEY,
报损日期 DATETIME NOT NULL,
经手人编号 INT,
FOREIGN KEY(经手人编号) REFERENCES 管理员(管理员编号)
)
CREATE TABLE 图书报损单明细
(
报损单编号 INT,
图书编号 VARCHAR(20),
数量 INT NOT NULL,
报损原因 VARCHAR(100) NOT NULL,
PRIMARY KEY(报损单编号,图书编号),
FOREIGN KEY(报损单编号) REFERENCES 图书报损单(报损单编号),
FOREIGN KEY(图书编号) REFERENCES 图书(图书编号)
)
CREATE TABLE 借阅
(
借书证编号 INT,
图书编号 VARCHAR(20),
借书日期 DATETIME NOT NULL,
还书日期 DATETIME,
罚款金额 NUMERIC(8,2),
是否续借 INT,
CHECK(借书日期>=还书日期),
PRIMARY KEY(借书证编号,图书编号),
FOREIGN KEY(借书证编号) REFERENCES 读者(证书编号),
FOREIGN KEY(图书编号) REFERENCES 图书(图书编号)
)

2、表数据添加

根据需要,往表里插入不少于五条记录,或进行数据导入。

INSERT INTO 图书类型 VALUES('H','语盲文字');
INSERT INTO 出版社 VALUES (1 ,'湖南文艺出版社','湖南');
INSERT INTO 图书(图书类型编号,出版社编号,图书编号,书名,作者,价格,页码,库存总量,现存量,入库时间) VALUES ('H',1,'001','长安的荔枝','马伯庸','27','574',3,3,null);
INSERT INTO 图书(图书类型编号,出版社编号,图书编号,书名,作者,价格,页码,库存总量,现存量,入库时间) VALUES ('H',1,'002','鲜衣怒马少年时','少年怒马','50','1792',6,6,null);
INSERT INTO 图书(图书类型编号,出版社编号,图书编号,书名,作者,价格,页码,库存总量,现存量,入库时 间) VALUES ('H',1,'003','三体','刘慈欣','70','5339',6,9,null);
INSERT INTO管理员 VALUES(00001,'九四','女',2006-9-8 ,'本科');
INSERT INTO 图书入库单(入库单编号,入库日期,经手人编号,是否入库) VALUES (100,'12-23-2023','00001',0);
INSERT INTO 图书入库单明细(入库单编号,图书编号,数量) VALUES (100,001,75);
INSERT INTO 图书入库单明细(入库单编号,图书编号,数量) VALUES (100,002,75);
INSERT INTO 图书入库单明细(入库单编号,图书编号,数量) VALUES (100,003,75);

 出版社数据添加显示:

管理员数据添加显示:

(由于本人之前写的是自己名字,这里就不做展示了)

图书添加显示:

 图书类型添加显示:

图书入库单数据添加显示:

图书入库单明细数据显示:

3、查询

至少完成两个个数据库的查询。

查询图书:

查询图书入库单明细:

查询管理员:

4、视图

至少创建一个视图。

(1)入库单

CREATE VIEW 入库单(入库单编号,入库日期,经手人姓名,是否已入库,图书编号,书名,出版社名,入库数量)
AS
SELECT[图书入库单].[入库单编号],[图书入库单].[入库日期],[管理员].[管理员姓名],[图书入库单].[是否入库],[图书入库单明细].[图书编号],[图书].[书名],[出版社].[出版社名称],[图书入库单明细].[数量]
FROM [图书入库单],[图书入库单明细],[管理员],[图书],[出版社]
WHERE [图书入库单明细].[入库单编号]=[图书入库单].[入库单编号] AND [图书入库单明细].[图书编号]=[图书].[图书编号] AND [图书入库单].[经手人编号]=[管理员].[管理员编号] AND [图书].[出版社编号]=[出版社].[出版社编号]

(2)报损单

(3)读者未还借书

(4)图书分类库存

 

5、触发器

至少创建一个触发器,在执行对应操作时,触发触发器。

 

对图书入库单明细表编写DELETE触发器,当图书入库状态为1时,运行结果报错,显示“已入库不能删除!”

首先我将图书全部入库:在图书入库单中将图书编号为100的图书全部入库,入库状态为数字”1“,显示如下:

 则在执行删除入库明细单中入库单号为100的行时,引发触发器显示“已入库不能删除!”

6、其他数据库对象(如存储过程、索引等)

可以根据需要,创建其他数据库对象。

7、数据库的运维

根据需要描述系统的安全性、数据恢复等如何设计及如何实现。(不少于200字)

 

        本次设计任务主要建立一个图书馆管理系统,面对当起很多小型图书管理仍是人工管理带来的检索速度慢,效率低,借阅归还图书量大,图书统计工作量大,藏书不能完成及时更新的问题,该系统可以对跟系统的两个用户类型的使用实现。

        对于数据库的安全性,首先满足保密性需求:在本次数据库设计中,对于不同类型的用户设定了不同的功能。读者管理部分仅能实现处理读者申请阅览卡、读者可以查询本人信息、读者可以实现自助借/还书、读者可以通过系统完成罚款缴费、读者可以注销阅览卡等功能。读者仅仅能够查询与自身相关的信息,不能查询所有读者的信息,仅管理员可以查询所有读者的信息等等。这样就保证了数据绝对安全,防止有意无意的破坏数据。另外若数据遭到破坏,系统具有数据恢复功能,不可恢复的数据仅限于当日录入和修改的数据。此外,满足完整性需求,在该系统中,所有输入的表单和参数在被软件处理之前,都需要根据允许的输入数据集进行比较验证,如身份的核实(需要图书管理员核实学生身份之后进行借书还书操作)等。关于可靠性需求,系统要能够抵御用户可能的错误操作,保证软件的健壮性,在数据被破坏时,具有数据恢复能力等等。

六、总结

根据完成过程中的问题及实现情况,进行总结。

说明:蓝色字体为内容说明及要求,不能删除。在对应章节添加自己所撰写的内容接可。

问题及总结:

        我在向图书入库单明细表中插入数据时出现了主键冲突的问题,通过搜索发现,这是由设计表的时候没有将图书编号设置为主键导致,将图书编号设置为主键后解决了此问题。其次,在设计触发器的时候,因为对知识点不太熟练,导致出现了很多问题,不知道什么原因执行后不会引发触发器,通过网上查阅资料和对书籍的翻看,解决了这一问题。此外,在本次我设计的图书管理系统中,用于实时检验和修改的触发器设计过于简陋,触发器数量太少只设置了一个,使得该系统不太成熟。

心得:

        在设计系统的过程中,我们首先必须要清楚所需要设计的图书管理系统的结构。提前绘制好思维导图,设计好系统的基本模块,这样才可以减少在设计过程中出现字段类型不同或者什么其他突然的问题。本次的设计大作业实践也是一个从理论到实践的机会。借此机会,我也学到了很多课堂上学不到的东西,掌握了许多实用的工具,其次本次系统的设计也对我学习用户界面设计有所启发,一个系统不仅仅需要具有合理的功能模块设计,而且也需要有更加人性化的界面设计,便于用户学习使用和掌握,这样才能使系统能够让更多的人接受,更易于系统的推广使用。

(由于本文距离作者写大作业时间较长,有的代码符号中英文可能会没注意到,仅供参考,数据库大家还是要认真学习!)

编写不易,如果有用的话,点赞收藏支持一下博主吧~

  • 27
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
软件工程与数据库 课程设计 任务书 学院名称: 数学与计算机学院 课程代码:_6014419_ 专 业: 年 级: 一、设计题目 图书管理系统 二、主要内容 一个简单的图书管理系统包括图书馆内书籍的信息、学校在校学生的信息以及学生的 借阅信息。此系统功能分为面向学生和面向管理员两部分,其中学生可以进行借阅、续 借、归还和查询书籍等操作,管理员可以完成书籍和学生的增加,删除和修改以及对学 生,借阅、续借、归还的确认。如: 图书室有各种图书一万多册。 每种图书都有书名、书号(ISBN)、一名或多名作者(译者)、出版社、定价和内容 简介。 借书证记录有借阅者的姓名、所在单位、职业等。 凭借书证借书,每次最多能借8本书。借书期限最长为30天。 实现新进图书的数据录入。 实现对所有购进图书的分类查询和分类统计。 能够按书名、作者等分类查询现有图书的数量。 记录借阅者的个人资料和所借图书的书名、书号数据等。 三、具体要求 1、完成系统的需求分析 通过需求分析确定系统需要处理的数据的需求,要求使用数据库的辅助设计工具( PowerDesigner等),建立业务处理模型。 2、完成系统概念结构设计 概念数据模型(CDM)用于完成数据库设计,与人和数据库平台和具体数据存储结构和 工具无关。首先选择局部应用画出分E-R图,最终形成系统的E-R图 3、完成系统逻辑结构设计 按照E- R图转换成关系模式的规则,将CDM转换成逻辑数据模型,并为每个关系模式设计主键、 外键。分析关系模式中的依赖关系,对关系模式规范化处理 4、完成系统物理结构设计 为每个关系分配存储长度,建立数据库的索引和视图,定义关系中的主码和外码,写 出关系创建和查询的SQL语句。 5、编码 选择你自己熟悉的开发工具完成一个DBS系统的编码工作。 源代码格式规范,注释不少于三分之一 四、主要技术路线提示 1.仔细阅读设计指导书内容,认真掌握任务要求(2. 需求分析( 3.概念结构设计( 4.逻辑结构设计(5.物理结构设计(6.编码. 2.后台推荐采用SQL server或Oracle;前台开发环境不限制。可采用ADO,ODBC,OLE DB或JDBC连接数据库, 并调用系统存储过程、自定义存储过程、函数等。 五、进度安排 第1周: 数据库系统概念模型、数据模型设计,创建数据库以及相关对象; 第2周: 前台程序开发,撰写报告,接受检查。 六、完成后应上交的材料 1. 源程序一份(包含数据库) 2. 课程设计报告一份 七、推荐参考资料 1.王珊.数据库系统概论(第四版). 高等教育出版社 2.闪四清.数据库系统原理与应用教程.清华大学出版社 3.周龙骧.数据库管理系统实现技术.中国地质大学出版社 4.张海藩.软件工程概论.清华大学出版社 5.陈明 编著.实用软件工程基础.清华大学出版社 6.成先海.数据库基础与应用-SQL SERVER2000. 机械工业出版社出版 指导教师 签名日期 年 月 日 系 主 任 审核日期 年 月 日 ----------------------- 数据库课程设计--图书管理系统全文共3页,当前为第1页。 数据库课程设计--图书管理系统全文共3页,当前为第2页。 数据库课程设计--图书管理系统全文共3页,当前为第3页。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值