tpphpcms数据库设计一

在使用tp进行cms开发之前, 首先要设计数据库的表结构,表结构设计完成后, 进行tp框架的搭建,项目的命名,控制器的命名 搭建完成后逐步开始完成控制器类,模型类,模版展示,然后是整合,测试和后期维护。

在进行设计之前, 要考虑到项目的整体,都有哪些功能, 哪些模块, 单元、分类、文章、用户、权限、都有哪些字段,最好设计的时候, 画出所属关系的关联图, 这样进行设计的时候, 思路会更加清晰。

以下是我的用户表

CREATE TABLE `my_user` (
`id` int(10) UNSIGNED NOT NULL,
`username` varchar(150) NOT NULL COMMENT ‘用户名’,
`password` varchar(100) NOT NULL COMMENT ‘密码’,
`name` varchar(255) NOT NULL COMMENT ‘昵称’,
`email` varchar(100) NOT NULL COMMENT ‘邮箱’,
`reg_date` date NOT NULL,
`last_login_date` date NOT NULL,
`active` tinyint(1) NOT NULL COMMENT ‘是否激活’,
`params` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


— Indexes for dumped tables


— Indexes for table `my_user`

ALTER TABLE `my_user`
ADD PRIMARY KEY (`id`),
ADD UNIQUE KEY `username` (`username`),
ADD UNIQUE KEY `email` (`email`);


— 在导出的表使用AUTO_INCREMENT


— 使用表AUTO_INCREMENT `my_user`

ALTER TABLE `my_user`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

ID字段为int型, 无符号的从非负数开始,然后再加一个auto自增,意思就是从0开始存储自增一直到65535,目的是解决大型数据的排列问题。

username字段为vachar型, 长度是我随便设的, 这个稍微设置的长一点没关系, 预估名称的最长再多一点就可以了,加了unique代表该字段所属内容是不能出现重复的。并且不能为空。

password同样为vachar型, 使用varchar的目的是它比char要灵活一些, 能存储的数据长度更长,支持存储字符也支持存储数字

下面好像没啥可介绍的, 就说一下重点,

ENGINE=InnoDB DEFAULT CHARSET=utf8;

这里我设置的是innodb,其实现在默认设置就是这个了, 该存储引擎是比较好的,使用的时候会更加灵活, 支持的功能会更多一点, 如果想要执行效率高, 可以使用myisam。