大连交通大学数据库课程设计说明书论文.docx

上传人:b****1 文档编号:2593798 上传时间:2023-05-04 格式:DOCX 页数:23 大小:250.59KB
下载 相关 举报
大连交通大学数据库课程设计说明书论文.docx_第1页
第1页 / 共23页
大连交通大学数据库课程设计说明书论文.docx_第2页
第2页 / 共23页
大连交通大学数据库课程设计说明书论文.docx_第3页
第3页 / 共23页
大连交通大学数据库课程设计说明书论文.docx_第4页
第4页 / 共23页
大连交通大学数据库课程设计说明书论文.docx_第5页
第5页 / 共23页
大连交通大学数据库课程设计说明书论文.docx_第6页
第6页 / 共23页
大连交通大学数据库课程设计说明书论文.docx_第7页
第7页 / 共23页
大连交通大学数据库课程设计说明书论文.docx_第8页
第8页 / 共23页
大连交通大学数据库课程设计说明书论文.docx_第9页
第9页 / 共23页
大连交通大学数据库课程设计说明书论文.docx_第10页
第10页 / 共23页
大连交通大学数据库课程设计说明书论文.docx_第11页
第11页 / 共23页
大连交通大学数据库课程设计说明书论文.docx_第12页
第12页 / 共23页
大连交通大学数据库课程设计说明书论文.docx_第13页
第13页 / 共23页
大连交通大学数据库课程设计说明书论文.docx_第14页
第14页 / 共23页
大连交通大学数据库课程设计说明书论文.docx_第15页
第15页 / 共23页
大连交通大学数据库课程设计说明书论文.docx_第16页
第16页 / 共23页
大连交通大学数据库课程设计说明书论文.docx_第17页
第17页 / 共23页
大连交通大学数据库课程设计说明书论文.docx_第18页
第18页 / 共23页
大连交通大学数据库课程设计说明书论文.docx_第19页
第19页 / 共23页
大连交通大学数据库课程设计说明书论文.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

大连交通大学数据库课程设计说明书论文.docx

《大连交通大学数据库课程设计说明书论文.docx》由会员分享,可在线阅读,更多相关《大连交通大学数据库课程设计说明书论文.docx(23页珍藏版)》请在冰点文库上搜索。

大连交通大学数据库课程设计说明书论文.docx

大连交通大学数据库课程设计说明书论文

摘要

为了更好的巩固和加强书本所学的知识,把所学的东西转化为实际应用。

我们学习了数据库应用程序的使用。

并应用了SQL语言。

对数据库的创建、修改、删除方法有了一定的了解。

通过导入表和删除表、更改表学会了对于表的一些操作。

为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。

当人们收集了大量的数据后,应该把它们保存起来进入近一步的处理,进一步的抽取有用的信息。

当年人们把数据存放在文件柜中,可现在随着社会的发展,数据量急剧增长,现在人们就借助计算机和数据库技术科学的保存大量的数据,以便能更好的利用这些数据资源。

通过图书馆管理系统的构造以及借书人的信息还有书的相关信息制成表格,输入到数据库中,使之能够进行查询、修改、删除并且与图书馆管理系统执行相同的操作。

需求分析阶段就是要研究我所做图书馆管理系统的具体分类和实施过程流图。

概念设计阶段要完成数据抽象与局部视图设计还有视图的集成。

逻辑结构设计阶段要把E-R图转化为关系模式并且把我输入的五张表结合在一起完成一个总关系表。

最后就是要运行和实施数据库。

要把查询结果与过程抓几张图

 

关键词:

SQLSERVER;数据库设计;图书馆管理系统

5.3安全性的实现..........................................................................................17

5.4完整性的实现..........................................................................................................17

5.5恢复技术的实现......................................................................................................18

第一章绪论

1.1课题简介

随着时代的发展,计算系软件和系统的成熟,机票如果简单方面预定成为一个影响多数人生活的问题。

