图书管理系统数据库文档格式.docx

上传人:b****2 文档编号:3839181 上传时间:2023-05-02 格式:DOCX 页数:25 大小:331.83KB
下载 相关 举报
图书管理系统数据库文档格式.docx_第1页
第1页 / 共25页
图书管理系统数据库文档格式.docx_第2页
第2页 / 共25页
图书管理系统数据库文档格式.docx_第3页
第3页 / 共25页
图书管理系统数据库文档格式.docx_第4页
第4页 / 共25页
图书管理系统数据库文档格式.docx_第5页
第5页 / 共25页
图书管理系统数据库文档格式.docx_第6页
第6页 / 共25页
图书管理系统数据库文档格式.docx_第7页
第7页 / 共25页
图书管理系统数据库文档格式.docx_第8页
第8页 / 共25页
图书管理系统数据库文档格式.docx_第9页
第9页 / 共25页
图书管理系统数据库文档格式.docx_第10页
第10页 / 共25页
图书管理系统数据库文档格式.docx_第11页
第11页 / 共25页
图书管理系统数据库文档格式.docx_第12页
第12页 / 共25页
图书管理系统数据库文档格式.docx_第13页
第13页 / 共25页
图书管理系统数据库文档格式.docx_第14页
第14页 / 共25页
图书管理系统数据库文档格式.docx_第15页
第15页 / 共25页
图书管理系统数据库文档格式.docx_第16页
第16页 / 共25页
图书管理系统数据库文档格式.docx_第17页
第17页 / 共25页
图书管理系统数据库文档格式.docx_第18页
第18页 / 共25页
图书管理系统数据库文档格式.docx_第19页
第19页 / 共25页
图书管理系统数据库文档格式.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

图书管理系统数据库文档格式.docx

《图书管理系统数据库文档格式.docx》由会员分享,可在线阅读,更多相关《图书管理系统数据库文档格式.docx(25页珍藏版)》请在冰点文库上搜索。

图书管理系统数据库文档格式.docx

至此,此系统包含的实体有:

♦图书:

用于描述课程的基本信息,用图书编号标识。

♦学生:

用于描述学生的基本信息,用学号标识。

♦管理员:

用于描述管理员的基本信息,用管理员编号标识。

由于一名学生可以借阅多本图书,并且一本书可以在不同时间借给不同的学生。

因此,学生与图书之间是多对多的联系。

乂由于一本图书可以由多名管理员管理,而且一名管理员可以管理多本图书。

因此,管理员与图书之间也是多对多的联系。

其基本E-R模型如图1所示:

根据需求分析的结果,该E-R模型模型中个实体所包含的属性如下:

各联系本身应具有的属性为:

♦借阅:

♦管理:

2.2逻辑结果设计

这个E-R模型转换出的关系模式如下,其中主码用下划线标识:

♦学生(学号,姓名,学院,专业,年级)

♦图书(图书编号,图书名称,出版社名称,出版日期,作者,是否可借)

♦管理员(管理员编号,管理员姓名)

♦借阅(学号,图书标号,图书名称,借阅日期,应归还日期),其中图书

编号为引用'

'

图书”关系模式的外码;

学号为引用'

学生”关系模式的外码。

♦管理(管理日期,管理员编号,管理员姓名),其中管理员编号为引用“管理员”关系模式的外码。

(1)确定各管是模式是否属于第三范式

经过分析发现,“学生”、“图书”、“管理员”、“借阅”和“管理”5个关系模式中,都不存在部分依赖和传递依赖关系,因此都属于第三范式。

(2)确定信息的完整性

该教学管理系统要产生:

学生借阅图书信息、图书管理2个报表,分别分析如下:

♦“学生借阅图书信息表”包括学号、图书编号、图书名称、借阅日期、应归还日期。

其中“学号”可由“学生”关系模式得到,“图书编号”、“图书名称”、“借阅日期”、“应归还日期”可由“借阅”关系模式得到,因此可以满足学生借阅图书信息表的要求。

♦“图书管理表”包括管理日期、管理员编号、管理员姓名。

其中“管理日期”可由"

管理”关系模式得到,“管理员编号”,"

管理员姓名”可由'

‘管理员”关系模式得到。

因此,所有关系模式满足所有报表的信息要求。

至此,关系模式设计完毕。

