ylbtech-dbs-m-QQ邮箱

ylbtech-dbs:ylbtech-dbs-m-QQ邮箱

-- =============================================
-- DatabaseName:QQ-Email
-- Desc: 基本版QQ邮箱
-- Model:Account-账户模块, Role-角色、权限模块, Message-消息模块, Qzone-QQ空间,Contacts-通讯录
-- pubdate:09:57 2013-12-09
-- author:Yuanbo
-- http://mail.qq.com/
-- =============================================

1.A,数据库关系图(Database Diagram) 返回顶部

 

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

1.B.1,

ylbtech-dbs-m-QQ邮箱
use master

GO

-- =============================================

-- DatabaseName:QQ-Email

-- Desc: 基本版QQ邮箱

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

-- pubdate:09:57 2013-12-09

-- author:Yuanbo

-- http://mail.qq.com/

-- =============================================

IF EXISTS (SELECT * 

       FROM   master..sysdatabases 

       WHERE  name = N'qq_wap_email')

    DROP DATABASE qq_wap_email

GO



CREATE DATABASE qq_wap_email

GO

use qq_wap_email



GO

-- =============================================

-- ylb:1,账户表

-- =============================================

create table account

(

account_id int identity(100000,1) primary key,    --编号【PK】

pwd varchar(20) not null,        --密码

email_type varchar(20),        --邮箱类型 qq.com;vip.qq.com;foxmail.com

[type] int,        --类型 0:QQ号;1:QQ群号

[enable] bit --状态 0:正常;1:禁用

)



GO

-- =============================================

-- ylb:1,收件箱、文件夹、记事本、漂流瓶、阅读、联系人

-- 中转站、附件、贺卡、推荐阅读、设置

-- 生日【即好友生日提醒】、更新【系统最近更新说明】、天气

-- =============================================



GO

-- =============================================

-- ylb:1,收件箱

-- =============================================

create table mail

(

mail_id int identity(10000,1) primary key,    --编号【PK,ID】

to_mail varchar(200),    --收件人

in_mail varchar(200),    --发件人

subject varchar(200),    --主题

wcc varchar(200),    --抄送

bcc varchar(200),    --密送

content varchar(2000),    --内容

[date] datetime,    --发送日期|接收日期

flag_read bit,    --邮件是否被读 0:未读:1:已读

type int,        --邮箱状态 已发送|草稿|

flag_status int,    --0:已发送;1:保存 邮件发送状态 成功;失败;没到发送时间

account_id int references account(account_id) --QQ号【FK】

)



-- =============================================

-- ylb:1,收件箱-附件表【附件夹】

-- =============================================

create table attachment

(

attachment_id int primary key identity(1,1),    --编号【PK】

attachment_url varchar(200) not null,                --附件保存地址

[filename] varchar(200),                --文件名称

filesize varchar(100),                    --文件大小

mail_id int references mail(mail_id),     --邮件编号【FK-Email】

temp_id varchar(200), --临时的保存标识【当邮箱没保存的时候】

email varchar(200),    --邮箱帐户【FK】

account_id int references account(account_id) --QQ号【FK】

)



GO

-- =============================================

-- ylb:1,标签

--创建标签失败,已存在同名的标签

--标签创建成功

-- =============================================

create table tag

(

tag varchar(200),                --标签

account_id int references account(account_id) --QQ号【FK】

)

GO

-- =============================================

-- ylb:1,邮箱标签关系表

-- =============================================

create table mailtag

(

tag varchar(200),                --标签

mail_id int references mail(mail_id) --邮箱编号【FK】

)



GO

-- =============================================

-- ylb:1,文件夹

-- =============================================

-- A-系统文件夹

-- 收件箱、星标邮件、群邮件、草稿箱、已发送、已删除、垃圾箱、QQ邮件订阅

-- B-我的文件夹

-- 邮件归档



--http://w.mail.qq.com/cgi-bin/mail_list

