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

数据库概念结构设计_数据库概念结构设计怎么写一、概念模型在需求分析阶段所得到的应用需求应该首先抽象为信息世界的结构,然后才能更改、更准确地用某一数据库管理系统实现这些需求。概念模型的主要特点: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。
备注:并不是所有的冗余数据与冗余联系都必须加于消除,有时候为了提高效率不得不以冗余信息作为代价。
 

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

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

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


相关推荐

  • Android系统签名以及生成keystore秘钥

    Android系统签名以及生成keystore秘钥Android11系统签名以及keystore一、什么是系统签名Android下所有APP都要进行签名,而有些权限,只有系统签名了的APP可以拥有。而且需要在APP的AndroidManifest中添加以下IDandroid:sharedUserId=”android.uid.system”二、使用signapk.jar签名2.1找到对应文件(1)在根目录下创建keystore文件夹以方便工作(2)查找密钥和证书build/target/product/security/plat

    2022年6月21日
    81
  • vue 子传父 多个值

    vue 子传父 多个值子组件子组件通过 emit 触发父组件中的自定义函数 第一个值为自定义函数名 后面的参数是向父组件传的值 van button click emitGetList type info 搜索 emitGetList this emit refreshList this cityValue this amount this requires 父组件 van button click emitGetList type info

    2025年6月17日
    0
  • 模块***已加载但找不到入口点DllRegisterServer,请确保***为有效的DLL或OCX文件,然后重试[通俗易懂]

    模块***已加载但找不到入口点DllRegisterServer,请确保***为有效的DLL或OCX文件,然后重试[通俗易懂]今天刷机,因为小米要刷第三方rom,所以要降级,格盘的那个软件需要这个dll,,但是没有找个这个,我就拷贝了下放到system32下面,然后还是不行,就直接执行注册,然后就报了这个错,其实很简单如果使用的是32位操作系统:只需把dll文件放到“X:\Windows\system32”(X代表您系统所在目录盘符,如:C:\Windows\system32);如果使用的是64位操

    2022年6月27日
    122
  • chmod命令用法_Linux修改权限命令chmod用法示例

    chmod命令用法_Linux修改权限命令chmod用法示例点击上方”Linux中文社区”关注,星标或者置顶18点00分准时推送,第一时间送达责编:中文妹|来自:Linux迷|链接:r6d.cn/tNnDLinux中文社区(ID:Linux-China)第47次推文图源:pexels上一篇:色情版“微信”背后的秘密正文Linux中的Chmod命令用于更改或分配文件和目录的权限。在Linux/Unix系统中,文件和目录的可访问…

    2022年6月18日
    26
  • oracle_loader类型外部表

    oracle_loader类型外部表1、创建目录(createanydirectory):   SQL>createuseroracleidentifiedbyoracle;用户已创建。SQL>grantdbatooracle;授权成功。SQL>grantcreateanydirectorytooracle;授权成功。SQL>connoracle/oracle

    2022年10月11日
    0
  • UNIX命令

    UNIX命令 一、UNIX命令格式1、UNIX命令提示符   在命令行下,操作系统会显示一提示符,提示用户在此提示符后可以输入一行命令。不同的Shell有不同的缺省提示符:       BShell和KShell的缺省提示符为”$”;       CShell的缺省提示符为”%”;       但当以root用户登录时,系统提示符统一缺省为”#”。用户可以更改自己的缺省Shell和提

    2022年6月1日
    27

发表回复

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

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