数据库课设.docx
《数据库课设.docx》由会员分享,可在线阅读,更多相关《数据库课设.docx(22页珍藏版)》请在冰豆网上搜索。
![数据库课设.docx](https://file1.bdocx.com/fileroot1/2023-1/23/50b87773-9ef4-4dec-a00a-a65d63e52d88/50b87773-9ef4-4dec-a00a-a65d63e52d881.gif)
数据库课设
数据库课设
课程设计报告
课程名称数据库原理课程设计
课题名称图书管理系统
专业计算机科学与技术
班级计算机1202
学号12
姓名
指导教师张铁楠
2015年3月16日
湖南工程学院
课程设计任务书
课程名称数据库原理课程设计
课题图书管理系统
专业班级计算机1202
学生姓名
学号12
指导老师张铁楠
审批
任务书下达日期2015年3月2日
任务完成日期2015年3月16日
一、设计内容与设计要求
1.设计内容:
数据库系统原理的课程设计要求学生综合利用本课程的有关知识,在教师的指导下,利用特定的数据库设计环境,针对具体的问题,完成从系统的需求分析、数据库的概念设计、数据库的逻辑设计,到数据库实现等设计过程,最终实现一个较为完整的反映应用需求的数据库系统。
因此,在设计中,要求学生应该全面考虑各个设计环节以及它们之间的相互联系。
下面是各个设计阶段的具体内容。
⒈系统需求分析
需求分析是数据库系统设计的一个重要的环节。
本阶段应该对整个应用情况作全面的、详细的调查,确定特定数据库应用环境下的设计目标,收集该应用环境下针对系统设计所需要的基础数据以及对这些数据的具体存储要求,从而确定用户的需求。
用户对数据库的需求包括:
⑴处理需求。
即用户要完成什么处理功能等。
学生在设计中应根据具体的课题要求确定系统应该实现的功能,一些基本的功能通常是必须具备的,如用户的管理与维护,基本数据的维护,灵活的信息查询等。
⑵信息需求。
即在数据库中需要存储哪些数据。
学生应该根据具体的课题,认真分析有关的要求,确定本设计的信息需求。
⑶安全性和完整性功能。
实践中这是一个需要与用户不断交流才能逐步确定的需求。
本课程设计要求学生在自己的设计中能反映出基本的安全性和完整性功能。
本阶段的设计结果(即系统需求分析)应该在课程设计报告中进行详细描述,画出系统的数据流图,写出较为详细的数据字典,作为本课程设计的验收依据之一。
⒉数据库的概念设计
数据库的概念设计是在需求分析的基础上,利用与用户双方都能理解的形式,设计出数据库的概念模型。
本课程设计要求学生采用E-R方法进行数据库的概念设计。
本设计阶段可分为:
●数据抽象。
即根据需求分析的结果,抽取出与本课程设计相关的特性。
设计局部概念模式。
运用E-R方法,设计出系统的各个局部ER模型。
●设计全局概念模式。
通过对局部E-R模型的操作,解决各个E-R模型关于对象定义不一致问题,以及对各个E-R模型进行合并优化等,最终形成数据库的全局概念模式。
本阶段的设计结果(局部和全局E-R图、具体数据库设计工具中概念结构设计图)应该在课程设计报告中进行详细描述,应该能够反映该设计的正确性,作为本课程设计的验收依据之一。
⒊数据库的逻辑设计
数据库逻辑设计的目的是将概念设计阶段设计好的E-R图转换成与具体机器上的DBMS(如Oracle)所支持的数据模型(如关系模型)相符合的逻辑结构。
鉴于本课程设计的具体环境要求,学生在进行数据库的逻辑结构设计时应该充分考虑特定的数据库环境。
要求学生在本阶段的设计中分两步进行:
●形成初始的关系模式。
将概念设计阶段产生的全局概念模式(E-R图)转换成初始的关系模式。
●关系模式的规范化处理。
为了减少或消除关系模式中存在的数据冗余和操作异常,根据设计所要求的规范级别,按照本课程所学知识,逐一分析各个关系模式是否满足规定的范式。
在课程设计报告中应该提供本设计阶段的相关内容,作为本课程设计的验收依据之一。
⒋创建数据库
在某一数据库管理系统环境中创建数据库,根据需要也可建立相关数据视图和存储过程。
在课程设计报告中应该提供相关的内容,包括数据库及各个数据库对象的定义的SQL语句,作为本课程设计的验收依据之一。
2.设计要求:
鉴于数据库选题原理课程设计的具体内容,对课程设计提出如下要求:
⒈选题原则
课程设计题目以选用学生相对比较熟悉的业务模型为宜,要求通过本实践性教学环节,能较好地巩固数据库的基本概念、基本原理、关系数据库的设计理论、设计方法等主要相关知识点,针对实际问题设计概念模型,并应用现有的工具完成小型数据库的设计与实现。
⒉选题要求
在后面的课题表中列出了几个设计课题,每个课题都有相应的要求或说明。
各课题的难易度有一定的差异,因此,参加课程设计的学生首先要了解设计的任务,仔细阅读各个课题的设计要求,然后根据自己的基础和能力情况选择其中一题,或者由指导教师指定。
一般来说,选择课题应以在规定的时间内能完成,并能得到应有的锻炼为原则。
若学生对课题表以外的相关课题较感兴趣,希望选作课程设计的课题时,应征得指导教师的认可,并写出明确的设计要求和说明。
设计时要严格按照题意要求进行设计,不能随意更改。
若确因条件所限,必须要改变课题要求时,应在征得指导教师同意的前提下进行。
3.参考选题
网店鲜花销售系统
网上购物商城
小说阅读网
KTV点播系统
局域网多功能聊天系统
多媒体播放器
人人乐超市管理系统
学生信息管理系统
Epet宠物管理系统
老百姓订餐系统
物业管理信息系统
在线教育网系统
其它管理子系统数据库设计(自己选题需经指导教师认可).
4.课程设计报告要求
课程设计的设计报告是学生对本次课程设计的全面总结,应该反映每个设计阶段的设计思路和设计内容。
该设计报告,应作为整个课程设计评分的书面依据和存档材料。
设计报告一般要以固定规格的纸张(如A4)书写或打印并装订,字迹及图形要清楚,工整,规范。
内容及要求如下:
⑴设计任务、要求及所用软件环境或工具介绍。
⑵课程设计内容中要求的设计结果。
⑶总结
⑷验收情况
二、进度安排
第一周星期一8:
00——12:
00
星期二14:
00——18:
00
星期三8:
00——12:
00
星期四14:
00——18:
00
星期五8:
00——17:
00
第二周星期一8:
00——12:
00
星期二14:
00——18:
00
星期三8:
00——12:
00
星期四14:
00——18:
00
星期五8:
00——17:
00
附:
课程设计报告装订顺序:
封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。
正文的格式:
一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。
正文的内容:
一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释)。
正文总字数要求在5000字以上(不含程序原代码)。
一、系统需求分析
1.1、处理需求
1、能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理,这主要包括:
1)图书信息的录入、删除及修改。
2)图书信息的多关键字检索查询。
3)图书的出借、返还及超期罚款或丢失赔偿。
2、能够对一定数量的读者、管理员进行相应的信息存储与管理,这其中包括:
1)读者信息的登记、删除及修改。
2)管理员信息的增加、删除及修改。
3)读者资料的统计与查询。
3、能够提供一定的安全机制,提供数据信息授权访问,防止随意删改、查询。
4、对查询、统计的结果能够列表显示。
1.2、信息需求
读者信息:
读者编号,姓名,性别,学号,学院,专业,年级,类型,类别编号,办证日期。
管理员信息:
管理员编号,姓名,性别,权限,登录口令,住址,电话。
馆藏图书信息:
图书编号,索书号,图书名称,作者,出版社,单价,摘要,关键字,副本数,分类,出版日期,状态。
借阅信息:
图书编号,读者编号,图书名,作者,借阅日期,归还日期,归还日期,应还日期,罚金。
借阅历史信息:
图书编号,读者编号,图书名,作者,借阅日期,还书日期。
罚款信息:
读者编号,图书编号,图书名,作者,借阅日期,应还日期,归还日期,罚款金额,处理状态,管理员编号。
1.3、安全性和完整性功能
1、安全性要求
系统安全性要求体现在数据库安全性、信息安全性和系统平台的安全性等方面。
安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过分配权限、设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的安全性;系统平台的安全性体现在操作系统的安全性、计算机系统的安全性和网络体系的安全性等方面。
2、完整性要求
系统完整性要求系统中数据的正确性以及相容性。
可通过建立主、外键,使用check约束,或者通过使用触发器和级联更新。
二、数据库的概念设计
2.1、数据抽象
2.1.1、读者、图书、管理员之间的E-R图,如图2.1.1。
图2.1.1
2.1.2、管理员、图书之间的E-R图,如图2.1.2所示。
图2.1.2
2.1.3、管理员、读者之间的E-R图,如图2.1.3所示。
图2.1.3
2.1.4、管理员、管理之间的E-R图,如图2.1.4所示。
图2.1.4
2.2、全局概念
1、合并各分E-R图,并且消除属性冲突、命名冲突、结构冲突等三类冲突,得到初步E-R图,再消除不必要冗余,最后得到全局百年的基本E-R如图2.2.1所示。
图2.2.1
2、各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)
3、各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)
三、数据库的逻辑设计
3.1、将E-R图转换为关系模型
由于读者类别与读者、馆室与图书的联系方式是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)
3.2规范化处理
因为关系模式Book,Reader,Room,ReaderType,Maneger不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,所以已经达到了3NF,故而符合规范化处理。
但是借阅关系模式、借阅历史关系模式、罚款关系模式(Borrow,History,Fine)中存在着一些数据冗余,故按规范化处理现将三个关系模型进行合并,消除冗余,其优化为后的关系模式如下:
借阅信息:
Borrow(BookID,ReaderID,BookName,BookWriter,Outdate,Indate,
YHdate,Fine,CLStaer,MID)
3.3、数据库模式定义
3.3.1、馆藏图书信息表
列名
数据类型
可否为空
说明
BookID
Char
notnull
图书编号
BookNo
Char
notnull
图书的索书号
BookName
Char
notnull
图书的书名
BookWriter
Char
notnull
图书作者
BookPulish
Char
notnull
图书出版社
BookPrice
Char
图书的单价
BookDate
Date
出版日期
BookClass
Char
图书的分类
BookMain
Char
图书的摘要
BookPrim
Char
图书的关键字
BookCopy
Char
图书的副本数
BookState
Char
notnull
图书是否可借
BookRNo
Char
notnull
图书所在馆室号
3.3.2、读者信息表
列名
数据类型
可否为空
说明
ReaID
Char
notnull
读者编号
ReaName
Char
notnull
读者姓名
ReaSex
Char
notnull
读者性别
ReaNo
Char
notnull
读者学号
ReaLBID
Char
notnull
读者类别编号
ReaType
Char
读者类型
ReaDep
Char
读者所在学院
ReaPref
Char
读者所属专业
ReaGrade
Char
读者的年级
ReaDate
Date
notnull
办证日期
3.3.3、管理员信息表
列名
数据类型
可否为空
说明
MID
Char
notnull
管理员编号
MName
Char
notnull
管理员姓名
MSex
Char
管理员性别
Mpsw
Char
notnull
管理员密码
MAuth
Char
notnull
管理员权限
MTeleph
Char
管理员电话
MAddre
Char
管理员地址
3.3.4、馆室信息表
列名
数据类型
可否为空
说明
RoomNo
Char
notnull
馆室号
RoomMID
Char
notnull
馆室管理员编号
RoomNum
Char
馆室拥有图书数目
RoomAddre
Char
馆室地址
3.3.5读者类别信息表
列名
数据类型
可否为空
说明
LBID
Char
notnull
读者类别编号
LBName
Char
notnull
读者类别名
LBnum
Char
notnull
允许借阅图书最大数
LBbqx
Char
notnull
持有图书最长期限
LBqx
Char
notnull
借阅证期限
3.3.6借阅信息表
列名
数据类型
可否为空
说明
ReaID
Char
notnull
读者编号
BookID
Char
notnull
图书编号
BookName
Char
notnull
图书名
BookWriter
Char
作者
Outdate
Date
notnull
借阅时间
Indate
Date
归还时间
YHdate
Date
notnull
应还时间
Fine
Char
罚款金额
CLState
Char
处理状态
MID
Char
notnull
管理员编号
3.3.7、读者基本信息视图
列名
数据类型
可否为空
说明
ReaID
Char
notnull
读者编号
ReaName
Char
notnull
读者姓名
ReaSex
Char
notnull
读者性别
ReaType
Char
读者类型
ReaDep
Char
读者所在学院
ReaDate
Date
l
办证日期
3.3.8、图书基本信息视图
列名
数据类型
可否为空
说明
BookNo
Char
notnull
图书的索书号
BookName
Char
notnull
图书的书名
BookWriter
Char
notnull
图书作者
BookPulish
Char
notnull
图书出版社
BookState
Char
notnull
图书是否可借
BookRNo
Char
notnull
图书所在馆室号
3.3.9、读者当前借阅信息视图
列名
数据类型
可否为空
说明
BookID
Char
notnull
图书编号
BookName
Char
notnull
图书名
Outdate
Date
notnull
借阅时间
YHdate
Date
notnull
应还时间
3.3.10、读者借阅历史信息视图
列名
数据类型
可否为空
说明
BookID
Char
notnull
图书编号
BookName
Char
notnull
图书名
Outdate
Date
notnull
借阅时间
Indate
Date
归还时间
3.3.11、读者罚款信息视图
列名
数据类型
可否为空
说明
BookID
Char
notnull
图书编号
BookName
Char
notnull
图书名
Outdate
Date
notnull
借阅时间
Indate
Date
归还时间
Fine
Char
notnull
罚款金额
CLState
Char
notnull
处理状态
四、创建数据库
4.1、建立数据库
createdatabaseBook;
4.2、建立数据表
4.2.1、读者类别信息表的建立:
createtableReaderType(
LBIDchar(5)primarykey,
LBNamechar(20)notnull,
LBnumchar(5)notnull,
LBbqxchar(4)notnull,
LBqxchar(3)notnull,
)
4.2.2、管理员基本信息表的建立:
createtableManeger(
MIDchar(10)primarykey,
MNamechar(10)notnull,
MSexchar
(2),
Mpwdchar(8)notnull,
MAuthchar(40)notnull,
MTelephchar(15),
MAddrechar(30),
check(MSex='男'orMSex='女')
)
4.2.3、图书馆室基本信息表的建立:
createtableRoom(
RoomNochar(5)primarykey,
RoomMIDchar(10)notnull,
Roomnumchar(5),
RoomAddrechar(20),
foreignkey(RoomMID)referencesManeger(MID),
)
4.2.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),
)
4.2.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