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

9.1 为什么需要设计数据库?

糟糕的数据库

  • 数据冗余,浪费空间
  • 数据库的插入和删除都会麻烦、异常【屏蔽使用物理外键】
    • 程序性能差

良好的数据库

  • 节省内存空间
  • 保证数据的完整性
  • 方便我们开发

数据开发中你那个,关于数据库的设计需要:

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

设计数据库的步骤(以个人博客为例):

  • 收集信息,分析需求

    • 用户表(用户登录注销、用户个人信息、写博客、创建分类)
    • 分类表(文章分类,是由谁创建的)
    • 文章表(文章的信息)
    • 评论表
    • 友情链接表(友链信息)
    • 自定义表(系统信息,某个关键的字,或者一些主题)
    • 说说表(发表心情)
  • 标识实体(把需求落地到每个字段)
  • 标识实体之间的关系
    • 写博客:user--->blog
    • 创建分类:user--->category
    • 关注:user--->user
    • 友链:links
    • 评论:user--->user--->blog

9.2 三大范式

为什么需要数据规范化?

  • 信息重复
  • 更新异常
  • 插入异常
    • 无法正常显示信息
  • 删除异常
    • 丢失有效信息

三大范式

第一范式(1NF)

要求数据库的表的每一列都是不可分割的原子数据项

原子性:保证每一列不可再分

 第二范式(2NF)

前提是满足第一范式,非主属性必须完全依赖于候选码(在1NF的基础上消除非主属性对主码的部分函数依赖)

每张表只描述一件事情

 第三范式(3NF)

前提是满足第一范式和第二范式,任何非主属性不依赖于其他主属性(在2NF的基础上消除传递依赖),第三范式需要确保数据表中的每一列数据都和主键直接相关,而不能间接相关。

第三范式需要确保表中的每一列数据都与主键直接相关,而不能间接相关。

参考链接:三大范式 - 云梦曦 - 博客园

第九章——规范数据库设计相关推荐

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

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

  2. MySQL:规范数据库设计

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

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

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

  4. MySQL数据库 第4章:数据库设计

    MySQL数据库 第4章:数据库设计 4.1 数据库设计概述 4.2 数据库设计范式 4.3 数据建模工具 4.4 数据库设计-电子商务网站 4.4.1 需求分析 4.4.2 准备工作 4.4.3 商 ...

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

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

  6. iHRM 人力资源管理系统_第2章、数据库设计与前端框架

    文章目录 第2章.数据库设计与前端框架 1.多租户SaaS平台的数据库方案 <1>.多租户概述 <2>.需求分析 <3>.多租户的数据库方案分析 (1).独立数据库 ...

  7. 关系型数据库第五章笔记---数据库设计

    文章目录 数据库设计概述 数据库设计 数据库设计的特点 1. 数据库建设的基本规律 2. 结构(数据)设计和行为(处理)设计相结合 数据库设计方法 数据库设计的基本步骤 需求分析 需求分析的任务(续) ...

  8. 【数据库原理及应用】经典题库附答案(14章全)——第九章:数据库安全性

    [数据库原理及应用]经典题库附答案(14章全)--第一章:数据库基础知识 [数据库原理及应用]经典题库附答案(14章全)--第二章:关系数据库知识 [数据库原理及应用]经典题库附答案(14章全)--第 ...

  9. 09——规范数据库设计

    当数据库比较复杂的时候,我们就需要详细的设计数据库 9.1 规范设计数据库的原因 糟糕的数据库设计: 数据冗余,浪费空间 数据库插入和删除都会麻烦,异常[屏蔽使用物理外键] 程序的性能差 良好的数据库 ...

最新文章

  1. byte数组添加数据_数据类型
  2. cheatengine找不到数值_找商网:百度爱采购与其他B2B平台有何不同,为何能够后来居上?...
  3. python多久更新一次_Python Tkinter,每秒钟更新一次
  4. [CF1066C]Books Queries
  5. Scala入门到精通——第二十四节 高级类型 (三)
  6. ARM产品系列对应架构图
  7. Struts1.2 Hibernate Spring框架组合(二)
  8. DXUT框架剖析(3)
  9. [面试] C/C++ 语法(六)—— RTTI(运行时类型信息)
  10. 前端实践(4)——表单验证(密码重复输入检查)
  11. 比较好用的mysql可视化工具-----pycharm连接mysql图文教程
  12. python爬虫淘宝评论图片_简单的抓取淘宝图片的Python爬虫
  13. HTML5期末大作业:我的家乡网站设计——我的家乡-绿城之都-南宁(9页) HTML+CSS+JavaScript 大学生简单个人静态HTML网页设计作品
  14. 浅谈测试工程师必备软技能:沟通表达篇
  15. 【Pyecharts50例】GEO使用外国地图/使用美国地图
  16. MFC窗体的扩展样式和其值
  17. 【系统测试报告】苏科大App系统测试报告
  18. Smartforms 总计小计
  19. iOS开发证书/发布证书不受信任
  20. 分发服务器性能,高性能P2P流媒体内容分发服务器的设计与实现

热门文章

  1. scdl matlab,5自由度移动机器人的建模与仿真-硕士论文
  2. 五路循迹传感器的优点_对于安装五路循迹传感器的机器人来说,如果五个传感器都遇到黑线,说明机器人的状态是()。...
  3. 【网络空间安全数学基础第8章】环和域
  4. 3D 打印没那么玄乎
  5. 公众号创建菜单报错40001及菜单出现在先前公众号上的问题
  6. 深入浅出Zookeeper集群搭建
  7. python进行谱曲_使用LSTM-GAN为歌词谱曲
  8. iOS城市选择器-包含搜索功能
  9. ps 图片文字改黑白
  10. 查询Microsoft Visual C++ Debug Library窗体并自动点击忽略按钮的小工具代码