博客系统 - 数据库设计(一)
程序员文章站
2022-05-08 11:05:56
...
@R星校长
第1关:数据库表设计 - 用户信息表
数据库整体设计
一个博客系统会有哪些功能呢,肯定会有的是博客列表,博客详情,评论,登陆注册等等这些功能,那应该建多少张表呢?应该给这些表添加哪些字段呢?字段的约束怎么设计呢?表与表之间的关联关系应该怎样设计呢?
这是你在开始本实训之前要思考的问题。
博客系统数据库的整体设计如下图所示:总共涉及到五张表:
- 用户信息表;
- 博客信息表;
- 博客类型表;
- 博客评论表;
- 博客标签表。
用户信息表(t_user)
设计用户信息表是设计数据库的第一步,和一般的网站类似,博客系统的用户信息有如下内容:
字段名称 | 类型 | 备注 | 约束 |
---|---|---|---|
userId |
bigint |
用户ID | 主键,自增长,增量为1 |
username |
varchar(32) |
用户名 | 非空 |
password |
varchar(32) |
密码 | 非空 |
user_sex |
varchar(6) |
性别 0 代表男 1 代表女 |
默认值为 0 |
email |
varchar(64) |
邮箱 | 无 |
phone |
varchar(11) |
手机号码 | 非空 |
firstname |
varchar(6) |
姓 | 无 |
lastname |
varchar(12 ) |
名 | 无 |
avatar |
varchar(255) |
头像地址 | 无 |
is_superuser |
int |
是否是管理员 0 代表不是1 代表是 |
默认值为0 |
last_login |
datetime |
上一次登陆时间 | 无 |
user_register_time |
datetime |
用户注册时间 | 无 |
编程要求
创建用户信息表,使用blog_db
数据库,创建的表命名为t_user
。
预期输出:
开始你的任务吧,祝你成功!
#请在此添加实现代码
########## Begin ##########
#在blog_db库中创建t_user表
create table blog_db.t_user(
userId bigint NOT NULL AUTO_INCREMENT COMMENT '用户ID',
primary key (userId),
username varchar(32) NOT NULL COMMENT '用户名',
password varchar(32) NOT NULL COMMENT '密码',
user_sex varchar(6) NOT NULL DEFAULT '0' COMMENT '性别 0代表男 1代表女',
email varchar(64) DEFAULT NULL COMMENT '邮箱',
phone varchar(11) NOT NULL COMMENT '手机号码',
firstname varchar(6) DEFAULT NULL COMMENT '姓',
lastname varchar(12) DEFAULT NULL COMMENT '名',
avatar varchar(255) DEFAULT NULL COMMENT '头像地址',
is_superuser int NOT NULL DEFAULT '0' COMMENT '是否是管理员 0代表不是 1代表是',
last_login datetime DEFAULT NULL COMMENT '上一次登陆时间',
user_register_time datetime DEFAULT NULL COMMENT '用户注册时间'
);
########## End ##########
注意:我这段代码自己打的时候少打了一个逗号一直报错,且要注意逗号的中英文形式,中文逗号会报错。
ERROR 1064 (42000) at line 5: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'is_superuser int NOT NULL DEFAULT '0' COMMENT '是否是管理员 0代表不是 ' at line 12
ERROR 1146 (42S02) at line 1: Table 'blog_db.t_user' doesn't exist