标题为什么需要数据库设计

对于任何项目来说数据库的设计都尤为重要,如果数据库设计不当就会造成数据冗余,修改操作复杂,程序性能会受到影响,通过规范来设计数据库则可以消除不必要的数据冗余,获得合理的数据库设计,提高项目的性能。

标题那么什么是数据库设计呢?

数据库设计就是将数据库中的数据实体及这些数据实体之间的关系,进行规划和结构化的过程。

标题概要设计——E-R图

和机械行业需要机械制图、建筑行业需要施工图一样,数据库也需要图形化的表达方式——E-R(Entity-Relationship)图,也可称为实体-关系图。E-R图以图形的方式将数据库的整个逻辑结构表示出来。E-R图的组成包括以下部分:

  • 矩形表示实体集。
  • 椭圆形表示数据。
  • 菱形表示联系集。
  • 直线用来连接属性和实体集,也用来连接实体集和联系集。

在E-R图中直线是可以有方向的(在末端有一个箭头),用来表示联系集的映射基数,箭头的定位很简单,可以将其视为指向引用的实体。以酒店管理系统为例子:我们需要标识出系统中的主要实体、属性及联系。

  • 实体一般是名词,一个实体只描述一件事情,不能重复出现含义相同的实体,如张三是一个实体,他对应于客人表中的“张三”这一行数据,包括客人的姓名、入住时间、入住金额等信息,严格来讲,实体指表中一行特定数据,通常在开发的时候我们也常常把整个表称为一个实体

客房:如001、002客房。
客人:如张三、李四等。

  • 属性可以理解为实体的特征,属性对应表中的列

例如:客人的身份证号、入住日期、结账日期和交付的押金等。

  • 联系是两个或多个实体之间的关联关系

一般是实体与另一个实体之间的关系

以下图所示为客人和客房实体之间的联系。实体用矩形表示,一般是名词,属性用椭圆形表示,一般也是名词,联系用菱形表示,一般是动词。

数据库概要设计——绘制E-R图相关推荐

  1. 绘制E—R图(详细)

    ER图的实体(entity)即数据模型中的数据对象,例如人.学生.音乐都可以作为一个数据对象,用长方体来表示,每个实体都有自己的实体成员(entity member)或者说实体对象(entity in ...

  2. R包ComplexHeatmap绘制个性化热图

    使用ComplexHeatmap包绘制个性化热图 作者:刘梦瑶 诺禾致源 微生物信息 审稿:刘永鑫 中国科学院遗传与发育生物学研究所 ComplexHeatmap包由顾祖光博士创建,是一个非常全面的绘 ...

  3. R语言使用ggplot2包的快速可视化函数qplot绘制基础密度图实战

    R语言使用ggplot2包的快速可视化函数qplot绘制基础密度图实战 目录 R语言使用ggplot2包的快速可视化函数qplot绘制基础密度图实战 #仿真数据

  4. R语言使用ggplot2包使用geom_violin函数绘制分组小提琴图(配置显示均值、中位数)实战

    R语言使用ggplot2包使用geom_violin函数绘制分组小提琴图(配置显示均值.中位数)实战 目录

  5. R语言使用ggplot2包的快速可视化函数qplot绘制分组箱图(jitter、分组颜色配置)实战

    R语言使用ggplot2包的快速可视化函数qplot绘制分组箱图(jitter.分组颜色配置)实战 目录 R语言使用ggplot2包的快速可视化函数qplot绘制分组箱图(jitter.分组颜色配置) ...

  6. R语言使用ggplot2包使用geom_density()函数绘制分组密度图(自定义调色板、brewer、灰度比例)实战(density plot)

    R语言使用ggplot2包使用geom_density()函数绘制分组密度图(自定义调色板.brewer.灰度比例)实战(density plot) 目录 R语言使用ggplot2包使用geom_de ...

  7. R语言使用ggplot2包的快速可视化函数qplot绘制分组箱图实战

    R语言使用ggplot2包的快速可视化函数qplot绘制分组箱图实战 目录 R语言使用ggplot2包的快速可视化函数qplot绘制分组箱图实战 #仿真数据

  8. R语言使用ggplot2包使用geom_density()函数绘制分组密度图(线条色彩、添加均值线)实战(density plot)

    R语言使用ggplot2包使用geom_density()函数绘制分组密度图(线条色彩.添加均值线)实战(density plot) 目录 R语言使用ggplot2包使用geom_density()函 ...

  9. R语言使用ggplot2包使用geom_violin函数绘制分组小提琴图(构建自定义函数配置显示均值、标准偏差)实战

    R语言使用ggplot2包使用geom_violin函数绘制分组小提琴图(构建自定义函数配置显示均值.标准偏差)实战 目录

最新文章

  1. Orcale11g单机安装与卸载
  2. Java关键字final、static、this、super使用总结
  3. 核心编程9 文件和文件的输入输出 (os模块)
  4. 并查集杭电1272小希的迷宫
  5. 如何实现Java类隔离加载?
  6. oracle序列创建及使用,Oracle创建和使用序列
  7. java添加事件监听器_Java事件监听器的四种实现方式
  8. Confirm的用法!
  9. java 实现内存数据表_数据结构 Java中的内存
  10. 马尔可夫决策过程(MDP)
  11. Win7系统不能拖动文件夹的问题怎么解决?
  12. 前端注释那些事儿:看懂这篇,提高代码质量So easy
  13. VS配置OpenCV教程(超详细)
  14. 临时邮箱,20分钟,30分钟,60分钟
  15. 采用KubeSphere的kk,部署安装多节点服务的kubernetes-v1.18.6和kubesphere-v3.0.0的踩坑过程记录,及反思
  16. 图像 像素与分辨率的关系
  17. centos7 搭建三主三从 redis5.0集群
  18. css 裁剪背景图片,CSS裁剪背景图片的歪招
  19. 动物拼图代码html,制作动物拼图美术教案
  20. 计算机网络共享后如何设置不输出密码,取消电脑网络共享安全账号密码直接进入的设置方法...

热门文章

  1. esp8266接入Blinker小爱同学控制WS2812的RGB以及亮度调节
  2. 学习日记Day03:几种网络拓扑形态及其优缺点
  3. R16 Sidelink
  4. gt和htd什么区别_海尔冰柜HTD跟HDB什么区别?
  5. HTML+CSS+JS网页设计期末课程大作业——海贼王(8个页面)动漫网页设计
  6. 思路——耍赖获取token及抓包
  7. 硬件课程设计:基于STM32的多功能播放器之MP3音乐播放
  8. 客户机 服务器系统的特点是客户机和服务器,客户机 服务器数据库系统的特点...
  9. Git服务--码云-初识
  10. 【solr】 - SolrCloud