通讯录管理系统数据库设计.docx
《通讯录管理系统数据库设计.docx》由会员分享,可在线阅读,更多相关《通讯录管理系统数据库设计.docx(16页珍藏版)》请在冰豆网上搜索。
通讯录管理系统数据库设计
通讯录管理系统数据库设计与实现
1需求简介(赵河南)
1.1功能概述
通讯录管理系统
分
用
联
组
户
系
基
基
人
本
本
基
信
信
本
息
息
信
管
息
理
管
添
修
修
修
添
修
删
条
关
加
改
改
改
加
改
除
件
键
分
分
昵
密
联
联
联
查
字
组
组
称
码
系
系
系
询
查
名
人
人
人
询
1.2数据要求
功能中涉及的数据项说明。
1.用分组基本信息(Admin):
包括分组号、分组名;
2.用户基本信息(Dormitory):
包括账号、密码、昵称、个性签名,这样可以方便分清用户记录的联系人;
精选文档
3.联系人基本信息(linkman):
包括姓名、性别、关系、手机号、座机号、QQ、E-mail、生日、工作单位、地址、所属用户、所属分组;
1.3数据字典
数据项列表
数据项编号
数据项名
数据项含义
与其它数据项的关系
存储结构
别名
TXL-1
G_number
分组号
CHAR(10)
TXL-2
G_name
分组名
CHAR(20)
TXL-3
ID
所属用户
等同于账号ID
CHAR(10)
TXL-4
ID
账号
CHAR(10)
TXL-5
Nickname
昵称
CHAR(20)
TXL-6
Password
密码
CHAR(20)
TXL-7
Qianming
签名
CHAR(50)
TXL-8
L_number
联系人号
CHAR(100)
TXL-9
Name
姓名
CHAR(20)
TXL-10
Sex
性别
CHAR
(2)
TXL-11
Concern
关系
CHAR(10)
TXL-12
Phone
手机号
CHAR(11)
TXL-13
Landline
座机号
CHAR(10)
TXL-14
QQ
QQ号
CHAR(10)
TXL-15
Email
E-mail
CHAR(20)
TXL-16
Work
工作单位
CHAR(30)
TXL-17
Address
地址
CHAR(30)
TXL-18
Birthday
生日
Date
数据结构列表
数据结
数据结构
组成
数据结构名
含义
构编号
Grouping
分组
G_number,G_name,ID,
DS-1
DS-2Worker用户ID,Nickname,Password,Qianming
L_number,Name,Sex,Concern,Phone,
DS-3Linkman联系人Landline,QQ,Email,Work,Address,
Birthday,ID,G_number
—2
精选文档
数据结
数据结构名
数据结构
组成
构编号
含义
DS-4
Own
拥有
ID,G_number,Name
2概念结构设计(刘江涛)
ER图(如果系统没有那么复杂,可以不需要画局部ER图)
属性请在ER图后单独说明。
账号昵称密码个性签名
1
用户
管理
1
1
联系人号
姓名
QQ
E-mai
手机号
拥有
n
n联系人
管理
n
m
n拥有
分组m
组编号组名
座机号
性别
地址
工作单位
关系
生日
3逻辑结构设计(陈佳奇)
3.1将E-R图转换为关系模型
关系模型
图中实体所具有的属性为:
User(ID,Nickname,Password,Qianming);
Grouping(Group_number,,IDGroup_name)
Linkman(Name,Sex,Concern,QQ,Phone,Landline,Email,Work,Address,
—3
精选文档
Birthday,);
Own(ID,G_number,L_number)
3.2数据库模式设计(袁向阳)
1.用户表信息表:
Worker
属性名
数据类型
含义
是否是主属性或外键
完整性
ID
Char(10)
账号
PK
Nickname
Char(20)
昵称
NOTNULL
Password
Char(20)
密码
NOTNULL
Qianming
Char(50)
个性签名
2.联系人信息表:
Linkman
属性名
数据类型
含义
是否是主属性或外键
完整性
L_number
Char(10)
联系人号
PK
Name
Char(20)
姓名
Sex
Char
(2)
性别
Concern
Char(20)
关系
Phone
Char(11)
手机号
Landline
Char(10)
座机号
QQ
Char(10)
QQ号
Email
Char(20)
E-mail
Work
Char(30)
工作单位
Address
Char(30)
地址
Birthday
Date
生日
3.分组信息表:
Grouping
属性名
数据类型
含义
是否是主属性或外键
完整性
G_number
Char(10)
分组号
PK
G_name
Char(10)
分组名
NOTNULL
4.拥有信息表:
Own
属性名
数据类型
含义
是否是主属性或外键
完整性
G_number
Char(10)
分组号
PK
ID
Char(10)
用户ID
Pk
L_number
Char(100)
联系人号
Pk
—4
精选文档
3.3用户子模式设计(袁向阳)
(可选)
编号
用户子模式(View)
作用(共性:
提供数据保密和安全保护机制)
/或:
子模式结构
001
用户分组显示
显示每个分组的联系人
002
联系人查询
快速查找的联系人
003
用户账号管理
修改昵称、密码、个性签名
004
联系人的修改
修改联系人信息
005
联系人的删除
删除联系人信息
006
联系人的添加
添加新的联系人
007
分组的创建
创建分组
008
分组的修改
修改分组
009
分组的删除
删除分组
4物理结构设计(侯琦瑞)
4.1存储结构
随着用户的增多,系统数据也会越来越多,所以要两个比较大的盘驱分别建
立一个主数据文件和一个日志文件就可以了。
4.2索引
由于基本表Worker,linkman,Grouping的主码Name,ID,G_number经常
在查询条件和连接操作的连接条件中出现,且它们的值唯一,考虑在两个属性上
建立唯一性索引;
—5
精选文档
5实施(李玉舟)
5.1建立数据库
createdatabaseTXL
on
(name=TXL,
filename=通讯录数据库\TXL.mdf',
size=100MB,
maxsize=UNLIMITED,
filegrowth=50MB)
logon
(name=XSGL_log,
filename=通讯录数据库\TXL_log.ldf',
size=3,
maxsize=50MB,
filegrowth=2MB)
5.2建立基本表
SQL语句或者图形界面截图。
--
(1)创建用户表Worker
createtableWorker
(IDchar(10)primarykey,
Nicknamechar(20)notnull,
—6
精选文档
Passwordchar(20)notnull,
Qianmingchar(50));
--
(2)创建分组Grouping
createtableGrouping
(G_numberchar(10)primarykey,
G_Namechar(20)notnull);
--(3)创建联系人表Linkman
create
table
Linkman
(Namechar(20)
primarykey,
Sexchar
(2)
check(Sex='男'or
Sex='女')DEFAULTnull,
Concernchar(10)DEFAULTnull,
Phonechar(11)
DEFAULTnull,
Landline
char(
10)DEFAULTnull,
QQchar(11)
DEFAULTnull,
E_mailchar(30)DEFAULTnull,
Workchar(20)
DEFAULTnull,
Addresschar(30)DEFAULTnull,
Birthday
date
DEFAULTnull);
--(4)创建拥有表Own
createtableOwn
(IDchar(10),
G_numberchar(10),
Namechar(20),
primarykey(ID,G_number,Name),
FOREIGNKEY(ID)REFERENCESWorker(ID),
FOREIGNKEY(G_number)REFERENCESGrouping(G_number),
FOREIGNKEY(Name)REFERENCESLinkman(Name));
5.3建立视图
—7
精选文档
6功能实现(查孟博)
6.1注册用户
InsertintoWorker(ID,Nickname,password,Qianming)
Values('00000','用户1','00000','我的联系人我做主!
');