文档库 最新最全的文档下载
当前位置:文档库 › 通讯录系统 数据库课程设计

通讯录系统 数据库课程设计

湖南人文科技学院计算机系

课程设计说明书

课程名称:《数据库原理课程设计》

课程代码: 420027 题目:通讯录系统数据库设计

年级/专业/班: 09级计算机科学与技术 2班

学生姓名:

学号: 0

指导教师:刘刚常

开题时间: 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)

随着计算机的普及,人们之间的距离越来越近,联系也越来越紧密,这就需要

一种通讯工具让我们统一管理所有人的联系方式,为此,本系统设计为用户提供了

一个管理联系方式的方法,本设计通过用SQL server建立一个平台管理联系方式信

息,利用数据库,使用户可以有效方便地管理自己的联系人资料,本系统改变了我

们生活中通讯管理的这一重要信息模块,使我们搜索联系方式更方便简洁,本设计

会很好的促进人们之间的关系往友好的方向发展!

关键词:数据库 SQL 通讯录管理系统

Abstract

With the popularity of computer, the distance between people more and more close, contact becomes more and more close, this needs to be a kind of communication tools let us unified management someone contact, therefore, this system design for the user with a contact methods of the management method, this design by using SQL server to build a platform management contact information, using database, the user can effective convenient to manage their contact information, this system has changed our life of this important communication management information module, so we search contact way more convenient and concise, this design will be very good to promote the relations between people to friendly direction!

Key words: data pool SQL address book management system

《数据库原理课程设计》

-- 通讯录系统数据库设计

一、引言

由于纸制或电子形式的通讯录携带不方便,或容易忘记等方面的缺点,便设计此“通讯录系统”来管理常用的通讯录。“通讯录系统”要求能对通讯录中的记录信息进行增加、删除、编辑操作,能浏览联系人的基本信息,能按照姓名查询联系人的信息等,为用户提供更安全,便捷的操作环境。

二、设计目的与任务

通过本课程设计教学所要求达到的目的是:通过该课程设计,学习数据库设计工具的使用,搞清数据库设计的基本方法、步骤和数据库设计各阶段的任务,完成对某一小型数据库设计和相应文档的编写工作。使学生更加深入地掌握数据库系统分析与设计的基本概念和基本方法,提高从事数据库系统建设和管理工作的基本技能和能力。

三、设计方案

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通讯录系统数据库中的实体集

◆实体集list,具有属性list_name,list_sex,list_mobile_number,list_birthday

和list_address。

◆实体集family,具有属性family_family_number和family_family_address。

◆实体集office,具有属office_office_number,office_office_address和

office_e_mail。

2.2通讯录系统数据库中的联系集

◆ListFamily是list和family间的一个多对一联系集。

◆ListOffice是list和office间的一个多对一联系集。

2.3通讯录系统数据库中的E-R图

根据2.1节和2.2节的讨论,我们可以给出通讯录系统的E-R图(见图1)。

list office

family

ListFamily ListOffice list_sex

list_mobile_number list_birthday

list_address

list_name

office_e_mail office_office_address

office_office_number

list_family_number

list_family_address

1

n

n

1

图1 通讯录系统的E-R图

3、逻辑设计

把图1的E-R图转换为关系模式,如下所示(有实下划线的为主码、虚下划线的为外码):

◆list = (list_name,list_sex,list_mobile_number,list_birthday,list_address)

◆family = (family_family_number,family_family_address)

◆office = (office_office_number,office_office_address,office_e_mail)

◆ListFamily = (list_name,family_family_number)

◆ListOffice = (list_name,office_office_number)

4、数据库实现

至此,我们可以建立本系统所需要的数据库了。

4.1 建立数据库模式、视图及索引

create database a_book

go

use a_book

go

CREATE TABLE list

(list_name CHAR(8)PRIMARY KEY,

list_sex CHAR(4),

list_mobile_number CHAR(16),

list_birthday CHAR(8),

list_address CHAR(80)

)

