通讯录管理系统大数据库设计.docx
- 文档编号:3862177
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:16
- 大小:361.65KB
通讯录管理系统大数据库设计.docx
《通讯录管理系统大数据库设计.docx》由会员分享,可在线阅读,更多相关《通讯录管理系统大数据库设计.docx(16页珍藏版)》请在冰豆网上搜索。
通讯录管理系统大数据库设计
通讯录管理系统数据库设计与实现
1需求简介〔〕
1.1功能概述
1.2数据要求
功能中涉与的数据项说明。
1.用分组根本信息〔Admin〕:
包括分组号、分组名;
2.用户根本信息(Dormitory):
包括账号、密码、昵称、个性签名,这样可以方便分清用户记录的联系人;
3.联系人根本信息(linkman):
包括、性别、关系、手机号、座机号、QQ、、生日、工作单位、地址、所属用户、所属分组;
数据项列表
数据项编号
数据项名
数据项含义
与其它数据项的关系
存储结构
别名
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号
CHAR(10)
TXL-15
CHAR(20)
TXL-16
Work
工作单位
CHAR(30)
TXL-17
Address
地址
CHAR(30)
TXL-18
Birthday
生日
Date
数据结构列表
数据结
构编号
数据结构名
数据结构
含义
组成
DS-1
Grouping
分组
G_number,G_name,ID,
DS-2
Worker
用户
ID,Nickname,Password,Qianming
DS-3
Linkman
联系人
L_number,Name,Sex,Concern,Phone,Landline,QQ,Email,Work,Address,Birthday,ID,G_number
DS-4
Own
拥有
ID,G_number,Name
2概念结构设计〔江涛〕
ER图〔如果系统没有那么复杂,可以不需要画局部ER图〕
属性请在ER图后单独说明。
3逻辑结构设计〔佳奇〕
关系模型
图中实体所具有的属性为:
User〔ID,Nickname,Password,Qianming〕;
Grouping(Group_number,,IDGroup_name)
Linkman〔Name,Sex,Concern,QQ,Phone,Landline,Email,Work,Address,Birthday,〕;
Own〔ID,G_number,L_number〕
3.2数据库模式设计〔袁向阳〕
信息表:
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)
座机号
Char(10)
QQ号
Char(20)
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
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.1建立数据库
createdatabaseTXL
on
(name=TXL,
filename='D:
\通讯录数据库\TXL.mdf',
size=100MB,
maxsize=UNLIMITED,
filegrowth=50MB)
logon
(name=XSGL_log,
filename='E:
\通讯录数据库\TXL_log.ldf',
size=3,
maxsize=50MB,
filegrowth=2MB)
SQL语句或者图形界面截图。
--
(1)创建用户表Worker
createtableWorker
(IDchar(10)primarykey,
Nicknamechar(20)notnull,
Passwordchar(20)notnull,
Qianmingchar(50));
--〔2〕创建分组Grouping
createtableGrouping
(G_numberchar(10)primarykey,
G_Namechar(20)notnull);
--〔3〕创建联系人表Linkman
createtableLinkman
(Namechar(20)primarykey,
Sexchar
(2)check(Sex='男'orSex='女')DEFAULTnull,
Concernchar(10)DEFAULTnull,
Phonechar(11)DEFAULTnull,
Landlinechar(10)DEFAULTnull,
QQchar(11)DEFAULTnull,
E_mailchar(30)DEFAULTnull,
Workchar(20)DEFAULTnull,
Addresschar(30)DEFAULTnull,
BirthdaydateDEFAULTnull);
--〔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));
6功能实现〔查孟博〕
InsertintoWorker(ID,Nickname,password,Qianming)
Values('00000','用户1','00000','我的联系人我做主!
');
6.2管理用户〔修改昵称、密码、个性签名〕
UpdateWorker
SetNickname='超级用户',Password='11111',Qianming='常联系'
WhereID='00000';
InsertintoGrouping(G_number,G_name)
Values('0000000000','firends');
InsertintoGrouping(G_number,G_name)
Values('0000000001','family');
updateGrouping
setG_name='myfirends'
whereG_number='0000000000';
deletefromGrouping
whereG_number='0000000001';
6.5添加联系人功能〔功能〕
InsertintoLinkman(L_number,Name,Sex,Concern,QQ,Phone,Landline,E_mail,Work,Address,Birthday)
Values('0000000001','江涛','男',null,'1234567891','',null,null,null,null,null);
InsertintoLinkman(L_number,Name,Sex,Concern,QQ,Phone,Landline,E_mail,Work,Address,Birthday)
Values('0000000002','查孟博','男',null,'1234567892','',null,null,null,null,null);
InsertintoLinkman(L_number,Name,Sex,Concern,QQ,Phone,Landline,E_mail,Work,Address,Birthday)
Values('0000000003','','男',null,'1234567893','',null,null,null,null,null);
InsertintoLinkman(L_number,Name,Sex,Concern,QQ,Phone,Landline,E_mail,Work,Address,Birthday)
Values('0000000004','侯琦瑞','男',null,'1234567894','',null,null,null,null,null);
InsertintoLinkman(L_number,Name,Sex,Concern,QQ,Phone,Landline,E_mail,Work,Address,Birthday)
Values('0000000005','袁向阳','男',null,'1234567895','',null,null,null,null,null);
InsertintoLinkman(L_number,Name,Sex,Concern,QQ,Phone,Landline,E_mail,Work,Address,Birthday)
Values('0000000006','玉舟','男',null,'1234567896','',null,null,null,null,null);
InsertintoLinkman(L_number,Name,Sex,Concern,QQ,Phone,Landline,E_mail,Work,Address,Birthday)
Values('0000000007','佳奇','男',null,'1234567897','',null,null,null,null,null);
InsertintoOwn(ID,G_number,L_number)
values('00000','0000000000','0000000001');
InsertintoOwn(ID,G_number,L_number)
values('00000','0000000000','0000000002');
InsertintoOwn(ID,G_number,L_number)
values('00000','0000000000','0000000003');
InsertintoOwn(ID,G_number,L_number)
values('00000','0000000000','0000000004');
InsertintoOwn(ID,G_number,L_number)
values('00000','0000000000','0000000005');
InsertintoOwn(ID,G_number,L_number)
values('00000','0000000000','0000000006');
InsertintoOwn(ID,G_number,L_number)
values('00000','0000000000','0000000007');
updateLinkman
setName='侯启瑞'
whereL_number='0000000004';
deletefromOwn
whereL_number='0000000004';
deletefromLinkman
whereL_number='0000000004';
select*
fromLinkman
whereL_number='0000000001';
selectL.Name,Phone
fromLinkmanL,Own,GroupingG
whereL.L_number=Own.L_numberandOwn.G_number=G.G_numberandG_name='myfirends';
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通讯录 管理 系统 数据库 设计