版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
千里之行,始于足下让知识带有温度。第第2页/共2页精品文档推荐高校图书馆管理系统数据库设计图书管理系统数据库设计学号:
专业班级:
姓名:
指导教师:
完成日期:
名目
1.引言
2.需求分析阶段
2.1引言
2.2需求分析阶段的目标与任务
2.2.1处理对象
2.2.2处理功能及要求
平安性和完整性要求
2.3需求分析阶段成绩
3概念设计阶段
3.1引言
3.2任务与目标
3.3阶段结果4.规律设计阶段
4.1规律设计的任务和目标
4.2数据组织
4.2.1将E-R图转换为关系模型
4.2.2模型优化
4.2.3数据库模式定义
4.2.4用户子模式定义
4.3数据处理5.物理设计阶段
5.1物理设计阶段的目标与任务
5.2数据存储方面
5.3系统功能模块
5.3.1读者基本信息的查询和更新模块
5.3.2图书基本信息的查询和更新模块6.数据库实施阶段
6.1建立数据库、数据表、视图、索引
6.1.1建立数据库
6.1.2建立数据表
6.1.3建立视图
6.1.4建立索引
6.1.5建立触发器
6.2数据入库
6.3创建各个功能的存储过程
7.系统调试和测试8.实习心得9.存在的问题及建议致谢
1.引言
随着社会信息量的与日俱增,职场竞争的日趋激烈,越来越多的人更关注学问的堆积、能力的培养。作为信息存储的主要媒体之一图书,数量、规模比以往任何时候都大的多,不论个人还是图书管理部门都需要使用便利而有效的方式来管理自己的书籍。
在计算机日益普及的今日,对个人而言若采纳一套行之有效的图书管理系统来管理自己的书籍,会便利许多。对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,为了便于图书资料的管理需要有效的图书管理软件。对于日益扩大的图书馆,查找特定的书目总是借阅者或工作人员劳神费劲,有时还没有结果。因此往往是投入了大量的人力和财力却得不到高效的管理效率。为了缩短借阅者的等待时光,减轻工作人员的工作量,便利工作人员对它的操作,提高管理的质量和水平,做到高效、智能化管理,从而达到提高图书借阅信息管理效率的目的,采纳数据库技术生成的图书馆借阅管理系统将会极大地便利借阅者并简化图书馆管理人员和工作人员的劳动,使工作人员从繁忙、复杂的工作进入到一个容易、高效的工作中。
本文以大学图书馆管理系统管理系统开发过程为背景,全文分为名目、需求分析、概要设计、规律设计、物理设计,以及系统的实现等全过程。在程序设计与调试上采纳了自上而下,逐步细化,逐步完美的原则。采纳结构化的功能模块设计系统功能,可读性好,易于扩充。基本功能全面,系统可读性好,易于维护、更新,平安性好。
2.需求分析阶段
2.1引言
举行系统设计,首先要对系统的现状举行分析。按照系统的目标、需求和功能,制定和挑选一个较好的系统计划,从而达到一个合理的优化系统。每个小学都有图书馆,最初因为图书数量和种类较少,人工手动管理比较便利和灵便。随着社会的进展,图书的数量和种类越来越多,人工手动管理睬降低工作的效率,希翼建立一个图书管理系统,是为了解决人工手动管理图书信息在实践的问题,从而达到系统化、规范化、标准化的水平。该系统的建立不但给管理者带来了便利,也节约了工作时光从而提高了工作效率。
需求分析是在于要弄清用户对开发的数据库应用系统确实切要求。数据库设计的第一步是明确数据库的目的和如何使用,也就是说需要从数据库中得到哪些信息。明确目的之后,就可以确定您需要保存哪些主题的信息(表),以及每个主题需要保存哪些信息(表中字段)。
在构造系统时,首先从需求动身构造数据库表,然后再由数据库表结合需求划分系统功能模块。这样,就把一个大的系统分解成了几个小系统。这里把系统的层次划分为了四个部分:图书维护,人员信息管理,图书借阅管理,信息查询。能够实现以下功能:
○1举行新书入库、现有图书信息修改以及删除;
②能够实现对读者基本信息的查询和编辑管理;
③能够举行超期罚款功能;
④能够举行借阅信息的查询功能;
2.2需求分析阶段的目标与任务
读者信息:读者编号,姓名,性别,学号,学院,专业,年级,类型,类别编号,办证日期
管理员信息:管理员编号,姓名,性别,权限,登录口令,住址,电话
馆藏图书信息:图书编号,索书号,图书名称,,出版社,单价,
运行机制,并通过上网搜寻有关图书管理系统的学问,了解到了图书管理的现状,以及在管理中的一些问题。因为是第一次做这样的需求调查,开头总是觉得无从下手,不知道自己该了解、该清晰那些方面的学问,在绘制系统业务流程图时,也碰到了无数的问题,但通过教师的协助与指导,和自己一遍一遍的分析和完美,才逐步把业务弄清晰,终于顺当完成了需求分析阶段的任务。
2.3.2图书管理系统业务流程图
从读者角度考虑的业务流程图:
2.3.3图书管理系统数据流程图
顶层数据流图:
图2.2顶层数据流
第2层数据流图:(读者借阅,读者还书,读者查询,管理员查询,管理员修改)
第3层数据流图:(读者借阅)
第3层数据流图:(读者还书)
第3层数据流图:(查询图书信息,查询读者信息,查询借经验史,查询罚款信息)
第3层数据流图:(管理员添加、删除、修改图书信息)
第3层数据流图:(管理员添加、删除、修改读者信息)
第3层数据流图:(管理员添加、删除、修改系统用户信息)
2.3.4图书管理系统数据字典
(a)数据项:系统涉及的数据项有44项
表1.1数据项列表
系
DI-1BookID图书条码号char(9)条码号DI-2BookNo图书索书号char(10)索书号DI-3BookName图书名char(20)书名
DI-4BookWriter图书char(8)
DI-5BookPublish图书出版社char(20)出版社DI-6BookPrice图书单价char(7)单价
DI-7BookDate图书出版日期Date出版日期DI-8BookClass图书分类char(20)类别
DI-9BookMain图书
系
DI-38MAuth管理员权限级别char(4)权限级别DI-39MTeleph管理员电话char(15)电话
DI-40MAddre管理员地址char(30)住址
DI-41RoomNo馆室号同BookRNochar(5)馆室号DI-42RoomMID馆室管理员编号同MIDchar(10)编号
DI-43RoomNum馆室内图书数目char(5)数量
DI-44RoomAddre馆室地址char(20)地址
(b)数据结构:
表1.2数据结构列表
数据结构编号数据结构名
数据结构
含义
组成
DS-1Book馆藏图书信息BookID,BookNo,BookName,BookWriter,BookPublish,BookPrice,BookDate,BookClass,BookMain,BookPrim,BookCopy,BookState,BookRNo
DS-2Reader读者信息ReaID,ReaName,ReaSex,ReaNo,ReaLBID,ReaType,ReaDep,ReaGrade,ReaPref,ReaDate,
DS-3Borrow借阅信息BookID,ReaID,BookName,BookWriter,Outdate,YHdate
DS-4History借经验史BookID,ReaID,BookName,BookWriter,Outdate,Indate
DS-5Fine罚款信息BookID,ReaID,BookName,Outdate,Indate,Fine,CLState,MID
DS-6ReaderType读者类别LBID,LBName,LBnum,LBbqx,LBqx
DS-7Maneger管理员信息MID,MName,MSex,Mpwd,MAuth,MTeleph,MAddreDS-8Room馆室信息RoomNO,RoomMID,RoomNum,RoomAddre
2.3.5处理规律描述
表1.3处理规律列表
3概念设计阶段
3.1引言
系统开发的总体目标是实现图书馆管理的系统化和自动化,缩短借阅者的等待时光,减轻工作人员的工作量,便利工作人员对它的操作,提高管理的质量和水平,做到高效、智能化管理,从而达到提高图书管理效率的目的。
主要任务是对读者信息、管理员信息、图书资料信息、借阅信息、归还图书信息、罚款信息的基本信息的操作及外理。
概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它是囫囵数据库设计的关键。
3.2任务与目标
(1)挑选中层数据流为切入点,通常挑选实际系统中的子系统;
(2)设计分E-R图,即各子模块的E-R图;
(3)生成初步E-R图,通过合并办法,做到各子系统实体、属性、联系统一;
(4)生成全局E-R图,通过消退矛盾等方面。
在本图书管理系统中,从第3层数据流程图下手。分析各3层数据流图和数据字典,知道囫囵系统功能围绕“读者”、“管理员”和“图书”的处理。按照实体与属性间的两条准则:○1作为“属性”,不能再具有需要描述的性质。○2“属性”不能与其他实体具有联系。数据流程图2.4、图2.5、图2.6可综合成借阅子系统的分E-R图3.1,数据流程图2.7可抽象为分E-R图3.2,数据流程图2.8可抽象为分E-R图3.3,数据流程图2.9可抽象为分E-R图3.4。
然后采纳逐步集成的方式将各分E-R图合并,消退不须要的冗余和矛盾后就生成了基本E-R图3.5。
3.3阶段结果
(1)按照不同的对象,从第3层数据流程图入手,分离画出各分E-R图:(a)从数据流程图图(三)与图(四)抽象出的分E-R图:
(c)从数据流程图图(六)抽象出的分E-R图:
(d)从数据流程图图(七)抽象出的分E-R图:
(e)从数据流程图图(八)抽象出的分E-R图:
(2)合并各分E-R图,消退属性矛盾、命名矛盾、结构矛盾等三类矛盾,得到初步E-R图,再消退不须要冗余,得到的基本E-R图如下所示:
(3)各E-R图各实体的属性如下所示:
图书:Book(BookID,BookNo,BookName,BookWriter,BookPublish,BookPrice,BookDate,BookClass,BookMain,BookPrim,BookCopy,BookState,BookRN)读者:Reader(ReaID,ReaName,ReaSex,ReaNo,ReaLBID,ReaType,ReaDep,ReaGrade,ReaPref,ReaDate)
管理员:Maneger(MID,MName,MSex,Mpwd,MAuth,MTeleph,MAddre)
馆室:Room(RoomNo,RoomMID,RoomNum,RoomAddre)
读者类别:ReaderTpye(LBID,LBName,LBnum,LBbqx,LBqx)
各E-R图中联系的属性如下所示:
借阅信息:Borrow(BookID,ReaderID,BookName,BookWriter,Outdate,YHdate)
借经验史:History(BookID,ReaderID,BookName,BookWriter,Outdate,Indate)
罚款信息:Fine(BookID,ReaderID,BookName,Outdate,Indate,Fine,CLState,MID)
4.规律设计阶段
4.1规律设计的任务和目标
以上的概念设计阶段是自立于任何一种数据模型的,但是规律设计阶段就与选用的DBMS产品发生关系了,系统规律设计的任务就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的规律结构。详细内容包括数据组织(将E-R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据处理(画出系统功能模块图)两大任务。
4.2数据组织
实体型转换为关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的联系则有以下不同的状况:
一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
一个1:n联系可以转换为一个自立的关系模式,也可以与n端对应的关系模式合并。假如转换为一个自立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
一个1:1联系可以转换为一个自立的关系模式,也可以与随意一端对应的关系模式合并。三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合具有相同码的关系模式可合并。
因为读者类别与读者、馆室与图书的联系方式是1:n(一对多),可以将其之间的联系与n端实体读者、图书合并,管理员与图书之间的维护联系也是1:n(一对多),同样也将其之间的联系与n端实体合并,而读者与图书之间的借阅和归还联系方式则是n:m(多对多),这样要把它们之间的联系转化为自立的关系模式,读者与管理员之间的罚款联系是m:n(多对多),将其联系也转化成自立的关系模式,详细的基本E-R图向关系模型的转化如下:图书:Book(BookID,BookNo,BookName,BookWriter,BookPublish,BookPrice,BookDate,BookClass,BookMain,BookPrim,BookCopy,BookState,
BookRNo)
读者:Reader(ReaID,ReaName,ReaSex,ReaNo,ReaLBID,ReaType,ReaDep,ReaGrade,ReaPref,ReaDate)
管理员:Maneger(MID,MName,MSex,Mpwd,MAuth,MTeleph,MAddre)
读者类别:ReaderTpye(LBID,LBName,LBnum,LBbqx,LBqx)
馆室:Room(RoomNo,RoomMID,RoomNum,RoomAddre)
借阅信息:Borrow(BookID,ReaderID,BookName,BookWriter,Outdate,YHdate)
借经验史:History(BookID,ReaderID,BookName,BookWriter,Outdate,
Indate,YHdate)
罚款信息:Fine(BookID,ReaderID,BookName,Outdate,Indate,Fine,CLState,MID)(注:标有直线下划线的为主属性,标有波浪线下划线的是外键属性,主属性与外键属性一起构成主码)
关系模式Book,Reader,Room,ReaderType,Maneger不存在非主属性对主属性的部分函数依靠,也不存在传递函数依靠,已经达到了3NF,但是借阅关系模式、借经验史关系模式、罚款关系模式(Borrow,History,Fine)中存在着一些数据冗余,现将三个关系模型举行合并,消退冗余,优化为:
借阅信息:Borrow(BookID,ReaderID,BookName,BookWriter,Outdate,Indate,
YHdate,Fine,CLStaer,MID)
表2.1馆藏图书信息表
列名数据类型可否为空说明BookIDCharnotnull图书编号
BookNoCharnotnull图书的索书号
BookNameCharnotnull图书的书名
BookWriterCharnotnull图书BookPulishCharnotnull图书出版社BookPriceChar图书的单价BookDateDate出版日期BookClassChar图书的分类BookMainChar图书的
LBIDCharnotnull读者类别编号
LBNameCharnotnull读者类别号
LBnumCharnotnull允许借阅图书最大数LBbqxCharnotnull持有图书最长久限LBqxCharnotnull借阅证期限
表2.6借阅信息表
列名数据类型可否为空说明ReaIDCharnotnull读者编号
BookIDCharnotnull图书编号
BookNameCharnotnull图书名
BookWriterChar
OutdateDatenotnull借阅时光
IndateDate归还时光
YHdateDatenotnull应还时光
FineChar罚款金额
CLStateChar处理状态
MIDCharnotnull管理员编号
4.2.4用户子模式定义
表2.7用户子模式定义
编号用户子模式(View)作用(个性:提供数据保密和平安庇护机制)V-1BookView便于查询和修改图书的基本信息
V-2ReaderView便利读者基本信息的查询、更新
V-3HistoryView便于借经验史信息的查询
V-4BorrowView用于当前借阅信息的查询
V-5FineView便于查询罚款信息
表2.8读者基本信息视图
列名数据类型可否为空说明ReaIDCharnotnull读者编号
ReaNameCharnotnull读者姓名
ReaSexCharnotnull读者性别
ReaTypeChar读者类型
ReaDepChar读者所在学院
ReaDateDatel办证日期
表2.9图书基本信息视图
列名数据类型可否为空说明BookNoCharnotnull图书的索书号
BookNameCharnotnull图书的书名
BookWriterCharnotnull图书
BookPulishCharnotnull图书出版社
BookStateCharnotnull图书是否可借
BookRNoCharnotnull图书所在馆室号
表2.10读者当前借阅信息视图
列名数据类型可否为空说明BookIDCharnotnull图书编号
BookNameCharnotnull图书名
OutdateDatenotnull借阅时光
YHdateDatenotnull应还时光
表2.11读者借经验史信息视图
列名数据类型可否为空说明BookIDCharnotnull图书编号
BookNameCharnotnull图书名
OutdateDatenotnull借阅时光
IndateDate归还时光
表2.12读者罚款信息视图
列名数据类型可否为空说明BookIDCharnotnull图书编号
BookNameCharnotnull图书名
OutdateDatenotnull借阅时光
IndateDate归还时光
FineCharnotnull罚款金额
CLStateCharnotnull处理状态
4.3数据处理
系统功能模块图:
5.物理设计阶段
5.1物理设计阶段的目标与任务
数据库的物理设计就是为规律数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任务:
(1)确定数据库的物理结构,在关系数据库中主要是存取办法和存储结构;
(2)对物理结构举行评价,评价的重点是时光和空间效率。
5.2数据存储方面
为数据库中各基本表建立的索引如下:
1.因为基本表Reader,Book的主码ReaID,BookID常常在查询条件和衔接操作的衔接
条件中浮现,且它们的值唯一,在两个属性上建立唯一性索引;
2.因为基本表Reader的属性ReaDep,Book的属性BookPublish常常在查询条件中出
现在两个属性上建立聚簇索引;
3.借阅信息基本表Borrow的一属性ReaID,BookID,常常在查询条件中浮现,考虑在其
之上建立聚簇索引;
4.罚款信息基本表Fine的一属性ReaID,BookID,常常在查询条件中浮现,考虑在其之
上建立聚簇索引;
5.3系统功能模块
5.3.1读者基本信息的查询和更新模块
将实现对读者基本信息的查询和更新(修改、添加、删除)操作,用于新生入学,毕业生离校,以及读者补办借阅证或更改信息的状况,详细的功能模块图如下:
5.3.2图书基本信息的查询和更新模块
将完成对图书基本信息的查询、更新(修改、添加、删除)操作,用于读者对图书信息的查询及管理员添加新书、删除淘汰的旧书,详细的功能模块图如下所示:
6.数据库实施阶段
6.1建立数据库、数据表、视图、索引
6.1.1建立数据库
createdatabaseBook;
6.1.2建立数据表
(1)读者类别信息表的建立:
createtableReaderType(
LBIDchar(5)primarykey,
LBNamechar(20)notnull,
LBnumchar(5)notnull,
LBbqxchar(4)notnull,
LBqxchar(3)notnull,
)
(2)管理员基本信息表的建立:
createtableManeger(
MIDchar(10)primarykey,
MNamechar(10)notnull,
MSexchar(2),
Mpwdchar(8)notnull,
MAuthchar(40)notnull,
MTelephchar(15),
MAddrechar(30),
check(MSex='男'orMSex='女')
)
(3)图书馆室基本信息表的建立:
createtableRoom(
RoomNochar(5)primarykey,
RoomMIDchar(10)notnull,
Roomnumchar(5),
RoomAddrechar(20),
foreignkey(RoomMID)referencesManeger(MID),)
(4)馆藏图书基本信息表的建立:
createtableBook(
BookIDchar(9)primarykey,
BookNochar(20)notnull,
BookNamechar(50)notnull,
BookWriterchar(30)notnull,
BookPublishchar(20)notnull,
BookPricechar(7),
BookDatedatetime,
BookClasschar(20),
BookMainchar(200),
BookPrimchar(30),
BookCopychar(5),
BookStatechar(10)notnull,
BookRNochar(5)notnull,
foreignkey(BookRNo)referencesRoom(RoomNo),)
(5)读者基本信息表的建立:
createtableReader(
ReaIDchar(9)primarykey,
ReaNamechar(10)notnull,
ReaSexchar(2)notnull,
ReaNochar(9)notnull,
ReaLBIDchar(5)notnull,
ReaTypechar(20),
ReaDepchar(20),
ReaGradechar(5),
ReaPrefchar(20),
ReaDateDatetime,
foreignkey(ReaLBID)referencesReaderType(LBID),
check(ReaSex='男'orReaSex='女')
)
(6)借阅基本信息表的建立:
createtableBorrow(
BookIDchar(9),
ReaIDchar(9),
OutdateDatetimenotnull,
YHdateDatetimenotnull,
IndateDatetime,
Finechar(5),
CLStatechar(8),
MIDchar(10)notnull,
primarykey(BookID,ReaID),
foreignkey(MID)referencesManeger(MID)
)
6.1.3建立视图
(1)用于查询图书基本信息的视图定义如下:
createviewBookview(索书号,书名,,出版社,图书状态)
as
selectBookNo,BookName,BookWriter,BookPublish,BookState
fromBook
(2)用于读者基本信息查询的视图定义如下:
createviewReaderview(读者姓名,类型,学院,专业,办证日期)
as
selectReaName,ReaType,ReaDep,ReaPref,ReaDate
fromReader
(3)用于显示当前借阅基本信息的视图定义如下:
createviewBorrowview(读者编号,书名,,借阅日期,到期日期)
as
selectReaID,BookName,BookWriter,Outdate,YHdate
fromBorrow,Book
whereBorrow.BookID=Book.BookIDandBorrow.Indateisnull
(4)用于借经验史信息查询的视图定义如下:
createviewHistoryview(读者编号,书名,借阅日期,归还日期)
as
selectReaID,BookName,Outdate,Indate
fromBorrow,Book
whereBorrow.BookID=Book.BookIDandBorrow.Indateisnotnull(5)用于查询罚款信息的视图定义如下:
createviewFineview(读者编号,书名,借阅日期,归还日期,罚款,处理状态)
as
selectReaID,BookName,Outdate,Indate,Fine,CLState
fromBorrow,Book
whereBorrow.BookID=Book.BookIDandFineisnotnull
6.1.4建立索引
createclusteredindexBookPublishonBook(BookPublish);
createclusteredindexReaDeponReader(ReaDep);
6.1.5建立触发器
1.当删除Reader表中某一读者基本信息时,触发Borrow表,删除相应的记录
createtriggerReader_delete
onReader
fordelete
as
deleteBorrow
fromdeleted
whereBorrow.ReaID=deleted.ReaID
2.当在中增强一条借阅记录时,使该图书的状态由“可借”变为“不行借”
createtriggerBorrow_insert1
onBorrow
forinsert
as
declare@BookIDchar(9)
select@BookID=BookID
frominserted
updateBook
setBookState='不行借'
whereBookID=@BookID
6.2数据入库
系统包括图书基本信息管理、读者基本信息管理、管理员信息管理、借阅信息管理、查询信息管理等四大功能模块,共有6张基本表,采纳事先在Excel中录入数据,然后使用SQLServer2000数据导入/导出向导功能,直接将数据导入到相应的基本表中。
6.3创建各个功能的存储过程
系统共创建了10个存储过程,详细列表如下:
表3.1创建的存储过程列表:
编号存储过程名称定义作用
P-1Book_Insert详见附录1-1在Book中插入一元组
P-2Reader_Insert详见附录1-2在Reader中插入一元组
P-3Maneger_Insert详见附录1-3在Maneger中插入一元组
P-4Borrow_Insert详见附录1-4在Borrow中插入一元组
P-5Delete_Book详见附录1-10从Book中删除一元组
P-6Delete_Reader详见附录1-9从Reader中删除一元组
P-7Query_Reader_R详见附录1-5读者在Reader中查询本人信息
P-8Query_Reader_M详见附录1-6管理员在Reader中查询所有读者
P-9Query_Book_Writer详见附录1-7在Book,按查询
P-10Query_Book_Name_Publish详见附录1-8在Book中,按书名和出版社查询(其它表的查询、修改、删除与以上各表的存储过程定义大致相同,这里不再详细列出)7.系统调试和测试
对该图书管理系统举行测试,验证每个功能是否符合要求,详细的测试如下:
(1)通过视图查看各个基本表和视图中的数据(见附录2)
(2)检测各个存储过程的功能:(见附录2)
8.实习心得
1.这次课程设计使我认识了系统设计的整体步骤。系统设计大体可分为需求分析、概念设
计、规律设计、物理设计、数据库的实施及调试测试六大步骤。其中,让我感受最深的是需求分析阶段,在这个阶段,必需对所要设计的系统有总体的构思和了解,知道自己要做什么,要实现什么,并且要实际的举行相关的调查,不能凭想象或自己的了解,这样会在后续的工作中碰到无数的问题。
2.这次课程设计加深了我对数据库系统概论相关学问和SQLSERVER相关功能的理解。例如
对建立基本表、视图、索引、存储过程、触发器等,都比以前越发的娴熟。并在解决碰到的各种问题的过程中,学到了无数新的学问。比如在导入\导出数据时,因为外键约束的存在,常常会浮现错误,这就要注重各个表导入的挨次问题。普通是先导入主键表,后导入外键表,这样可以避开无数的错误。
3.我进一步把握了相关的SQL语句方面的学问。不但订正了以前的错误熟悉和理解,而且学
会了建立存储过程和触发器。通过查阅资料,我还明了了存储过程是编译后放在服务器端的程序,它可以被别的模块调用,且不需要重新编译,这样就大大减轻了客户端的负担,
且有效的提高了系统执行的效率。
4.固然,在实习的过程中也存在一些问题。因为需求分析阶段的工作完成的不是很充分,
在后面的设计过程中,前后时常会浮现冲突,不全都现象,因此要反复的修改前面的结果,导致囫囵工作举行的不是很顺当。
9.存在的问题及建议
1.我觉得在这次课程设计中,需求分析阶段是致关重要的,但因为学生们都是第一次做这样的系统设计,都不是很认识需求分析的主要办法和主要任务,所以都很盲目,认为任凭从网上搜点相关的学问就可以了,但其实,这直接影响着后面的各个阶段的工作的举行。所以希翼教师在实习前能给我们对需求分析阶段的工作举行一定的指导。
2.在实习过程中,虽然我们每个班都配备了两到三名指导教师,可各指导教师轮番上班,当我们碰到问题时,有时在身边找不到教师,而铺张了一些珍贵的时光,或者是本班的指导教师在给别班的同学指导,所以也可能会耗费一定的等待时光。
3.但总的说来,这次实习的各个指导教师都是学问渊博,阅历丰盛,并且非常热烈的,我们请教的任何问题,教师都会耐心而仔细的为我们解决,教师不但帮我们解决了问题,同时也教会了我们解决此类问题的办法,这对我们今后的学习是非常有益的。
致谢
在这次数据库课程设计的囫囵过程中,都受到了指导老师杨丽丽教师、陈勇教师、武苏里教师精心的指导和关心,同时蔚继承教师、杨晓辉教师、孙建敏教师也赋予了我很大的协助。对此,表示忠心的谢谢!没有教师的耐心指导,我根本不行能顺当完成此次课程设计的任务。在这里,我尤其要诚挚的谢谢杨丽丽教师和蔚继承教师,两位教师丰盛的学问和编程阅历帮我解决了不少的难题,同时也给我传授了不少新的学问和技巧。
同时也谢谢给过我协助和鼓舞的学生,是他们的协助与鼓舞,在我碰到困难时,为我点亮了希翼的灯塔;在我灰心丧气时,带给我力气和信念。
附录1存储过程定义
1.Book_Insert的定义:
CREATEPROCEDUREBook_Insert
@BookIDchar(9),
@BookNochar(20),
@BookNamechar(50),
@BookWriterchar(30),
@BookPublishchar(20),
@BookPricechar(7),
@BookDatedatetime,
@BookClasschar(20),
@BookMainchar(200),
@BookPrimchar(30),
@BookCopychar(5),
@BookStatechar(10),
@BookRNochar(5)
as
insertintoBook
values(@BookID,@BookNo,@BookName,@BookWriter,@BookPublish,@BookPrice,@BookDate,@BookClass,@BookMain,@BookPrim,@BookCopy,@BookState,
@BookRNo);
2.Reader_Insert的定义:
CREATEPROCEDUREReader_Insert
@ReaIDchar(9),
@ReaNamechar(10),
@ReaSexchar(2),
@ReaNochar(9),
@ReaLBIDchar(5),
@ReaTypechar(20),
@ReaDepchar(20),
@ReaGradechar(5),
@ReaPrefchar(20),
@ReaDateDatetime
as
insertintoReader
values(@ReaID,@ReaName,@ReaSex,@ReaNo,@ReaLBID,@ReaType,@ReaDep,
@ReaGrade,@ReaPref,@ReaDate);
3.Maneger_Insert的定义:
CREATEPROCEDUREManeger_Insert
@MIDchar(10),
@MNamechar(10),
@MSexchar(2),
@Mpwdchar(8),
@MAuthchar(40),
@MTelephchar(15),
@MAddrechar(30)
as
insertintoManeger
alues(@MID,@MName,@MSex,@Mpwd,@MAuth,@MTeleph,@MAddre);
4.Borrow_Insert的定义:
CREATEPROCEDUREBorrow_Insert
@BookIDchar(9),
@ReaIDchar(9),
@OutdateDatetime,
@YHdateDatetime,
@IndateDatetime,
@Finechar(5),
@CLStatechar(8),
@MIDchar(10)
as
insertintoBorrow
values(@BookID,@ReaID,@Outdate,@YHdate,@Indate,@Fine,@CLState,@MID);
5.Query_Reader_R的定义:
createprocedureQuery_Reader_R
@ReaIDchar(9)
as
select*
fromReaderview
where编号=ltrim(@ReaID);
6.Query_Reader_M的定义:
createprocedureQuery_Reader_M
as
select*
fromReaderview
7.Query_Book_Writer的定义:
createprocedureQuery_Book_Writer
@BookWriterchar(50)
as
select*
fromBookview
wherelike'%'+ltrim(@BookWriter)+'%';
8.Query_Book_Name_Publish的定义:
createprocedureQuery_Book_Name_Publish
@BookNamechar(50),
@BookPublishchar(20)
as
select*
fromBookview
where书名=ltrim(@BookName)and出版社=ltrim(@BookPublish);
9.Delete_Reader的定义:
createprocedureDelete_Reader
@ReaNochar(9)
as
delete
fromReader
whereReaNo=ltrim(@ReaNo);
10.Delete_Book的定义:
createprocedureDelete_Book
@BookIDchar(9)
as
delete
fromBook
whereBookID=ltrim(@BookID);
附录2数据查看和存储过程功能的验证
1.基本表的数据查看(基于视图查询):
1)查看Reader(读者信息表)表中的数据
2)查看Bookview(图书信息)表中的数据:
3)查看Borrow(借阅信息)表中的数据:
4)查看Maneger(管理员信息表)表中的数据
5)查看Room(馆室信息表)表中的数据:
6)查看Borrowview(当前借阅信息)视图中的数据:
7)查看Historyview(借经验史信息)视图的数据:
8)查看Fineview(罚款信息)视图的基本数据:
2.存储过程功能的验证:
1)存储过程Query_Reader_R功能的验证:(按ReaID匹配查询读者信息)
2)存储过程Query_Book_Writer功能的验证:(按BookWriter含糊查询图书信息)
3)存储过程Query_Book_Nmae_Publish功能的验证:(按书名和出版社查询图书信息)
4)存储过程Query_Reader_M功能的验证:(以管理员身份查询读者信息)
5)存储过程Reader_Insert功能的验证:(插入一条读者信息记录)
6)存储过程Borrow_Insert功能的验证:(插入一条借阅信息记录)
7)存储过程Delete_Reader功能的验证:(按ReaNo删除相应的读者记录)
(注:因为篇幅限制,这里仅给出了其中几个存储过程功能的验证)
3.触发器功能的验证:(在Borrow表中插入一条记录,触发Book表将图书由“可借”
状态改为“不行借”状态)
附录3全部的SQL运行语句createdatabaseBook;
createtableReaderType(
LBIDchar(5)primarykey,
LBNamechar(20)notnull,
LBnumchar(5)notnull,
LBbqxchar(4)notnull,
LBqxchar(3)notnull,
)
createtableManeger(
MIDchar(10)primarykey,
MNamechar(10)notnull,
MSexchar(2),
Mpwdchar(8)notnull,
MAuthchar(40)notnull,
MTelephchar(15),
MAddrechar(30),
check(MSex='男'orMSex='女')
)
createtableRoom(
RoomNochar(5)primarykey,
RoomMIDchar(10)notnull,
Roomnumchar(5),
RoomAddrechar(20),
foreignkey(RoomMID)referencesManeger(MID),)
createtableBook(
BookIDchar(9)primarykey,
BookNochar(20)notnull,
BookNamechar(50)notnull,
BookWriterchar(30)notnull,
BookPublishchar(20)notnull,
BookPricechar(7),
BookDatedatetime,
BookClasschar(20),
BookMainchar(200),
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度新型城镇化项目宿舍建设承包合同4篇
- 2024铜门制安合同纠纷解决协议
- 2025年度医院感染控制中心建设与承包合同4篇
- 2025年度智慧社区建设项目承包合作协议范文4篇
- 2025年度出租车行业驾驶员职业保险合作协议3篇
- 2025年度智能车库使用权转让合同与范本4篇
- 2025年度智能化车库租赁服务合同范本4篇
- 2024版熟石灰购销协议范本
- 2025年度危险废物承包装卸处理协议4篇
- 2025年度智能穿戴设备租赁与健康管理服务合同4篇
- 二零二五年度无人驾驶车辆测试合同免责协议书
- 北京市海淀区2024-2025学年高一上学期期末考试历史试题(含答案)
- 常用口服药品的正确使用方法
- 2025年湖北华中科技大学招聘实验技术人员52名历年高频重点提升(共500题)附带答案详解
- 2024年钻探工程劳务协作协议样式版B版
- 《心肺复苏机救治院内心搏骤停患者护理专家共识》解读
- 计算机二级WPS考试试题
- 智联招聘行测题库及答案
- 前程无忧测评题库及答案
- 2023中华护理学会团体标准-注射相关感染预防与控制
- 超洁净管道(CL-PVC)施工技术
评论
0/150
提交评论