1.概念模型
概念世界有时也称信息世界,是现实世界在人们头脑中的反映,经过对客观事物及其联系的抽象描述,产生概念模型。如对学生的描述包括姓名、性别、编号、系号、出生日期等不同项目。
(1)实体的基本术语
①实体:客观存在并且可以相互区别的对象或事物称为实体。它可以是具体的事物,如一个人、一辆车、一个部门等。
②属性:属性是实体具有的描述特性。如一个学生实体,可以用学号、姓名、性别、系、年级和出生日期等属性来描述他的特性。学号、姓名、性别等是属性的名称。属性用值表示,如学号、姓名、性别的具体值用“090200”、“张三”、“男”来表示。
③实体型:实体型是用属性的集合来描述实体的类型,它用实体名和各个属性名的集合来表示。如实体型:学生(学号,姓名,性别,出生日期),“学生”是实体名,“学号”、“姓名”、“性别”等是各个属性名,如图3-10(a)所示。
④实体值:实体值是指实体属性值的集合,如学生张三的实体值是“090200”、“张三”、“男”。
⑤实体集:实体集是指相同类型的实体的集合。学校所有的学生,他们都用相同的实体类型来描述,集合在一起就是实体集。
(2)联系
两个实体A和B是包含若干个体的总体,其间的联系有以下三种类型:
①一对一联系(1:1):若A实体与B实体发生联系,B中的每一个实体至多对应A中一个实体,则A实体与B实体是一对一联系。如在学校中,一个班级只有一个班长,一个班长只管理一个班级,则班级实体与班长实体具有一对一的关系。
②一对多联系(1:n):若对于A中的每一个实体,至少有一个属于B中的实体与之发生关系,且B中每一个实体至多只能对应于A中的一个实体,则A实体与B实体是一对多的联系。如在学校中,一个班级有许多学生,每个学生只属于一个班级,则班级实体和学生实体之间具有一对多的关系。
③多对多联系(m:n):若A实体中至少有一个对应B实体中一个以上的实体,且B实体中也至少有一个对应A实体中一个以上的实体,则A实体对B实体是多对多的联系。如在学校中,一个学生可以同时选修多门课程,一门课程也可以同时有多个学生选修,则学生实体和课程实体之间具有多对多的关系。
(3)E-R方法(Entity-Relation Approach)
概念模型最常用的表示方法是实体联系模型,也叫E-R图,它是由P.P.S.Chen于1976年提出的,是用E-R图来描述某一组织的信息模型。包括三个要素:
①实体:用矩形框表示,框内标注实体名称。
②属性:用椭圆形表示,并用连线与实体连接起来。
③实体之间的联系:用菱形框表示,框内标注联系名称,用连线将菱形框分别与有关实体相连,并在连线上注明联系类型,如图3-10(b)所示。
E-R模型是对现实世界的一种抽象,它抽取了客观事物中人们所关心的信息,忽略了非本质的细节,并对抽取的信息进行了精确的描述。E-R模型所描述的概念模型与具体的DBMS所支持的数据模型相独立,是各种数据模型的共同基础,因而是抽象和描述现实世界的有力工具。
2.数据模型
(1)层次模型
层次模型是采用树型结构来表示实体及其实体间的联系的模型。其特点是只有一个根节点(也叫父节点),其他节点(子节点)有且仅有一个父节点,节点之间是树根与树枝(父与子)的关系,即一对多联系。它的优点是简单、直观、处理方便,适合于表现具有比较规范的层次关系的结构;缺点是不能直接表现含有多对多联系的复杂结构。如图3-11所示。
(2)网状模型(www.xing528.com)
网状模型是采用网状结构来表示实体及其之间的联系。其特点是:每一个节点允许有多于一个的父节点,也可以有一个以上的节点无父节点。网状模型可以方便地表示实体间多对多的联系,但结构比较复杂,数据处理比较困难。如图3-12所示。
图3-12 网状模型图
(3)关系模型
关系模型是用二维表结构来表示实体及其之间的联系。如图3-13所示的“学生”表和“课程”表都是二维表,它们之间通过“学号”属性建立联系。
图3-13 关系模型图
关系模型中的术语有:
①关系:一个关系就是一张二维表,如上图所示的“学生”表、“选课”表。
②元组:表的每一行为一个元组(也称为记录),它是一组字段的信息的集合。
③属性:表的每一列为一个属性(也称为字段),例如“学生”表中的“学号”、“姓名”、“性别”等字段。
④域:属性的取值范围称为域,例如“学生”表的性别属性的取值范围是“男”或“女”。
⑤关系模式:关系名及关系中的属性集合构成关系模式,一个关系模式就是对关系的描述。格式为:关系名(属性名1,属性名2,属性名3,…,属性名n)。
⑥主码:主码又称主键,是表中的某个属性组,它的值唯一标识一个元组。如“学生”表中的“学号”可作为主码,它能唯一标识表中的每一条记录,即表中不能有两个相同的学号出现。
⑦候选码:如果某个字段的值能唯一标识表中一个记录,这个字段就被称为候选码。一个关系中可能有多个候选码,例如“学生”表中的“学号”和“系号”都是候选码。
⑧外部关键字:外部关键字也叫外键,是用来与另一个关系进行联接的字段,且是另一个关系中的主关键字。
(4)数据库的关系运算
①选择操作。选择操作是指从关系中选出那些满足条件的记录,即从二维表的行中查找记录。例如,从“教师”表中找出“职称”为“教授”的教师所进行的操作就是选择操作。
②投影操作。投影操作是指从关系中选出所需的若干字段,即从二维表的列中选择字段。例如,从“教师”表中找出所有教师的“职工号”、“姓名”、“性别”、“出生日期”,所进行的操作就是投影操作。
③联接操作。联接操作是将两个关系联接成一个新的关系,新关系中包含满足条件的记录。例如,从“学生”表和“选课”表中按对应学号相同的条件给出学生的“学号”、“姓名”、“性别”、“课程号”、“成绩”,所进行的操作就是联接操作。在联接运算中,按照字段值对应相等为条件进行的联接操作叫做等值联接。自然联接是去掉重复属性的等值联接,自然联接是最常用的联接运算。
(5)关系模型的完整性
关系模型的完整性规则是对关系的一组约束条件,包括以下几类:
①实体完整性。是针对某实体的具体属性值的约束。例如,关系中主键不能取空值和重复的值。空值就是不确定值,如在“学生”表中,“学号”不能取空值,否则就无法说明一个学生的信息;如在“选课”(学号、课程号、成绩)表中,“学号”和“课程号”构成复合主键,则“选课”表中“学号”、“课程号”都不能取空值。重复的值则指值不能完全相同。
②参照完整性。是针对表与表之间的约束条件。例如,定义外键与主键之间的引用规则。如“学生”表中的“系号”字段是该表的外键,在“系科”表中是主键,在“学生”表中该字段的值可以取“空”。
③用户定义完整性。是针对某一具体关系数据库的约束条件,由应用环境决定。如“选课”表中的“成绩”的取值只能在0~100之间。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。