设计4个表,分别时User,Message,News,Commen。其中的一些表能够有一些必要的冗余。数据库
头条网站中,news就包含网站中的每个帖子,每一个帖子都有相同点,提取相同点,抽象成字段。这个表是整个数据库中最重要的部分:网站
DROP TABLE IF EXISTS `news`; CREATE TABLE `news`( #资讯本身的惟一id `id` int(11) unsigned NOT NULL AUTO_INCREMENT, #资讯的标题 `title` varchar(128) NOT NULL DEFAULT '', #资讯的连接 `link` varchar(256) NOT NULL DEFAULT '', #资讯的首图 `image` varchar(256) NOT NULL DEFAULT '', #资讯的点赞数 `like_count` int NOT NULL, #评论数,冗余字段 `comment_count` int NOT NULL, #建立时间 `created_date` datetime NOT NULL, #资讯发布者的惟一id `user_id` int(11) NOT NULL, PRIMARY KEY(`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
以下:上述字段能够对应到网页的实体:url
user表示用户,表格信息以下:spa
//若数据库中存在user表,则删除这个表 DROP TABLE IF EXISTS `user`; //建立user表 CREATE TABLE `user` (
#用户所表明的惟一id `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
#用户名 `name` varchar(64) NOT NULL DEFAULT ' ',
#密码 `password` varchar(128) NOT NULL DEFAULT ' ', #salt是增强密码的额外的字段 `salt` varchar(32) NOT NULL DEFAULT ' ', #头像的url连接 `head_url` varchar(256) NOT NULL DEFAULT ' ', PRIMARY KEY (`id`), UNIQUE KEY `name` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
以下形式是用户信息表:设计
Massage表3d
massage表包含系统的一些消息,用户之间的消息。code
实际场景以下:blog
Comment表it
Comment表主要是用户对帖子的评论相关信息。class
实际场景: