微博mysql表设计思路

login_info:
   该表主要管理微博账号和密码
            
id:主键,自增长,不用用户管理
name:登陆账号
password:登陆密码  
enable:账号是否有效,1表示有效,0表示无效,在程序运行的时候,如果账号被封,该字段会被程序置为0,如果账号密码不对,那么程序会把该字段设置为2

创建语句:
CREATE TABLE `login_info` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(100) DEFAULT NULL,
  `password` varchar(200) DEFAULT NULL,
  `enable` int(11) DEFAULT '1',
  PRIMARY KEY (`id`),
  UNIQUE KEY `name` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;


keywords:
   该表主要是配合做微博话题搜索使用,请在搜索话题之前向该表中插入关键词
id:主键,自增长,不用用户管理
keyword:搜索关键词
enable:关键词是否有效,1表示有效,0表示无效

创建语句:
CREATE TABLE `keywords` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `keyword` varchar(200) DEFAULT NULL,
  `enable` int(11) DEFAULT '1',
  PRIMARY KEY (`id`),
  UNIQUE KEY `keyword` (`keyword`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;



weibo_data:
该表主要存储微博信息,目前微博信息有两个来源:1.通过抓取种子用户主页所有原创微博获取 2.通过搜索指定话题获取

id 主键
weibo_id   微博id
weibo_cont 微博内容
weibo_img  微博图片url
weibo_img_path 微博图片保存路径
weibo_vedio    微博视频url
repost_num 转发数
comment_num    评论数
praise_num    点赞数
uid    博主id
is_origin  是否是原创,1表示是,0表示否
device 发布设备
weibo_url  微博url
create_time    发布时间
comment_crawled    该微博评论是否已经抓取,1表示已经抓取,0表示未抓取
repost_crawled 该微博的转发是否已经抓取,1表示已经抓取,0表示未抓取
dialogue_crawled   该微博的评论是否已经抓取,1表示已经抓取,0表示未抓取
praise_crawled 该微博的点赞是否已经抓取,1表示已经抓取,0表示未抓取
创建语句:
CREATE TABLE `weibo_data` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `weibo_id` varchar(200) DEFAULT NULL,
  `weibo_cont` text,
  `weibo_img` varchar(1000) DEFAULT NULL,
  `weibo_img_path` varchar(1000) DEFAULT '',
  `weibo_video` varchar(1000) DEFAULT NULL,
  `repost_num` int(11) DEFAULT '0',
  `comment_num` int(11) DEFAULT '0',
  `praise_num` int(11) DEFAULT '0',
  `uid` varchar(20) DEFAULT NULL,
  `is_origin` int(11) DEFAULT '1',
  `device` varchar(200) DEFAULT '',
  `weibo_url` varchar(300) DEFAULT '',
  `create_time` varchar(200) DEFAULT NULL,
  `comment_crawled` int(11) DEFAULT '0',
  `repost_crawled` int(11) DEFAULT '0',
  `dialogue_crawled` int(11) DEFAULT '0',
  `praise_crawled` int(11) DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `weibo_id` (`weibo_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


keywords_wbdata:
关键词--微博中间表,通过联结查询获取特定关键词相关微博
id 主键    
keyword_id 关键词主键
wb_id  微博id(不是微博主键)
创建语句:
CREATE TABLE `keywords_wbdata` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `keyword_id` int(11) DEFAULT NULL,
  `wb_id` varchar(200) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

weibo_comment:
微博评论表,存储微博id和其相关评论
id 主键
comment_id 评论id
comment_cont   评论内容
weibo_id   微博id
user_id    评论用户id
create_time 评论时间
request_tiem 获取数据时间
创建语句:
CREATE TABLE `weibo_comment` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `comment_id` varchar(50) DEFAULT NULL,
  `comment_cont` text,
  `comment_screen_name` text,
  `weibo_id` varchar(200) DEFAULT NULL,
  `user_id` varchar(20) DEFAULT NULL,
  `create_time` varchar(200) DEFAULT NULL,
  `request_time` varchar(200) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `comment_id` (`comment_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

weibo_repost:
微博转发表,存储转发相关层级信息
id 主键
user_id    当前转发用户id
user_name  用户名
weibo_id   转发微博id
parent_user_id 上层用户id
repost_time    转发时间
repost_cont    转发内容
weibo_url  转发微博url
parent_user_name      上层用户名
root_weibo_id 源微博id
request_tiem 获取数据时间
创建语句:
CREATE TABLE `weibo_repost` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` varchar(20) DEFAULT NULL,
  `user_name` varchar(200) DEFAULT NULL,
  `weibo_id` varchar(200) DEFAULT NULL,
  `parent_user_id` varchar(20) DEFAULT NULL,
  `repost_time` varchar(200) DEFAULT NULL,
  `repost_cont` text,
  `weibo_url` varchar(200) DEFAULT NULL,
  `parent_user_name` varchar(200) DEFAULT NULL,
  `root_weibo_id` varchar(200) DEFAULT NULL,
  `request_time` varchar(200) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `weibo_id` (`weibo_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


weibo_praise
微博点赞表,存储用户和微博id
id 主键
user_id    点赞用户id
weibo_id   微博id
crawl_time 抓取点赞时间

创建语句:
CREATE TABLE `weibo_praise` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` varchar(20) DEFAULT NULL,
  `weibo_id` varchar(200) DEFAULT NULL,
  `crawl_time` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

wbuser:
该表主要存储用户个人信息
id 主键
uid    用户id
name   昵称
gender 性别,0表示未知,1表示男,2表示女
birthday   生日
location   位置
description    简介
register_time  注册时间
verify_type    认证类型,0表示未认证,1表示个人认证,2表示企业认证
verify_info    认证信息
follows_num    关注数
fans_num   粉丝数
wb_num 微博数
level  等级
tags   标签
work_info  工作信息
contact_info   联系方式
education_info 教育信息
head_img   头像url
# isFan 预留 0/1 来表示某个状态
创建语句:
CREATE TABLE `wbuser` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `uid` varchar(20) DEFAULT NULL,
  `name` varchar(200) DEFAULT '',
  `gender` int(11) DEFAULT '0',
  `birthday` varchar(200) DEFAULT '',
  `location` varchar(100) DEFAULT '',
  `description` varchar(500) DEFAULT '',
  `register_time` varchar(200) DEFAULT '',
  `verify_type` int(11) DEFAULT '0',
  `verify_info` varchar(2500) DEFAULT '',
  `follows_num` int(11) DEFAULT '0',
  `fans_num` int(11) DEFAULT '0',
  `wb_num` int(11) DEFAULT '0',
  `level` int(11) DEFAULT '0',
  `tags` varchar(500) DEFAULT '',
  `work_info` varchar(500) DEFAULT '',
  `contact_info` varchar(300) DEFAULT '',
  `education_info` varchar(300) DEFAULT '',
  `head_img` varchar(500) DEFAULT '',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uid` (`uid`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

猜你喜欢

转载自blog.csdn.net/qq_26877377/article/details/80942866