go

CREATE TABLE family

(family_family_number CHAR(16)PRIMARY KEY,

family_family_address CHAR(80)

)

go

CREATE TABLE office

(office_office_number CHAR(16)PRIMARY KEY,

office_office_address CHAR(80),

office_e_mail CHAR(20)

)

go

CREATE TABLE ListFamily

(list_name CHAR(8),

family_family_number CHAR(16),

PRIMARY KEY (list_name,family_family_number),

FOREIGN KEY (list_name)REFERENCES list(list_name),

FOREIGN KEY (family_family_number)REFERENCES family(family_family_number)

)

go

CREATE TABLE ListOffice

(list_name CHAR(8),

office_office_number CHAR(16),

PRIMARY KEY (list_name,office_office_number),

FOREIGN KEY (list_name)REFERENCES list(list_name),

FOREIGN KEY (office_office_number)REFERENCES office(office_office_number)

)

CREATE VIEW list_woman

AS

SELECT*

FROM list

WHERE list_sex='女'

go

CREATE VIEW list_man

AS

SELECT*

FROM list

WHERE list_sex='男'

go

4.2 装载数据

insert into list

values('李勇','男','134********','19891203','湖南娄底') go

insert into list

values('刘晨','女','158********','19900123','湖南娄底') go

insert into list

values('王敏','女','152********','19901101','湖南娄底') go

insert into list

values('张立','男','138********','19910706','湖南娄底') go

insert into family

values('0738*******','湖南娄底氐星路号')

go

insert into family

values('0731*******','湖南长沙人民路号')

go

insert into family

values('07412456777','湖南怀化解放路号')

go

insert into office

values('0738*******','湖南娄底','234987600@https://www.wendangku.net/doc/c113400740.html,') go

insert into office

values('0738*******','湖南娄底','xiaophai@https://www.wendangku.net/doc/c113400740.html,') go

insert into office

values('010*******','北京东城区','qiqiling@https://www.wendangku.net/doc/c113400740.html,') go

insert into office

values('0755*******','广东深圳','wo_xing@https://www.wendangku.net/doc/c113400740.html,') go

insert into ListFamily

values('李勇','0738*******')

go

insert into ListFamily

values('刘晨','0731*******')

go

insert into ListFamily

values('王敏','0738*******')

go

insert into ListFamily

values('张立','07412456777')

go

insert into ListOffice

values('李勇','0738*******')

go

insert into ListOffice

values('刘晨','0738*******')

go

insert into ListOffice

values('王敏','010*******')

go

insert into ListOffice

values('张立','0755*******')

go

四、结论

通过这次的课程设计,让我们对数据库原理有了更深入的理解,实践让我们更清晰地看到所学知识的重要性。在做课程设计的过程中,发现了自己的许多不足。平时没有掌握好的知识在这次实验中彻底暴露出来,经过不断思考,不断查阅资料和上机运行,解决其中大部分问题,当然还存在一些问题没有解决,我们相信在以后的学习能够解决好它们。经过两个星期的努力,在老师和同学的帮助下,通过自己的努力和从资料的引用,终于完成了这次学生通讯录系统的简单课程设计。工夫不负有心人,只要努力付出,就会得到美好的回报。虽然最后的成果并不非常满意,但是尽了最大的努力。

五、致谢

感谢编程过程中刘刚常老师的帮助和教诲,感谢课程设计过程中同组同学间的相互提醒和要求。

六、参考文献

[1]王珊,萨师煊.《数据库系统概论》[M].北京:高等教育出版社,2006.5 [2]何玉洁.《数据库原理与应用》[M].机械工业出版社,2009.7

[3]张海藩,《软件工程导论(第五版)》[M].清华大学出版社,2008年

[4]郑阿奇,《SQL Server实用教程(第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 年月日

相关文档
相关文档 最新文档