(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. oracle清除归档

    清除Oracle归档日志命令echo -e 'delete noprompt archivelog ALL COMPLETED BEFORE '\'SYSDATE-${DELETE_ARCHIVELO ...

  2. 【java中的static关键字】

    文章转自:https://www.cnblogs.com/dolphin0520/p/3799052.html 一.static关键字的用途 在<Java编程思想>P86页有这样一段话: ...

  3. kafka学习汇总系列(一)kafka概述

    一.kafka概述 在流式计算中,kafka是用来缓存数据的,storm通过消费kafka的数据进行计算.kafka的初心是,为处理实时数据提供一个统一.高通量.低等待的平台: 1.kafka是一个分 ...

  4. 外部连接mysql docker容器异常

    为了方便,使用python测试连接mysql容器 脚本内容非常简单 #!/usr/bin/python3 import pymysql conn=pymysql.connect(host=,passw ...

  5. css3实现jQuery的slideUp和slideDown效果

    最近打算做一些交互优化方面的轮子.虽然轮子别人都弄过,但是自己没弄过.重复造轮子对知识理解还是有好处的.本次轮子如题目.直接代码. <!DOCTYPE html> <html lan ...

  6. SQL-W3School-高级:SQL VIEW(视图)

    ylbtech-SQL-W3School-高级:SQL VIEW(视图) 1.返回顶部 1. 视图是可视化的表. 本章讲解如何创建.更新和删除视图. SQL CREATE VIEW 语句 什么是视图? ...

  7. 安卓 通过intent调用系统文件管理器打开指定路径目录

    安卓 通过intent调用系统文件管理器打开指定路径目录     转  https://blog.csdn.net/qq_34161388/article/details/78586247 当我们知道 ...

  8. Android:cmake开发指南

    一.静态库与动态库构建 (.so)共享库,shared object:节省空间,在运行时去连接,如果执行机器上没有这些库文件就不能执行. (.a)静态库,archive:静态库和程序化为一体,不会分开 ...

  9. Swift 字符(Character)

    Swift 的字符是一个单一的字符字符串字面量,数据类型为 Character. import Cocoa let char1: Character = "A" let char2 ...

  10. Swift 条件语句

    条件语句通过设定的一个或多个条件来执行程序,在条件为真时执行指定的语句,在条件为 false 时执行另外指定的语句. 可以通过下图来简单了解条件语句的执行过程: Swift 提供了以下几种类型的条件语 ...