四、信息世界中的基本概念

来源:互联网 发布:2k17乔丹身体数据 编辑:程序博客网 时间:2024/04/29 19:18

1.   从现实抽象过来的信息世界具有以下7大主要基本概念:

      (1)实体(Entity):客观存在的实体事物,也可以是抽象的概念或关系,如老师、老师和学院的工作关系;

      (2)属性(Attribute):即实体所具有的某一特性,比如实体学生的一个属性为年龄;

      (3)实体型(Entity Type):即用实体类型名和所有属性来共同表示同一类实体,比如学生(学号、年龄);

      (4)实体集(Entity Set):即同一类型实体的集合,如全体学生;

        !!!注意区分实体、实体型、实体集三个概念:实体时某个具体的个体,比如学生中的小明,而实体集是一个个实体的某个集合,比如小明所在的三年二班的所有学生,而实体型则是实体的某种类型(该种类型的所有实体具有相同的属性而已),比如学生这个概念,小明是学生、小明所在班级的所有学生都是学生,显然学生是一个更大且更抽象的概念,小明和小明全班同学都比学生要更加具体;

        总的来讲,可以这样比喻,实体是1,实体集是正整数集,而实体型是int(即可以直接当作类型看待);

       (5)码(Key):可以唯一标识一个实体的属性集,比如学号和每个学生实体一一对应,则学号可以作为码;

       (6)域(Domain):简单地说就是指实体中属性的取值范围(属于某个域),比如学生的年龄的域为整数,因此精确讲域应该是某种数据类型的值的集合,就那这个例子讲,学生的年龄是整数,但是有娶不到所有整数,一般取值范围为6到40岁,而这个范围就来自(属于)整数这个集合;

       (7)联系(Relationship):主要指实体内部的联系(各属性之间的联系)和实体间的联系(数学抽象概念中强调实体型之间的联系,而现实生活中更加关注某几个具体的实体集之间的联系);


2.   两个实体型之间的联系:

      a. 由于实体型表示同一种类型,因此可以认为实体型中的实体任意多(这是现在进行理论研究时的观点,而到了现实世界中就需要把它具体到实体集了);

      b. 两个实体型之间的联系分为三种(一下都是在两个实体集1和2中讨论):

          i.   一对一联系(1:1):

              1中每一个实体在2中最多只有一个实体与之对应,反之亦然;

         ii.  一对多联系(1:n):

              1中每一个实体在2中可以有多个实体与之对应,反之最多只有一个1中的实体和2中的每一个实体对应;

         iii. 多对多(m:n):

              1中每一个实体在2中可以有多个实体预知对应,反之亦然;


3.   多个实体型之间的联系:

       a. 同样存在一对一、一对多、多对多的联系;

       b. 前提:多个实体型针对于一个关系结点;

       c. 一对多联系:其中一个实体型对于同一种联系和其它各实体型之间都是一对多的;

       d. 一对一联系:其中一个实体型对于同一个联系和其它各实体型之间都是一对一的;

       e. 多对多联系:其中一个实体型对于同一个联系和其它各实体型之间都是多对多的;

       !!!注意:必须是“其中一个实体型”向外发出的联系,至于其它实体型之间是否存在上述的联系无关紧要;

       f.  如两两之间的联系就以为着有多个联系而不是上述的单个联系了,即实体型两两之间具有不同的联系,即多关系结点;


4.   概念模型的表示方法——E-R图:

       a. 即实体-联系方法(Entity-Relationship Approach),该方法用E-R图(E-R Diagram)表示;

       b. 实体型:用矩形表示,中间填写实体名;

       c. 联系:用菱形表示,中间填写联系名;

       d. 属性:用椭圆表示,中间填写属性名,由于联系(在前面讲过)也是实体的一种,因此联系也可以具有属性;

       e. 无向边:用于连接实体和属性以及联系和属性,用于表示实体和联系所拥有的各自的属性;

       f.  数量标记:写在实体型和联系之间的无向边上,用于表示实体型之间的联系是何种类型的(一对多还是多对多等);

       注:E-R图表示概念模型独立于DBMS所支持的数据模型(这里就是指逻辑结构,即数据结构和算法的具体实现),是所有数据模型(还是指逻辑模型)的共同基础,更一般、抽象,更接近现实世界;