而建立机票预定系统是一个很好的解决办法。

经过三年的学习,我们对计算机方面的知识有了很大的提升,本着理论联系实际的宗旨,通过学校提供的这次课程设计实践的机会,在指导教师的帮助下,历经两周时间,我自行设计一套图书馆管理系统,在下面的各章中,我将以这套图书馆管理系统信息系统为例,谈谈其开发过程和所涉及到的问题。

1.2设计目的

应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识。

实践和巩固在课堂教学中学习的关于数据库的有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。

实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。

1.3设计内容

选择课题并且对课题的相关信息有一定的了解,对于我选的课题来说,我必须了解图书馆管理系统的构造以及借书人的信息还有书的相关信息。

通过这些信息制成表格,输入到数据库中,使之能够进行查询、修改、删除并且与图书馆管理系统执行相同的操作。

需求分析阶段就是要研究我所作的图书馆管理系统的具体分类和实施过程流图。

概念设计阶段要完成数据抽象与局部视图设计还有视图的集成。

逻辑结构设计阶段要把E-R图转化为关系模式并且把我输入的五张表结合在一起完成一个总关系表。

最后就是要运行和实施数据库。

要把查询结果与过程抓几张图。

第二章需求分析

2.1需求分析的任务

调查图书馆管理系统应用领域涉及的内容,对涉及到领域的各个应用的信息要求和操作要求进行详细分析,形成需求分析说明书。

最重要的是调查、收集信息、分析借书人信息和借书流程。

处理要求、数据的安全性与完整性要求。

要求系统能有效、快速、安全、可靠和无误的完成上述操作。

并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。

2.2需求分析的过程

图书馆为方便管理,需开发一个图书馆管理系统。

为便于图书馆管理员的管理,管理员负责借书并且将借书人的信息,包括姓名、性别、工作单位、身份证号码、借书的书号,借书日期,输入图书馆管理系统的客户端程序,系统经过查询图书馆的数据服务器后,为借书者提供服务。

并规定什么时间还书超过时间要罚款,还要规定一次只能借几本。

要求系统能有效、快速、安全、可靠和无误的完成上述操作。

并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。

2.3数据字典与流程图

1.业务流程分析

经过可行性分析和初步需求调查,抽象出该系统业务流程图,结合该实例具体情况,给出借书者信息、借书信息需求。

图2.1图书馆管理系统流程图

⑴调查用户需求

①图书馆办公需求

●功能:

借书者持借书证去图书馆借书。

●统计功能:

◆按书号统计数的本书数

◆按姓名(身份证号),书名(书号),统计借书书数

②借书需求

●借还书功能:

◆借书

◆还书

③查询需求

●查询功能:

◆查询借书者所借的书是否被借走

◆查询书的位置

●统计功能:

◆统计书借出多少本

◆统计书还剩多少本

●查询功能:

④书的信息需求

●查询功能:

◆书名

◆作者

◆著书时间

2.系统模块分析

在调查完了用户需求之后,就要开始分析用户需求。

在此,我们采用自顶向下的结构化分析方法(SA方法)。

首先,定义全局概念结构的框架,如图2.2所示。

图2.2图书馆管理系统总框架图

各子系统需要进一步细化。

图书信息系统为例进一步细化,如图2.3所示。

图2.3图书信息系统细化

以其中的借书者信息功能为例进一步细化,如图2.4所示。

图2.4借书者信息系统细化

图2.5借书信息系统细化

图2.6书架信息系统

3.数据字典

将所有子系统全部细化。

将所有用户需求分析完毕之后,就要开始构造数据字典了。

经分析之后,本系统要用到五个基本表:

图书信息表,借书者信息表,借书信息表,书架信息表,书位置信息表。

数据结构定义如表2.1所示。

表2.1数据结构定义

数据结构名

含义说明

组成

图书信息表

定义了图书的有关信息

书名,书号,作者,著书时间,剩于多少本

