zoukankan      html  css  js  c++  java
  • 多人博客项目(数据库设计+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、

        

      图片来源有两种:

  • 相关阅读:
    腾讯云CDN python SDK
    GLFW初体验
    Mac使用Xcode配置openGL
    sklearn神经网络分类
    sklearn LDA降维算法
    sklearn CART决策树分类
    sklearn逻辑回归
    抢占式内核与非抢占式内核
    操作系统原理学习笔记--进程管理
    操作系统原理4——存储管理
  • 原文地址:https://www.cnblogs.com/JerryZao/p/10000364.html
Copyright © 2011-2022 走看看