(1)数据库设计的优劣:

  • 糟糕的数据库设计:

    ①数据冗余冗余、存储空间浪费。

    ②数据更新和插入异常。

    ③程序性能差。

  • 良好的数据库设计

    ①节省数据的存储空间。

    ②能够保证数据的完整新。

    ③方便进行数据应用系统的开发。

(2)软件项目开发周期中的数据库设计:

一个完整的项目 开发需要经过:

1.需求分析:分析客户的业务和数据处理需求。

2.概要设计:设计数据库的E-R模型图,确认需求信息的正确和完整。

详细设计:应用三大范式审核数据库结构,将E-R模型图转换为数据库模型图。

代码编写:物理实现数据库,编码实现应用。

运行设计后打包发行。

数据库设计步骤:

  • 收集信息
  • 标识实体(Entity)
  • 标识每个实体的属性(Attribute)
  • 标识实体之间的关系(Relationship)

(3)E-R图(Entity Relationship Diagram)

E-R图:相当于数据库图纸,用于和项目其他成员和客户之间沟通,讨论数据库的设计是否能满足客户的需求。

概念:



除了这三个还有直线,表示联系集的映射基数:

酒店管理系统的数据库(E-R图):



实体-关系图包含:实体、属性、联系。

(4)数据库模型图

E-R图转换为关系模式的步骤:

  • 1.把每个实体都转化为关系模式R(U)形式
  • 2.建立实体间联系的转换(1-1,1-n,n-n)

酒店管理系统数据库的关系模式:



该系统中实体间联系是1-n(建立联系是把联系数量为1的实体的主键放在联系数量为n的实体关系模式中。):



绘制数据库模型图的步骤:

  • 新建数据库模型图
  • 添加实体
  • 添加数据列及相应的属性
  • 添加实体之间的映射关系

原文地址:https://blog.csdn.net/weixin_43691058/article/details/93783658

数据库设计规范、E-R图、模型图的更多相关文章

  1. 如何将Sql server数据库中的模型图转化到Word中--并能够查看字段的属性信息

    1. 在Sql server数据库中创建数据库的模型图 -- Database Diagrams 2. 控制面板--管理工具--ODBC数据源链接--创建一个Sql server的数据源链接 3. 打 ...

  2. 机器学习&数据挖掘笔记_21(PGM练习五:图模型的近似推理)

    前言: 这次练习完成的是图模型的近似推理,参考的内容是coursera课程:Probabilistic Graphical Models . 上次实验PGM练习四:图模型的精确推理 中介绍的是图模型的 ...

  3. JanusGraph : 图和图数据库的简介

    JanusGraph:图数据库系统简介 图(graph)是<数据结构>课中第一次接触到的一个概念,它是一种用来描述现实世界中个体和个体之间网络关系的数据结构. 为了在计算机中存储图,< ...

  4. UML的九种模型图

    本文转自UML 的九种模型图,仅供学习交流! 一.作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分. UML语义:描述基于UML的精确元模型定义. UML表示法:定义UML符号的表示 ...

  5. Neo4j属性图模型简单介绍

    本文主要是对Neo4j属性图模型简单的介绍. Neo4j是什么? Neo4j是一款是由java语言实现的图数据库,图形数据库将数据以图的数据结构进行存储和管理,并且能够以高度可问的方式优雅地表示任何种 ...

  6. UML动态模型图简单介绍

    UML动态模型图描述了系统动态行为的各个方面,包括用例图.序列图.协作图.活动图和状态图.下面就每种图做一个简单介绍: 用例图 用例图描述系统外部的执行者与系统提供的用例之间的某种联系.所谓用例是指对 ...

  7. 机器学习&数据挖掘笔记_20(PGM练习四:图模型的精确推理)

    前言: 这次实验完成的是图模型的精确推理.exact inference分为2种,求边缘概率和求MAP,分别对应sum-product和max-sum算法.这次实验涉及到的知识点很多,不仅需要熟悉图模 ...

  8. NLP —— 图模型(三)pLSA(Probabilistic latent semantic analysis,概率隐性语义分析)模型

    LSA(Latent semantic analysis,隐性语义分析).pLSA(Probabilistic latent semantic analysis,概率隐性语义分析)和 LDA(Late ...

  9. NLP —— 图模型(二)条件随机场(Conditional random field,CRF)

    本文简单整理了以下内容: (一)马尔可夫随机场(Markov random field,无向图模型)简单回顾 (二)条件随机场(Conditional random field,CRF) 这篇写的非常 ...

随机推荐

  1. FreeMarker学习(springmvc配置)

    springMvc配置 <bean id="freemarkerConfig" class="org.springframework.web.servlet.vie ...

  2. electron之环境安装、启动程序

    1.安装node.js 2.安装淘宝镜像 npm install -g cnpm --registry=https://registry.npm.taobao.org 3.安装全局electron n ...

  3. Python 自学笔记(一)

    1.打印函数 1-1.print()函数 1-1-1.引号的用法 一.单引号与双引号:直接输出 二.三引号:保留原来的格式 1-2.转义字符 转义字符是一种特殊的字符常量,在编程语言中,我们用转义字符 ...

  4. Flutter移动电商实战 --(33)列表页_子类和商品列表交互效果

    主要实现点击小类下面的列表跟着切换 获取右侧下面的列表信息,即要传递大类的id也要传递小类的,所以需要把左侧的大类的id也要Provide化 可以看下网站上的接口说明: https://jspang. ...

  5. github上有对应官方的各种模型

    https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/detection_model_zoo ...

  6. java+上传大文件

    在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 先说下要求: PC端全平台支持,要求支持Windows,Mac,Linux 支持所 ...

  7. Linux使用mount挂载Windows共享文件夹

    https://blog.csdn.net/tojohnonly/article/details/71374984 https://github.com/tojohnonly 现实中会有这样的场景 , ...

  8. qwt

    一. 1.下载地址https://sourceforge.net/projects/qwt/ 2.注意:官方提供qt安装包creator都是用MSVC编译(包括mingW版)的,所以Creator的插 ...

  9. 微信小程序如何修改本地缓存key中的单个数据

    假如用户注册后,获得用户手机号和userid,realName默认为0,然后进入B页面进行实名认证,认证成功后realName变为1,再更新缓存里的用户信息. A页面用户注册后,存储用户信息: var ...

  10. Spark + sbt + IDEA + HelloWorld + MacOS

    构建项目步骤 首先要安装好scala.sbt.spark,并且要知道对应的版本 sbt版本可以在sbt命令行中使用sbtVersion查看 spark-shell可以知晓机器上spark以及对应的sc ...