借书者信息

定义了借书者有关信息

借书者姓名,身份证号,性别,

工作单位,电话号

借书信息表

定义了借书

的有关信息

书号,借书者的身份证号,借书日期

书架位置

定义了书架相关有关信息

书架编号,书架位置,所存书的类型

书位置位息表

定义了书座位有关信息

书号,书架编号,

第三章概念结构设计

3.1概念结构设计的方法与步骤

3.1.1概念结构设计的方法

概念设计阶段我采用自底向上的方法,即自顶向下的进行需求分析,然后再自底向上的进行概念结构设计。

对已经细化到无法再分的阶段逐步集成在一起,最终合成一个全局概念模式。

3.1.2概念结构设计的步骤

第一步是进行局部视图的设计:

由于高层的数据流图只能反映系统的概貌,而中层流图能较好的反映系统中各局部应用的子系统组成。

因此我们先逐一的设计分E-R图。

第二步是进行视图的集成:

各子系统的E-R图设计好之后,下一步就是要将所有的分E-R图合成一个系统的总E-R图,一般有两个方式,多个分E-R图一次集成,另一种是一次集成两个分E-R图。

我想采用一次集成两个分E-R图的方式。

3.2数据抽象与局部视图设计

按照图2.2图书馆管理系统总框架图,设计实体属性图以及局部E-R图。

图3.1图书实体属性图

图3.2借书者实体属性图

图3.3书架位置实体属性图

图3.3借书关系E-R图

图3.4书的位置关系E-R图

3.3视图的集成

经逐步细化再进行每两个一集成初步形成一个E-R图,最后得到图3.4总体概念结构E-R图。

借书者与图书是多对多的关系,书架与图书也是多对多的关系,这里不再注释。

图3.4系统总体结构E-R图

第四章逻辑结构设计

4.1E-R图向关系模型的转换

将图3.4总体概念结构E-R图转化成关系模型。

图书信息表(书号,书名,作者,著书时间,剩于多少本)

借书者信息表(身份证号,姓名,电话号,性别,工作单位)

书架位置信息表(书架编号,位置,所存书类型)

借书信息表(身份证号,书号,借书日期)

图书位置信息表(书号,书架编号)

4.2数据模型的优化

将转化的关系模式进行优化,最终达到第三范式。

1、确定数据依赖

图书信息(书号,书名,作者,著书时间,剩余多少本)根据这个关系写出数据依赖

书号→书名,书号→作者,书号→著书时间,书号→剩余多少本

借书者信息(姓名,身份证号,电话号,性别,工作单位)

身份证号→姓名,身份证号→电话号,身份证号→性别,身份证号→工作单位

书架位置信息(书架编号,位置,所存书类型)

书架号→位置,书架号→所存书类型

借书信息(身份证号,书号,借书日期)

(身份证号,书号)→借书日期

图书位置信息(书号,书架编号)

对各关系模式间数据依赖进行极小化处理,消除冗余

书号→书名,书号→作者,书号→著书时间,书号→剩余多少本

身份证号→姓名,身份证号→电话号,身份证号→性别,身份证号→工作单位

书架号→位置,书架号→所存书类型

(身份证号,书号)→借书日期

4.3基本表结构

根据总体结构图设计各表的结构,其相应标的定义如下:

 

表4-1图书信息系统的结构

字段名

数据类型

长度

约束

描述

bno

char

6

主键

书号

bname

varchar

15

不为空

书名

author

varchar

15

不为空

作者

bdate

date

不为空

著书时间

leftno

smallint

不为空

剩余多少本

表4-2借书者信息系统的结构

字段名

数据类型

长度

约束

描述

id

char

6

主键

身份证号

jname

varchar

15

不为空

借书者姓名

tno

varchar

15

不为空

电话号

sex

char

1

不为空

性别

adress

Varchar

15

不为空

工作单位

表4-3书架信息表系统的结构

