概念数据模型(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. jquery 相关class属性的操作

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. js设计模式-单例模式

      JavaScript中的单例模式是最常用的.最基本的设计模式,它提供了一种命名空间,减少全局变量泛滥的代码管理机制: 1.最常见的单例模式: [javascript] view plain cop ...

  3. js中字符串,数字之间转换的常用方法

    var number={ num:, num1:"2你好" }; //将数字转换为字符串 var str=number.num.toString();//十进制 );//二进制 ) ...

  4. ios开发经典语录锦集

    原文链接: iPhone开发经典语录集锦 前言:iPhone是个极具艺术性的平台,相信大家在开发过程中一定有很多感触,希望能写出来一起交流,所以开了这个帖子,以后还会维护. 如果大家和我一样有感触的话 ...

  5. Windows 10 LNK File分析

    前情提要:警方接获线报,黑道份子阿强涉及制造与贩卖毒品,警方在其住处扣得笔记本电脑及数个U盘,送往实验室进行取证分析. 取证人员对证物进行证物镜像制作,并进行证物处理(Evidence Process ...

  6. 在Apache下发布ASP.NET程序

    为什么要在apache下发布ASP.NET,看这篇文章您一定有自己的原因. 我是因为XP系统里面同时装IIS 和 AppServer会有问题. 步骤: 1.环境搭建,这个不废话,我安装的是.NET2. ...

  7. Android开发中Ant命令编译和APK签名的一些心得

    本文章麦子学院跟小伙伴们详细的分享一下关于Android Ant命令行编译和APK签名详解一些实现方法,这是一个朋友在自己做安卓开发时写的,希望对大家会有所帮助呀. 最近在做Android开发时,需要 ...

  8. LevelDb系列之简介

    说起LevelDb也许您不清楚,但是如果作为IT工程师,不知道下面两位大神级别的工程师,那您的领导估计会Hold不住了:Jeff Dean和Sanjay Ghemawat.这两位是Google公司重量 ...

  9. 如何批量转换 WordPress 文章分类

    可能建博之初,分类设置过于详细,后来想重新整理并删除一些分类项目,比如删除分类A,并将其中的所有文章划归到分类B中,手动修改文章的分类过于麻烦,有木有什么方法可以批量移动文章到另一个分类中呢? 网上闲 ...

  10. php如何实现页面回退的两种方法

    发布:thatboy   来源:网络  [大 中 小] 你有没有遇到过这样的情况:表单出错而返回页面时,之前填写的信息全不见了.本文为大家介绍二种支持php页面回退的方法,供大家参考. 本文原始链接: ...