为什么需要设计数据库

当数据库很复杂时,需要设计

糟糕的数据库设计

  • 数据冗余,浪费空间
  • 插入和删除很麻烦(屏蔽物理外键)
  • 程序性能差

良好的数据库设计

  • 数据紧凑,节省空间
  • 保证数据的完整性
  • 方便开发系统

软件开发中数据库的设计

  • 分析需求:分析业务和需要处理的数据的需求
  • 概要设计:设计关系图 E-R图

个人博客设计数据库的步骤

  • 收集信息,分析需求

    • 用户表(用户登录注册注销,用户的个人信息,写博客)
    • 分类表(文章的分类,和创建者)
    • 文章表(文章具体信息)
    • 评论表(一篇文章的评论)
    • 友情链接表(友情链接信息)
    • 自定义表(系统信息,某个关键字,或者一些主题)
    • 说说表(发表心情)
  • 标识实体(把需求落实到每个字段)




    • 标识实体间的关系
      - 写文章 user–>article
      - 设置分类 user–>category
      - 粉丝 user–>user
      - 写评论 user–>user–>comment

MySQL 规范数据库设计相关推荐

  1. MySQL二十八规范数据库设计

    MySQL二十八:规范数据库设计 糟糕的数据库设计: ●数据冗余,浪费空间 ●数据库插入和删除都会麻烦.异常[ 屏蔽使用物理外键] ●程序的性能差 良好的数据库设计: ●节省内存空间 ●保证数据库的完 ...

  2. 第63天学习打卡(MySQL 测试索引 索引原则 数据管理和备份 规范数据库设计)

    7.2测试索引 CREATE TABLE `app_user` ( `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, `name` VARCHAR(5 ...

  3. MySQL:规范数据库设计

    文章目录 十.规范数据库设计 10.1 为什么需要设计 10.1.1 糟糕的数据库设计 10.1.2 良好的数据库设计 10.2 软件开发中,关于数据库的设计 10.3 设计数据库的步骤:(个人博客) ...

  4. 权限管理和备份;规范数据库设计

    8.权限管理和备份 8.1.用户管理 SQL yog:可视化管理 **SQL命令操作 ** 用户表:mysql.user 本质:对这张表进行增删改查 用户的权限管理 -- ============== ...

  5. 第九章——规范数据库设计

    第九章--规范数据库设计 9.1 为什么需要设计数据库? 糟糕的数据库 数据冗余,浪费空间 数据库的插入和删除都会麻烦.异常[屏蔽使用物理外键] 程序性能差 良好的数据库 节省内存空间 保证数据的完整 ...

  6. MySQL之数据库设计三范式

    目录 一.简介 第一范式 第二范式 第三范式 结语 学习计划: 一.简介   我们数据库表设计的时候需要尽可能的遵循三范式,具体是 第一范式(1NF): 强调的是列的原子性,即列不能够再分成其他几列, ...

  7. erwin教程 mysql_如何使用Erwin进行基于MySQL的数据库设计

    如何使用Erwin进行基于MySQL的数据库设计 文章作者:网友投稿 发布时间:2008-09-01 13:44:45 来源:网络 ERwin是常用的进行数据库设计的工具,支持众多的数据库,可惜不支持 ...

  8. mysql 企业数据库设计_MySQL数据库设计

    MYSQL数据库设计规范 1.数据库命名规范 采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成; 命名简洁明确(长度不能超过30个字符); 例如:user, stat ...

  9. 大数据JavaWeb之MySQL基础---数据库设计、备份与还原

    数据库的设计: 多表之间的关系: 分类: 一对一(了解): 如:人和身份证. 分析:一个人只有一个身份证,一个身份证只能对应一个人. 一对多(多对一): 如:部门和员工. 分析:一个部门有多个员工,一 ...

最新文章

  1. 修改所有列_宝塔面板安装完的一些列操作
  2. 液晶OCM12864,结构体,枚举,指针,规范化和模块化编程
  3. Python | 除法
  4. 第二百五十三节,Bootstrap项目实战-资讯
  5. SAP CDS view(Core Data Service)自学的一些材料和方法
  6. JSONObject 自定义过滤配置
  7. Android P(1)---Android P 上手:十年来的最大升级,你想知道的都在这里
  8. 【java笔记】线程(2):多线程的原理
  9. ubuntu10.04 MTK开发环境
  10. 【火灾检测】基于matlab图像特征火灾检测【含Matlab源码 897期】
  11. 点云数据集汇总整理(匠心之作,附官方下载地址)
  12. PlatformIO中arduino框架下stm32编程实现原理
  13. sqlite stmt
  14. 诗歌《船》 ---白桦 勉励自己
  15. 年薪百万阿里前端工程师分享——Web应用实例:音频可视化
  16. Audio in Windows Vista(转载)
  17. Day505506.图灵学院之面试题① -面经
  18. Oauth2.0 QQ微信微博实现第三方登陆
  19. Flowchart流程图和 Mermaid流程图的对比
  20. 弘辽科技:淘宝开店后就可以直播吗?淘宝直播技巧是什么?

热门文章

  1. AIX 操作系统安全配置指南
  2. 数学公式中的希腊字母读音
  3. 个人独资公司税收标准
  4. 用python实现一个自动保存复制图片的功能
  5. labelImg ZeroDivisionError: float division by zero解决办法
  6. 使用jdbc:nested exception is java.sql.SQLException: No value specified for parameter或bad SQL grammar
  7. 9、Go语言channel的操作
  8. 不联网安装 SQL server 2012 的问题
  9. 教妹学Java(十四):switch 语句详解
  10. 权威大赛|2022 CCF大数据与计算智能大赛火热报名中