字段名

数据类型

长度

约束

描述

shelfno

char

6

主键

书架编号

shelfadd

char

6

不为空

位置

btype

varchar

15

不为空

所存书的类型

表4.4借书信息系统的结构

字段名

数据类型

长度

约束

描述

bno

char

6

主键

书号

id

char

6

主键

身份证号

jdate

date

不为空

借书日期

表4.5图书位置信息表

字段名

数据类型

长度

约束

描述

bno

char

6

主键

书号

shelfno

char

6

主键

书架号

第五章数据库的实现

5.1数据库的建立

Creatdatabasedb1

Onprimary

(name=db1,

Filename='E:

\db1-课程设计数据库\db1_datamdf,

Size=4MB,

Maxsize=10MB,

Filegrowth=1MB

Logon

(name=db1_log,

Filename='E:

\db1-课程设计数据库\db1_log.ldf,

Size=1MB,

Maxsize=10MB,

Filegrowth=1%

5.2数据库基本结构的建立

1、基本表的建立

●Createtable图书

Bnochar(6)primarykey,

Bnamevarchar(15)notnull,

Authorvarchar(15)notnull,

Bdatedatetimenotnull,

Leftnosmallintnotnull

);

●Createtable借书者

Idchar(6)primarykey,

Jnamevarchar(15)notnull,

Tnovarchar(15)notnull,

Sexchar

(1)notnull,

Addressvarchar(15)notnull

);

●Createtable书架

Shelfnochar(6)primarykey,

Shelfaddchar(6)notnull,

Btypevarchar(15)notnull

);

●Createtable借书

Bnochar(6),

Idchar(6),

Jdatedatenotnull,

Primarykey(bno,id),

Foreignkey(bno)references图书(bno),

Foreignkey(id)references借书者(id)

);

●Createtable图书位置

Bnochar(6),

Shelfnochar(6),

Primarykey(bno,shelfno),

Foreignkey(bno)references图书(bno),

Foreignkey(shelfno)references书架(shelfno)

);

2、添加数据

Insertinto借书者(id,jname,tno,sex,address)

Values('000007','元芳','666666','m','大连')

3、视图的建立

CreateviewView_1

Asselect图书.bno,图书.bname,书架.btype

From图书,图书位置,书架

Where图书.bno=图书位置.bnoand图书位置.shelfno=书架.shelfno;

4、索引的建立

聚簇索引:

●Createclustedindexindex1on图书(bno);

●Createclustedindexindex2on借书者(jname);

●Createclustedindexindex3on书架(shelfno);

●Createclustedindexindex4on借书(jdate);

●Createclustedindexindex5on图书位置(bno);

唯一索引:

Createuniqueindexindexaon借书者(id);

5、游标的建立

根据应用要求,为其中一个基本表设计游标,并利用该游标修改数据,写出SQL语句。

例如:

在“借书者”表中定义一个所在地为“大连”,包含id,jname,sex的游标名称为借书者_cursor,将游标中绝对位置为1的借书者的姓名改为“科比”。

Declare借书者_cursorscrollcursor

For

Selectid,jname,sex

From借书者

Whereaddress='大连'

Forupdateofjname

Open借书者_cursor

Fetchabsolute1from借书者_cursor

Update借书者

Setjname='科比'

Wherecurrentof借书者_cursor

Fetchabsolute1from借书者_cursor

6、存储过程的建立

Createprocedure借书者_address

As

Selectid,jname,bno

From借书者,借书

Where借书者.id=借书.id

5.3安全性的实现

1、利用图形化工具

1)系统用户名:

SQL课程设计;

SQLSERVER用户名:

DELL-PC\SQL课程设计;

数据库用户名:

SQL课程设计user.

2)为SQLSERVER用户,数据库用户分配角色,写出分配的角色名。

为SQLSERVER用户分配的角色名:

sysadmin;

为数据库分配的角色名:

新建角色1.