--?sid=KRVMxyV5zH-aE1IAio3T7fN7,4,zxz5oTD6w&folderid=1&page=0&pagesize=10&sorttype=time&loc=folderlist,,xhtml,1&t=mail_list



GO

-- =============================================

-- ylb:1,记事本

-- =============================================

-- http://w.mail.qq.com/cgi-bin/read_note

-- ?sid=KRVMxyV5zH-aE1IAio3T7fN7,4,c6izDCnqIQgY.&catid=1&noteid=_53&flag=&t=read_note

create table note

(

note_id int identity(1000,1) primary key,    --编号【PK】

subject varchar(200),    --主题

content varchar(2000),    --内容

cate_id int,        --分类编号

[date] datetime,    --发布时间

flag_star bit,        --星标记

account_id int references account(account_id) --QQ号【FK】

)

GO

-- =============================================

-- ylb:1,漂流瓶

-- =============================================

--普通瓶、心情瓶、同城瓶、交往瓶、提问瓶、祝愿瓶、真话瓶、传递瓶

GO

-- =============================================

-- ylb:1,漂流瓶-普通瓶

-- =============================================

create table bottle

(

bottle_id int identity(1000,1) primary key,    --编号【PK,ID】

content varchar(200),    --内容 140

bottle_unread bit,    --瓶子是否已读 0:未读;1:已读

account_id int references account(account_id) --QQ号【FK】

)



GO

-- =============================================

-- ylb:1,阅读

-- =============================================



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),                --电话|移动电话号

cate_id int,        --类别编号

account_id int references account(account_id) --QQ号【FK】

)



GO

-- =============================================

-- ylb: 5,文件中心

-- =============================================

create table [file]

(

[file_id] int primary key identity(1,1),    --编号【PK】

[filename] varchar(200) not null,        --文件名称

--base_id int default(0),                    --上级编号 0:无上级;

--file_type int,                    --文件类型 1:文件夹;2:非文件夹

file_url varchar(100),                    --(非文件时)文件保存位置

filesize int,                        --文件大小

[date] datetime,    --上传时间

account_id int references account(account_id) --QQ号【FK】

)

GO

-- =============================================

-- ylb: 5,贺卡【未完成】

-- =============================================

create table card

(

card_id int identity(1000,1) primary key,    --编号【PK,ID】

subject varchar(200),        --主题

content varchar(2000),        --内容

card_url varchar(100),                    --图片地址

cate_id int,        --类别编号

account_id int references account(account_id) --QQ号【FK】

)

GO

-- =============================================

-- ylb: 5,推荐订阅

-- =============================================

GO

-- =============================================

-- ylb: 5,设置

-- 常规、账户、天气

-- =============================================



GO

-- =============================================

-- ylb: 5,设置-天气

-- =============================================

GO

-- =============================================

-- ylb: 1.3, 省份-城市【公共表】

-- =============================================

create table ProvinceAndCity

(

[name] varchar(40) not null,    --名称

fullname varchar(40) not null,    --全名称

base_id varchar(40) default('-1')            --上级ID -1:无上级,即:第一级;

)

GO

-- =============================================

-- ylb: 1, 日志【公共表】

-- =============================================

create table newnote

(

newnote_id int identity(1000,1) primary key,    --编号【PK,ID】

content varchar(2000),        --内容

[date] datetime            --发布时间

)

GO

-- =============================================

-- ylb: 1, 登录记录help_static_login

-- http://w.mail.qq.com/cgi-bin/help_static_login

-- ?sid=KRVMxyV5zH-aE1IAio3T7fN7,4,zxz5oTD6w&t=help_static_login&page=1&type=0

-- =============================================

create table login_log

(

login_time datetime,    --[登录]时间

login_city varchar(200),    --城市[省份 市、县]

login_method varchar(200),    --登录方式

account_id int references account(account_id) --QQ号【FK】

)
View Code

1.B.2,

1.C,功能实现代码(Function Implementation Code)返回顶部

 

warn 作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

你可能感兴趣的:(qq)