概念数据模型(Conceptual Data Model)也称为信息模型。它是对客观事物及其联系的抽象,用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具。概念数据模型摆脱了计算机系统及数据库管理系统的具体技术问题,集中精力分析数据及数据之间的联系等,与具体数据库管理系统无关。概念数据模型必须转换成逻辑数据模型,才能在数据库管理系统中实现。它强调其语义表达能力,即能够较方便、直接地表达应用中的各种语义只是。这类模型概念简单、清晰、易于被用户理解,是数据库设计人员和用户之间进行交流的语言。

Pter Pin-Shan Chen在1976年提出的实体-联系的方法,简称E-R模型(Entity-Relationship Model),是最为著名的一种概念模型的表示方法。该方法用E-R图来描述现实世界的概念模型。E-R模型能够清楚地表达被描述对象的语义,用图形化方式描述数据及其之间的关系,简单、容易理解掌握、且易被转换成关系数据模型。

为了适应新的应用需求,在基本E-R模型的基础上又提出了扩展实体联系模型(Extend entity-Relationship Model),简称为“EER模型”。这种模型能表示更多的语义,扩充了子类型的概念,为面向对象的数据库设计提供了邮箱工具。

1. 概念模型的基本概念

实体(Entity)

客观存在并可相互区分的事务称为实体。实体可以是具体的人、事和物,也可以是抽象的概念或联系。例如,学生是一个实体。

属性(Attribute)

实体所具有的若干特征称为属性,其中每一个特征就称为实体的一个属性。属性必须相对实体而存在。例如,学生实体可以由学好、姓名、性别、出生年份、所属院系、入学年份等属性组成(20140505,张珊,女,1992,计算机系,2014),这些属性组合起来表征了某一个学生。

码(Key)

唯一标识实体的属性集称为码。例如,学号是学生实体的码。

域(Domain)

属性的取值范围称为该属性的域。例如,学号的域为6位整数,姓名的域为字符串集合,年龄的域为小于28的整数,性别的域为(男,女)。

实体型(Entity Type)    实体型由实体名称和属性名称集合组成的形式来抽象和刻画同一类实体。例如,学生(学号,姓名,性别,出生年份,所属院系)就是一个实体型。

实体集(Entity Set)

同一类型实体的集合称为实体集。例如,全体学生就是一个实体集。

联系(Relationship)

现实世界中事物之间的联系在概念模型中必然要加以反映。一般存在两类联系:一是实体内部联系,通常是指实体的各属性之间的联系;二是实体之间的联系,通常是指不同实体之间的联系。

2. 联系

两个实体型之间的联系称为二元联系,是现实世界大量存在的联系,可以分为3类。

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

实体集A只和实体集B有关系,同样实体B只和实体A有关系,记为1:1,。例如,一个学校只有一个正校长,而一个校长只在一个学校任职,则学校与校长之间具有一对一联系。

(2)一对多或多对一联系

实体集A在实体集B中对应多个实体,B中每个实体对应A中的一个实体,记为1:n。反之亦然,记为n:1。例如,一个专业中有若干名学生,而每个学生只在一个专业中学习,则专业与学生之间具有一对多的联系。

(3)多对多(m:n)联系

实体集A在实体集B中对应多个实体,反之B中每个实体对应A中的多个实体,记为m:n。例如,一个教师可以有很多学生,一个学生也可以有多个老师,则教师与学生之间具有多对多的联系。

实际上,一对一联系是一对多联系的特例,而一对多联系有事多对多联系的特例。

一般情况下,3个以上的实体型之间也存在着一对一、一对多、多对多的联系,称为多元联系。例如,对于课程、教师与参考书3个实体型,如果一门课程可以有若干个教师讲授,使用若干本参考书,而每一个教师之讲授一门课程,每一本参考书只供一门课程使用,则课程与教书、参考书之间的联系是一对多的。

同一个实体集内的各个实体之间也可以存在一对一、一对多、多对多的联系,称为一元联系。例如,职工实体集内部具有领导和被领导的联系,即某一职工(干部)领导若干名职工,而一个职工仅被另外一个职工直接领导。因此是一对多的联系。

3. 概念模型的表示方法

概念模型的表示方法很多,其中最著名也是最常用的表示法是E-R方法,也称为E-R模型。它用E-R图来描述现实世界的概念模型。E-R图的主要成分是实体型、属性和联系。

(1)实体型:用矩形表示,矩形框内写明实体名。

(2)属性:用椭圆形表示,并用无向边把实体与属性连接起来。

(3)联系:用菱形表示,菱形框内写明联系名,并用无向边分别把菱形与有关实体相连接,在无向边旁标上联系的类型(1:1,1:n或m:n)。需要注意的是,如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。

例如,学校中有一个校长和若干个班级,每个班级有若干个教师和学生,每个教师教授许多学生,每个学生都有学号、姓名、性别、班级、入学时间属性。

需要说明的是,E-R图的绘制有两种方法:集成法和分离法。集成法是将一个系统的所有实体、实体属性,实体与实体之间的联系全部画在一个图上,形成一个完整的E-R图。这种画法适合描述规模不大的数据库系统,图2-5所示即是集成法绘制的E-R图。分离法是先分别画各个实体及其属性图,然后再画实体间联系图,这种画法适合描述规模较大的数据库系统。