2、利用Transact-SQL

1)设计一个SQLserver登录账户,并设置密码,写出相应的SQL语句。

Sp_addlogin'DELL-PC\SQL课程设计','123456'

2)为登录帐户,设计创建一个数据库用户,写出相应的SQL语句。

Sp_grantdbaccess'SQL课程设计user','DELL-PC\SQL课程设计'

3)为数据库用户创建数据库角色,写出相应的SQL语句。

Sp_addrolemember'新建角色1','SQL课程设计user'

5.4完整性的实现

1、UNIQUE约束

Altertable图书

Addconstraintunique_bno

Uniquenonclustered(bno);

2、CHECK约束

Altertable图书

Addconstraintcheck_bno

Check(bno<>'000010');

3、DEFAULT约束

Altertable借书者

Addconstraintdefault_sex

Default'm'forsex;

4、NOTNULL约束

Altertable借书者

Altercolumntnovarchar(15)notnull;

5、规则

创建:

Createruleleftno_ruleas@leftno>=0and@leftno<=20;

查询:

Sp_bindruleleftno_rule,'图书.leftno';

5.5恢复技术的实现

备份路径及文件:

C:

\ProgramFiles(x86)\MicrosoftSQServer\MSSQL.2\MSSQL\Backup\db1.bak

 

第六章运行与结果

6.1简单查询和连接查询

1、简单查询

1)Select*

From图书;

2)Selectid,jname

From借书者;

2、连接查询

1)Select图书.bno,bname,jdate

From图书,借书

Where图书.bno=借书.bno;

2)Selectbno,bname,shelfno

From图书,图书位置

Where图书.bno=图书位置.bno;

6.2嵌套查询

1)Selectbname,author

From图书

Wherebnoin

Selectbno

From借书

Whereid='000003'

);

2)Selectjname,tno

From借书者

Whereidin

Selectid

From借书

Wherebno='000007'

);

6.3组合查询和统计查询

1、组合查询

1)Select*

From图书

Whereauthor='金庸'

Union

Select*

From图书

Whereauthor='郭敬明';

2)Select*

From借书者

Whereaddress='大连'

Union

Select*

From借书者

Whereaddress='沈阳';

2、统计查询

1)Selectcount(distinctid)as'借书的人数'

From借书;

2)Selectid,count(bno)as'每人借的书本数'

From借书

Groupbyid

Orderby1,2desc;

 

总结

通过这次的数据库课程设计我学习并掌握了很多知识与操作。

历时两个星期的设计令我受益匪浅,也对数据库这门学科有了更进一步的认识与熟悉。

一个好的软件的设计必须有一个好的需求分析。

我结合自己的设计理念,设计出了5个表,分别是:

图书信息表,借书者信息表,图书位置信息表,书架信息表,借书信息表。

在各个表中我添加了若干个属性,而这些属性恰恰是我们最想知道的信息。

当创建完这些表和属性后,我开始按照老师给的模板和要求写论文,写论文的过程中温习了用SQLSERVER运行截图,相较于我这是比较难的步骤。

我花了很长的时间才弄懂如何使用。

我根据老师以前给的实验指导书一步一步的从头到尾开始学习操作应用SQLSERVER。

弄懂了SQLSERVER后,我就开始根据老师的要求进行报刊订阅各个操作。

另外,我还自学了用visio2007画E-R图和模式图,也有所收获。

完成之后,很有成就感,学到了很多,希望以后还可以有这样的课程设计让我进步。

由于本人能力不足,难免会使系统出现一些不足之处,但由于限于时间,本系统只能做出其中的一部分功能。

希望老师评点批评。

 

参考文献

[1]刘金岭,冯万利等.数据库原理及应用.清华大学出版社,2009.7

[2]刘金岭,冯万利.数据库原理及应用实验与课程设计指导.清华大学出版社,2010.6

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

当前位置:首页 > 人文社科 > 法律资料

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

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