ylbtech-DatabaseDesgin:ylbtech-QQ(腾讯)-Account-账户模块, Role-角色、权限模块, Message-消息模块, Qzone-QQ空间,Contacts-通讯录-数据库设计

-- =============================================
-- DatabaseName:QQ-QQ
-- Desc: 手机版QQ
-- Model:Account-账户模块, Role-角色、权限模块, Message-消息模块, Qzone-QQ空间,Contacts-通讯录
-- pubdate:09:58 2013-12-06
-- author:Yuanbo
-- http://qzone.qq.com/
-- =============================================

1.A,数据库关系图(Database Diagram)【至于有的模块表多,没有截图数据库关系图,在家在查询分析器创建一下,新建一个数据库关】

Account-账户模块,

Role-角色、权限模块,

Message-消息模块,

Qzone-QQ空间,

这个没有截图。

Contacts-通讯录,

1.B,数据库设计脚本(Database Design Script)

Account-账户模块, Role-角色、权限模块, Message-消息模块, Qzone-QQ空间,Contacts-通讯录

1.B,Account-账户模块
use master
GO
-- =============================================
-- DatabaseName:QQ-QQ
-- Desc: 手机版QQ
-- Model:Account-账户模块, Role-角色、权限模块, Message-消息模块, Qzone-QQ空间,Contacts-通讯录
-- pubdate:09:58 2013-12-06
-- author:Yuanbo
-- http://qzone.qq.com/
-- =============================================
IF EXISTS (SELECT *
FROM master..sysdatabases
WHERE name = N'qq_wap_qq')
DROP DATABASE qq_wap_qq
GO CREATE DATABASE qq_wap_qq
GO
use qq_wap_qq GO
-- =============================================
-- ylb:1,账户表
-- =============================================
create table account
(
account_id int identity(100000,1) primary key, --编号【PK】
pwd varchar(20) not null, --密码
[type] int, --类型 0:QQ号;1:QQ群号
[enable] bit --状态 0:正常;1:禁用
) GO
-- =============================================
-- ylb: 1.1,用户基本资料表
-- =============================================
create table Users
(
nickname varchar(200) not null, --昵称
realname varchar(200) null, --真实姓名
sex char(1) check(sex in('M','F','N')) default('N'), --性别M:男;F:女;N:未知
birthday datetime, --生日 constellation int, --星座
province varchar(100), --现居住地-省
city varchar(100), --现居住地-市
county varchar(100), --现居住地-县
account_id int references account(account_id) --QQ账号【FK】
) GO
-- =============================================
-- ylb:1,分组
-- =============================================
create table [group]
(
group_id uniqueidentifier, --编号【Guid】
groupname varchar(200), --组名
account_id int references account(account_id) --QQ账号【FK】
) GO
-- =============================================
-- ylb:1,我的好友
-- =============================================
create table friend
(
friend_id int, --好友的QQ号
account_id int references account(account_id), --QQ账号【FK】
group_id uniqueidentifier, --分组编号
pubdate datetime default(getdate()) --添加时间
) GO
-- =============================================
-- ylb:1,群
-- =============================================
create table self_qun
(
qun_id int, --好友的QQ号
account_id int references account(account_id), --QQ账号【FK】
) GO
-- =============================================
-- ylb:1,群、讨论组
-- =============================================
create table qun
(
qun_id int, --好友的QQ号
account_id int references account(account_id), --QQ账号【FK】
role varchar(200), --角色:群主、管理员、成员
--[type] varchar(200) not null, --类型,比如:群、讨论组
pubdate datetime default(getdate()) --添加时间
) GO
-- =============================================
-- ylb:1,讨论组
-- =============================================
create table taolunzu
(
taolunzu_id int, --好友的QQ号
account_id int references account(account_id), --QQ账号【FK】
pubdate datetime default(getdate()) --添加时间
)
1.B,Role-角色、权限模块
use qq_wap_qq

