备忘录管理系统的数据库设计和数据操作版.docx
《备忘录管理系统的数据库设计和数据操作版.docx》由会员分享,可在线阅读,更多相关《备忘录管理系统的数据库设计和数据操作版.docx(18页珍藏版)》请在冰豆网上搜索。
备忘录管理系统的数据库设计和数据操作版
课程设计Ⅱ
设计说明书
备忘录管理系统
的数据库设计和数据操作
学生姓名
学号
班级
计本103班
成绩
指导教师
杨刚
数学与计算机科学学院
2013年4月1日
课程设计任务书
2012—2013学年第二学期
课程设计名称:
课程设计Ⅱ
课程设计题目:
备忘录管理系统的数据库设计和数据操作
完成期限:
自2013年3月18日至2013年3月31日共2周
设计内容:
1.任务说明
备忘录管理系统可以为用户提供日常信息管理,主要为使用者提供对个人信息更方便的记录和查询等功能。
具体要求实现以下一些基本功能:
1)日常记录管理:
记录日常生活或者工作事件,以免遗忘,并提供记录的查询、浏览、修改和删除等管理功能。
2)通讯薄管理:
记录朋友、亲属、同事等联系人的通讯信息,以免遗忘,并提供记录的查询、浏览、修改和删除等管理功能。
3)密码备忘管理:
记录日常使用的密码信息,比如银行帐号密码、邮箱密码、一些网站登陆密码等,以免遗忘,并提供记录的查询、浏览、修改和删除等管理功能。
4)系统维护:
操作员管理、权限管理等。
2.要求
1)在调查或了解的基础上,进行系统分析。
2)根据逻辑设计方案,进行系统设计。
3)课程设计的重点在系统的分析和数据库设计方面。
3.参考资料
[1]苗雪兰,刘瑞新,宋会群.数据库系统原理及应用教程(第2版)[M].北京:
机械工业出版社,2006.
[2]向阳.信息系统分析与设计(第1版)[M].北京:
清华大学出版社,2009.
[3]卫红春.信息系统分析与设计[M].西安:
西安电子科技大学出版社,2003.
指导教师:
杨刚教研室负责人:
陈波
课程设计评阅
评语:
指导教师签名:
年月日
摘要
设计了一个备忘录管理系统,主要完成了系统分析、数据库设计和实现、数据操作等内容。
该系统具体功能有:
记录日常生活或者工作事件,记录朋友、亲属、同事等联系人的通讯信息,也可以记录日常使用的密码信息等,数据库实现采用SQLServer2008数据库管理系统。
关键词:
备忘;管理系统;系统分析;SQLServer
1课题描述
1)内容
本次课程设计是要设计一个备忘录管理系统,完成对备忘录管理系统数据库的设计并进行数据操作。
备忘录管系统可以为用户提供日常信息管理,主要为使用者提供对个人信息更方便的记录和查询功能。
具体实现一些功能,例如为用户提供日日常记录管理、通讯录管理、密码备忘管理和系统维护等功能。
2)目的
本次课程设计重在对学习过的理论知识进行实际应用。
在了解相关信息的基础上,进行系统分析。
根据逻辑设计方案,进行系统设计,重在系统的分析与数据库设计方面。
加强掌握数据库设计流程,为系统实现奠定重要基础。
2需求分析
2.1功能分析
设计管理系统对于用户,应实现以下功能:
1)日常记录管理:
记录日常生活或者工作事件,以免遗忘,并提供记录的查询、浏览、修改和删除等管理功能。
2)通讯薄管理:
记录朋友、亲属、同事等联系人的通讯信息,以免遗忘,并提供记录的查询、浏览、修改和删除等管理功能。
3)密码备忘管理:
记录日常使用的密码信息,比如银行帐号密码、邮箱密码、一些网站登陆密码等,以免遗忘,并提供记录的查询、浏览、修改和删除等管理功能。
2.2数据流程分析
1)数据流程分析的工具
数据流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。
在数据流图中没有任何具体的物理元素,它只是描绘信息在系统中流动和被处理的情况。
数据流图的四种基本符号和具体描述如图2.1所示。
图2.1数据流图的基本符号
数据流图在系统分析中的主要作用体现在以下几点:
(1)数据流图是系统逻辑功能的图形表示,即使不是专业的计算机人员也容易理解它,所以它是分析员和用户之间极好的通信工具。
(2)数据流图能清楚地描绘数据在系统中的流动和被处理的逻辑过程。
(3)数据流图是系统逻辑功能的图形表示,容易理解。
2)系统数据流图
通过对系统的分析,第0层数据流图如图2.1所示,第1层数据流图如2.1所示,通讯录管理模块第2层数据流图如图2.3所示。
图2.1第0层数据流图
图2.2第1层数据流图
2.3数据字典
数据字典(DD,DataDictionary)是以特定格式记录下来的、对系统的数据流程图中各个基本要素(数据流、加工、存储和外部项)的内容和特征所作的完整的定义和说明。
数据字典是对数据流程图的重要补充和说明。
数据字典中有五种类型的条目:
外部实体,数据流,数据存储,数据项和加工。
数据字典中包括数据定义,但除了它之外,还包含其它一些信息。
一般信息,包括名字,别名和描述。
针对以上数据流图,给出部分项的说明。
(1)用户信息
数据流名:
用户信息
别名:
描述:
用户信息
组成:
用户信息=用户编号+用户名称+用户密码
备注:
(2)日常记录信息
数据流名:
日常记录信息
别名:
描述:
日常记录信息
组成:
日常记录信息=事件编号+用户编号+事件主题+事件内容+事件日期+星期+时间+城市+天气
备注:
(3)通讯录信息
数据流名:
通讯录信息
别名:
描述:
通讯录信息
组成:
通讯录信息=通讯录编号+用户编号+姓名+电话+电子邮件+群组+备注
备注:
(4)密码备忘信息
数据流名:
密码备忘信息
别名:
描述:
密码备忘信息
组成:
密码备忘信息=密码编号+用户编号+账号类型+名称+账号+账号密码+备注
备注:
3系统总体设计
3.1模块划分
设计一个备忘录管理系统,具体分为四大模块,如下:
(1)系统管理模块:
实现新增用户,删除用户功能;
(2)日常记录管理模块:
实现事务记录,事务查询浏览,事务修改,事务删除功能;
(3)通讯录管理模块:
实现通讯录添加,通讯录浏览,通讯录修改,通讯录删除功能;
(4)密码备忘管理模块:
实现记录备忘密码,密码查询浏览,备忘密码修改,备忘密码删除功能;
3.2系统功能模块图
备忘录管理系统是利用计算机实现对用户记录信息的管理,严格按照系统总体设计模块划分方案,分为系统管理,日常记录管理,通讯录管理和密码备忘管理四大模块。
系统功能框架图如下所示:
图3.1系统功能模块图
4数据库的设计
4.1概念结构设计
概念结构设计是将系统需求分析得到的用户需求抽象为反映用户观点的信息结构的过程。
概念结构设计的结果是数据库的概念模型,即E-R模型。
由于它是从现实世界的角度进行抽象和描述,所以它与计算机硬件、数据库逻辑结构和支持数据库的DBMS无关。
在数据库设计中应重视概念结构设计,它是整个数据库设计的关键,是为计算机存储数据做准备工作。
根据需求分析结果,主要有用户实体、日常记录本实体、通讯录实体和密码备忘录实体4个实体。
各实体属性图如图4.1-4.4所示,系统总体E-R图如图4.5所示。
图4.1用户信息的实体属性图图4.2日常记录本的实体属性图
图4.3通讯录的实体属性图图4.4密码备忘录的实体属性图
图4.5系统总E-R图
4.2逻辑结构设计
E-R图表示的概念模型是用户数据要求的形式化。
E-R图是独立于任何一种数据模型的概念信息结构,也不为任何一个DBMS所支持。
逻辑结构设计的任务就是把概念结构设计好的基本E-R图转换为与选用的某个具体的DBMS所支持的数据模型相符合的逻辑结构,设计的结果是一组关系模式。
将图4.5中系统E-R图转换成关系模型如下:
用户(编号,用户名称,用户密码);
日常记录(事件编号,用户编号,事件主题,事件内容,事件日期,星期,时间,城市,天气)
通讯录(通讯录编号,用户编号,姓名,电话,电子邮件,群组,备注)
密码备忘录(密码编号,用户编号,账号类型,名称,账号,账号密码,备注)
4.3数据库物理结构设计
数据库的物理结构主要指数据库在物理设备上的存储结构与存取方法,它依赖于给定的计算机系统。
设计的任务是选择合适的存储结构和存取路径,也就是设计数据库的内模式。
内模式和逻辑模式不一样,不直接面向用户,一般的用户不一定、也不需要了解内模式的设计细节。
内模式的设计可以不考虑用户理解的方便,其主要的设计目标有两个:
其一提高数据库的性能,特别是满足主要应用的性能要求;其二能够有效地利用存储空间。
根据数据库物理结构设计理论,将该系统逻辑结构转换为物理结构,如下所示:
(1)用户信息表
用户信息表(tb_User)主要用来存放用户账号信息,如表4.1所示。
表4.1用户信息表
列名
数据类型
允许NULL值
说明
UserNum
int
否
编号
UserName
varchar(20)
否
用户名称
Password
varchar(20)
是
用户密码
(2)日常记录本信息表
日常记录本信息表(tb_DaiRecord)主要用来存放日常记录信息,如表4.2所示。
表4.2日常记录本信息表
列名
数据类型
允许NULL值
说明
ConNum
int
否
事件编号
UserNum
int
否
用户编号
Theme
varchar(30)
否
事件主题
Content
varchar(50)
是
事件内容
Date
date
是
事件日期
Week
varchar(10)
是
星期
Time
time(7)
是
时间
City
varchar(10)
是
城市
Weather
varchar(10)
是
天气
(3)通讯录信息表
通讯录信息表(tb_AddBook)主要用来存放记录的通讯录信息,如表4.3所示。
表4.3通讯录信息表
列名
数据类型
允许NULL值
说明
AdNum
int
否
通讯录编号
UserNum
int
否
用户编号
Name
varchar(20)
否
姓名
Tel
varchar(20)
是
电话
Email
varchar(30)
是
电子邮件
Groups
varchar(10)
是
群组
Memo
varchar(50)
是
备注
(4)密码备忘录信息表
密码备忘录信息表(tb_PassRecord)主要用来存放记录的密码备忘信息,如图4.4所示。
表4.4密码备忘录信息表
列名
数据类型
允许NULL值
说明
PWNum
int
否
密码编号
UserNum
int
否
用户编号
Type
varchar(10)
是
账号类型
TypeName
varchar(20)
否
名称
LoginName
varchar(20)
是
账号
Password
varchar(20)
否
账号密码
Memo
varchar(50)
是
备注
5数据库的数据操作
5.1数据库的创建
根据数据库设计结果,利用SQLServerManagement工具,用SQL语句创建数据库。
创建数据库语句如下所示:
createdatabasedb_Memo
创建用户信息表:
usedb_Memo
Createtabletb_User(
UserNamevarchar(20)notnull,PassWordvarchar(20),UserNumintprimarykey
)
inserttb_Uservalues('Admin','123',1)
创建日常记录信息表:
Createtabletb_DaiRecord(
ConNumintprimarykey,UserNumintnotnull,Themevarchar(30)notnull,Contentvarchar(50),
Datedate,Weekvarchar(10),Timetime(7),Cityvarchar(10),Weathervarchar(10),
constraintFK_Numberforeignkey(UserNum)referencestb_User(UserNum)
)
创建通讯录信息表:
Createtabletb_AddBook(
AdNumintprimarykey,UserNumintnotnull,Namevarchar(20)notnull,Telvarchar(20),
Emailvarchar(30),Groupsvarchar(10),Memovarchar(50),
constraintFK_Number2foreignkey(UserNum)referencestb_User(UserNum)
)
创建密码备忘录信息表:
Createtabletb_PassRecord(
PWNumintprimarykey,UserNumintnotnull,Typevarchar(10),TypeNamevarchar(20)notnull,
LoginNamevarchar(20),Passwordvarchar(20)notnull,Memovarchar(50),
constraintFK_Number3foreignkey(UserNum)referencestb_User(UserNum)
)
5.2数据操作
1)数据插入操作
向用户表中添加一些新用户,SQL语句如下所示:
usedb_Memo
inserttb_Uservalues('Lee','111',2)
inserttb_Uservalues('Chen','222',3)
inserttb_Uservalues('Qin','333',4)
数据插入结果如图5.1所示
图5.1用户信息表添加信息结果
2)简单数据查询
向新建表中插入新数据后,查询日常记录信息,SQL语句如下所示:
usedb_Memo
selectTheme,Content,Date,Week,Time,City,Weather
Fromtb_DaiRecord
数据查询结果如图5.2所示
图5.2查询所有日常记录信息结果
3)嵌套查询
根据数据库中已添加的信息,现在查询用户Lee的所有好友通讯录信息,SQL语句如下所示:
usedb_Memo
selectName,Tel,Email,Groups,Memo
Fromtb_AddBook,tb_User
Wheretb_AddBook.UserNum=tb_User.UserNumandUserNum='Lee'
数据查询结果如图5.3所示
图5.3用户lee的所有好友通讯录信息
4)为数据库表中列创建CHECK约束
在创建的日常记录信息表,为列Week创建CHECK约束,使其值只能为星期一、星期二、星期三、星期四、星期五、星期六、星期日,SQL语句如下所示:
usedb_Memo
altertabletb_DaiRecordwithcheck
addconstraintCHECK_WEEKcheck(week='星期一'orweek='星期二'
orweek='星期三'orweek='星期四'orweek='星期五'orweek='星期六'orweek='星期日')
创建CHECK约束结果如图5.4所示:
图5.4为日常记录表中列Week创建CHECK_WEEK约束结果
5)为数据库表中列创建DEFAULT约束
新建用户后,为用户创建初始密码,即对用户表中列PassWord创建DEFAULT约束,创建SQL语句如下所示:
usedb_Memo
ALTERtabletb_User
ADDCONSTRAINTPassWord_DefaultDEFAULT'123'ForPASSWORD
创建DEAFULT约束结果如图5.5所示
图5.5为用户表列PassWord创建DEFAULT约束结果
6)模糊查询
根据密码备忘表中已插入信息,利用模糊查询带有关键字QQ的所有信息,SQL语句如下所示:
usedb_Memo
selectTypeName,Type,LoginName,Password,Memo
Fromtb_PassRecord
WhereTypeNamelike'%QQ%'
查询结果如图5.6所示
图5.6带有关键字QQ的所有密码备忘信息
7)创建触发器
在tb_User表中创建触发器,当删除tb_User表中用户信息时,检查该用户名是否为Admin(即超级用户),如果是则不能删除该条用户信息。
createtriggerAdmin
ontb_User
afterdelete
as
if(selectUserNamefromtb_UserwhereUserName='Admin')=1
begin
print'超级管理员不能删除!
'
rollbacktransaction
end
6总结
通过本次数据库课程设计,完成对备忘录管理系统的分析和数据库的实现。
在过程中,将重点放在系统的分析与数据库设计方面。
根据了解备忘录信息,初步分析系统需求,在需求分析基础上,对备忘录管理系统进行总体设计。
通过画E-R图,完成对数据库的概念结构设计;将E-R图转化为关系模式,完成数据库的逻辑结构设计;将关系模式转化为数据库中的表,完成数据库的物理结构设计。
并利用SQL语句完成数据库中对象的创建、插入数据记录、查询记录、创建数据存储等。
备忘录管理系统的设计过程,是对软件工程与数据库课程相关内容的温习。
整个完成过程严格按照软件开发流程与数据库设计步骤进行,为后期的系统实现打下了坚实的基础。
该系统只满足于用户实现对日常记录、通讯录和密码备忘功能的实现,可扩展功能很多,有待进一步完善。
相信通过本次数据库课程设计后,在未来的软件开发过程中,我们将更加规范自己的设计过程,使所开发系统更加稳定可靠,具有更多功能,服务于更多用户。
参考文献
[1]严蔚敏,吴伟民.数据结构(C语言版)[M].北京:
清华大学出版社,2002
[2]林小玲.数据库原理及应用[M].北京:
机械工业出版社,2011
[3]苗雪兰,刘瑞新,宋会群.数据库系统原理及应用教程(第2版)[M].北京:
机械工业出版社,2006.
[4]向阳.信息系统分析与设计(第1版)[M].北京:
清华大学出版社,2009.
[5]卫红春.信息系统分析与设计[M].西安:
西安电子科技大学出版社,2003
[6]郑炜,朱怡安.软件工程[M].西安:
西北工业大学出版社,2010