通讯录系统数据库设计.doc
《通讯录系统数据库设计.doc》由会员分享,可在线阅读,更多相关《通讯录系统数据库设计.doc(12页珍藏版)》请在冰点文库上搜索。
湖南人文科技学院计算机系
课程设计说明书
课程名称:
《数据库原理课程设计》
课程代码:
420027
题目:
通讯录系统数据库设计
年级/专业/班:
09级计算机科学与技术2班
学生姓名:
文盼、蔡珀瑛、叶新宇、吴浩宇、尹雄、周泽文
学号:
09408236、04、03、26、24、08408247
指导教师:
刘刚常
开题时间:
2011年12月16日
完成时间:
2011年12月30日
目录
摘要 1
一、引言 2
二、设计目的与任务 2
三、设计方案 2
1、需求分析 2
1.1通讯录系统数据库的数据需求 2
1.2数据字典 2
2、概念设计 4
2.1通讯录系统数据库中的实体集 4
2.2通讯录系统数据库中的联系集 5
2.3通讯录系统数据库中的E-R图 5
3、逻辑设计 5
4、数据库实现 5
4.1建立数据库模式、视图及索引 5
4.2装载数据 7
四、结论 8
五、致谢 8
六、参考文献 9
湖南人文科技学院
摘要
随着计算机的普及,人们之间的距离越来越近,联系也越来越紧密,这就需要一种通讯工具让我们统一管理所有人的联系方式,为此,本系统设计为用户提供了一个管理联系方式的方法,本设计通过用SQLserver建立一个平台管理联系方式信息,利用数据库,使用户可以有效方便地管理自己的联系人资料,本系统改变了我们生活中通讯管理的这一重要信息模块,使我们搜索联系方式更方便简洁,本设计会很好的促进人们之间的关系往友好的方向发展!
关键词:
数据库SQL通讯录管理系统
Abstract
Withthepopularityofcomputer,thedistancebetweenpeoplemoreandmoreclose,contactbecomesmoreandmoreclose,thisneedstobeakindofcommunicationtoolsletusunifiedmanagementsomeonecontact,therefore,thissystemdesignfortheuserwithacontactmethodsofthemanagementmethod,thisdesignbyusingSQLservertobuildaplatformmanagementcontactinformation,usingdatabase,theusercaneffectiveconvenienttomanagetheircontactinformation,thissystemhaschangedourlifeofthisimportantcommunicationmanagementinformationmodule,sowesearchcontactwaymoreconvenientandconcise,thisdesignwillbeverygoodtopromotetherelationsbetweenpeopletofriendlydirection!
Keywords:
datapoolSQLaddressbookmanagementsystem
9
湖南人文科技学院
《数据库原理课程设计》
--通讯录系统数据库设计
一、引言
由于纸制或电子形式的通讯录携带不方便,或容易忘记等方面的缺点,便设计此“通讯录系统”来管理常用的通讯录。
“通讯录系统”要求能对通讯录中的记录信息进行增加、删除、编辑操作,能浏览联系人的基本信息,能按照姓名查询联系人的信息等,为用户提供更安全,便捷的操作环境。
二、设计目的与任务
通过本课程设计教学所要求达到的目的是:
通过该课程设计,学习数据库设计工具的使用,搞清数据库设计的基本方法、步骤和数据库设计各阶段的任务,完成对某一小型数据库设计和相应文档的编写工作。
使学生更加深入地掌握数据库系统分析与设计的基本概念和基本方法,提高从事数据库系统建设和管理工作的基本技能和能力。
三、设计方案
1、需求分析
1.1通讯录系统数据库的数据需求
通过与通讯录系统数据库用户交谈等方式以及作者对通讯录使用的分析,可以得到通讯录数据库系统的数据需求。
·通讯录有多个功能。
每个功能都建立在创建的实体和联系的上面,通过实体和联系来实现添加、删除、修改等操作。
·通讯录的使用者通过其各自的实体来标识。
通过系统添加并存储每个用户的姓名、电话、出生年月及其通讯地址等,用户在变更信息的情况下就修改之前提供的通讯信息。
·通讯录在记录个人信息的同时,顺便也保存好家庭住址和办公住址及其对应的电话,以便在未及时修改个人信息的情况下能有其他方式联系用户,做到数据的多元选择。
·通讯录使用者在管理通讯录记录时,及时删除无用记录和信息并修改,让通讯录总体结构清晰自然。
·通讯录系统以list实体为基础,建立一系列的通讯结构,方便简洁的管理整体的通讯信息。
1.2数据字典
数据结构:
list
含义说明:
是通讯录的主体数据结构,定义了一个记录的有关信息
组成:
list_name,list_sex,list_mobile_number,list_birthday和list_address
数据项:
list_name
含义说明:
唯一标识每个记录
别名:
姓名
类型:
字符型
长度:
8
取值范围:
取值含义:
通讯录记录的姓名
数据项:
list_sex
含义说明:
唯一标识每个记录
别名:
性别
类型:
字符型
长度:
4
取值范围:
取值含义:
被记录者的性别
数据项:
list_mobile_number
含义说明:
唯一标识每个记录
别名:
手机号码
类型:
字符型
长度:
16
取值范围:
取值含义:
被记录者的手机号码,区别于办公电话
数据项:
list_birthday
含义说明:
唯一标识每个记录
别名:
生日
类型:
字符型
长度:
8
取值范围:
取值含义:
被记录者的生日
数据项:
list_address
含义说明:
唯一标识每个记录
别名:
通讯地址
类型:
字符型
长度:
80
取值范围:
取值含义:
被记录者的通讯地址
数据结构:
family
含义说明:
是通讯录的主体数据结构,定义了一个记录的有关信息
组成:
family_family_number和family_family_address
数据项:
family_family_number
含义说明:
唯一标识每个记录
别名:
家庭电话
类型:
字符型
长度:
16
取值范围:
取值含义:
被记录者的家庭电话
数据项:
family_family_address
含义说明:
唯一标识每个记录
别名:
家庭住址
类型:
字符型
长度:
80
取值范围:
取值含义:
被记录者的家庭地址
数据结构:
office
含义说明:
是通讯录的主体数据结构,定义了一个记录的有关信息
组成:
office_office_number,office_office_address和office_e_mail
数据项:
office_office_number
含义说明:
唯一标识每个记录
别名:
办公电话
类型:
字符型
长度:
16
取值范围:
取值含义:
被记录者的办公电话
数据项:
office_office_address
含义说明:
唯一标识每个记录
别名:
办公地址
类型:
字符型
长度:
80
取值范围:
取值含义:
被记录者的办公地址
数据项:
office_e_mail
含义说明:
唯一标识每个记录
别名:
电子邮箱
类型:
字符型
长度:
20
取值范围:
取值含义:
被记录者的电子邮箱
2、概念设计
2.1通讯录系统数据库中的实体集
u实体集list,具有属性list_name,list_sex,list_mobile_number,list_birthday和list_address。
u实体集family,具有属性family_family_number和family_family_address。
u实体集office,具有属office_office_number,office_office_address和office_e_mail。
2.2通讯录系统数据库中的联系集
uListFamily是list和family间的一个多对一联系集。
uListOffice是list和office间的一个多对一联系集。
2.3通讯录系统数据库中的E-R图
根据2.1节和2.2节的讨论,我们可以给出通讯录系统的E-R图(见图1)。
图1通讯录系统的E-R图
3、逻辑设计
把图1的E-R图转换为关系模式,如下所示(有实下划线的为主码、虚下划线的为外码):
ulist=(list_name,list_sex,list_mobile_number,list_birthday,list_address)
ufamily=(family_family_number,family_family_address)
uoffice=(office_office_number,office_office_address,office_e_mail)
uListFamily=(list_name,family_family_number)
uListOffice=(list_name,office_office_number)
4、数据库实现
至此,我们可以建立本系统所需要的数据库了。
4.1建立数据库模式、视图及索引
createdatabasea_book
go
usea_book
go
CREATETABLElist
(list_nameCHAR(8)PRIMARYKEY,
list_sexCHAR(4),
list_mobile_numberCHAR(16),
list_birthdayCHAR(8),
list_addressCHAR(80)
)
go
CREATETABLEfamily
(family_family_numberCHAR(16)PRIMARYKEY,
family_family_addressCHAR(80)
)
go
CREATETABLEoffice
(office_office_numberCHAR(16)PRIMARYKEY,
office_office_addressCHAR(80),
office_e_mailCHAR(20)
)
go
CREATETABLEListFamily
(list_nameCHAR(8),
family_family_numberCHAR(16),
PRIMARYKEY(list_name,family_family_number),
FOREIGNKEY(list_name)REFERENCESlist(list_name),
FOREIGNKEY(family_family_number)REFERENCESfamily(family_family_number)
)
go
CREATETABLEListOffice
(list_nameCHAR(8),
office_office_numberCHAR(16),
PRIMARYKEY(list_name,office_office_number),
FOREIGNKEY(list_name)REFERENCESlist(list_name),
FOREIGNKEY(office_office_number)REFERENCESoffice(office_office_number)
)
CREATEVIEWlist_woman
AS
SELECT*
FROMlist
WHERElist_sex='女'
go
CREATEVIEWlist_man
AS
SELECT*
FROMlist
WHERElist_sex='男'
go
4.2装载数据
insertintolist
values('李勇','男','13407389999','19891203','湖南娄底')
go
insertintolist
values('刘晨','女','15807387777','19900123','湖南娄底')
go
insertintolist
values('王敏','女','15207383333','19901101','湖南娄底')
go
insertintolist
values('张立','男','13807388888','19910706','湖南娄底')
go
insertintofamily
values('07382456777','湖南娄底氐星路号')
go
insertintofamily
values('07312456777','湖南长沙人民路号')
go
insertintofamily
values('07412456777','湖南怀化解放路号')
go
insertintooffice
values('07381111111','湖南娄底','234987600@')
go
insertintooffice
values('07382222222','湖南娄底','xiaophai@')
go
insertintooffice
values('0103333333','北京东城区','qiqiling@')
go
insertintooffice
values('07554444444','广东深圳','wo_xing@')
go
insertintoListFamily
values('李勇','07382456777')
go
insertintoListFamily
values('刘晨','07312456777')
go
insertintoListFamily
values('王敏','07382456777')
go
insertintoListFamily
values('张立','07412456777')
go
insertintoListOffice
values('李勇','07381111111')
go
insertintoListOffice
values('刘晨','07382222222')
go
insertintoListOffice
values('王敏','0103333333')
go
insertintoListOffice
values('张立','07554444444')
go
四、结论
通过这次的课程设计,让我们对数据库原理有了更深入的理解,实践让我们更清晰地看到所学知识的重要性。
在做课程设计的过程中,发现了自己的许多不足。
平时没有掌握好的知识在这次实验中彻底暴露出来,经过不断思考,不断查阅资料和上机运行,解决其中大部分问题,当然还存在一些问题没有解决,我们相信在以后的学习能够解决好它们。
经过两个星期的努力,在老师和同学的帮助下,通过自己的努力和从资料的引用,终于完成了这次学生通讯录系统的简单课程设计。
工夫不负有心人,只要努力付出,就会得到美好的回报。
虽然最后的成果并不非常满意,但是尽了最大的努力。
五、致谢
感谢编程过程中刘刚常老师的帮助和教诲,感谢课程设计过程中同组同学间的相互提醒和要求。
六、参考文献
[1]王珊,萨师煊.《数据库系统概论》[M].北京:
高等教育出版社,2006.5
[2]何玉洁.《数据库原理与应用》[M].机械工业出版社,2009.7
[3]张海藩,《软件工程导论(第五版)》[M].清华大学出版社,2008年
[4]郑阿奇,《SQLServer实用教程(第3版)》[M].电子工业出版社,2009年
课程设计任务书及成绩评定
课题名称:
通讯录系统数据库课程设计
完成者:
文盼、蔡珀瑛、叶新宇、吴浩宇、尹雄、周泽文
1、设计的目的与要求:
通过该课程设计,学习数据库设计工具的使用,搞清数据库设计的基本方法、步骤和数据库设计各阶段的任务,完成对某一小型数据库设计和相应文档的编写工作。
使学生更加深入地掌握数据库系统分析与设计的基本概念和基本方法,提高从事数据库系统建设和管理工作的基本技能和能力。
2、设计进度及完成情况
日期
内容
12.17-12.19
明确设计任务及目的,并写明摘要
12.20-12.21
初步设计方案并细化设计方案
12.22-12.23
完成需求分析
12.24-12.25
完成概念设计和逻辑设计
12.26-12.27
数据库实现
12.28
文档的初次修改
12.30
文档的再次修改及最终确定
3、成绩评定:
设计成绩:
(教师填写)
指导老师:
(签字)
二00年月日