下面给出创建这些关系表的SQL语句示例,其中的数据类型可根据实际情况调整,为方便理解,表名、列名均用中文表示。

CREATETABLE学生表(

号名院业级学姓学专年

Char(IO)PRIMARYKEY,

Char(IO)NOTNULL,

char(20)NOTNULL,

char(8)NOTNULL

CREATETABLE图书表(

图书编号

char(20)

PRIMARYKEY,

图书名称

NOTNULL,

出版社名称

岀版日期

datetime

作者)

Char(IO)

NOTNULL

CREATETABLE管理员表(

管理员编号Char(IO)PRIMARYKEY,管理员姓名Char(IO)NOTNULL

CREATETABLE借阅表(

学号

姓名

借阅日期

应归还日期datetimeNOTNULL,

PRIMARYKEY(学号,图书编号),

FOREIGNKEY(学号)REFERENCES学生表(学号),

FOREIGNKEY(图书编号)REFERENCES图胡表(图书编号)

CREATETABLE管理表(

管理日期datetimeNOTNULL,

管理员编号Char(IO)NOTNULL,

管理员姓名Char(IO)NOTNULL,

PRIMARYKEY(管理日期,管理员编号),

FOREIGNKEY(管理员编号)REFERENCES管理员表(管理员编号)

2.2.2设计外模式

(1)学生借阅图书信息表

我们将该报表直接用查询语句的形式生成,将动态查询条件作为查询语句中

的数据筛选条件。

例如,假设要为大三学生生成借阅图书情况的报表,则语句如下:

SELECT学号,姓名,图书名称

FROM借阅表WHERE年级=C大三,

(2)图书管理表

该表可以查询出在哪一天由哪位管理员借出了哪些图书,因此,直接用查询

语句生成。

SELECT图书编号,图书名称,管理日期,管理员编号,管理员姓名

FROM借阅表JOIN管理表ON借阅表.借阅日期=管理表.管理日期

三、数据库行为设计

对于数据库应用系统来说,最常用的功能是安全控制功能,数据的增、删、

改、查功能以及生成报表的功能。

本系统也应包括这些基本的操作。

3.1安全控件

任何数据库应用系统都需要安全控件功能,这个图书管理系统也不例外。

设将系统的用户分为如下儿类:

♦图书馆系统管理人员:

具有系统的全部操作权限。

♦教务部门:

具有对学生基本信息、图书信息和管理员信息的维护权。

具有对图书信息的查询权。

在实现时,可将每一类用户定义为一个角色,这样在授权时只需对角色授权,而无需对每个具体的用户授权。

3.2数据操作功能

数据操作功能包括对这些数据的录入、删除、修改功能。

具体如下:

(1)数据录入

包括对这5张表的录入。

只有具有相应权限的用户才能录入相应表中的数据。

(2)数据删除

包括对这5张表的删除。

只有具有相应权限的用户才能删除相应表中的数据。

数据的删除要注意表之间的关联关系。

比如在删除"

学生表”中的数据之前,应先删除该学生在"

借阅表”中的信息,然后再学生表中删除该学生,以保证不违反参照完整性约束。

另外,在实际执行删除操作之前应该提醒用户是否真的要删除数据,以免发生误操作。

(3)数据修改

当某些数据发生变化或某些数据录入不正确时,应该允许用户对数据库中的数据进行修改,修改数据的操作一般是先根据一定的条件查询出要修改的记录,然后在对其中的某些记录进行修改,修改完成后再回到数据库中。

同数据的录入与删除一样,只有具有相应权限的用户才能修改相应表中的数据。

(4)数据查询

在数据库应用系统中,数据查询是最常用的功能。

数据查询应根据用户提出的查询条件进行,在设计系统时应首先征求用户的查询需求,然后根据这些需求整理出系统应具有的查询功能。

一般允许所有使用数据库的人都具有查询数据的权限。

本系统提出的查询要求有:

♦根据学号、学院、专业等信息查询学生的基本信息。

♦根据图书编号查询图书的基本信息。

♦根据管理员编号查询管理员的基本信息。

♦统计各个年级学生借书的总数量。

等等。

3.3应用程序实现

3.31语言及DBMS的选择

制作这5个表的数据库使用DBMS的是ACCESS,然后用VB语言编写程序代码,实现程序的各个功能。

其中用到了ADo数据控件和DataGrid控件。

3.32应用程丿了的编写

(1)学生表VB代码

PriVateSUbCOmmandI-CIiCkO1”添加”命令按钮

AdodcStudent-Recordset-AddNew

■使"

添加"

和”删除"

按钮成为不可用状态

COmmandI.Enabled=FalSe

COmmand3.Enabled=FalSe

使"

更新"

按钮成为可用状态

COmmand4.Enabled=TrUC

淸空文本框中显示的内容

TextLText=,m,

Text2.Text=mι

Text3.Text=mι

Text4.Text=m,

Text5.Text=m'

EndSUb

PriVateSUbCOmmand2_CliCkO'

"

退出"

命令按钮

End

PriVateSUbCOmmand3-Click(),■'

删除”命令按钮

DinlresASInteger

res=MSgBOX(H确实要删除此行记录吗?

”,VbEXCIamatiOn+VbYeSNO+VbDefaUItBUttOn2),提示用户

Ifres=VbYeSThen,如确实要删除

AdOdCStUdent.Recordset-DcIete

AdOdCStUdent.Recordset-MoveNcxt

IfAdOdCStUdent.Recordset.EOF=TnlCThen

AdodCStUdent.Recordset-MoveLast

EndIf

PriVateSUbCOmnland4_CIiCko,”更新"

■将文本框中的当前值写入结果集中相应字段中

≡4rz-20-

AdOdCStUdent.Recordset.Fields(π学号,l)=Trim(TeXtl.Text)

AdOdCStUdent.Recordset.Fields(u姓名"

)=Trim(TeXt2.Text)

AdOdCStUdent.Recordset.Fields(u学院,,)=Trim(TeXt3.Text)

AdOdCSlUdCm.Rccordsct.Fields(”专业”)=Trim(TeXt4.Text)

AdodCStUdent.Recordset.Fields(υ年级,,)=Trim(TeXt5.Text)

使更新生效

AdOdCStUdent.Recordset-Update

使"

和”删除“按钮成为可用状态

COmmandLEnabled=TrUC

COmmand3.Enabled=TrUC

PriVateSUbCOmmand5-Click(),”上一条”命令按钮

AdOdCStUdent.Recordset-MovePrevious

PriVateSUbCOmmand6_CIiCkO,"

下一条"

AdodCStUdent.Recordset-MoveNext

(2)图书表VB代码

PriVateSUbCOmnland2_CIiCko,”添加"

AdOdCBOOk.Recordset-AddNew

■使”添加"

COmmand2.Enabled=FalSe

和"

取消"

COmmand4.Enabled=TrllC

COmmand5.Enabled=TrUe

淸空文本框中显示的内容

Text2.Text=m'

Text3.Text=m'

Text4.Text=mι

Text5.Text=mι

EndSub

PriVateSUbCOmmand3_CliCkOE删除'

DimresASInteger

res=MSgBOX(,确定要删除此行记录7,∖VbEXClamatiOn+VbYeSNO+VbDefaUItBUUOn2)1提示用户

AdOdCBOOk.RecordseteDelete

AdodCBOOk.RecordsetAloveNext

IfAdOdCBOOk.Recordset-EOF=TrUeThen

AdOdCBOOk.Recordset-MoveLast

PriVateSUbCOmmand4_CIiCko'

AdOdCBOOk.Recordset.Fields(π图书编号J=TriIn(TeXtl.Text)AdOdCBOOk.Recordset.Fields(π图书名称J=TriIn(TeXt2.Text)AdOdCBOOk.Recordset-FieldS(H出版社名称”)=Trim(TeXt3.Text)Ad(XiCBOOk.Recordset.Fields(π出版日MoH)=Triln(TeXt4.Text)Ad(XiCBOOk.Recordset.FieldS(H作者”)=Trim(TeXt5.Text)'

AdOdCBOOk.Recordset-Update

COmmand2.Enablcd=TrUC

COmmand5.Enabled=FalSe

PriVateSUbCOmnland5_CliCko

COmmand2.Enabled=TrUe

COmmand3.Enabled=TrUe

PriVateSUbCOmmand6_CIiCkO八‘上一条"

命令按钮AdOdCBOOk.RecordseteMovePrevious

PriVateSUbCOmmand7-Click()'

11T一条"

命令按钮AdOdCBOOk.Recordset-MoveNext

(3)管理员表VB代码

PriVateSUbCOmmandI_CliCko,”退岀"

PriVateSUbCOmmand2_CIiCko,"

AdOdCManager.RecordseteAddNew

使■'

添加“和”删除”按钮成为不可用状态

COmnIand3.Enabled=FalSe

COmmand4.Enablcd=TrUC

淸空文本框中现实的内容

Textl.Text=,m,

∖VbEXClamatiOn+VbYeSNO+VbDefaUItBUttOn2)提示用户

AdOdCManager.RecordseteDelete

AdOdCManager.RecordseteMoveNext

IfAdOdCManager.Recordset.EOF=TrUeThen

AdodCManage匚ReCOrdset.MovcLasl

PriVateSUbCOmmand4_CIiCkO,”更新”命令按钮

AdodCManager.Rccordset.FicldsC管理员编号”)=Trim(TeXtLTeXt)

AdOdCManager.Recordset.FieldS(H管理员姓名”)=Trim(TeXt2.Text)'

AdodcManager-RecordseteUpdate

PriVateSUbCOmmand5_CIiCko'

吐一条"

AdOdCManager.Rccordsct.MovcPrcvious

PriVateSUbCOmmand6-Click()…下一条,'

Ad(XiCManager.RecordseteMoveNext

(4)借阅表VB代码

PriVateSUbCOmmandI_CliCko,”退出”命令按钮

PriVateSUbCOmmand2_CIiCkO,"

上一条"

AdodCBOrrOWn.Recorclset-MovePrevious

PriVateSUbCOmmand3_CliCkoZ下一条"

AdOdCBOrrOWn.Recordset-MoveNext

EndSlIb

PriVateSUbCOmmand4_CliCko,"

添力Ir命令按钮

Ad(XiCBOrrOWn.Recordset-AddNew

删除"

COmmand4.Enabled=FalSe

COmnland5.Enabled=FalSe

COmmand6.Enablcd=TrUC

Text4.Text=m'

Text6.Text=mι

PriVateSUbCOmmand5_CIiCko,”删除'

”,VbEXClamatiOn+VbYeSNO+VbDefaUltBUttOn2)提示用户

IfreS=VbYeSThen,如确实要删除

AdodCBOrrOWn.Recordset-Delete

IfAdOdCBOrrOWn.Recordset.EOF=TrUeThCn

AdOdCBOrrOWn.Recordset-MoveLast

PriVateSUbCOmmand6_CIiCko,"

更新”命令按钮

AdOdCBOrrOWn.Recordset.Fields(π学号”)=Trim(TeXtI.Text)

AdodCBOrrOWn.Recordset.Fields(π姓名"

AdOdCBOrrOWn.Recordset.Fields(π图书编号"

)=TrinI(TeXt3.Text)

AdOdCBOrrOWn.Recordset.Fields(π图书名称"

)=TriIn(TeXt4.Text)

AdOdCBOrrOWn.Recordset-FieldsC*借阅日期”)=TriIn(TeXt5.Text)

AdodCBOrrOWn.Recordset.Fields(π应归还日期”)=Trim(TeXt6.Text)

AdodCBOrrOWn.Recordset-Update

COmnland4.Enabled=TrUC

COmmand5.Enabled=TrUC

(5)管理表VB代码

PriVateSUbCOmmandI-CIiCko,”退出”命令按钮

PriVateSUbCOmmand2_CliCko,”添加”命令按钮

AdodCManagCmCnt.Recordset.AddNcw

COmnland3.Enabled=FalSe

PriVateSUbCOmmand3_CIiCko,”删除'

”,VbEXClamatiOn+VbYeSNO+VbDefaUltBUttOn2)'

提示用户

AdOdCManagement.RecordseteDeIete

AdOdCManagemCnt.RecordsetAIoveNext

IfAdOdCManagement.Recordset.EOF=TrUeThen

AdOdCManagemCnt.Recordset-MoveLast

PriVateSUbCOmmand4_CIiCko,"

AdodCManagemCnLRCCordSeLFiCIdS(”管理日期”)=TriIn(TeXtl.Text)AdOdCManagement.Recordset.Fields(n管理员编号,r)=TnnI(TeXt2

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2