建库规则
- 库名称命名:
- 小写字母.
- 不使用驼峰, 使用 下划线 命名.
- 字符集: utf8
- 排序规则: utf8_general_ci
示例:
CREATE DATABASE test DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
建表规则
- 表名称命名:
- 小写字母.
- 不使用驼峰, 使用 下划线 命名.
- 前缀必须以 pcore_ 开头.
- 字符集: utf8
- 排序规则: utf8_general_ci
- 存储引擎: InnoDB
- 需要符合数据库 BCNF, 若因为特殊情况, 不能满足, 必须标注说明原因.
- 第一范式: 属性不可分, 原子数据项.
- 第二范式: 非主属性必须完全依赖于主键.
- 第三范式: 消除依赖, 任何非主属性不依赖于其他非主属性.
- BCNF: 主属性不依赖于主属性.
- 需要写清楚表注释, 以及每一个字段的注释.
- 表必须包含 主键, 且主键 自增.(因为MGR)
- 字段规则:
- 小写字母.
- 不使用驼峰, 使用 下划线 命名.
- 字段默认 不能为空
- 对于某些不确定字段的字符信息, 尽量不要用固定的长度, 使用 varchar(255), 避免后期产生不必要的问题.
- 如需要将内容存于mongo, 该字段的类型必须为 char(24).
- 字段顺序: 第一个字段必须是主键, 后四位字段顺序:
- status tinyint(1) 状态(预留, 默认 0)
- create_time int(10) 创建时间
- update_time int(10) 更新时间
- status_time int(10) 状态更新时间
示例:
CREATE TABLE `pcore_user` (
`user_id` int(10) NOT NULL COMMENT '用户id',
`user_name` varchar(255) NOT NULL COMMENT '用户名',
`cellphone` char(11) NOT NULL COMMENT '手机号',
`admissibility` tinyint(1) NOT NULL COMMENT '受理情况(默认 未受理 0, 予以受理 2, 不予受理 -2)',
`status` tinyint(1) NOT NULL COMMENT '状态(预留, 默认 0)',
`create_time` int(10) NOT NULL COMMENT '创建时间',
`update_time` int(10) NOT NULL COMMENT '更新时间',
`status_time` int(10) NOT NULL COMMENT '状态更新时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户表';
ALTER TABLE `pcore_user`
ADD PRIMARY KEY (`user_id`);
ALTER TABLE `pcore_user`
MODIFY `user_id` int(10) NOT NULL AUTO_INCREMENT COMMENT '用户id';
权限分配
- 默认生产环境只会给予账户
- 添加
- 更新
- 查询
- 执行存储过程权限
- 如果需要额外的权限(如删除)
评论列表
alter table account Add column is_admin TINYINT not null default 0 AFTER hotel_id