ylbtech-dbs-m-QQ邮箱

时间:2023-03-09 19:09:19
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,

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】
)

1.B.2,

1.C,功能实现代码(Function Implementation Code)返回顶部
ylbtech-dbs-m-QQ邮箱 作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。