多⼈博客项⽬(数据库设计+Django项⽬创建)
1、分析:
核桃木 多⼈使⽤的博客系统,采⽤BS 架构实现,为了提供显⽰页⾯,所以⽤浏览器,内部通讯的话,就不需要,CS就可以
博客系统,需要⽤户福安⾥,博⽂管理
⽤户管理:注册,增删查改⽤户
博⽂管理:增删改查博⽂
需要数据库:本次使⽤MySQL5.5, InnoDB 引擎
需要⽀持多⽤户登录,各⾃可以管理⾃⼰的博⽂(增删改查),管理是不公开的,但是博⽂是不需要登录就可以公开流浪的
先实现最⼩的核⼼需求代码
2、数据库设计
①、创建数据库:blog
②、创建⽤户表,⽂章表
创建⽤户表user:
创建⽂章post
⼀个⽤户 会写多篇博客,所以是⼀个⼀对多的情况,为了能在 post表中到相应⽤户的⽂章,所以post使⽤author 类型为int,对应user表中的主键id,(⼀对多,外键放在多的⼀侧)
结婚三金 ⽤户名对应的id 是唯⼀的,所以可以到 post对应的author
但是,正常业务,查是通过title查,所以没必要吧内容⼀下都显⽰,所以再次分离,将content 分开
梦幻西游普陀山技能 创建内容表 content:
魾 ⼀个 post.title ===》⼀个content 所以,content.id === post.id ⼀⼀对应
历史最大地震 如果post删除⼀⾏,content 也要删除,最好content加⼀个外键,保证数据⼀致性
思考:
content 多⼤合适,图⽚如何处理:
1、字段类型
博⽂⼀般很长,不可能只有⼏百个字符,需要打⽂本字段、MySQL中,选择text类型⽽不是char或者varchar类型
2、⼤⼩
text 类型是65535个字符,如果不够⽤,有longtext 2^32-1个字符
3、图⽚
博⽂就像HTML ⼀样,图⽚是通过路径信息将图⽚嵌⼊在内容中。所以保存的内容还是字符串
图⽚来源有两种,
外链:通过URL 连接访问,本站不⽤存储该图⽚,但容易引起倒链问题
本站存储:需要提供博⽂在线⽂本编辑器,提供图⽚上传到⽹站存储,并⽣成图⽚URL,这个URL嵌⼊booked正⽂,不会有倒链,但是要解决众多图⽚存储问题,⽔印问题,临时图⽚清理,在线压缩等
4、字段考虑
content字段存储⽂本类型⼤字段,⼀般不喝数据频繁查询的字段放在⼀张表中,需要拆到另⼀张表
注:这⾥的SQL脚本本次不要使⽤⽣成表,使⽤ORM ⼯具来创建,⽤来检查实体类构建是否正确
3、项⽬:
项⽬构建:
1、
2、打春
3、以后可以直接在这⾥选择环境
4、
图⽚来源有两种:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论