设计数据库的表结构,关键在于分析整个流程,找到展示页面所需要的数据结构。
我们看到首页需要展示的是图片的标题和标题下面所对应的图片,还有日记的标题和日记的简短内容。而图片页和日记页展示的是同样的结构,所以整个网站的数据结构很简单,就是图片和日记。但是我们仔细分析一下,日记和日记标题是一对一的关系,但是图片和图片标题确实多对一的关系,即一个图片标题下面可以有多个图片,所以我们要为图片标题单独做一张表,整个数据库有三张表。
首先来分析图片标题表,它包含主键id,标题。再来看图片表,它包含主键id,外键标题id指向图片标题表的id,还有图片的url。最后是日记表,它包含主键id,日记标题,日记短内容,日记正文。下面就可以建表了:
create database petshow; create table pic_title( id bigint(20) unsigned not null auto_increment comment '主键', title varchar(128) comment '标题', primary key(id) )default charset=utf8 comment='图片标题表'; create table picture( id bigint(20) unsigned not null auto_increment comment '主键', title_id bigint(20) unsigned comment '标题id', path varchar(256) comment '图片路径', primary key(id) )default charset=utf8 comment='图片表'; create table blog( id bigint(20) unsigned not null auto_increment comment '主键', title varchar(128) comment '标题', short_content varchar(256) comment '摘要', content varchar(4096) comment '正文', primary key(id) )default charset=utf8 comment='日记表';
说实话网站结构比较简单,数据库也较简单,但是麻雀虽小,五脏俱全,复杂网站也就是表多一点,逻辑复杂一点而已。