go
-- =============================================
-- ylb:1,角色、权限访问关系设计
-- =============================================
go
-- =============================================
-- 1,角色表【器官|组织】
-- =============================================
create table [role]
(
role_id uniqueidentifier primary key, --编号【PK】
rolen_ame varchar(20), --角色名称
role_desc varchar(200), --角色描述
enable bit --状态 0:正常;1:禁用
)
go
go
-- =============================================
-- 1,P:账户角色关系表
-- =============================================
create table accountrole
(
account_id int references account(account_id), --账户-编号【FK】
role_id uniqueidentifier references role(role_id), --角色-编号【FK】
enable bit --状态 0:正常;1:禁用
)
go -- =============================================
-- 1,功能表(事件表)【细胞】
-- =============================================
create table event
(
event_id uniqueidentifier primary key, --编号【PK】
event_name varchar(20), --事件名称
event_desc varchar(200),--事件描述
enable bit --状态 0:正常;1:禁用
) go
-- =============================================
-- 1,P:角色功能关系表
-- =============================================
create table roleevent
(
role_id uniqueidentifier references role(role_id),
event_id uniqueidentifier references event(event_id),
enable bit --状态 0:正常;1:禁用
)
1.B,Message-消息模块
use qq_wap_qq
GO
-- =============================================
-- ylb:1,消息【核心模块】
-- ============================================= GO
-- =============================================
-- ylb:1,消息
-- =============================================
create table message
(
message_id int primary key identity(20000,1), --编号【PK,ID】
content varchar(400),
pubdate datetime default(getdate()), --发布时间
send_account_id int references account(account_id), --发送-QQ账号【FK】
accept_account_id int references account(account_id), --接受-QQ账号【FK】
status int, --发送状态 0:成功;1:失败
offline_send bit --0:否;1:是。如是“是”,则接受者等登录则发送过去
)
1.B,Qzone-QQ空间
use qq_wap_qq
GO
-- =============================================
-- ylb:1,QQ空间【核心模块】
-- ============================================= GO
-- =============================================
-- ylb:1,说说、日志、相册、留言
-- ============================================= GO
-- =============================================
-- ylb:1,时间轴(消息|好友动态)
-- =============================================
create table timeline
(
timeline_id int primary key identity(10000,1), --编号【PK,ID】
guid uniqueidentifier, --Guid全局唯一标示和对应模块的相同【FK】
[type] varchar(200) not null, --类型,比如:说说、日志、留言、
pubdate datetime default(getdate()), --发布时间
status bit default(0), --时候0:未读;1:已读
account_id int references account(account_id) --QQ账号【FK】
) GO
-- =============================================
-- ylb: 8, 说说
-- =============================================
create table feeling
(
feeling_id int primary key identity(1,1), --编号
content varchar(200), --内容
pubdate datetime default(getdate()), --时间
base_id int, --base_id=0:首发;base_id=num:则回复
guid uniqueidentifier, --Guid全局唯一标示和对应模块的相同【FK】
account_id int references account(account_id) --QQ账号【FK】
)
GO --ylb:2,日志
GO
-- =============================================
-- ylb: 2.1,日志分类表
-- =============================================
create table blogclass
(
blogclass_id int primary key identity(100,1), --编号【PK】
class_name varchar(100) not null, --分类名称
account_id int references account(account_id) --QQ账号【FK】
) GO
-- =============================================
-- ylb: 2.2,日志表
-- =============================================
create table article
(
article_id int primary key identity(1,1), --编号【PK】
title varchar(200) not null, --标题
content varchar(5000), --内容
blogclass_id int references blogclass(blogclass_id), --分类编号【FK】
pubdate datetime default(getdate()), --分布日期 read_cnt int default(0), --阅读数量
reply_cnt int default(0), --回复数量
allow_view int default(0), --显示范围权限 -100:公开;100:好友;1000:私人
draft_flag int default(0), --0:发送;1:保存草稿
guid uniqueidentifier, --Guid全局唯一标示和对应模块的相同【FK】
account_id int references account(account_id) --QQ账号【FK】
) GO
-- =============================================
-- ylb: 2.3,日志评论表
-- =============================================
create table articlereply
(
articlereply_id int primary key identity(100,1), --编号【PK】
content varchar(200) not null, --内容
pubdate datetime default(getdate()), --回复时间
article_id int references article(article_id), --文章编号[FK]
guid uniqueidentifier, --Guid全局唯一标示和对应模块的相同【FK】
account_id int references account(account_id) --QQ账号【FK】
) --ylb:3, 相册
GO
-- ylb: 3.1 相册类别表
-- =============================================
-- ylb: 3.1.1 相册类别表
-- =============================================
create table album
(
album_id int primary key identity(1,1), --编号【PK】
album_name varchar(100) not null, --相册名
pubdate datetime default(getdate()), --创建时间
album_url varchar(100), --封面图片
guid uniqueidentifier, --Guid全局唯一标示和对应模块的相同【FK】
account_id int references account(account_id) --QQ账号【FK】
) GO
-- =============================================
-- ylb: 3.1.2 相册类别评论表
-- =============================================
create table replyalbum
(
replyalbum_id int primary key identity(100,1),--编号
content varchar(200) not null, --评论内容
pubdate datetime default(getdate()), --评论时间
base_id int default(0), --评论级次 0:发表;其他:回复|跟贴
album_id int references album(album_id), --相册编号[FK]
guid uniqueidentifier, --Guid全局唯一标示和对应模块的相同【FK】
account_id int references account(account_id) --QQ账号【FK】
) -- ylb: 3.2 相册表
GO
-- =============================================
-- ylb: 3.2.1 相册表
-- =============================================
create table photo
(
photo_id int primary key identity(100,1), --编号【PK】
img_url varchar(100), --保存地址
img_desc varchar(100), --描述 [注:3g版不显示]
album_id int references album(album_id), --相册编号[FK]
guid uniqueidentifier, --Guid全局唯一标示和对应模块的相同【FK】
account_id int references account(account_id) --QQ账号【FK】
) GO
-- =============================================
-- ylb: 3.2.2 相册评论表
-- =============================================
create table replyphoto
(
replyphoto_id int primary key identity(100,1),--编号
content varchar(200) not null, --评论内容
pubdate datetime default(getdate()), --评论时间
base_id int default(0), --评论级次 0:发表;其他:回复|跟贴
photo_id int references photo(photo_id), --照片编号[FK]
guid uniqueidentifier, --Guid全局唯一标示和对应模块的相同【FK】
account_id int references account(account_id) --QQ账号【FK】
) GO
-- =============================================
-- ylb: 6, 留言表
-- =============================================
create table note
(
note_id int primary key identity(1,1), --编号
content varchar(200), --内容
pubdate datetime default(getdate()), --时间
base_id int, --base_id=0:首发;base_id=num:则回复
guid uniqueidentifier, --Guid全局唯一标示和对应模块的相同【FK】
account_id int references account(account_id) --QQ账号【FK】
) GO
-- =============================================
-- ylb: 7, 最近走访
-- =============================================
create table recentvisit
(
recentvisitId int primary key identity(1,1), --编号
host_account_id int references account(account_id), --主人编号
visit_account_id int references account(account_id), --来访者编号
pubdate datetime default(getdate()), --时间
type int --类型 0:谁看过我;1:我看过谁;2:被挡访客
)
1.B,Contacts-通讯录
use qq_wap_qq
go
-- =============================================
-- ylb:1,通讯录
-- ============================================= GO
-- =============================================
-- ylb: 3,联系人组
-- =============================================
create table contactgroup
(
contactgroup_id int primary key identity(10,1), --编号【PK】
contactgroup_name varchar(100) not null, --分组名称
account_id int references account(account_id), --QQ账号【FK】
) GO
-- =============================================
-- ylb: 3.2,联系人
-- =============================================
create table contact
(
contact_id int primary key identity(100,1), --编号【PK】
[name] varchar(100) not null, --姓名
email_pref varchar(100), --电子邮箱
tel_cell varchar(100), --电话|移动电话号
contactgroup_ids varchar(100), --联系人分组编号【FK】
account_id int references account(account_id), --QQ账号【FK】
)
GO
1.C,功能实现代码(Function Implementation Code)
作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

ylbtech-QQ(腾讯)-群的更多相关文章

  1. QQ 腾讯QQ(简称“QQ”)是腾讯公司开发的一款基于Internet的即时通信(IM)软件

    QQ 编辑 腾讯QQ(简称“QQ”)是腾讯公司开发的一款基于Internet的即时通信(IM)软件.腾讯QQ支持在线聊天.视频通话.点对点断点续传文件.共享文件.网络硬盘.自定义面板.QQ邮箱等多种功 ...

  2. 请转发!简单2分钟制作无接触式小区进出微信登记表!全免费!数据安全!所有数据均存在创建人登录的QQ腾讯文档里!

    全免费!数据安全!所有数据均存在创建人登录的QQ腾讯文档里! 阻击疫情到了最吃劲的关键期,大家能不出门就不出门,但免不了出去买个菜.取个快递啥的,每次出入的时候,社区同志都在认真拿着笔记录每个进出信息 ...

  3. python 发送邮件 <QQ+腾讯企业邮箱>

    一.使用QQ邮箱或者腾讯企业邮箱 python 发送邮件属于网络编程方向的,在工作中,我需要经常用邮件来检测我的程序运行状况.使用起来十分方便,这里我就用腾讯企业邮箱作为我的收发邮箱来使用. 使用py ...

  4. 如何实现Jenkins 编译结果通知到QQ好友及QQ群组<很遗憾 2019年1月1日腾讯停止了webqq机器人的服务支持>

    Jenkins-NotifyQQ NotifyQQ 运行于Docker 本文介绍mac 环境下实现Jenkins编译结果QQ即时通知 Jenkins 安装使用及iOS自动化打包,邮件通知请参考本人博客 ...

  5. iOS-QQ临时对话、QQ群申请跳转

    QQ 临时对话 NSString *qq = [NSString stringWithFormat:@"mqq://im/chat?chat_type=wpa&uin=%@& ...

  6. 怎样把QQ群降级(1000人降到200或500人,500人降到200)

    怎样把QQ群降级(1000人降到200或500人,500人降到200)QQ群只有升级的选项,没有降级选项,一旦升级为1000人,就无法直接降级为200人或500人,建群时选择了500人也无法降到200 ...

  7. python作业/练习/实战:下载QQ群所有人的头像

    步骤与提示:1.在腾讯群网页中进入任意一个群,获取相关信息,可以用postman是试一下,可以看到我们要的是mems里面的数据,需要获取到QQ号和群名片,如果没有群名片的话取昵称2.根据QQ号下载头像 ...

  8. 收费的QQ群 改变的不只是所谓的在线教育

    改变的不只是所谓的在线教育" title="收费的QQ群 改变的不只是所谓的在线教育"> 如果说国内互联网企业中最会捞钱的,腾讯敢认第二,恐怕没有其他的企业敢认第一 ...

  9. 8月11日 Power-BI V11 QQ群视频交流开课啦

    过去,用excel表格来做数据分析是很多企业的首选,但随着时代的发展,excel的某些功能已经不能满足用户的需求.今天的课程呢,我们就基于excel数据源来讲讲数据集构建器的应用. 时间:2016年8 ...

随机推荐

  1. UML类图画法及其之间关系

    1.泛化又名继承(Generalization),带空心箭头的实线表示,箭头指向父类 2.实现(Realization),带空心的虚线表示 3.关联(Association),类与类之间的关联,它使一 ...

  2. Leetcode: Binary Watch

    A binary watch has 4 LEDs on the top which represent the hours (0-11), and the 6 LEDs on the bottom ...

  3. 总结JavaScript(Iframe、window.open、window.showModalDialog)父窗口与子窗口之间的操作

    一.Iframe 篇 //&&&&&&&&&&&&&&&&&&a ...

  4. usb 设备的端点 及输入输出方向

  5. instanceof 变量是否属于某一类 class 的实例

    <?phpclass MyClass{} class NotMyClass{}$a = new MyClass;$b = new NotMyClass;var_dump($a instanceo ...

  6. ORA-01403: no data found

    在项目的存储过程中有这样一句话 select jgdm,jgmc into parm_mrjgdm,parm_mrjgmc From BL_KHXX  where jgdm=PARM_JGDM; 每次 ...

  7. 105&amp;250-高级软件工程2017第3次作业

    小组成员 2017282110250 王婷婷 2017202110105 张芷祎 github地址 https://github.com/setezzy/Calculator_GUI PSP PSP2 ...

  8. PowerDesigner15连接Oracle数据库并导出Oracle的表结构

    PowerDesigner连接Oracle数据库,根据建立的数据源进行E-R图生成.详细步骤如下: 1.启动PowerDesigner 2.菜单:File->Reverse Engineer - ...

  9. 微信小程序基础

    前言 什么是微信小程序,它是一种轻量级的APP,它与常规App来说,无需下载安装即可使用,它嵌于微信App中,要使用微信小程序你只需要搜索一下微信小程序的名称就好,如近期的"Google的画 ...

  10. console.log等不能打印全部数据/信息

    有时候console.log在chrome调试控制台打印不全,如下: 这个时候,我们可以点击进去:用watch 工具,添加变量,右击copy value 选项: