个人信息管理系统课程设计报告.docx
《个人信息管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《个人信息管理系统课程设计报告.docx(23页珍藏版)》请在冰豆网上搜索。
个人信息管理系统课程设计报告
学号
数据库系统概论》
课程设计报告
题目:
个人信息管理系统
专业:
网络工程
班级:
姓名:
指导教师:
成绩:
计算机学院
2017年12月8日
1课程设计的目的与意义2
1.1课程设计的目的2
1.2课程设计的意义3
2需求分析4
2.1用户需求4
2.2系统需要实现的功能和操作如下5
2.3功能需求分析:
5
3数据库概念模型设计7
4数据库逻辑模型设计12
4.1一般逻辑模型设计:
12
4.2具体逻辑模型设计:
13
5数据库物理设计与数据库保护设计17
5.1设计表间关系17
5.2物理设计18
5.3保护设计19
6数据库建立20
7课程设计心得与体会25
8参考资料26
课程设计的目的与意义
1.1课程设计的目的
数据库课程设计是数据库系统原理实践环节的极为重要的部分,其目的是:
(1)培养学生能够应用数据库系统原理在需求分析的基础上对系统进行概念设计,学会设计局部ER图,全局ER图;
(2)培养学生能够应用数据库系统在概念设计的基础上应用关系规范化理论对系统进行逻辑设计,学会在ER图基础上设计出易于查询和操作的合理的规范化关系模型;
(3)培养学生能够应用SQL语言对所设计的规范化关系模型进行物理设计,并且能够应用事务处理,存储过程,触发器以保证数据库系统的数据完整性,安全性,一致性,保证数据共享和防止数据冲突;
(4)培养学生理论与实际相结合的能力,使之能够熟练掌握一种数据库系统(如SQLSERVE)R的使用,培养学生开发创新能力;
(5)通过设计实际的数据库系统应用课题,使学生进一步熟悉数据库管理系统的操作技术,提高学生独立分析问题,解决问题,查阅资料以及自学的能力,以适应计算机产业日新月异
发展的形势;
提高和加强学生的计算机应用与软件开发能力,使学生有初学者向专业的程序员过渡
1.2课程设计的意义
目前,我国在计算机应用,计算机软件和电子类相关专业的人才培养方面取得了长足发展,但同时也让我们深刻地感觉到缺乏实际开发设计项目的经验,不善于综合运用所学理论,对知识的把握缺乏融会贯通的能力,尤其是我们计算机专业大学生,由于缺乏具体项目经验,毕业之后普遍感到知识不
能转化为能力。
课程设计可以锻炼我们理论联系实际的能力,为今后工作做铺垫。
借于这次我们所选的课程题目,让我们有了一个很好的动手操作机会。
众所周知,在当今社会,大学生的数量每年都是只增不减,对于学生而言,随着个人学历以及社会阅历的日益渐增,我们每天或一段时间内需要处理的事情也渐渐增多,其中有很多事情对于今后一段时间的生活有很大关联。
例如,我们认识了许多新朋友,如何把他们的联系方式有效安全的保存下来,或者把我们近期的消费数目记录下来,又或者有一些事情对于自己近期的生活有很大关联,如何把它们行之有效的保存下来,并且能够及时通知自己,这都是我们想迫切处理的问题。
本课程设计就是要专门解决这些问题,由于这个项目只是以小组形式设计,有许多问题我们可能还没有想到或接触到。
因此本设计与开发也仅是一个尝试性的工作,但其中有很多重要的思想和方法,涉及一些重要的程序代码,对于研究开发该类程序的工程人员可以起到一个抛砖引玉的作用。
2需求分析
2.1用户需求
本系统就是一个面向广大在校大中专院校学生的个人信息管理系统,当然了,对于那些已经参加工作或已经毕业的朋友同样适用。
此系统是一种比较经济耐用的管理系统,它面向所有在校学生,但具有比较高的安全性能。
它能够实现信息管理的基本功能,包括新信息的录入,查询,信息的删除等操作以及后台数据库的备份和恢复。
用户合法注册后必须输入用户账户和密码才能成功进入该系统,以此保证了信息的安全性和个人隐私,进入该系统后可以依照自己的想法进入相应的功能模块,进行信息的查看,录入,更新等基本操作。
对于非法操作,系统有识别和防护措施。
个人信息管理的特点是能够存放的信息比较多,所管理的信息种类繁多,为了给用户一个很好的使用平台,内部使用设计以菜单或按钮形式给出。
对于查询和更新的方式设置了一个统一标准,因此在使用和管理起来非常方便。
本系统在设计过程中,为了克服一些困难,需要使程序代码标
准化,软件统一化,确保软件的可维护性和使用性,删除不必要的管理冗余,实现管理规范化,科学化。
界面友好,简单化,做到实用,方便,尽量满足广大使用者的需求。
2.2系统需要实现的功能和操作如下:
(1)登录功能:
登录系统为身份验证登陆,用户输入用户账户
和密码后才能进入该系统,若输入有误,系统会给出警告,三次错
误后,需等待半个小时后才能再次输入,以此保证了系统的安全性。
(2)更新信息功能:
用户进入系统后,找到相应的所属功能模块,然后根据自己的需要,可以删除一些已经对自己没有任何用处的信息,或者重新输入自己要保存的信息。
(3)查询功能:
用户进入系统后,找到相应的所属功能模块,然后根据内容输入或根据关键字进行查询,查询出的信息会显示在界面上,并且可以预览和打印出结果。
(4)系统维护功能:
数据的安全管理,主要是依靠管理员对数据库里的信息进行备份和恢复,数据备份后,如果出了什么意外可以恢复数据库到当时备份的状态,这提高了系统和数据的安全性,有利于系统的维护;
进行以上功能操作处理时,可根据下述的功能分析中的主要结构功能模块图进行。
2.3功能需求分析:
本系统的主要结构功能图如下:
3数据库概念模型设计
基本项构思ERD的四项基本原则:
(1)原则1(确定实体):
能独立存在的事物,例如人,物,事,地,团体,机构等,在其有多个由基本项描述的特性需要关注时,就应把它作为实体。
(2)原则2(确定联系):
两个或多个实体间的关联与结合,如主管,从属,组成,占有,包含,配合等等,当需要予以关注时,应作为联系。
实体间的联系可划分为一对一,一对多,多对多等三类,在确定联系时还要确定其类型。
(3)原则3(确定属性):
实体的属性是实体的本质特征。
实体应有标志属性(能把不同个体区分开来的属性组),并指定其中一个作为主标识,联系的属性是联系的结果或状态。
(4)原则4(一事一地):
信息分析中得到的基本项要在且仅在实体联系图中的一个地方作为属性出现。
经过上述系统功能分析和需求总结,设计如下面所示的数据项和数据结构。
用户表(Users):
用于存放注册用户的记录,包括数据项:
用户账户,密码,真实姓名,身份证号,联系电话,联系地址,性别,出生年月等。
联系人类别表(ContactClass):
用于存放初始的联系人类别记录,包括数据项:
类别名称。
联系人表(Personcontact):
用于存放联系人记录,包括数据项:
姓名,性别,联系电话,传真,出生年月,联系地址,QQ,Email
等。
文章管理表(ArticleManagement):
用于存放文章记录,包括数据项:
资料名字,资料体裁,文章作者,创建时间,资料编号等。
信息类别表(InformationClass):
用于存放初始的文章类别记录,包括数据项:
类别名称。
财务表(Finance):
用于存放财务记录,包括数据项:
支出,收入,余额,编号。
银行表(Bank):
用于存放银行信息记录,包括数据项:
部门名称,部门编号,地址,汇率。
根据上面的设计规划出来的实体有用户实体,联系人实体,文章管
理实体,银行实体,联系人类别实体,信息类别实体,财务实体。
联系人实体的E-R图如下图所示
文章管理实体的E-R图如下图所示:
账户和银行管理实体的E-R图分别如下图所示
联系人类别实体的E-R图如下图所示
信息类别实体的E-R图如下图:
所有实体之间的关系E-R图如下图所示
性别
姓名
QQ
生
m
类别名称
联系人1涵盖1联系人类别
用户账户
实姓
性别
系电话
系地
记录
1
账户
用户1处理n财务m存储n
资料名称
文章
文章作
m包含
账户
账户
1
属于
1
银行
部门号
部门地
部门名称
汇率
信息类别
4数据库逻辑模型设计
4.1一般逻辑模型设计:
关系模型的逻辑结构是一组关系模式的集合,将E-R图转换为关系模型就是要将实体型,实体的属性和实体型之间的联系转换为关系模式。
由ERD导出一般关系模型的四条原则:
(1)一个1:
1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。
如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。
(2)一个1:
n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
(3)一个m:
n联系转换为一个关系模式。
与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。
(4)3个或3个以上实体间的一个多元联系可以转换为一个关系模式。
与该多元联系项连接的各实体的码以及联系本身的属性均
转换为关系的属性,各实体的码组成关系的码或关系码的一部
根据以上原则将E-R图转换成的关系模式如下:
用户(身份证号,用户账号,密码,真实姓名,性别,联系地址,联系电话,出生年月)联系人(姓名,性别,联系电话,传真,出生年月,联系地址,QQ,Email,类别名称,身份证号)文章管理(资料名字,资料体裁,文章作者,创建时间,资料编号,身份证号)银行(部门名称,部门编号,地址,汇率,编号)财务(编号,支出,收入,余额,身份证号)联系人类别(类别名称)信息类别(类别名称)包含(embody)(资料编号,类别名称)
4.2具体逻辑模型设计:
在SQLServer2000数据库中,首先创建management数据库,然后根据数据库的逻辑结构分析创建表5.1-5.8的8张数据表。
在前台访问数据库阶段设置了用户和密码,用户为admin,密码为1。
表5.1Users用户信息表结构
表中列名
数据类型
可否为空
说明
Uidnumber(主码)
Varchar2
否
身份证号
Urealname
Varchar2
是
真实姓名
Ucode
Varchar2
否l
密码
Uuseraccount
Varchar2
否
用户账户
Utelephone
Varchar2
是
联系电话
Uaddress
Varchar2
是
联系地址
Usex
Varchar2
是
性别
Ubirthoftime
Date
是
出生年月
表5.2Personcontact联系人信息表结构
表中列名
数据类型
可否为空
说明
Prealname(主码)
Varchar2
否
姓名
Psex
Varchar2
可
性别
Ptelephone
Varchar2
可
联系电话
Pfax
Varchar2
可
传真
Pbirthoftime
Date
可
出生年月
Paddress
Varchar2
否
联系地址
Pqq
number
可
QQ
Pemail
Varchar2
可
Email
Cclassname
Varchar2
否
类别名称
Uidnumber
Varchar2
否
身份证号
表5.3Bank银行管理信息表结构
表中列名
数据类型
可否为空
说明
Bdepartmentnumber
(主码)
Varchar2
否
部门编号
Bdepartmentname
Varchar2
否
部门名称
Baddress
Varchar2
可
地址
Brate
number
可
汇率
表5.4Account银行管理信息表结构
表中列名
数据类型
可否为空
说明
Accountnumber(主码)
Varchar2
否
部门编号
Dpartmentnumber
Varchar2
否
部门名称
表5.5Articlemanagement文章管理信息表结构
表中列名
数据类型
可否为空
说明
Ainformationname
Varcha2r
可
资料名字
Ainformationtype
Varchar2
可
资料体裁
Aarticlename
Varchar2
可
文章作者
Abuildtime
Date
否
创建时间
Ainformationnumber(主码)
Varchar2
否
资料编号
Uidnumber
Varchar2
否
身份证号
表5.6Finance财务信息表结构
表中列名
数据类型
可否为空
说明
Fnumber(主码)
Varchar2
否
编号
Foutput
number
可
支出
Finput
number
可
收入
Fbalance
number
可
余额
Uidnumber
Varchar2
否
身份证号
表5.7Contactclass联系人类别信息表结构
表中列名
数据类型
可否为空
说明
Cclassname(主码)
Varchar2
否
类别名称
表5.8Informationclass信息类别信息表结构
表中列名
数据类型
可否为空
说明
Iclassname(主码)
Varchar2
否
类别名称
表5.9Embody包含联系信息表结构
表中列名
数据类型
可否为空
说明
Iclassname(主码)
Varchar2
否
类别名称
Ainformationnumber
(主码)
Varchar2
否
资料编号
5数据库物理设计与数据库保护设计
5.1设计表间关系
*User
*Article
ManagementAinformationnuberAinformationtype
Aarticlename
AbuildnameAinformationnuberUidnumber
5.2物理设计
数据库物理设计阶段的任务是根据具体计算机系统的特点,为给定的数据库模型确定合理的存储结构和存取方法。
所谓的合理主要有两个含义:
一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度,这里,我们只讨论后者
要想对数据库的操作有尽可能高的速度,我们可以通过建立索引
来实现:
(1)对Users表在Uidnumber属性列上建立聚集索引。
(2)对Personcontact表在Prealname属性列上建立聚集索引。
(3)对Bank表在Bdepartmentnumber属性列上建立聚集索引。
(4)对Articlemanagement表在Ainformationnumber属性列上建立聚集索引。
(5)对Finance表在Fnumber属性列上建立聚集索引。
(6)对Contactclass表在Classname属性列上建立聚集索引。
(7)对Informationclass表在Iclassname属性列上建立聚集索引。
(8)对Embody表在Ainformationnumber属性列上建立聚集索引,在Iclassname属性列上建立非聚集索引。
5.3保护设计
除非用户本人授权他人使用自己的应用系统,否则他人无法登陆使用。
对于登录系统,本设计采用用户识别和鉴别检测机制,即:
用户进入系统时必须首先输入用户账户和密码,然后等待系统对其进行识别,通过识别成功后才能进入系统进行各种操作。
由于本系统的内部信息非常重要,当用户删除信息时,系统会给出提示,谨防用户因操作失误而造成不可挽回的后果。
6数据库建立
1)创建数据库
USEmaster
Go
CREATEDATABASEmanage
ON(NAME=manage,
FILENAME'=d:
\manage.mdf,
SIZE=10,
MAXSIZE=50,
FILEGROWTH=5)
LOGON
(NAME='managemen't,
FILENAME'=e:
\manage.ldf',
SIZE=5MB,
MAXSIZE=25MB,
FILEGROWTH=5MB)
(2)用户表建立
CreatetableUsers
(
Uidnumbervarchar2(18)primarykey,
Urealnamevarchar2(15),
Ucodevarchar2(12)notnull,
Uuseraccountvarchar2(15)notnull,
Utelephonevarchar2(11),
Uaddressvarchar2(25),
Usexvarchar2
(2),
Ubirthoftimedate
);
(3)联系人表建立
CreatetablePersoncontact
(
Prealnamevarchar2(15)primarykey,
Psexvarchar2
(2),
Ptelephonevarchar2(11),
Pfaxvarchar2(20),
Pbirthoftimedate,
Paddressvarchar2(25)notnull,
Pqqnumber,
Pemailvarchar2(20),
Cclassnamevarchar2(15)notnull,
Contactclass
Uidnumbervarchar2(18)notnull,
Foreignkey(Cclassname)references(Cclassname),
)
(4)银行表建立
CreatetableBank
(
Bdepartmentnumbervarchar2(15)primarykey,Bdepartmentnamevarchar2(20)notnull,Baddressvarchar2(20),
Bratenumber,
Fnumbervarchar2(15)notnull,
Foreignkey(fnumber)referencesfinance(fnumber),)
(5)文章管理表建立
CreatetableArticlemanagement
(
Ainformationnamevarchar2(15),
Ainformationtypevarchar2(15),
Aarticlenamevarchar2(15)notnull,
Abuildtimedatenotnull,
Ainformationnumbervarchar2(10)primarykey,
Uidnumbervarchar2(18)notnull,
Foreignkey(uidnumber)referencesusers(uidnumber),
(6)财务表建立
CreatetableFinance
(
Fnumbervarchar2(10)primarykey,
Foutputnumber,
Finputnumber,
Fbalancenumber,
Uidnumbervarchar2(18)notnull,
Foreignkey(uidnumber)referencesusers(uidnumber),
)
(7)联系人类别表建立
CreatetableContactclass
(
Cclassnamevarchar2(15)primarykey
)
(8)信息类别表建立
CreatetableInformationclass
(
Iclassnamevarchar2(15)primarykey
(9)包含表建立
CreatetableEmbody
(
Iclassnamevarchar2(15),
Ainformationnumbervarchar2(10),
primarykey(Iclassname,Ainformationnumber),
Foreignkey(iclassname)referencesinformationclasss(iclassname),
Foreignkey(Ainformationnumber)referencesarticlemanagement(Ainformationnumber),
)
(10)索引的创建
Createindexusers_uidonusers(uidnumber)
Createindexpersoncontact_preonpersoncontact(prealname)
Createindexbank_bdeonbank(bdepartmentnumber)
Createindexarticlemanagement_ainonarticlemanagement(ainformationnumber)
Createindexfinance_fnuonfinance(fnumber)
Createindexcontactclass_claoncontactclass(classname)
(iclassname)
Createindexembodyonembody(ainformationnumber)
7课程设计心得与体会
1、对自己设计进行评价,指出不合理和不足之处,提出改进的方案。
本次的设计总体来说设计的比较简单,考虑不过细致,有些地方没有考虑。
也有些地方是做的比较满意的,有可圈点的地方。
首先,比如我们给个人软件系统嵌入了比较多的功能,能过满足用户的日常需要,并且其功能使用相对简单,不会给用户带来使用时的困扰。
但是,我