数据库概念设计与逻辑设计[通俗易懂]

数据库概念设计与逻辑设计[通俗易懂]一、概念设计概念设计的目的就是为了建立概念数据模型,概念数据模型也称为高级数据模型,之所以称为高级数据模型是因为它更接近于人的思维,而不是机器的思维,相比于关系模型更容易理解,此处的高级和低级的概念,与程序语言领域的高低级是一样的。我们通常称Java语言为高级语言,汇编语言为低级语言,是因为高级语言对于我们而言要比汇编语言更容易理解。关于概念数据模型,我们一般都会采用E-R图进行描述。E-R图的规则如下:1.实体采用矩形框,联系采用菱形框,属性采用椭圆形框。2.实体、联系、属性必须使用文字描

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

一、概念设计

概念设计的目的就是为了建立概念数据模型,概念数据模型也称为高级数据模型,之所以称为高级数据模型是因为它更接近于人的思维,而不是机器的思维,相比于关系模型更容易理解,此处的高级和低级的概念,与程序语言领域的高低级是一样的。我们通常称Java语言为高级语言,汇编语言为低级语言,是因为高级语言对于我们而言要比汇编语言更容易理解。

关于概念数据模型,我们一般都会采用E-R图进行描述。E-R图的规则如下:

1.实体采用矩形框,联系采用菱形框,属性采用椭圆形框。

2.实体、联系、属性必须使用文字描述,文字写在框内,实体和属性使用名词,联系使用动词或者动宾短语,例如:发送消息。

3.实体的主键属性的文字描述需要加下划线。

4.实体联系的数量关系需要标在实体与联系之间的线段上。

4.键约束。唯一标识实体大家都知道是用主键,那么如何唯一表示联系呢?答案是用键约束,键约束是如何确认的呢?它分为3种情况:

(1)联系为1:1时,键约束存在双方。

(2)联系为1:n时,键约束存在于n方。

(3)联系为m:n时,不存在键约束。

键约束在E-R图中的表示方法如下:

数据库概念设计与逻辑设计[通俗易懂]

存在键约束的一方需要画一个箭头指向联系

二、逻辑设计

1.所有实体都需要单独转化成表。

2.联系需要分情况讨论(在此我们仅讨论二元联系):

(1)联系上有属性。

无论联系的数量关系是什么,都需要转化成一张表,同时联系所关联的实体的主键都需要移入这张联系表。至于这张表的主键确定需要分三种情况:

A.  联系的数量关系为1:1时,两个实体主键任选一方作为联系表的主键。

B. 联系的数量关系为1:n时,n方实体动得主键作为联系表的主键。

C. 联系的数量关系为m:n时,两个实体主键共同作为联系表的主键。

(2)联系上无属性。

A.  联系的数量关系为1:1时,联系无需转化成表,任选一方主键移到另一方表中做外键。

B. 联系的数量关系为1:n时,联系无需转化成表,把1方主键移入到n方做外键。

C. 联系的数量关系为m:n时,联系需要转化成表,m和n方主键共同作为联系表的主键。

通过上述方法进行逻辑设计,从E-R图转化而成的关系模型,可以至少达到3NF范式。

tag:更为复杂的数据库概念设计与逻辑设计案例详见,https://blog.csdn.net/weixin_45138601/article/details/116738450?spm=1001.2014.3001.5502

https://blog.csdn.net/weixin_45138601/article/details/118293849?spm=1001.2014.3001.5501

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

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

(0)
上一篇 2022年10月9日 下午2:36
下一篇 2022年10月9日 下午2:46


相关推荐

  • 线序568A 568B_232串口转网线线序

    线序568A 568B_232串口转网线线序线序留作备份,方便查找

    2025年12月12日
    5
  • 马斯克的Grok 3的入口在哪里?

    马斯克的Grok 3的入口在哪里?

    2026年3月14日
    2
  • mybatis的一级缓存和二级缓存

    mybatis的一级缓存和二级缓存一 什么是缓存缓存是存在于内存中的临时数据 使用缓存减少和数据库的交互次数 提高执行效率 1 适用于缓存经常查询并且不经常改变的 数据的正确与否对最终结果影响不大的 2 不适用于缓存经常改变的数据 数据的正确与否对最终结果影响很大的 例如 商品的库存 银行的汇率 股市的牌价 二 mybatis 一级缓存 1 一级缓存简介一级缓存作用域是 sqlsession 级别的 同一个 sqlsession 中执行相同的 sql 查询 相同的 sql 和参数 第一次会去查询数据库并写到缓存中 第

    2026年3月17日
    2
  • vlan trunk对应的协议是_清楚怎么解释

    vlan trunk对应的协议是_清楚怎么解释什么是vlanvlan(VirtualLAN),翻译成中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——也就是广播域。在此之前让我们先复习一下广播域的概念。广播域,指的是广播帧(目标MAC地址全部为1)所能传递到的范围,亦即能够直接通信的范围。严格地说,并不仅仅是广播帧,多播帧(MulticastFrame)和目标不明的单播帧(UnknownUnicastFrame)也能在同一个广播域中畅行无

    2022年8月10日
    9
  • 花生壳安全吗_花生壳ddns怎么一直连接不上

    花生壳安全吗_花生壳ddns怎么一直连接不上dyndns和花生壳组织文化中最强大的方面以最小的个体姿态来实现,有时甚至不及花生。不久前,当我坐在达拉斯机场等待航班延误时,我看到另一个乘客在吃一些花生时感到不安。它们的贝壳掉落在地板上,几分钟后,乘客将它们踢入过道,大概是供机场清洁人员稍后收集。直到最近的一次内部RedHat活动中,有人问我有关我的宠物怒气冲冲,我才对花生壳没多加考虑。我开始考虑在RedHat浴室的地板…

    2025年6月11日
    4
  • 使用IDEA搭建一个简单的SpringBoot项目——详细过程

    使用IDEA搭建一个简单的SpringBoot项目——详细过程一、创建项目1.File->new->project;2.选择“SpringInitializr”,点击next;(jdk1.8默认即可)3.完善项目信息,组名可不做修改,项目名可做修改;最终建的项目名为:test,src->main->java下包名会是:com->example->test;点击next;4.Web下勾选Spri…

    2022年6月13日
    189

发表回复

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

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