精华内容
下载资源
问答
  • 关系数据库模型设计

    千次阅读 2020-05-19 17:13:17
    本文从现实世界-概念世界(信息世界)-机器世界(数据世界)逐级抽象,旨在以浅显易懂的语言描述关系数据库应该如何建模,最后简单名了的描述给出关系模型的设计范式的含义。

    目录

     

    三个世界的划分

    1.现实世界

    2.概念世界(信息世界)

    3.机器世界(数据世界)

    模型

    一、概念模型(信息世界)

    (一)E-R图的三要素

    (二)E-R图的设计方法

    (三)E-R模型到关系模型的转换

    (四)小结

    二、数据模型(数据世界)

    (一)层次模型

    (二)网状模型

    (三)关系模型


    三个世界的划分

    人们把客观存在的事物以数据的形式存储到计算机中,经历了对现实生活中事物特性的认识、概念化到计算机数据库里的具体表示的逐级抽象过程,即现实世界-概念世界-机器世界三个领域。有时也将概念世界称为信息世界;将机器世界称为存储或数据世界。

     

    1.现实世界

    人们管理的对象存于现实世界中。现实世界的事物及事物之间存在着联系,这种联系是客观存在的,是由事物本身的性质决定的。例如学校的教学系统中有教师、学生、课程,教师为学生授课,学生选修课程并取得成绩。

     

    2.概念世界(信息世界)

    概念世界是现实世界在人们头脑中的反映,是对客观事物及其联系的一种抽象描述,从而产生概念模型。概念模型是现实世界到机器世界必然经过的中间层次。涉及到下面几个术语:
    实体:我们把客观存在并且可以相互区别的事物称为实体。实体可以是实际事物,也可以是抽象事件。如一个职工、一场比赛等。
    实体集:同一类实体的集合称为实体集。如全体职工。注意区分"型"与"值"的概念。如每个职工是职工实体"型"的一个具体"值。
    属性:描述实体的特性称为属性。如职工的职工号,姓名,性别,出生日期,职称等。
    联系:实体集之间的对应关系称为联系,它反映现实世界事物之间的相互关联。联系分为两种,一种是实体内部各属性之间的联系。另一种是实体之间的联系。

     

    3.机器世界(数据世界)

    存入计算机系统里的数据是将概念世界中的事物数据化的结果。为了准确地反映事物本身及事物之间的各种联系,数据库中的数据必须有一定的结构,这种结构用数据模型来表示。数据模型将概念世界中的实体,及实体间的联系进一步抽象成便于计算机处理的方式。三个世界中的术语对照关系如下:

     

    模型

    模型就是对不能直接观察的事物进行形象的描述和模拟。即模型是对现实世界中复杂事物的抽象描述。

    模型分为信息世界的概念模型和数据世界的数据模型:

    概念模型:把现实世界转换为信息世界的模型,例如E-R模型。

    数据模型:把信息世界转化为数据世界的模型,例如关系模型。

     

    一、概念模型(信息世界)

    实体联系模型,亦称实体关系模型,它是由美籍华裔计算机科学家陈品山(Peter Chen)发明,该模型直接从现实世界中抽象出实体类型和实体间联系,然后用实体联系图(E-R图)表示数据模型,是描述概念世界,建立概念模型的实用工具。所以,在信息世界中使用E-R图建立的数据模型称为E-R模型。

    实体关系模型是现实世界到概念世界的第一层抽象,是数据库设计人员进行数据库设计的有利的数据建模工具,也是数据库设计人员和用户之间进行交流的语言。

     

    (一)E-R图的三要素

    实体(Entity):在E-R图中用矩形表示,矩形框内标注实体名称。实体表示一个离散对象。实体可以被(粗略地)认为是名词,如计算机、雇员、歌曲、数学定理等。


    属性(Attribute):在E-R图中用椭圆形表示,并用无向连线将其与相应的实体连接起来,同时在无向连线旁标上联系的类型(1 : 1,1 : n或m : n)。属性描述实体的特性(特征性质),例如学生的姓名、学号、性别、都是属性。

     

    联系(Relationship):在E-R图中用菱形框表示,框内标注联系名称,并用连线将菱形框分别与有关实体相连,并在连线上注明联系类型。联系可以被(粗略地)认为是动词,如:在公司和计算机之间的拥有关联,在雇员和部门之间的管理关联,在演员和歌曲之间的表演关联,在数学家和定理之间的证明关联等等。联系有三种类型:


    ① 一对一联系(1:1)
    设A、B为两个实体集。若A中的每个实体至多和B中的一个实体有联系,反过来,B中的每个实体至多和A中的一个实体有联系,称A对B或B对A是1:1联系。注意,1:1联系不一定都是一一对应的关系。可能存在着无对应。例如,一个部门有一个经理,而每个经理只在一个部门任职,则部门与经理的联系是一对一的,但经理也可能暂缺。


    ② 一对多联系(1:n)
    如果A实体集中的每个实体可以和B中的几个实体有联系,而B中的每个实体至少和A中的一个实体有联系,那么A对B属于1:n联系。例如,一个部门有多名职工,而一名职工只在一个部门就职,则部门与职工的联系是一对多的。


    ③ 多对多联系(m:n)
    若实体集A中的每个实体可与和B中的多个实体有联系,反过来,B中的每个实体也可以与A中的多个实体有联系,称A对B或B对A是m:n联系。例如,一个学生可以选修多门课程,一门课程由多个学生选修,学生和课程间的联系是多对多的。
     

    (二)E-R图的设计方法

    E-R图通常都应经过以下两个阶段:

    (1)针对每一用户画出该用户信息的局部E-R图,确定该用户视图的实体、属性和联系。需注意的是:能作为属性的就不要作为实体,这有利于E-R图的简化。

     

    (2)综合局部E-R图,生成总体E-R图。在综合过程中,同名实体只能出现一次,还要去掉不必要的联系,以便消除冗余。一般来说,从总体E-R图必须能导出原来的所有局部视图,包括实体、属性和联系。

     

    案例:工厂(包括厂名和厂长名)需要建立一个数据库系统,有以下情况:

     

    1、该工厂生产若干产品,每种产品由不同的零件组成

    2、有的零件可以用在不同的产品,这些零件由不同的原材料组成,不同的零件所用的原材料可以相同。

    3、零件按照所属的不同产品分别放在仓库中,原材料按照类别分别放在若干仓库中。

     

    相关性质如下:

    工厂:长号,长名,长址,厂长名

    车间:车间号,车间名,电话

    产品:产品名,品种号,性能

    零件:零件号,零件名,生产日期

    原材料:材料号,产地,等级

    仓库:库号,电话

     

    (三)E-R模型到关系模型的转换

    把E-R图转换为关系模型可遵循如下原则:

    (1)对于E—R图中每个实体集,都应转换为一个关系,该关系应包括对应实体的全部属性,并应根据关系所表达的语义确定哪个属性或哪几个属性组作为“主关键字”,主关键字用来标识实体。

     

    (2)对于E—R图中的联系,情况比较复杂,要根据实体联系方式的不同,采取不同的手段加以实现。下面着重讨论联系的转换方法。

    A、两实体集间1:n联系

    两实体集间1:n联系,可将“一方”实体的主关键字纳入“n方”实体集对应的关系中作为“外部关键字”,同时把联系的属性也一并纳入“n方”对应的关系中。

     

    B、两实体集间m:n联系

    对于两实体集间m:n联系,必须对“联系”单独建立一个关系,用来联系双方实体集。该关系的属性中至少要包括被它所联系的双方实体集的“主关键字”,并且如果联系有属性,也要归入这个关系中。

     

    C、两实体集间的1:1的联系

    假设A实体集与B实体集是1:1的联系,联系的转换有三种方法:

    ①把A实体集的主关键字加入到B实体集对应的关系中,如果联系有属性也一并加入;

    ②把B实体集的主关键字加入到A实体集对应的关系中,如果联系有属性也一并加入;

    ③建立第三个关系,关系中包含两个实体集的主关键字,如果联系有属性也一并加入。

     

    (四)小结

    (1)把现实世界转换成为计算机能够处理的数据世界,需经过两个阶段:

             第一个阶段需使用概念模型把现实世界抽象成信息世界,最常用的概念模型是E-R模型,E-R模型的三个基本要素是实体、

             属性和联系。

             第二阶段是使用数据模型把信息世界转换为数据世界,最常用的数据模型是关系模型。

     

    (2)设计E-R图一般经过两个步骤,

            第一步是抽象出各相关对象的局部E-R图,

            第二步是把局部E-R图组合成全局E-R图。E-R图只是信息的一种抽象表示,还需把它转化成相应的实施数据模型才能转化为

            数据库中的数据。把E-R图转化为关系模型,不但要把实体转化成关系,而且在关系中还应反映出E-R图中各实体集之间的

            联系。

     

    3E-R数据模型作为语义数据模型,是软件工程和数据库设计的有力工具,综合E-R数据模型的特点如下:
          (1) 有丰富的语义表达能力,能充分反映现实世界,包括实体和实体间的联系,能满足用户对数据对象的处理要求。
          (2) 易于交流和理解,因为它不依赖于计算机系统和具体的DBMS,所以,它是DBA、系统开发人员和用户之间的桥梁。
          (3) 易于修改和扩充。
          (4) 易于向其他各种数据模型(层次,网状,关系模型)转换。
          (5) 实体、属性和联系这三个概念是有明确区分的,但对于某个具体的数据对象,究竟是作为实体,还是作为属性或联系,

                  则是相对的。这取决于应用背景和用户的观点。

     

    二、数据模型(数据世界)

    在用计算机处理信息世界的信息时,必须抽取局部范围的主要特征,模拟和抽象出一个能反映信息世界中实体和实体之间联系的模型,即数据模型。也就是说,数据模型是抽象描述信息世界的一种工具和方法,是概念模型在数据世界中的表示形式。

    数据模型的三要素:模型结构、数据操作、完整性规则。

    数据模型模型结构分为:层次模型、网状模型、关系模型、面向对象模型。

     

    (一)层次模型

    在现实世界中,许多实体集之间的联系就是一个自然的层次关系。例如,行政机构、家族关系等都是层次关系。下图就是学校中系的层次模型。

    层次模型是最早用于商品数据库管理系统的数据模型。其典型代表是于1969问世、由IBM公司开发的数据库管理系统

    IMS(Information Management System)。

    (1) 层次模型的定义:用树形结构表示实体之间联系的模型叫层次模型。

    (2)层次模型的表示方法:树的结点表示记录(实体),每个记录可包含若干个字段(实体的属性),结点之间的连线表示相连两记录(实体)之间的关系,这种关系只能是“1-M”的。通常把表示1的实体集放在上方,称为父结点,表示M的实体集放在下方,称为子结点。

    (3)层次模型的特点:①有且仅有一个根结点。②根结点以外的其它结点有且仅有一个父结点。

    在层次模型中,记录的组织不再是一张杂乱无章的图,而是一棵树。例如,系记录型有:计算机系、电信系等记录值。而计算机系的下层记录值有软件、结构、应用等研究室和数据结构、操作系统、数据库等课程,软件研究室下层又有员工和项目记录值,如下图所示:

    根据层次模型的特点可知,层次模型只能表示“1-M”关系,而不能直接表示“M-M”关系。因此对于层次模型中实体集之间多对多的联系的处理,解决的方法是引入冗余结点。例如,学生和课程之间的多对多的联系,引入学生和课程的冗余结点,即转换为两棵树:一棵树的根是学生,子结点是课程,它表现了一个学生可以选多门课程;一棵树的根是课程,子结点是学生,它反映了一门课程可以被多个学生选。至于冗余结点可以用虚拟结点实现:在冗余结点处仅存放一个指针,指向实际结点。

     

    (4)层次模型的优点

    ① 层次数据库模型比较简单。

    ② 层次模型对具有一对多的层次关系(例如部门和职员的关系)的描述非常自然、直观,容易理解。

    ③ 层次数据库模型提供了良好的完整性支持。

     

    (5)层次模型的缺点

    ① 在现实世界中有很多的非层次性的联系,如多对多的联系,一个结点具有多个父结点等,层次模型表示这类联系的方法

    很笨拙。

    ② 难以实现系统扩充,对于插入和删除操作时,限制比较多,涉及到大量链接指针的调整。

    ③ 查询子结点必须经过父结点。

    ④ 由于结构严密,层次命令趋于程序化。

     

    (二)网状模型

    在现实世界中,事物之间的联系更多的是非层次关系的,用层次模型表示非树型结构是很不直接的,网状模型则可以克服这一弊病。层次模型中的记录只能组织成树的集合而不能是任意图的集合,而网状模型则可以。

    (1) 网状模型的定义:用网状结构表示实体之间联系的模型叫网状模型。

    (2) 网状模型的表示方法:网的结点表示记录(实体),每个记录可包含若干个字段(实体的属性),结点之间的连线表示相连两记录(实体)之间的关系,这种关系可以是“1-M”的,也可以是“M-M”的。

    (3) 网状模型的特点:①允许一个以上的结点无父亲结点。②一个结点可以有多于一个的父亲结点。

    网状模型是一种比层次模型更具普遍性的结构,它去掉了层次模型的两个限制,允许多个结点没有父亲结点,允许结点有多个父亲结点,此外它还允许两个结点之间有多种联系。因此网状模型可以更直接地去描述现实世界,而层次模型实际上是网状模型的一个特例。网状模型示例如下:

     

    (4) 网状数据模型的优点

    ①能够更为直接地描述现实世界,如一个结点可以有多个父亲节点。

    ②具有良好的性能,存取效率较高。

     

    (5) 网状数据模型的缺点

    ①结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。

    ②难以实现系统扩充,对于插入和删除操作时,限制比较多,涉及到大量链接指针的调整。

    ③其DDL,DML语言复杂,用户不容易使用。由于记录之间联系是通过存取路径实现的,应用程序在访问数据时必须选择

    适当的存取路径,因此,用户必须了解系统结构的细节,加重了编写应用程序的负担。

     

    (三)关系模型

     

    (1) 关系模型的定义:用二维表格数据来表示实体及实体之间联系的模型叫关系模型。

    (2) 关系模型的特点:

    ① 每个表有多个列,每一列中的字段(属性)唯一且是类型相同的数据;

    ② 列的顺序可以是任意的;

    ③ 行的顺序可以是任意的;

    ④ 表中的字段(属性)是不可再分割的最小数据项,即表中不允许有子表;

    ⑤ 表中的任意两行不能完全相同。

    在关系模型中,无论是从客观事物中抽象出的实体,还是实体之间的联系,都用单一的结构类型—关系(表)来表示。在对关系进行各种处理之后,得到的还是关系—一张新的二维表。如图所示:

    关系数据库采用关系模型作为数据的组织方式。关系数据库因其严格的数学理论、使用简单灵活、数据独立性强等特点,而被公认为最有前途的一种数据库管理系统。它的发展十分迅速,目前已成为占据主导地位的数据库管理系统。自20世纪80

    年代以来,作为商品推出的数据库管理系统几乎都是关系型的,例如,Oracle,Sybase,Informix,Visual FoxPro,Mysql,Sqlserver等。

     

    (3) 关系模型的设计范式

    只有满足一定条件的关系模式,才能避免操作(例如插入、删除、修改)异常和数据异常(例如数据冗余),关系模式要满足的条件称为规范化形式,简称范式。 

     

    ① 第一范式(1NF)

    第一范式是对表属性的原子性约束,要求属性具有原子性,不可再分解成其它属性;其目的是消除重复字段(列)。

     

    ②  第二范式(2NF)

    第二范式是对表记录的惟一性约束,要求记录有惟一标识,能唯一地区分其它记录;其目的是消除重复记录(行)。

     

    ③ 第三范式(3NF)

    第三范式是对表字段冗余性的约束,要求字段没有冗余,任何字段都不能由其他字段派生出来;其目的是消除字段冗余。

     

    ④  第四范式(4NF)

    第四范式是对表记录冗余性的约束,要求记录没有冗余,同一表不存在一对多或多对多关系;其目的是消除记录冗余。

     

    ⑤  第五范式(5NF)

    第五范式是将表分割成尽可能小的块,目的是消除表中所有的冗余。

     

    在设计关系数据库表的时候,你应该总是要遵循这五大范式。

     

     

    展开全文
  • oracle关系数据库模型

    千次阅读 2016-07-14 09:45:23
    1.1 关系数据库中的一些术语 好吧,其实我第一次学习数据库的时候,我特别的烦这些术语,本来很简单的很容易懂的词语,被他们整的。。。 二维表:就是一张表,比如我们打开excel,这里可以粗略的看成一个表的...

    1.1 关系数据库中的一些术语

    好吧,其实我第一次学习数据库的时候,我特别的烦这些术语,本来很简单的很容易懂的词语,被他们整的。。。

    二维表:就是一张表,比如我们打开excel,这里可以粗略的看成一个表的结构吧。所以说,关系的逻辑结构就是一个二维表。

    关系(Relation):对应我们平时看见的一张表。

    元组(Tuple):一个二维表里的一行

    属性(Attribute):表中的一列

    域(domain):属性的取值范围,比如一个属性年龄,那么这个年龄的取值范围在0到130,这就是一个域。

    关键字或码(key):也就是我们常说的主键,它能唯一的确定一个元组,也就是能唯一的确定一行。比如 学生号,那么它能确定学生姓名等等。

    关系模式(Relation Schema):对关系的描述,比如关系名(属性1,属性2,属性3...)

    1.2关系操作

    关系数据模型中常用的关系操作:查询(Query)、插入(Insert)、删除(delete)和更新(update)

    关系操作中最重要的关系查询操作:选择(select)、投影(project)、连接(join)、除(divide)、并(union)、差(except)、交(intersection)以及笛卡尔积等等。

    1.3关系的完整性


    实体完整性:就是数据库表格中的主键不能取空值;当属性由属性组(不止一个属性)组成时,属性组中的属性均不能为空值。

    参照完整性:关系模型中实体及实体间的联系都是用关系来描述的。参照完整性则是相关联的两个表之间的约束,具体的说,就是从表中每条记录外键的值必须是主表中存在的,因此,如果在两个表之间建立了关联关系,则对一个关系进行的操作要影响到另一个表中的记录。

    外键:如果有属性关键字在一个表中是主关键字,那么这个属性关键字被称为另一个表的外键。外键表示了两个关系之间的联系。

    如果一个属性是参照性完整性,那么它的值只能是:

    1.空值,表示没有给它赋值

    2.不是空值,那么必定在一个主表中的值范围中

    自定义完整性:实体完整性和参照系完整是每一个关系数据库都必须要支持的完整性。那自定义就不必了,从字面上也可以看出,就是自己定义的意思。打个比方说,你有一个性别这个属性,那么你可以只定义只能允许为“女”。这个号理解。

    来源:Oracle数据库培训

    展开全文
  • 文章目录关系数据库关系操作基本关系操作关系数据库语言的分类关系模型的完整性实体完整性(Entity Integrity)参照完整性(Referential Integrity)用户定义完整性(User-defined Integrity)E-R图向关系模型的转换...

    本人就职于国际知名终端厂商,负责modem芯片研发。
    在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。

    关系数据库

    关系操作

    数据模型的三个方面:

    • 数据结构
    • 数据操作
    • 完整性约束

    基本关系操作

    • 常用的关系操作
      👊查询:选择、投影、连接、除、并、交、差
      👊数据更新:插入、删除、修改
      👊查询的表达能力是其中最主要的部分
      👊选择、投影、并、差、笛卡尔积是5种基本操作

    • 关系操作的特点
      集合操做方式:操作的对象和结果都是集合,一次一集合的方式

    关系数据库语言的分类

    • 关系代数语言
      用对关系的运算来表达查询要求
      代表:ISBL
    • 关系演算语言:用谓词来表达查询要求
      元组关系演算语言:
      🔸 谓词变元的基本对象是元组变量
      🔸 代表:APLHA,QUEL
      域关系演算语言:
      🔸 谓词变元的基本对象是域变量
      🔸 代表:QBE
    • 具有关系代数和关系演算双重特点的语言
      代表:SQL(Structured Query Language)
      🔹 SQL不仅具有丰富的查询功能,而且具有数据定义和数据控制功能,是集查询、DDL(data definition language)、DML(data manipulation language)和DCL(Data Control Language)于一体的关系数据语言。它充分体现了关系数据语言的特点和优点,是关系数据库的标准语言
      🔹 SQL特点:完备的表达能力、非过程化的集合操作、功能强、能嵌入高级语言使用
      在这里插入图片描述
      关系代数、元组关系演算和域关系演算三种语言在表达能力上是完全等价的

    关系模型的完整性

    为了维护数据库中数据与现实世界的一致性,对关系数据库的插入、删除和修改操作必须有一定的约束条件,这就是关系模型的三类完整性:

    • 实体完整性
    • 参照完整性
    • 用户定义的完整性

    实体完整性(Entity Integrity)

    • 实体完整性是指主键的值不能为空或者部分为空
    • 关系模型中的一个元组对应一个实体,一个关系则对应一个实体集
      例如,一条学生记录对应着一个学生,学生关系对应着学生的集合
    • 现实世界中的实体是可区分的,即它们具有某种唯一性标识。与此相对应,关系模型中以主关系键来唯一标识元组
      例如,学生关系中的属性“学号”可以唯一标识一个元组,也可以唯一标识学生实体
    • 如果主键中的值为空或部分为空,即主属性为空,则不符合键的定义条件,不能唯一标识元组及其相对应的实体。这就说明存在不可区分的实体,从而与现实世界中的实体是可以区分的事实相矛盾。因此主键的值不能为空或部分为空
      例如,学生关系中的主键“学号”不能为空;选课关系中的主键“学号+课程号”不能部分为空,即“学号”和“课程号”两个属性都不能为空

    参照完整性(Referential Integrity)

    现实世界中的实体之间往往存在某种联系,在关系模型中实体及实体间的联系都是用关系来描述的。这样就自然存在着关系与关系间的引用。

    例1: 学生(学号,姓名,性别,专业号,年龄)
    专业(专业号,专业名)

    例2: 学生(学号,姓名,性别,专业号,年龄)
    课程(课程号,课程名,学分)
    选课(学号,课程号,成绩)

    • 定义:设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码(Foreign Key),并称基本关系R为参照关系(Referencing Relation),基本关系S为被参照关系(Referenced Relation)或目标关系(Target Relation)

    • 关系R和S不一定是不同的关系

    • 参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:
      ①或者取空值(F的每个属性值均为空值);
      ②或者等于S中某个元组的主码值。

    • 如下图,学生关系中某个学生(如s1或s2)“系别”的取值,必须在参照的系别关系中主关系键“系别”的值中能够找到,否则表示把该学生分配到一个不存在的部门中,显然不符合语义。
      如果某个学生(如s11)“系别”取空值,则表示该学生尚未分配到任何一个系。否则,它只能取专业关系中某个元组的专业号值
      在这里插入图片描述

    • 例如:
      学生(学号,姓名,性别,专业号,年龄)
      课程(课程号,课程名,学分)
      选课(学号,课程号,成绩)

      如果按照参照完整性规则,选课关系中的外部关系键“学号”和“课程号”可以取空值或者取被参照关系中已经存在的值。但由于“学号”和“课程号”是选课关系中主属性,根据实体完整性规则,两个属性都不能为空。所以选课关系中的外部关系键“学号”和“课程号”中只能取被参照关系中已经存在的值

    • 实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作关系的两个不变性。任何关系数据库系统都应该支持这两类完整性

    • 除此之外,不同的关系数据库系统由于应用环境的不同,往往还需要一些特殊的约束条件,这就是用户定义完整性

    用户定义完整性(User-defined Integrity)

    • 用户定义完整性是针对某一具体关系数据库的约束条件
    • 它反映某一具体应用所涉及的数据必须满足的语义要求
      例如,属性值根据实际需要,要具备一些约束条件,如选课关系中成绩不能为负数;某些数据的输入格式要有一些限制等;工资不能低于“地区最低工资”
    • 关系模型应该提供定义和检验这类完整性的机制,以便使用统一的、系统的方法处理它们,而不要由应用程序承担这一功能

    E-R图向关系模型的转换

    • E-R图向关系模型的转换要解决的问题
      ①如何将实体型和实体间的联系转换为关系模式
      ②如何确定这些关系模式的属性和码

    • 转换内容
      将E-R图转换为关系模型:将实体、实体属性和实体之间的联系转换为关系模式。

      实体型间的联系有以下不同情况:
      (1)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并
      (2)一个1:n联系可以转换为一个独立的关系模型,也可以与n端对应的关系模式合并
      (3)一个m:n联系转换为一个关系模型。例如:“选修”联系是一个m:n联系,可以将它转换为如下关系模式,其中学号与课程号为关系的组合码 👉选修(学号课程号,成绩)
      (4)三个或三个以上实体间的一个多元联系转换为一个关系模式。例如:“讲授”联系是一个三元联系,,可以将它转换为如下关系模式,其中课程号、教工号和书号为关系的组合码👉讲授(课程号教工号书号

    综合练习 E-R图

    用E-R图表示某个工厂物资管理的概念模型

    • 实体
      仓库:仓库号、面积、电话号码
      零件:零件号、名称、规格、单价、描述
      供应商:供应商号、姓名、地址、电话号码、账号
      项目:项目号、预算、开工日期
      职工:职工号、姓名、年龄、职称
    • 实体之间的联系如下:
      (1)一个仓库可以存放多种零件,一种零件可以存放在多个仓库中。仓库和零件具有多对多的联系。用库存量来表示某种零件在某个仓库中的数量;
      (2)一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作,仓库和职工之间是一对多的联系。职工实体型中具有一对多的联系;
      (3)职工之间具有领导与被领导关系。及仓库主任领导若干保管员;
      (4)供应商、项目和零件三者之间具有多对多的联系
      在这里插入图片描述
      将E-R图转换为关系模式,并说明外键和主键的对应关系
      供应(供应商号,项目号,零件号,…)
      🔹 (供应商号,项目号,零件号)为主键
      🔹 供应商号是外键与供应商的供应商号对应
      🔹 项目号是外键与项目的主键项目号对应
      🔹 零件号是外键与零件的主键零件号对应
      库存(仓库号,零件号,…)
      🔹 (仓库号,零件号)为主键
      🔹 仓库号是外键与仓库的主键仓库号对应
      🔹 零件号是外键与零件的主键零件号对应
      工作(仓库号,职工号,领导职工号,…)
      🔹 (仓库号,职工号,领导职工号)为主键
      🔹 仓库号是外键与仓库的主键仓库号对应
      🔹 职工号是外键与职工的主键职工号对应
      🔹 领导职工号是外键与职工的主键职工号对应

    关系数据库——关系数据结构及形式化定义
    关系数据库——关系代数


    在这里插入图片描述

    展开全文
  • 表示关系数据库的基本组成,用于存储一组相关的实体,jishiti

    表示关系数据库的基本组成,用于存储一组相关的实体,即实体级。从概念上讲,关系表由交叉的元组和列组成。每行代表一个实体,每列代表实体的一个特征。

    码是关系数据库的核心。码可用于定义函数依赖,即表中的其他属性都依赖与码。因此,如果知道码值,就可以确定其它的属性值。码可以分为超码。候选码、主码、辅助码和外码。

    表中每行必须有一个主码。主码可以是由一个属性和一组属性集,用于标示任何行中的所有其他属性。由于码值必须唯一,故主码不能为空值,以保证实体的完整性。

    虽然在数据库中的表是相互独立的,但是可以通过相同的属性关联起来。于是,一张表的主码可以和一张表的外码连接在一起。参照完整性要求外码必须包含于相关的联系表的主码的值相匹配,或者是空值。

    关系模型支持关系代数操作:select、project、join、intersect、union、difference、product、divide。关系数据库在幕后完成大部分的数据操作功能。

    了解了关系型数据库的基础知识后,应该着重于关注数据库的设计。良好的设计从正确的定义实体和实体属性开始,然后在确定实体间的关系(1:m,1:1,n:m)。

     

    展开全文
  • 关系模型的概念详见百度:关系模型 实际的关系数据库中的关系也称表,一个关系数据库就是由若干个表组成(想象一下sqlserver)。...关系模型是指二维表的形式表示实体和实体间联系的数据模型。 ...
  • 1.概念模型:也称信息模型,它是按用户的观点来对数据和信息建模,主要用于数据库设计。 2.逻辑模型和物理模型 逻辑模型 物理模型 层次模型、网状模型关系模型、面向对象数据模型、对象关系数据模型、半...
  • 关系数据模型关系数据库系统

    万次阅读 2017-02-12 13:10:58
    关系数据模型关系数据库系统
  • 数据模型数据库设计中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架。 数据模型数据库系统的核心和基础。 其实就是一种E-R图的表现形式。 常见的数据模型有层次模型、...
  • 已经讲了数据结构的层次模型和网状模型,最后再看下第三种模型,关系模型。...支持关系模型的数据库管理系统称为关系数据库管理系统,Access就是一种关系数据库管理系统。  1、基本术语  (1)关系(Rel
  • 浅谈关系数据库、关系模型及相关术语 关系数据库是目前各类数据库中最重要、最流行的数据库,它应用数学方法来处理数据库数据,关系数据库系统是支持关系模型的数据库系统。关系模型由关系数据结构、关系操作集合和...
  • 关系数据库关系模型关系数据结构域关系关系模式关系的三类完整性实体元整性(Entity Integrity)参照完整性用户定义的完整性关系代数关系代数运算符传统的集合运算并(Union)差(Difference)交(Intersection)...
  • 数据库模型详解

    千次阅读 2018-10-27 10:09:56
    数据库模型显示数据库的逻辑结构,包括确定如何存储和访问数据的关系和约束。各个数据库模型是根据设计者采用的更广泛的数据模型的规则和概念设计的。大多数数据模型可以由附带的数据库图表示。 ...
  • 关系数据库是建立在关系模型上的。而关系模型本质上就是若干个存储数据的二维表,可以把它们看作很多Excel表。 1、表的每一行称为记录(Record),记录是一个逻辑意义上的数据。 2、表的每一列称为字段(Column),...
  • 数据库模型

    2012-07-26 17:20:29
     我们都知道,数据库是存放数据的地方,我们根据数据库中的数据与数据之间建立的那种关系,称为数据库模型,这种数据库模型的存在需要数据库管理系统对其进行管理,而且这种数据库模型要尽可能的表达出现实世界中的...
  •     定义:层次数据模型树状<层次>结构来组织数据的数据模型。     满足下面两个条件的基本层次联系的集合为层次模型     1. 有且只有一个结点没有双亲结点,这个结点称为根结点     2. ...
  • 现实世界中的各种实体以及实体之间的各种联系均用关系模型表示关系模型是由埃德加·科德于1970年首先提出的,并配合“科德十二定律”。现如今虽然对此模型有一些批评意见,但它还是数据存储的传统标准。标准数据...
  • 根据关系数据基于的数据模型——关系模型的特征判断下列正确的一项:(___) A.只存在一对多的实体关系,以图形方式来表示。 B.以二维表格结构来保存数据,在关系表中不...关系模型数据库数据库发展的最初阶段。
  • 数据库关系模型

    千次阅读 2019-04-17 14:46:06
    关系模型的数据结构:以二维表的形式表示实体和实体之间联系的数据模型。其是一张规范化的二维表,它由表名,表头和表体三部分构成。 2.关系模型:分量:每一行对应的列的属性值,即为元组中的一个属性值。 候选码:...
  • 数据库-关系模型

    2019-05-04 16:58:43
    最近开始做数据库的大实验,其中有一条实验要求如下: 通过网络查找相关文献并参考所给资料进行需求分析,画出系统的 E-R 图,给出实体或联系的属性,标明联系的种类,并写出关系模式。 画ER图没有什么问题,但是...
  • 数据库关系模型范式总结

    千次阅读 2018-12-29 21:14:20
    超键:关系的唯一性约束。可以有冗余,例如(studentnr)是超键,(studentnr,name)也是超键。 键(候选键):最小超键。不含有多余属性。 主键:用于标识关系中元组的一个候选键。 候选键由主键和备用键组成...
  • 关系数据库的结构 关系数据库由表(table)的集合构成,每个表由唯一的名字。表中的一行代表了一组值之间的联系,而表就是这种联系的一个集合,表这个概念和数学上的关系概念是密切相关的,这也是关系数据模型名称...
  • 数据库基础:关系模型

    千次阅读 2017-09-25 23:46:39
    目前,数据库领域中最常用的数据模型有: - 层次模型 - 网状模型 - 关系模型 - 面向对象模型 - 对象关系模型 其中层次模型与网状模型统称为格式化模型。诸多数据模型中,关系模型是目前最重要的一种模型...
  • 数据库实体联系模型关系模型

    千次阅读 2020-03-02 19:11:33
    数据库设计是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程。...因此,规划数据构成及数据间关系,并应用某一具体的数据库管理系统如MySQL构建数据库的过程就是...
  • 数据库中的关系模型

    2020-05-26 15:45:04
    关系数据库是建立在关系模型上的。而关系模型本质上就是若干个存储数据的二维表,可以把它们看作很多Excel表。 核心概念: 表的每一行称为记录(Record),记录是一个逻辑意义上的数据。 表的每一列称为字段...
  • 数据库 - 关系数据库

    千次阅读 2015-05-03 13:13:04
    关系数据库提出关系模型的是美国IBM公司的E.F.Codd (Edgar Frank Codd,1923-2003) , “关系数据库之父” 1970年提出关系数据模型 E.F.Codd, “A Relational Model of Data for Large Shared Data Banks”, ...
  • 关系数据库系统

    2018-11-17 16:30:30
    关系数据库系统概述 关系数据库系统的发展历史 关系数据模型 数据模型 = 数据结构 + 数据操作 + 完整性约束 数据结构(层次,网状,关系,对象) 数据操作(DDL,DML) 完整性约束(实体完整性/主键存在,参照...
  • 关系数据库

    2018-05-20 20:57:45
    关系数据库是目前各类数据库中最重要、最流行的数据库,它应用数据方法来处理数据库数据,关系数据库系统...关系模型关系模型的主要特征是二维表结构表示实体集。关系模型是又若干个关系模式组成的集合。关系模...
  • 关系数据库与对象数据库

    千次阅读 2019-08-12 16:01:38
    现实世界中的各种实体以及实体之间的各种联系均用关系模型表示关系模型是由埃德加·科德于1970年首先提出的,并配合“科德十二定律”。现如今虽然对此模型有一些批评意见,但它还是数据存储的传统标准。 标准...
  • 从实体和关系角度看 PowerDesigner 设计数据库模型
  • 1、关系数据库 1.1、什么是关系数据库? 关系型数据库是依据关系模型来创建的数据库。 所谓关系模型就是“一对一、一对多、多对多”等关系模型,关系模型就是指二维表格模型,因而一个关系型数据库就是由二维表...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 203,147
精华内容 81,258
关键字:

关系数据库模型是用关系表示