数据库建模

1)定义:在设计数据库时,对现实世界进行分析、抽象、并从中找出内在联系,进而确定数据库的结构,这一过程就称为数据库建模。2)作用:1.模型能准确表达设计意图,更易于进行技术交流。2.模型可以用来高效地生产代码、脚本、技术文档,可以做到“一处改动,多处同步”的效果。3.模型驱动的开发能使开发过程保持一致性,提高开发人员的效率,而且能保持我们的设计模型能被准确的实现而不产生歪曲。

大家好,又见面了,我是你们的朋友全栈君。

1)定义:在设计数据库时,对现实世界进行分析、抽象、并从中找出内在联系,进而确定数据库的结构,这一过程就称为数据库建模。

2)作用:

1. 模型能准确表达设计意图,更易于进行技术交流。

2. 模型可以用来高效地生产代码、脚本、技术文档,可以做到“一处改动,多处同步”的效果。

3.模型驱动的开发能使开发过程保持一致性,提高开发人员的效率,而且能保持我们的设计模型能被准确的实现而不产生歪曲。

4.模型驱动的开发更能快速地应对需求的变动。

3)数据库建模步骤:

1.需求分析阶段

2.概念结构设计阶段:CMD

       概念结构设计是整个数据库设计的关键。通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。
       概念结构设计是对现实生活的模拟,不用考虑外键等,只是站在应用架构师的角度,抽象实体Entity和实体之间的关系Relation。

3.逻辑数据模型:LDM

       需要考虑数据的存储结构,是关系的还是面向对象的。对数据进行符合数据库设计范式的规范,但不关心物理数据库。

4.物理数据模型

        需要考虑实际具体数据库对应的功能以及在必要时,需要规范化的设计(针对对应的数据库)如创建视图 索引等。

       概念模型是把现实世界中实体和关系抽象到计算机世界,逻辑模型就是一种跟具体数据库无关的数据库模型,而物理模型是对某一款确定的数据库进行设计的数据库模型。

所以在数据库开发当中,先进行概念建模,然后进行逻辑建模,再而才进行物理模型的建模。

3)设计范式:design paradigm (逻辑模型)

1.1NF(第一范式 )

      是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,强调的是列的原子性,即列不能够再分成其他几列。

2. 2NF(第二范式) 

     首先是 1NF,另外包含两部分内容,一是表必须有一个主键;二是没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。

3. 3NF(第三范式) 

       必须先满足第二范式(2NF)。在满足2NF情况下,消除表中的传递依赖。第三范式是为了消除数据库中字段之间的依赖关系。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126586.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • UVA 11551 – Experienced Endeavour(矩阵高速幂)[通俗易懂]

    UVA 11551 – Experienced Endeavour(矩阵高速幂)

    2022年2月2日
    42
  • zabbix监控端界面时间与服务器时间不对应

    zabbix监控端界面时间与服务器时间不对应

    2021年6月3日
    97
  • idea在mac版怎么配置svn_idea配置svn的步骤

    idea在mac版怎么配置svn_idea配置svn的步骤之前一直使用的是eclipse和myEclipse,然后最近使用了idea最为开发工具。说实话,本人偏向于使用idea,但是因为长时间使用eclipse的原因,使用idea确实需要一个过程去适应,尤其是快捷键。今天先简述一下idea配置管理工具svn的过程。1.需要再本地安装一个svn插件,有很多人选择用小乌龟,而本人因为某些原因不是很喜欢小乌龟,所以选择了另外一个,叫做silkSvn。所以要先去…

    2022年5月15日
    160
  • 数据库分区分表和提升性能「建议收藏」

    数据库分区分表和提升性能「建议收藏」http://my.oschina.NET/tinyframework/blog/186583序言一直在做企业应用,目前要做一些互联网应用,当然只是应用是放在互联网的,数据量距离真正的互联网应用还是有相当大的差距的。但是不可避免的,在数据库出现瓶颈的情况还是有的,现在做互联网上的应用,当然也要未雨绸缪,要考虑数据量大的时候的解决方案。这个目前开源的商用的也都有不少解

    2022年5月18日
    48
  • 3个国内最大的黑客学习网站

    3个国内最大的黑客学习网站1、i春秋国内比较好的安全知识在线学习平台,把复杂的操作系统、工具和网络环境完整的在网页进行重现,为学习者提供完全贴近实际环境的实验平台,地址:https://www.ichunqiu.com/main2、XCTF_OJ练习平台XCTF-OJ(XCaptureTheFlagOnlineJudge)是由XCTF组委会组织开发并面向XCTF联赛参…

    2022年7月15日
    39
  • c# mysql executenonquery_C#与数据库访问技术总结(八)之ExecuteNonQuery方法

    c# mysql executenonquery_C#与数据库访问技术总结(八)之ExecuteNonQuery方法ExecuteNonQuery方法ExecuteNonQuery方法主要用来更新数据。通常使用它来执行Update、Insert和Delete语句。该方法返回值意义如下:对于Update、Insert和Delete语句,返回值为该命令所影响的行数。对于所有其他类型的语句,返回值为-1。Command对象通过ExecuteNonQuery方法更新数据库的过程非常简单,需要进行的步骤如下:(1)创建数…

    2025年10月28日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号