数据库概念结构设计_数据库概念结构设计怎么写

数据库概念结构设计_数据库概念结构设计怎么写一、概念模型在需求分析阶段所得到的应用需求应该首先抽象为信息世界的结构,然后才能更改、更准确地用某一数据库管理系统实现这些需求。概念模型的主要特点:1.能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求,是现实世界的一个真是模型。2.易于理解,可以用它和不熟悉计算机的用户交换意见。用户的积极参与是数据库设计成功的关键。3.易于更改,当应用环境和应用要求改变时容易对概念模型修改和扩充。4.易于向关系、网状、层次等各种数据模型转换…

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

Jetbrains全系列IDE稳定放心使用

目录

一、概念模型

二、E-R模型

1、E-R图简介

2、E-R图成分

3、一般性约束

4、弱实体

三、概念结构设计

1. 实体与属性的划分原则

2. E-R图的集成


一、概念模型

       在需求分析阶段所得到的应用需求应该首先抽象为信息世界的结构,然后才能更改、更准确地用某一数据库管理系统实现这些需求。
       概念模型的主要特点:
1. 能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求,是现实世界的一个真是模型。
2. 易于理解,可以用它和不熟悉计算机的用户交换意见。用户的积极参与是数据库设计成功的关键。
3. 易于更改,当应用环境和应用要求改变时容易对概念模型修改和扩充。
4. 易于向关系、网状、层次等各种数据模型转换。
      概念模型是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。描述概念模型的有力工具是E-R模型。

二、E-R模型

1、E-R图简介

      E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界概念模型

      它是描述现实世界关系概念模型的有效方法。是表示概念关系模型的一种方式。用“矩形框”表示实体型,矩形框内写明实体名称;用“椭圆图框”或圆角矩形表示实体的属性,并用“实心线段”将其与相应关系的“实体型”连接起来;

      用”菱形框“表示实体型之间的联系成因,在菱形框内写明联系名,并用”实心线段“分别与有关实体型连接起来,同时在”实心线段“旁标上联系的类型(1:1,1:n或m:n)。

2、E-R图成分

      在ER图中有四个成分,矩形框,菱形框,椭圆形框和连线。

(1)矩形框

     矩形框表示实体,在框中记入实体名。

(2)菱形框

菱形框表示联系,在框中记入联系名。

(3)椭圆形框

      椭圆形框表示实体或联系的属性,将属性名记入框中。对于主属性名,则在其名称下划一下划线。

(4)连线

      实体与属性之间;实体与联系之间;联系与属性之间用直线相连,并在直线上标注联系的类型。(对于一对一联系,要在两个实体连线方向各写1; 对于一对多联系,要在一的一方写1,多的一方写N;对于多对多关系,则要在两个实体连线方向各写N,M。) 

3、一般性约束

      实体-联系数据模型中的联系型,存在3种一般性约束:一对一约束(联系)、一对多约束(联系)和多对多约束(联系),它们用来描述实体集之间的数量约束。

(1)一对一联系(1 ∶1)

      对于两个实体集A和B,若A中的每一个值在B中至多有一个实体值与之对应,反之亦然,则称实体集A和B具有一对一的联系。一个学校只有一个正校长,而一个校长只在一个学校中任职,则学校与校长之间具有一对一联系。

(2)一对多联系(1 ∶N)

      对于两个实体集A和B,若A中的每一个值在B中有多个实体值与之对应,反之B中每一个实体值在A中至多有一个实体值与之对应,则称实体集A和B具有一对多的联系。

       例如,某校教师与课程之间存在一对多的联系“教”,即每位教师可以教多门课程,但是每门课程只能由一位教师来教。一个专业中有若干名学生,而每个学生只在一个专业中学习,则专业与学生之间具有一对多联系

(3) 多对多联系(M ∶N)

       对于两个实体集A和B,若A中每一个实体值在B中有多个实体值与之对应,反之亦然,则称实体集A与实体集B具有多对多联系

      例如,表示学生与课程间的联系“选修 ”是多对多的,即一个学生可以学多门课程,而每门课程可以有多个学生来学。联系也可能有属性。例如,学生“ 选修” 某门课程所取得的成绩,既不是学生的属性也不是课程的属性。由于“ 成绩” 既依赖于某名特定的学生又依赖于某门特定的课程,所以它是学生与课程之间的联系“ 选修”的属性。

4、弱实体

     弱实体(weak entity)是一种数据库系统术语。其定义为一个实体对于另一个实体(一般为强实体,也可以是依赖于其他强实体的弱实体)具有很强的依赖联系,而且该实体主键的一部分或全部从其强实体(或者对应的弱实体依赖的强实体)中获得,则称该实体为弱实体。

     在现实世界中,有些实体对一另一些实体有很强的依赖关系,即一个实体的存在必须以另一实体的存在为前提。前者就称为”弱实体”,如在人事管理系统中,职工子女的信息就是以职工的存在为前提的,子女实体是弱实体,子女与职工的联系是一种依赖联系。在ER图中用双线框表示弱实体。用箭头表示依赖联系。又如,学生家长是一种弱实体,因为只有学生实体存在,家长实体才会存在。用箭头表示依赖联系。

