聊天室系统数据库设计案例.doc
- 文档编号:339234
- 上传时间:2022-10-09
- 格式:DOC
- 页数:6
- 大小:100KB
聊天室系统数据库设计案例.doc
《聊天室系统数据库设计案例.doc》由会员分享,可在线阅读,更多相关《聊天室系统数据库设计案例.doc(6页珍藏版)》请在冰豆网上搜索。
聊天室系统数据库设计
一、数据字典
用户表(users)
列名
数据类型
大小
约束
描述
userid
int
主键
用户ID
username
varchar
20
非空
用户名
nickname
varchar
20
非空
昵称
telephone
varchar
20
非空
电话
varchar
20
邮件
age
int
18到60之间
年龄
sex
varchar
4
男或女
性别
address
varchar
200
默认“地址不详”
地址
remark
varchar
200
备注
roleid
int
外键
角色ID
角色表(roles)
列名
数据类型
大小
约束
描述
roleid
int
主键
角色ID
rolename
varchar
20
非空
角色名称
好友关系表(friendship)
列名
数据类型
大小
约束
描述
userid
int
外键
用户ID
friendid
int
外键
好友ID
groupid
int
外键
分组ID
分组表(user_group)
列名
数据类型
大小
约束
描述
groupid
int
主键
分组ID
groupname
varchar
20
非空
分组名称
聊天记录表(chat_log)
列名
数据类型
大小
约束
描述
logid
int
主键
记录ID
senderid
varchar
外键
发送人ID
receiverid
int
外键
接收人ID
sendtime
varchar
20
非空
发送时间
sendcontent
varchar
200
非空
聊天内容
remark
varchar
200
备注
二、E-R图
用户
角色
聊天记录
分组
好友关系
三、物理模型图
四、数据库创建
CREATEDATABASEchatingroom
CREATETABLEroles
(
roleidintCONSTRAINTr_PRIMPRIMARYKEY,
rolenamevarchar(20)NOTNULL,
)
CREATETABLEusers
(useridintCONSTRAINTu_PRIMPRIMARYKEY,
usernamevarchar(20)NOTNULL,
nicknamevarchar(20)NOTNULL,
telephonevarchar(20)NOTNULL,
emailvarchar(20),
ageintcheck(agebetween18and60),
sexvarchar(4)check(sex='男'orsex='女'),
addressvarchar(200)DEFAULT'地址不详',
remarkvarchar(200),
roleidintCONSTRAINTr_FOREFOREIGNKEYREFERENCESroles(roleid),
statusintDEFAULT'1',
passwordvarchar(10)DEFAULT'123',
)
CREATETABLEuser_group
(
groupidintCONSTRAINTg_PRIMPRIMARYKEY,
groupnamevarchar(20)NOTNULL,
)
CREATETABLEfriendship
(
useridintCONSTRAINTu_FOREFOREIGNKEYREFERENCESusers(userid),
friendidintCONSTRAINTf_FOREFOREIGNKEYREFERENCESusers(userid),
gruopidintCONSTRAINTg_FOREFOREIGNKEYREFERENCESuser_group(groupid),
)
CREATETABLEchat_log
(
logidintCONSTRAINTl_PRIMPRIMARYKEY,
senderidintCONSTRAINTs_FOREFOREIGNKEYREFERENCESusers(userid),
recriveridintCONSTRAINTm_FOREFOREIGNKEYREFERENCESusers(userid),
sendtimevarchar(20)notnull,
sendcontentvarchar(200)notnull,
remarkvarchar(200),
)
五、数据库调试
------------------------------
--Recordsofroles
------------------------------
INSERTINTOrolesVALUES('1','管理员');
INSERTINTOrolesVALUES('2','普通用户');
------------------------------
--Recordsofusers
------------------------------
INSERTINTOusersVALUES('1','admin','管理员','15066968808','admin@','32','男','青岛市市北区辽宁路1000号','系统管理员','1',123);
INSERTINTOusersVALUES('2','testuser1','张小三','18600023456','testuser1@','23','男','青岛市市南区山东路1200号','普通用户','2',123);
INSERTINTOusersVALUES('3','testuser2','王小五','15399002344','testuser2@','28','男','青岛市崂山区苗岭路1300号','普通用户','2',123);
INSERTINTOusersVALUES('4','testuser3','凤飞飞','18666866686','testuser3@hotmail.co','21','女','青岛市黄岛区长江路1400号','普通用户','2',123);
------------------------------
--Recordsofuser_group
------------------------------
INSERTINTOuser_groupVALUES('1','我的好友');
INSERTINTOuser_groupVALUES('2','陌生人');
INSERTINTOuser_groupVALUES('3','黑名单');
INSERTINTOuser_groupVALUES('4','我的网友');
------------------------------
--Recordsoffriendship
------------------------------
INSERTINTOfriendshipVALUES('1','2','1');
INSERTINTOfriendshipVALUES('1','3','1');
INSERTINTOfriendshipVALUES('1','4','1');
INSERTINTOfriendshipVALUES('2','3','1');
INSERTINTOfriendshipVALUES('2','4','2');
INSERTINTOfriendshipVALUES('3','2','1');
INSERTINTOfriendshipVALUES('3','4','4');
----------------------------------
--1、根据用户名和密码查询用户信息(需要角色名称)
--2、插入用户信息
--3、修改用户表添加一个状态列:
statusintdefault1
--4、更新用户状态=0或1
--5、查看所有聊天记录信息
----------------------------------
--6、根据发送人、接收人和时间来查询聊天记录
----------------------------------
--7、根据用户的id查询好友信息(要查询的内容有用户ID,好友ID,组ID,用户名,好有名,组名)对三张表进行查询:
friendship,user_group,user(连两次)
----------------------------------
--8、查询所有角色信息
----------------------------------
----------------------------------
--9、查询所有组信息.
----------------------------------
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 聊天室 系统 数据库 设计 案例