数据库建模

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情况下,消除表中的传递依赖。第三范式是为了消除数据库中字段之间的依赖关系。

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • winformlistview用法_listview控件的用法

    winformlistview用法_listview控件的用法Winform中的ListView排序是一种常用的功能,下面是例子代码,放上来留个备份using System;using System.Windows.Forms;using System.Drawing;using System.Collections;namespace ListViewSortFormNamespace…{     public class ListViewSo

  • 如何盗微信号 除了验证码_微信2个好友验证码破解

    如何盗微信号 除了验证码_微信2个好友验证码破解光凭验证码就可以盗号!微信盗号新手段揭秘91.com移动互联网第一平台时间:2014-06-30[网站合作]快速评论分享到QQ好友新浪微博91娱乐目前有一种新型盗号方式即骗取用户手机验证码来盗取用户微信QQ等帐号,从而进一步盗取其中的微信银行账户、密码以及账单明细,所以平时疏忽大意的童鞋一定要小心谨慎噢。话说有一天,小编的微信忽然就收到了朋

  • spring官网下载[通俗易懂]

    spring官网下载[通俗易懂]1、第一步:打开官网:http://projects.spring.io/2、第二步:点击“SPRINGFRAMEWORK”图片3、第三步:点击“小猫”图标4、第四步:拉到页面中部的位置,找到

  • 安卓手机怎么用java模拟器

    安卓手机怎么用java模拟器前言不知道你们发现没有,在很多互联网公司基本上都是80后,90后居多,很少还有超过40岁的程序员。可能很多人心里都有一个疑问,那就是这些40多岁的程序员都干嘛去了呢?创业显然只是极少数的人,至于管理岗,一个公司也不过几个人而已,更多的人显然已经不再从事这个行业了,难道真的只能提前退休了吗?目录由于文档内容过多,共计有500页,因此为了避免影响到大家的阅读体验,在此只以截图展示部分内容,详细完整版的可以在文末获取!部分内容展示深入浅出索引(上)索引的常见模型InnoDB的索引模型

  • 矩阵求逆c++实现[通俗易懂]

    矩阵求逆c++实现[通俗易懂]矩阵求逆c++实现

  • IDEA惊天bug:进程已结束,退出代码-1073741819 (0xC0000005)[通俗易懂]

    IDEA惊天bug:进程已结束,退出代码-1073741819 (0xC0000005)[通俗易懂]由于昨天要写的文章没有写完,于是今天早上我四点半就“自然醒”了,心里面有事,睡觉也不安稳。洗漱完毕后,我打开电脑,正襟危坐,摆出一副要干架的态势,不能再拖了。要写的文章中涉及到一串代码,关于Undertow的一个入门示例,贴出来大家看一下。publicclassUndertowTest{publicstaticvoidmain(finalString[]args)…

发表回复

您的电子邮箱地址不会被公开。

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