精华内容
下载资源
问答
  • 对象的构成模型和关系模型

    千次阅读 2012-09-22 16:17:52
    1.对象的构成模型  作为面向对象编程最基本的构成元素,对象是由一个叫做类(Class)的概念来描述的。因此,针对对象构成分析的研究,也就转化为针对编程语言中类的构成分析。以Java语言为例,我们可以对Java语言中...
    1.对象的构成模型
         作为面向对象编程最基本的构成元素,对象是由一个叫做类(Class)的概念来描述的。因此,针对对象构成分析的研究,也就转化为针对编程语言中类的构成分析。以Java语言为例,我们可以对Java语言中类的定义进行一些构成上的分析。

        public class Human{//签名区
    .....................................................
        //属性区
        private String name;
        private Head head;
        private Body body;
        private Leg leg;
    ......................................................
        //方法区
        public void printName(){
           System.out.println(name);
         }
       public void work(){
           leg.shift();
         }
    ......................................................
      }
         我们可以看到构成一个对象的基本元素主要有:
                 签名(Signature) -----对象的核心语义概括,它的作用实际上是界定我们所描述的事物的范畴。
                属性(Property)    -----对象的内部特征和状态的描述
                方法(Method)      -----对象的行为特征的描述
     
             在对象的内部,作为对象内部构成的重要元素,属性和方法刚好从两个不同的角度对事物的内在特性给予了诠释。其中,属性所勾勒的是一个对象的构成特性和内部状态的特性;而方法则表达了一个对象的动态行为特性。这就像我们人一样,人有头、躯干、四肢构成,它们可以看作是人这个对象的“属性”。与此同时,人具有“直立行走”的行为特性,我们可以定义一个“方法”来模拟这一行为。
              以上这些分析,我们还停留在语法这个层面,因为无论是属性还是方法,它们都是Java语言的原生语法支持。将事物抽象成对象,并且赋予这个对象属性和方法,是一个很自然的编程逻辑,这也符合面向对象编程语言的基本思路。
              不过我们也同时发现在实际编程中,对象将表现为三种不同的形态和运行模式。-->参见 《对象的3种形态和运行模式》

    2.对象的关系模型
          对象的构成模型是从对象内部结构的角度来对面向对象编程中的基本元素进行分析,对象的关系模型则由“内”转向“外”,考虑对象与对象之间的关系。
          谈到对象之间的关系,我们很容易想到两个不同的层次:
      从属关系:一个对象在逻辑语义上隶属于另外一个对象。
      协作关系:对象之间通过协作来共同表达一个逻辑语义。
        这两种关系在面向对象编程语言中分别拥有不同的表达形式和逻辑语义,这两者构成了绝大多数的对象关系模型。
     
    对象的从属关系
           对象的从属关系,主要是指一个对象在逻辑语义上隶属于另外一个对象。逻辑上的隶属主要有两种不同的含义:
           归属:归属的逻辑含义很直观。比如,一个人总是归属于一个国家,一本书总是有作者。当我们把人和国家、书和作者都映射成面向对象编程语言中所定义的一个个对象时,它们之间自然就形成了归属关系。这种归属关系是由外部世界的逻辑关系映射到编程元素之上而带来的。
     
    结论:“归属”关系在面向对象编程语言中,主要是以对象之间互相引用的形式存在。
       
       public class Book{
          private String name;
         private List<Author> authors;
      }
     
     继承:继承的逻辑含义就有点晦涩。比如,马、白马和千里马之间的关系。首先,白马和千里马都是马的一种,然而白马和千里马却各自拥有自己的特性;白马是白色的,千里马一日可行千里。此时,我们可以说白马和千里马都属于马,它们都继承了马的基本特性,却又各自扩展了自身独有的特质。

      结论:“继承”关系在面向对象编程语言中,主要以原生语法的形式获得支持。
        public class Horse{
             public void run();
         }
         public class WhiteHorse extends Horse{
        }
        public class ThousandMileHorse extends Horse{
         }

    对象的协作关系
           对象的从属关系从现实世界逻辑语义的角度描述了对象与对象之间的关系。从之前的分析中,我们可以发现,无论是“归属”关系还“继承”关系,它们都在围绕着对象构成的属性做文章。那么我们不禁去想,围绕着对象的行为动作特征,对象之间是否能够建立起关系模型呢?
           从哲学的观点来看,万事万物都存在着普遍而必然的联系。从对象的行为特性分析,一个对象的行为特征总是能够与另外一个对象的行为特征形成依赖关系。而这种依赖关系,在极大程度上影响着对象的逻辑行为模式。例如,一个人“行走”这样一个动作,需要手脚的共同配合才能完成,具体来说就是“摆手”和“抬脚”。而当我们把手和脚分别看作一个对象时,“摆”和“抬”就成为手和脚的行为动作了。
    这样一说,似乎对象之间的协作关系就非常容易理解了。
     
    结论:当对象的行为动作需要其它对象的行为动作进行配合时,对象之间就形成了协作关系。
     
           可以想象,一个对象在绝大多数情况下都不是孤立存在的,它总是需要通过与其它对象的协作来完成其自身的业务逻辑。
     
            对象的协作关系在对象运行在行为对象模式时显得尤为突出。因为当使用一个具体的方法来进行动作响应时,我们总是会借助一些辅助对象的操作来帮助我们共同完成动作的具体逻辑。也就是说,我们会将一个动作从业务上进行逻辑划分,将不同的业务逻辑分派到不同的对象之上去执行。也就成为我们所熟知的分层开发模式的理论基础。
     
      以下是Java Web开发 三层架构的代码示例:
            
        public class MessageAction {
              private Message message;// 某个留言
              private IMessageService messageService = new MessageService();//可以改进
       /**
         * 增加一条留言
       */
         public String add() {
            messageService.add(message);
            return SUCCESS;
          }
       }
     
        public interface IMessageService {
     /**
      * 增加一条留言
      * @param message         留言对象
      */
       public abstract void add(Message message);
      }
     
       public class MessageService implements IMessageService {
          private IMessageDAO dao = new MessageDAO();
     
        //此处可以改进
        public void add(Message message) {
            //开启事务
           Transaction tx = dao.getSession().beginTransaction();
             dao.save(message);
           //提交事务
            tx.commit();
         }
       }
     
       //MessageDAO的save方法
       public void save(Message transientInstance) {
         try {
             getSession().save(transientInstance);
         } catch (RuntimeException re) {
             throw re;
          }
        }
     
    -->> 很多地方值得改进。(*^__^*)  谢谢阅读,多多包涵。@Fans @雷文 2012-2-17
    展开全文
  • ER模型关系模式

    千次阅读 多人点赞 2015-10-25 12:11:28
    ER图中的主要成分为实体类型和联系类型,转换算法将实体类型和联系类型转换为关系模式。转化为关系模式主要确定3部分内容,关系模式的名称,属性,码。 转换分为两个步骤:1.实体的转换。2.关系模式的转换; 1....

        ER图中的主要成分为实体类型和联系类型,转换算法将实体类型和联系类型转换为关系模式。转化为关系模式,主要确定3部分内容,关系模式的名称,属性,码。

    转换分为两个步骤:1.实体的转换。2.关系模式的转换;

    1.实体的转换

        将ER图中的实体逐一转换为一个关系模式

    关系模式

    实体

    名称              

    实体名                                         

    属性

    实体的属性                

    关系的码

    实体标识符


    2.联系的转换

        根据联系所连接的实体的个数划分:一元,二元,三元联系。

    2.1 二元联系

        1:1

    (1).联系-->独立的关系模式

    关系模式

    联系

    名称

    联系名称

    属性              

    该联系所关联的两个实体的码和联系的属性                  

    关系的码 

    取自任一方实体的码

    (2).将联系归并到关联的两个实体的任一方

    关系模式

    实体

    名称

    待归并一方实体名称

    属性              

    给待归并的一方实体属性集增加另一方实体的码和该联系的属性  

    关系的码

    归并后的实体码保持不变

        

        1:m

    (1).联系-->独立的关系模式。

    关系模式

    联系

    名称

    联系名

    属性              

    该联系所关联的两个实体的码及联系的属性                    

    关系的码

    多方实体的码

    (2).将联系归并到关联的两个实体的多方。

    关系模式

    实体

    名称

    多方实体名

    属性              

    给待归并的多方实体属性集中增加一方实体的码和该联系的属性  

    关系的码

    归并后的多方实体码保持不变

     

        m:n

    (1).只能转换成一个独立的关系模式

    关系模式

    联系

    名称              

    联系的名称

    属性

    关系模式的属性取该联系的两个多方实体的码及联系的属性     

    关系的码

    两个多方实体码构成的属性组;


    2.2 一元联系

        与二元联系转换类似

    2.3 三元联系

        三元联系实体间联系分为:1:1:1 , 1:1:N , 1:M:N , M:N:P.

        1:1:1:三个实体类型转换成的三个关系模式。在任一一个关系模式中加入另外两个关系模式的键(作为外键)和联系类型的属性。

        1:1:N:在多端实体类型转化的关系模式中,加入两个1端实体类型的键(作为外键)和联系的类型;


    联系转化为关系模式

        1:M:N:联系转化为关系模式,属性是两个多端实体类型的键(作为外键)和联系类型的属性。关键码是两个多端实体键的组合;

        M:N:P:联系转化为关系模式,属性为三端实体类型的键(作为外键)加上联系类型的属性。三端实体键的组合为关键码;


    3.总结

        ER图转关系模式主要还是确定实体类型和联系类型的转化,根据联系元数的不同,实体间联系的不同,有不同的转化方式。确定转化之后关系模式的名称,属性,主键和外键。


    展开全文
  • 关系模型

    千次阅读 2019-08-22 21:45:28
    关系模型主要优点是其简单的数据表示,易于表达复杂的查询 SQL语言是最广泛使用的语言,用于创建,操纵和查询关系数据库,而关系模型是其基础 联系:一些实体之间的联系 关系:是一种数学概念,指的是表 ...

    关系模型

    • 关系数据库基于关系模型,是一个或多个关系组成的集合
    • 关系通俗来讲就是表(由行和列构成)
    • 关系模型的主要优点是其简单的数据表示,易于表达复杂的查询
    • SQL语言是最广泛使用的语言,用于创建,操纵和查询关系数据库,而关系模型是其基础

     

    联系:一些实体之间的联系

    关系:是一种数学概念,指的是表

    实体集和联系集能表示真实的世界

    关系-表,元组-行能表示机器的世界

     

    关系基本结构

    前提知识:

    笛卡尔积:指在数学中,两个集合X和Y的笛卡尓积(Cartesian product),又称直积,表示为X×Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员  。

    例:假设集合A={a, b},集合B={0, 1, 2},则两个集合的笛卡尔积为{(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}。

     

    一般地,给出集合D1,D2,……Dn(Di=aij|j=1……k)

    • 关系r是:D1xD2x……xDn的子集,即一系列D域的笛卡尔积

    因而关系是一组n元组(a1j,a2j,……anj)的集合,其中每个aij属于Di

     

    属性类型(表的列)

    关系的每一个属性都有一个名称

    域:每个属性的取值集合称为属性的域

    属性值必须是原子的,即不可分割(1NF,第一范式)

    • 多值属性不是原子
    • 复合属性不是原子

    特殊值null是每一个域的成员

    空值给数据库访问和更新带来了困难,因此应尽量避免使用空值

     

    关系的概念

    涉及两个概念:关系模式和关系实例

    关系模式描述关系的结构

    关系实例表示一个关系的特定实例,也就是所包含的一组特定的行。

    类似于C语言中的变量。

    变量-关系;变量类型-关系模式;变量值-关系实例。

     

    关系模式

    A1 A2 ……An是属性

    关系模式   R=(A1,A2,……An)

    具体实例   r(R)  用于表示关系模式R上的关系

    关系实例

    关系的当前值(关系实例)由表指定

    一个元组t代表表中的一行

    如果元组变量t代表一个元组,那么t[name]表示属性name的t值

     

    关系的特征

    • 无序性(但不能重复)

     

    码、键

    若K值能够在一个关系中唯一地标志一个元组,则K是R的超码

    若K是最小超码,则K是候选码

    若K是一个候选码,并由用户明确定义,则K是一个主键(通常用下划线标记)。

     

    外键

    若A表中的主键出现在B表中(不为主键),则称B表中的为外键。

    A表中的叫做外码被参照关系,B表中的叫做外码依赖的参照关系。

    注意:参照关系中的外码的值必须在被参照关系中实际存在或为null

     

    例:

    instructor (ID,name,dept_name,salay)        参照关系

    department (dept_name,building,budget)    被参照关系

    也可用图来构建。

    展开全文
  • E-R图转化为关系模型

    万次阅读 多人点赞 2019-06-11 22:29:48
    一个实体集转换为关系模型中的一个关系,实体的属性就是关系的属性,实体的码就是关系的码,关系的结构是关系模式。 关系、关系模式等名词的解释 二、实体集间联系的转换规则 1、1:1联系的转换方法 方法...

    一、实体集的转换规则

    一个实体集转换为关系模型中的一个关系,实体的属性就是关系的属性,实体的码就是关系的码,关系的结构是关系模式。

     

    关系、关系模式等名词的解释

     

    二、实体集间联系的转换规则

    1、1:1联系的转换方法

     

    方法一:

    将1:1联系转换为一个独立的关系:与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,且每个实体的码均是该关系的候选码。

           联系形成的关系独立存在:    

           职工(职工号,姓名,年龄)

           产品(产品号,产品名,价格)   

           负责(职工号,产品号)

    方法二:

    将1:1联系与某一端实体集所对应的关系合并,则需要在被合并关系中增加属性,其新增的属性为联系本身的属性和与联系相关的另一个实体集的码。

          “负责”与“职工”两关系合并:

           职工(职工号,姓名,年龄,产品号)

           产品(产品号,产品名,价格)

     

           也可以“负责”与“产品”两关系合并:

           职工(职工号,姓名,年龄)

          产品(产品号,产品名,价格,职工号)

    三、1:n联系的转换方法

     

    方法一:

    一种方法是将联系转换为一个独立的关系,其关系的属性由与该联系相连的各实体集的码以及联系本身的属性组成,而该关系的码为n端实体集的码。

              联系形成的关系独立存在:

              仓库(仓库号,地点,面积)

              产品(产品号,产品名,价格)

              仓储(产品号,仓库号,数量)


           方法二:

    在n端实体集中增加新属性,新属性由联系对应的1端实体集的码和联系自身的属性构成,新增属性后原关系的码不变。

              仓库(仓库号,地点,面积)      

              产品(产品号,产品名,价格,仓库号,数量)

     

    四、m:n联系的转换方法

    一个m:n联系转换为一个关系。

     

    转换方法为:

    与该联系相连的各实体集的码以及联系本身的属性均转换为关系的属性,新关系的码为两个相连实体码的组合(该码为多属性构成的组合码)。

              转换的关系模型为:

              学生(学号,姓名,年龄,性别)

              课程(课程号,课程名,学时数)

              选修(学号,课程号,成绩)

    五、三个或三个以上实体集间的多元联系的转换方法

    (1)对于一对多的联系,转换为关系模型的方法是修改n端实体集对应的关系,即将与联系相关的其他1端实体集的码和联系自身的属性作为新属性加入到n端实体集中

     

    课程(课程号,课程名,学分,学时)

    教师(教师号,教师名,性别,职称,课程号)

    参考书(书号,书名,出版社,主编,课程号)

     

    (2)对于多对多的联系,转换为关系模型的方法是新建一个独立的关系,该关系的属性为多元联系相连的各实体的码以及联系本身的属性,码为各实体码的组合。

     

    供应商(供应商号,供应商名,地址)

    零件(零件号,零件名,单价)

    产品(产品号,产品名,型号)

    供应(供应商号,零件号,产品号,数量)

    展开全文
  • UML概述及UML模型图的构成关系

    千次阅读 2016-08-07 23:09:07
    模型中最基本的构成元素,是具有代表性的成分的抽象   关系( Relationships) : 关系把事物紧密联系在一起   图( Diagrams) : 图是事物和关系的可视化表示 UML 事物  UML 包含4种事物 : 构件...
  • 数据库 之关系模型

    千次阅读 2019-04-17 14:46:06
    关系模型的数据结构:以二维表的形式表示实体和实体...3.关系模式:关系模式是对关系的描述,是关系模型的“型”,一般表示为:关系名(属性1,属性2,属性n) 4.关系模型的数据操纵主要包括查询,插入,删除和修改。...
  • 构成主要思想和 BIM 模型表达过程的核心环节。在研究 IFC 标准体系的基础上, 梳理了各层之间的资源组织 情况。利用一个矩形梁实例,从建筑实体对象、材料属性、关系组织和几何表达等方面, 对 IFC 标准表达 BIM...
  • 关系模型和关系运算

    千次阅读 2015-11-09 22:52:54
    一、关系模型 为什么学习关系模型? 我们可以通过关系模型这种简单的数据结构能够描述出现实世界的实体及实体间的各种联系。 什么是关系模型关系模型的基本假定是所有数据都表示为数学上的关系,就是以集合...
  • 关系数据库是以关系模型为基础的数据库,它利用关系描述现实世界。一个关系既可用 来描述一个实体及其属性,也可用来描述实体间的一种联系。关系模式是用来定义关系的, 一个关系数据库包含一组关系,定义这组关系的...
  • 概念模型与关系模型和关系规范化

    万次阅读 多人点赞 2017-05-20 16:18:34
    》概念模型  概念模型用于信息世界的建模,是实现现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言,因此概念模型一方面具有较强的语义...
  • SQL——关系模型

    千次阅读 2017-04-24 16:08:23
    上一篇文章中介绍过数据库模型共有四种:关系模型,ER模型,基于对象的数据模型,半结构化模型。这四种模型中,最为常用和流行的就是关系模型,SQL语言所支持的数据库产品就基于关系模型关系模型利用表的集合来...
  • 关系模式

    千次阅读 2019-02-25 14:23:00
    先来张图,看看这11中模式关系: 第一类:通过父类与子类的关系进行实现。 第二类:两个类之间。 第三类:类的状态。 第四类:通过中间类 image.png 父类与子类关系 0、策略模式(strategy) 策略模式定义了...
  • 数据库实体联系模型与关系模型

    千次阅读 2020-03-02 19:11:33
    数据库设计是指根据用户的需求,在某一具体...这就需要规划课程、学生、老师、学习资料等数据构成以及相互之间的关系。因此,规划数据构成及数据间关系,并应用某一具体的数据库管理系统如MySQL构建数据库的过程就是...
  • 关系模型和关系数据库 数据模型 数据模型是一种用来表达数据的工具在计算机中表示数据的数据模型应该能够精确地描述数据的静态特性数据的动态特性和数据完整性约束条件 因此数据模型通常是由数据结构数据完整性规则...
  • 关系模型由数据结构、数据操作和完整性约束三部分构成。其中数据结构是指数据自身的组织形式;数据操作是指对数据进行的增删改查的操作,而对数据的查询是该模型中最为重要的操作;完整性约束是指满足现实条件的数据...
  • 探索了公司董事会的构成与其监督控制经理的功能之间的内在关系 ,构造了反映董事会构成独立性与经理报酬、经理及董事长持股、经理领导地位之间关系的结构方程模型进行实证...
  • 关系型数据库的模式

    千次阅读 2017-12-26 14:25:39
     1、模式:所有基本表构成了数据库的模式,也叫关系模式。  2、外模式:视图与部分基本表构成了数据库的外模式。也叫子模式。  3、内模式:数据库的存储文件与其索引文件构成关系数据库的内模式,也称为存储...
  • 关系模式分解

    千次阅读 2019-06-19 18:00:00
    关系模式的分解 无损分解:对关系模式分解时,原关系模式的任何一个合法的关系值在分解之后应该能通过自然连接运算恢复起来,这就是无损连接所要解决的问题。 例1: 设有关系模式R(ABC),分解成ρ={AB,AC}。 2....
  • 概念模型和关系模型

    千次阅读 2017-03-14 19:47:09
    实体集:指同一类实体构成的集合 实体用方框表示表示,方框内注明实体的命名。 联系:表示一个或多个实体之间的关联关系。 联系用菱形框表示,并用线段将其与相关的实体链接起来 属性:实体的某一特性称为属性 属性...
  • 数据库原理与应用(5)——关系关系模式关系数据库与关系数据库模式 一、关系的形式化定义和概念 1、关系上域的定义 域(Domain):一组具有相同数据类型的值的集合,又称为值域(用D表示) 整数、实数、和字符...
  • 关系模型的组成

    千次阅读 2019-06-19 19:12:56
    关系模型由关系数据结构、(关系操作集合)和(关系完整性约束)三部分组成。
  • 数据模型(Data Model)是数据特征的抽象,它从抽象层次上描述了系统的静态特征、动态行为和约束条件, ...常见的数据模型有层次模型、网状模型和关系模型三种。 关系其实就是一个二维表的意思,行列对应,..
  • 关系模型的基本概念

    千次阅读 2020-05-24 14:25:28
    关系模型的基本概念关系模型简述关系模型研究的问题关系模型的三个要素一些数学描述的概念 关系模型简述 1.最早由E.F.Codd在1970年提出。 2.是从表(Table)及表的处理方式中抽象出来的,是在对传统表及其操作进行...
  • 实体-关系图转换为关系模型

    万次阅读 2019-04-25 16:54:19
      由于目前使用的数据库基本上都是关系数据库,因此首先需要将E-R图转换为关系模型,然后根据具体DBMS的特点和限制转换为特定的DBMS支持下的数据模型,最后进行优化。 2.E-R图向关系模型的转换 2....
  • “成功的路上并不挤,只是你淘汰了你自己”,你好,我是...数据结构:描述实体的构成和联系。 数据操作:对数据库的查询与更新。 完整性约束:对数据施加规则和限制。 数据模型的类型: 1)概念模型 概念模型是对真实.
  • 数据模型的概念2.两大类数据模型客观对象的抽象过程---两步抽象3.数据模型的组成要素(1)数据结构(2)数据操作(3)数据的完整性约束条件4.概念模型(1)用途与基本要求(2) 信息世界中的基本概念(3)两个实体型之间的联系①...
  • 关系数据模型相关概念

    千次阅读 2018-01-29 17:51:21
    关系数据库:基于关系模型,是一个或多个关组成的集合,关系通俗来讲是表(由行和列构成)。SQL语言用于创建,操作和查询关系数据库,而关系模型是其基础。 关系的每个属性都有一个名称;域:每个属性的取值集合...
  • 关系模型介绍

    千次阅读 2020-04-10 16:04:06
    一、【关系数据结构】 1、关系 1)域(Domain) 定义1–域是一组具有相同数据类型的值的集合。 例如,整数、正整数、实数、大于等于0且小于等于100的正整数、{0,1,2,3,4}等都可以是域。 2)笛卡尔积(Cartesian Product...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 292,001
精华内容 116,800
关键字:

关系模型的主要构成