数据库概念结构设计_数据库概念结构设计怎么写

三、概念结构设计

     概念结构设计的第一步就是对需求分析阶段收集到的数据进行分类、组织,确定实体、实体的属性、实体之间的联系类型,形成E-R图。

1. 实体与属性的划分原则

事实上,在现实世界中具有的应用环境常常对实体和属性已经作了自然的大体划分。
为了简化E-R图的处置,现实世界的事物能作为属性的对待的尽量作为属性对待,不过要满足:
1. 作为属性,不能再具有需要描述的性质,即属性必须是不可分的数据项,不能包含其他属性。
2. 属性不能与其他实体具有联系,即E-R图中所表示的联系是实体之间的联系。

2. E-R图的集成

E-R图的集成步骤图示:

1. 合并
解决各分E-R图之间的冲突,将分E-R图合并起来生成初步E-R图。
合理消除各E-R图中的冲突是合并E-R图的主要工作与关键所在。各子系统的E-R图之间的冲突主要有三类:
1)属性冲突:属性域冲突,即属性值的类型、取值范围或取值集合不同;属性取值单位冲突。
2)命名冲突:同名异义,即不同意义的对象在不同的局部应用中具有相同的名字;异义同名(一义多名),即同一意义的对象再不同的局部应用中具有不同的名字。
3)结构冲突:同一对象在不同应用中具有不同的抽象;同一实体在不同子系统的E-R图中所包含的属性个数和属性排列次序不完全相同;实体间的联系在不听的E-R图中为不同的类型。
2. 修改和重构
消除不必要的冗余,生成基本E-R图。所谓冗余的数据是指可由基本数据导出的数据,冗余的联系是指可由其他联系导出的联系。冗余数据和冗余联系容易破坏数据库的完整性,给数据库维护增加困难,应当予以消除。
分析方法消除冗余,即以数据字典和数据流图为依据,根据数据字典中关于数据项之间逻辑关系的说明来消冗余。

规范化理论消除冗余,具体方法可以分为
1)确定分E-R图实体之间的数据依赖。实体之间一对一、一对多、多对多的联系可以用实体码之间的函数依赖来表示。
2)求Fl的最小覆盖Gl,差集为D=Fl-Gl。
备注:并不是所有的冗余数据与冗余联系都必须加于消除,有时候为了提高效率不得不以冗余信息作为代价。
 

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

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

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

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

(0)


相关推荐

  • could not lock config file_dpkg frontend lock

    could not lock config file_dpkg frontend lockUbuntu安装软件报错问题错误信息E:Couldnotgetlock/var/lib/dpkg/lock-frontend-open(11:Resourcetemporarlyunavailable)解决办法:sudorm/var/lib/dpkg/lock-frontendsudorm/var/lib/dpkg/lock

  • 语音合成学习(一)综述

    语音合成学习(一)综述一、资料推荐爱丁堡大学课程(全英文,有能力的推荐学习一遍):https://speech.zone/courses/speech-synthesis/TensorflowTTS(比较系统的开源项目):https://github.com/TensorSpeech/TensorFlowTTS二、基础概念介绍1、时域:波形的振幅、频率;2、频域:傅里叶变换:每个复杂的波形都可以由不同频率的正弦波组成;语谱(spectrum):描述了信号包含的频率成分和它们的幅度;语谱图(spectrogram

  • 三极管的导通条件总结[通俗易懂]

    三极管的导通条件总结[通俗易懂]对三极管放大作用的理解,切记一点:能量不会无缘无故的产生,所以,三极管一定不会产生能量。但三极管厉害的地方在于:它可以通过小电流去控制大电流。放大的原理就在于:通过小的交流输入,控制大的静态直流。假设三极管是个大坝,这个大坝奇怪的地方是,有两个阀门,一个大阀门,一个小阀门。小阀门可以用人力打开,大阀门很重,人力是打不开的,只能通过小阀门的水力打开。所以,平常的工作流程便是,每当放水

  • C#获取机器信息(IPV4.IPV6.MAC.硬盘信息,机器厂商/型号)「建议收藏」

    C#获取机器信息(IPV4.IPV6.MAC.硬盘信息,机器厂商/型号)「建议收藏」把翻到的很多以前写的程序做个记录,记录学习过程,同时也方便以后查阅https://github.com/Yiomo/GetInfo该APP会获取部分机器信息并且在当前目录下生成一份TXT报告1.引用usingSystem;usingSystem.Collections.Specialized;usingSystem.IO;usingSyste

  • Latex 公式换行 等号左对齐

    Latex 公式换行 等号左对齐Latex公式换行等号左对齐示例:\begin{equation}\begin{aligned}X^TXh-X^TY&=\begin{bmatrix}x_1&x_2&…&x_n\\1&1&…&1\end{bmatrix}\begin{bmatrix}x_1…

  • navcat15的永久激活码【在线注册码/序列号/破解码】

    navcat15的永久激活码【在线注册码/序列号/破解码】,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

发表回复

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

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