SQL Server数据库学习笔记-概念数据模型的更多相关文章

  1. SQL Server数据库学习笔记-E-R模型

    实体(Entities)联系(Relationships)模型简称E-R模型也称E-R方法,是由P.P.Chen于1976年首先提出的.还有一个关键元素Attributes-属性,它提供不受任何数据库 ...

  2. SQL Server数据库学习笔记-设计表时应该考虑的因素

    设计数据库其实就是设计数据库中的表.到底要注意些什么才能够设计好一个数据库呢?一个宗旨,8个建议. 一个宗旨“尽量少的表,每个表中尽量少的列,合理的表结构”. 8个建议: 第一个,首先要考虑的是咱们这 ...

  3. SQL Server数据库学习笔记-三大范式

    第一范式(First Normal Form,简称1NF):数据库表中的字段都是单一属性的,不可再分.这个单一属性由基本类型构成,包括整型.实数.字符型.逻辑型.日期型等.要求一个属性只包含一个值,多 ...

  4. SQL Server数据库学习笔记-外键

    关于主键的话大家很好理解,主键的主要作用就是用来标识一条数据是唯一的,也就是保证数据的实体完整性.防止数据重复.但是外键的话就有许多的疑问了,那外键是咋回事儿呢? 1. 外键的定义: 外键(FK)是用 ...

  5. 关于SQL SERVER数据库学习总结

    对于SQL SERFVER数据库也学了有一阵子了,自己也对自己所学做了一些总结. 我们首先学习数据库设计的一些知识点和用SQL语句建库. 设计数据库步骤:需求分析阶段,概要设计阶段,详细设计阶段, 建 ...

  6. C#面试题(转载) SQL Server 数据库基础笔记分享(下) SQL Server 数据库基础笔记分享(上) Asp.Net MVC4中的全局过滤器 C#语法——泛型的多种应用

    C#面试题(转载) 原文地址:100道C#面试题(.net开发人员必备)  https://blog.csdn.net/u013519551/article/details/51220841 1. . ...

  7. SQL Server数据库学习总结

    经过一段时间的学习,也对数据库有了一些认识,数据库基本是由表,关系,操作组成:对于初学者首先要学的     一图胜“十”言:SQL Server 数据库总结 一个大概的总结 经过一段时间的学习,也对数 ...

  8. SQL Server 数据库基础笔记分享(下)

    前言 本文是个人学习SQL Server 数据库时的以往笔记的整理,内容主要是对数据库的基本增删改查的SQL语句操作和约束,视图,存储过程,触发器的基本了解. 注:内容比较基础,适合入门者对SQL S ...

  9. SQL Server 数据库基础笔记分享(上)

    前言 本文是个人学习SQL Server 数据库时的以往笔记的整理,内容主要是对数据库的基本增删改查的SQL语句操作和约束,视图,存储过程,触发器的基本了解. 注:内容比较基础,适合入门者对SQL S ...

随机推荐

  1. dll延迟加载

    用于隐式链接选项, 这样设置后在exe调用dll的函数才会加载dll,调用DLL_PROCESS_ATTACH.否则隐式链接直接会在exe启动时加载dll

  2. html5相关

    1.语义化标签: header\section\aside\footer 2.音视频播放: video\audio 其中video支持ogg\mpeg4\webm格式的视频: 3.canvas 一.画 ...

  3. js对象的相关操作方法

    //在js的对象中可以直接将一个方法赋值给一个属性,这种方法非常好用. //在js中虽然没有像其他语言中的class关键字,但是我们也可以用函数,字面量的方式来模拟. var myHome={ nam ...

  4. win7和win8如何设置快速启动栏

    a.在任务栏上右键 -> 工具栏 -> 新建工具栏 -> 跳出选择文件夹对话框,在文件夹里面(光标山洞处)输入这个路径,然后按回车: %userprofile%\AppData\Ro ...

  5. RAW格式

    一.什么是RAW文件?RAW文件主要是一种记录了数码相机传感器的原始信息,同时伴随着一些由相机所产生的一些元数据(metadata,诸如IS0的设置.快门速度.光圈值.白平衡等)的文件.不同的相机制造 ...

  6. SID与GUID的区别

    1.在AD里面创建一个用户或者组都会为其分配一个SID,同时也会为这些对象分配一个GUID,GUID是一个128位的字符串,一个标识符,GUID不仅在整个域里面是唯一的,并且在全世界的范围内都是唯一的 ...

  7. JavaScript中的Get和Set访问器

    今天要和大家分享的是JavaScript中的Get和Set访问器,和C#中的访问器非常相似. 标准的Get和Set访问器的实现   function Field(val){       this.va ...

  8. HTML学习的开端

    HTML(HyperText Mark-up Language)即超文本标签语言或超文本链接标示语言,是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言.HTML文本是由HTML命令组成的描述 ...

  9. Unable to add App ID because the '10' App ID limit in '7' days has been exceeded.

    Unable to add App ID because the '10' App ID limit in '7' days has been exceeded. 官方的原因是对bundle iden ...

  10. 取得Android平台某设备上所有可用的Sensors

    本来要写一个检测手机的温度的小应用,学习一下传感器的api,可结果怎么写不行.经检测,发现取得的Sensor为NULL,这才明白,我手机没有TYPE_AMBIENT_TEMPERATURE传感器. 于 ...