《信息的三种世界概念模型数据模型》由会员分享,可在线阅读,更多相关《信息的三种世界概念模型数据模型(38页珍藏版)》请在金锄头文库上搜索。
1、信息的三种世界概念模型数据模型Stillwatersrundeep.流静水深流静水深,人静心深人静心深Wherethereislife,thereishope。有生命必有希望。有生命必有希望将客观事物抽象为能用计算机存储和处理的数据需经历三个阶段:将客观事物抽象为能用计算机存储和处理的数据需经历三个阶段:现实世界、信息世界、计算机世界(数据世界)现实世界、信息世界、计算机世界(数据世界)2.1 2.1 信息的三种世界信息的三种世界SQL Server 20001 1、信信息息的的现现实实世世界界:是是指指客客观观存存在在的的各各种种事事物物、事务之间的事物的发生、变化过程。事务之间的事物的发生
2、、变化过程。2.1 2.1 信息的三种世界信息的三种世界SQL Server 20002 2、信息世界:、信息世界:事物用信息来描述。事物用信息来描述。 信信息息:现现实实世世界界中中的的事事物物反反映映到到人人们们的的头头脑脑里里,经经过过认认识识、选选择择、命命名名、分分类类等等综综合合分分析析而而形形成成了了印印象象和和概概念,从而得到信息。念,从而得到信息。 信信息息世世界界通通过过概概念念模模型型、过过程程模模型型、状状态态模模型型反反映映现现实世界。实世界。 概概念念模模型型:对对事事物物及及事事物物间间联联系系的的静静态态描描述述,一一般般用用E-RE-R图或对象模型表示图或对象
3、模型表示 过过程程模模型型:对对事事物物的的处处理理方方法法及及信信息息加加工工过过程程的的描描述述,一般用数据流图和数据字典表示一般用数据流图和数据字典表示 状态模型状态模型:对事物的动态描述,一般用状态图表示。对事物的动态描述,一般用状态图表示。2.1 2.1 信息的三种世界信息的三种世界SQL Server 20003 3、数数据据世世界界(计计算算机机世世界界或或机机器器世世界界):计计算算机机能能处处理理的的数数据据,该该数数据据能能真真实实地地反反映映信信息息的的现现实世界。实世界。2.1 2.1 信息的三种世界信息的三种世界SQL Server 20002.1 2.1 信息的三种
4、世界信息的三种世界 现实世界中的管理对象现实世界中的管理对象概念模型概念模型 数据模型数据模型数据库数据库数据库的建立过程数据库的建立过程SQL Server 2000信息的三种世界术语的对应关系表信息的三种世界术语的对应关系表现实世界现实世界 信息世界信息世界 计算机世界计算机世界 实体实体 对象的实例对象的实例 记录记录 特征特征 属性属性 数据项数据项 实体集实体集 对象或实体集对象或实体集数据文件数据文件 实体间的联系实体间的联系对象间的联系对象间的联系 数据间的联系数据间的联系 概念模型概念模型数据模型数据模型 2.1 2.1 信息的三种世界信息的三种世界SQL Server 200
5、0现实世界涉及的基本概念:现实世界涉及的基本概念:1 1、实体:、实体:客观存在并可相互区别的事物或概念。客观存在并可相互区别的事物或概念。 实体可以是具体的人、事、物,也可以是抽象的概念。实体可以是具体的人、事、物,也可以是抽象的概念。 例:一个学生、一个系、一门课、学生的一次选课例:一个学生、一个系、一门课、学生的一次选课2 2、实体的特征:、实体的特征:实体所具有的特性。实体所具有的特性。 例例:学学生生可可用用“姓姓名名”、“学学号号”、“性性别别”、“年年龄龄”等等特征来描述。特征来描述。3 3、实实体体集集:具具有有相相同同特特性性或或能能用用同同样样特特征征描描述述的的实实体体集
6、集合合。例例:学生为实体集,一个学生为实体。学生为实体集,一个学生为实体。4 4、实体型:、实体型:用实体名和属性名集合来描述同类实体。用实体名和属性名集合来描述同类实体。 例:学生(学号,姓名,性别,年龄,出生日期)例:学生(学号,姓名,性别,年龄,出生日期)2.1 2.1 信息的三种世界信息的三种世界SQL Server 2000一、概念模型涉及的基本概念一、概念模型涉及的基本概念1 1、对对象象:具具有有相相同同性性质质、服服从从相相同同规规则则的的一一类类事事物物(或或概概念念)的的抽抽象象。对对象象中中的的每每一一个个具具体体的的实实体体的的抽抽象象为为对对象象的的实例。(注:有的书
7、中将对象也称为实体集)实例。(注:有的书中将对象也称为实体集)2 2、属性:、属性:实体所具有的某一特性的抽象表示。实体所具有的某一特性的抽象表示。 一一个个实实体体可可以以由由若若干干属属性性来来表表示示,属属性性值值是是指指属属性性的的取取值值。例例:学学生生可可用用“姓姓名名”、“学学号号”、“性性别别”、“年年龄龄”等等来来描描述述,而而“李李利利”、“98001”98001”、“男男”、“20”20”为属性值。为属性值。3 3、域:、域:属性的取值范围。例:性别的域为(男、女)属性的取值范围。例:性别的域为(男、女)2.2 2.2 概念模型概念模型SQL Server 20004 4
8、、关键字、关键字(又称侯选码或码):能唯一标识一个实体的属(又称侯选码或码):能唯一标识一个实体的属性或属性组。性或属性组。 例:电脑可由品牌、规格、价格、出厂日期属性来描述,例:电脑可由品牌、规格、价格、出厂日期属性来描述,但以上四个属性均不能作为关键字,若增加但以上四个属性均不能作为关键字,若增加“编号编号”属性,属性,则则“编号编号”可作为关键字。可作为关键字。 注:注:关键字可以是属性的组合关键字可以是属性的组合 如:选课(学号、课程号、成绩),关键字为学号和课如:选课(学号、课程号、成绩),关键字为学号和课程号的组合程号的组合 一个实体可以有多个关键字,可选其中一个作为主关键一个实体
9、可以有多个关键字,可选其中一个作为主关键字。字。2.2 2.2 概念模型概念模型SQL Server 20001 1、一对一(、一对一(1 1:1 1):):A A中任意实体至多对应中任意实体至多对应B B中的一个实中的一个实体,反之体,反之B B中的任意实体至多对应中的任意实体至多对应A A中的一个实体中的一个实体二、实体联系的类型二、实体联系的类型举例:举例: 观众与座位观众与座位 乘客与车票乘客与车票 病人与病床病人与病床 学校与校长学校与校长 灯泡与灯座灯泡与灯座2.2 2.2 概念模型概念模型SQL Server 2000二、实体联系的类型二、实体联系的类型举例:举例: 城市与街道城
10、市与街道 宿舍与学生宿舍与学生 父亲与子女父亲与子女 班级与学生班级与学生2.2 2.2 概念模型概念模型2 2、一对多(、一对多(1 1:n n):):A A中至少有一个实体对应中至少有一个实体对应B B中的多个实体,中的多个实体,反之反之B B中的任意实体至多对应中的任意实体至多对应A A中的一个实体中的一个实体SQL Server 2000二、实体联系的类型二、实体联系的类型举例:举例: 学生与课程学生与课程 供应商与零件供应商与零件 顾客与商品顾客与商品2.2 2.2 概念模型概念模型3 3、多对多(、多对多(n n:m m):):A A中任意实体至少有一个实体对应中任意实体至少有一个
11、实体对应B B中的多中的多个实体,反之个实体,反之B B中的任意实体至少对应中的任意实体至少对应A A中的多个实体中的多个实体SQL Server 2000注:注:1 1、两个以上的实体集之间也存在、两个以上的实体集之间也存在1 1:1 1、1 1:n:n:、n n:m m三种联系三种联系课程课程讲授讲授教师教师参考书参考书1nm供应商供应商供应供应项目项目零件零件mpn2.2 2.2 概念模型概念模型SQL Server 2000职工职工领导领导1n2.2 2.2 概念模型概念模型注:注:2、同一实体集内的各实体之间也存在、同一实体集内的各实体之间也存在1:1、1:n:、n:m三种三种联系联
12、系SQL Server 2000三、概念模型的表示方法三、概念模型的表示方法-E-R图图表示实体集表示实体集表示属性表示属性表示实体间联系表示实体间联系注:注:1、实体集的属性较多时,可以不画在、实体集的属性较多时,可以不画在E-R图上,而在数据字图上,而在数据字典中表示典中表示 2、联系可以具有属性,但联系的属性必须在、联系可以具有属性,但联系的属性必须在E-R图上标出图上标出2.2 2.2 概念模型概念模型SQL Server 2000 假设一个假设一个学生学生可选多门可选多门课程课程,而一门课程又有多,而一门课程又有多个学生选修,每个学生每选一门课只有一个成绩,个学生选修,每个学生每选一
13、门课只有一个成绩, 一个一个教师教师只能讲一门课程,一门课程也可有多个只能讲一门课程,一门课程也可有多个教师讲授,一门课使用多本教师讲授,一门课使用多本参考书参考书,一个,一个班级班级由由多名学生组成,且每个班级的人数不同。多名学生组成,且每个班级的人数不同。例例1 12.2 2.2 概念模型概念模型SQL Server 2000教师课程学生班级参考书讲授组成选修职工号姓名职称性别课程号课程名学分成绩专业班级号n1学号姓名性别年龄书号书名价格摘要nm人数1n使用m12.2 2.2 概念模型概念模型SQL Server 2000产品产品材料材料零件零件消耗消耗组装组装产品号产品号库存号库存号价格
14、价格材料名材料名定额定额价格价格零件数零件数规格规格零件号零件号零件名零件名例例2 2画概念模型的步骤:画概念模型的步骤: 分析实体集及联系分析实体集及联系 确定实体集及属性确定实体集及属性 确定实体集的联系及联系的属性确定实体集的联系及联系的属性 画画E-R图图nmnm2.2 2.2 概念模型概念模型SQL Server 2000 由由于于计计算算机机不不可可能能直直接接处处理理现现实实世世界界中中的的具具体体事事物物,所所以以人人们们必必须须事事先先把把具具体体事事物物转转换换成成计计算算机机能能处处理理的的数数据据,在在数数据据库库中中用用数数据据模模型型抽抽象象、表表示示和和处处理理现
15、现实实世世界界中中的的数数据据和和信信息息。它它是是直直接接面面向向数数据据库库的的逻逻辑辑结结构构,是是现现实实世世界界的的第第二二层层抽抽象象。这这类类模模型型涉涉及及到到计计算算机机系系统统和和数据库管理系统数据库管理系统 。数据模型是现实世界的模拟。数据模型是现实世界的模拟。 数据模型应满足三方面要求:数据模型应满足三方面要求:2.3 2.3 数据模型数据模型l能比较真实地模拟现实世界能比较真实地模拟现实世界l容易为人所理解容易为人所理解l便于在计算机上实现便于在计算机上实现SQL Server 2000 数据模型是一组严格定义的概念集合,这些概念精数据模型是一组严格定义的概念集合,这
16、些概念精确地描述了系统的确地描述了系统的数据结构数据结构、数据操作数据操作和和数据完整性约数据完整性约束条件束条件。一、数据模型的三要素一、数据模型的三要素2.3 2.3 数据模型数据模型SQL Server 20001、数据结构数据结构是指所研究的对象的集合,这些对象是数据是指所研究的对象的集合,这些对象是数据库的组成部分,它包括两类:一类是与数据类型、内容、库的组成部分,它包括两类:一类是与数据类型、内容、性质有关的对象,另一类是与数据之间联系有关的对象。性质有关的对象,另一类是与数据之间联系有关的对象。数据结构是系统静态特性描述。数据结构是系统静态特性描述。通常按数据结构的类型来命名数据
17、模型。通常按数据结构的类型来命名数据模型。2.3 2.3 数据模型数据模型一、数据模型的三要素一、数据模型的三要素SQL Server 2000 2、数据操作数据操作是指对数据库中各种数据对象允许执行的是指对数据库中各种数据对象允许执行的操作集合。操作集合。 数据操作是系统动态特性的描述。包括操作对象和数据操作是系统动态特性的描述。包括操作对象和有关的操作规则。所以数据模型必须对数据库中的全部有关的操作规则。所以数据模型必须对数据库中的全部数据操作进行定义,指明操作的确切含义、操作对象、数据操作进行定义,指明操作的确切含义、操作对象、操作符号、操作规则以及操作的语言约束等。操作符号、操作规则以
18、及操作的语言约束等。2.3 2.3 数据模型数据模型一、数据模型的三要素一、数据模型的三要素SQL Server 20003、数据完整性约束条件数据完整性约束条件是指数据模型中的数据及其联是指数据模型中的数据及其联系所具有的制约和依存规则。用以限定符合数据模型系所具有的制约和依存规则。用以限定符合数据模型的数据库状态以及状态的变化,以保证数据库中数据的数据库状态以及状态的变化,以保证数据库中数据的正确、有效和相容的正确、有效和相容 。2.3 2.3 数据模型数据模型一、数据模型的三要素一、数据模型的三要素SQL Server 2000层次模型层次模型网状模型网状模型关系模型关系模型二、常见的数
19、据模型二、常见的数据模型(非关系模型)(非关系模型)2.3 2.3 数据模型数据模型SQL Server 20001、层次模型、层次模型基本结构:基本结构:用树型结构表示实体及实体间的联系用树型结构表示实体及实体间的联系 1)有且仅有一个结点没有双亲结点,这个结点称为根结点。)有且仅有一个结点没有双亲结点,这个结点称为根结点。2)除根结点之外的其他结点有且只有一个双亲结点。)除根结点之外的其他结点有且只有一个双亲结点。表示方法:表示方法:实体:用记录类型描述。每个结点表示一个记录类型。实体:用记录类型描述。每个结点表示一个记录类型。属性:用字段描述。每个记录类型可包含若干个字段。属性:用字段描
20、述。每个记录类型可包含若干个字段。联系:用结点之间的连线表示记录(类)型之间的一对多的联系联系:用结点之间的连线表示记录(类)型之间的一对多的联系2.3 2.3 数据模型数据模型二、常见的数据模型二、常见的数据模型SQL Server 2000院系编号院系编号院系名称院系名称办公地点办公地点教研室编号教研室编号 教研室教研室学号学号姓名姓名年龄年龄专业方向专业方向职工号职工号姓名姓名教学院系数据模型教学院系数据模型院系院系教研室教研室学生学生教师教师2.3 2.3 数据模型数据模型D10计算机系计算机系9号楼号楼C01硬件教研室硬件教研室C02软件教研室软件教研室00001王平王平200000
21、2李丽李丽20电器电器92001王海王海自动化自动化92002张铮张铮数据库数据库92003许明许明人工智能人工智能92004陈真陈真教学院系数据库的一个实例教学院系数据库的一个实例SQL Server 2000层次模型中多对多联系的表示层次模型中多对多联系的表示:一般采用冗余结点和虚拟结点两种方法一般采用冗余结点和虚拟结点两种方法 学号学号姓名姓名年龄年龄课程号课程号课程名课程名学分学分选课选课mn例:用冗余结点表示多对多联系例:用冗余结点表示多对多联系2.3 2.3 数据模型数据模型学号学号姓名姓名年龄年龄学号学号姓名姓名年龄年龄课程号课程号课程名课程名学分学分课程号课程号课程名课程名学分
22、学分学号学号姓名姓名年龄年龄课程号课程号课程名课程名学分学分学号学号姓名姓名年龄年龄学号学号姓名姓名年龄年龄课程号课程号课程名课程名学分学分学号学号姓名姓名年龄年龄课程号课程号课程名课程名学分学分课程号课程号课程名课程名学分学分学号学号姓名姓名年龄年龄课程号课程号课程名课程名学分学分n课程号课程号课程名课程名学分学分学号学号姓名姓名年龄年龄课程号课程号课程名课程名学分学分课程号课程号课程名课程名学分学分n课程号课程号课程名课程名学分学分学号学号姓名姓名年龄年龄SQL Server 2000V.课程课程V.学生学生2.3 2.3 数据模型数据模型例:用虚拟结点表示多对多联系例:用虚拟结点表示多对
23、多联系学号学号姓名姓名年龄年龄课程号课程号课程名课程名学分学分选课选课mn n课程号课程号课程名课程名学分学分n学号学号姓名姓名年龄年龄课程号课程号课程名课程名学分学分SQL Server 2000层次模型的优缺点层次模型的优缺点优点:优点:简单,只需很少几条命令就能操纵数据库简单,只需很少几条命令就能操纵数据库 性能优于关系模型和网状模型性能优于关系模型和网状模型 提供良好的完整性支持提供良好的完整性支持缺点:缺点:不支持多对多联系,只能通过冗余数据(易产生数据不不支持多对多联系,只能通过冗余数据(易产生数据不一致性)或引入虚拟结点来解决一致性)或引入虚拟结点来解决 插入和删除限制较多插入和
24、删除限制较多 查询子结点须通过双亲结点查询子结点须通过双亲结点 同一实体联系模型可以构造出许多层次模型,而对不同同一实体联系模型可以构造出许多层次模型,而对不同的模型同一查询的表达方式就不同的模型同一查询的表达方式就不同2.3 2.3 数据模型数据模型SQL Server 20002、网状模型、网状模型基本结构:用图型结构表示实体及实体间的联系基本结构:用图型结构表示实体及实体间的联系 有一个以上结点没有双亲,结点可以有多个父有一个以上结点没有双亲,结点可以有多个父 结点,支持多对多联系结点,支持多对多联系 允许插入尚末确定双亲结点值的子结点值允许插入尚末确定双亲结点值的子结点值 允许只删除双
25、亲结点,而子结点继续保留允许只删除双亲结点,而子结点继续保留 2.3 2.3 数据模型数据模型二、常见的数据模型二、常见的数据模型SQL Server 2000网次模型的优缺点网次模型的优缺点 优点:优点:能更直接地反映现实世界能更直接地反映现实世界 存取效率高存取效率高 缺点:缺点:结构比较复杂结构比较复杂 DDL和和DML语言复杂语言复杂 记录间联系通过存取路径实现,应用程序访记录间联系通过存取路径实现,应用程序访 问数据时要指定存取径问数据时要指定存取径2.3 2.3 数据模型数据模型SQL Server 20003、关系模型:、关系模型:实体和联系均用实体和联系均用二维表二维表来表示,
26、数据操作为来表示,数据操作为集集合合操作。操作。2.3 2.3 数据模型数据模型二、常见的数据模型二、常见的数据模型SQL Server 20001) 关系(表)。一个关系对应通常所说的一张二维表。关系(表)。一个关系对应通常所说的一张二维表。2) 元组(记录)。表中的一行称为一个元组。元组(记录)。表中的一行称为一个元组。3) 属性。表中的一列称为一个属性。一个由属性。表中的一列称为一个属性。一个由n个属性的关系称个属性的关系称为为n元关系。元关系。4) 主码。表中的某个属性或属性组,值可以惟一地确定一个元主码。表中的某个属性或属性组,值可以惟一地确定一个元组,且属性组中不含多余的属性。组,
27、且属性组中不含多余的属性。5) 域。属性的取值范围称为域。域。属性的取值范围称为域。6) 分量。元组中的一个属性值称为分量或数据项。分量。元组中的一个属性值称为分量或数据项。7) 关系模式。关系的型称为关系模式,是对关系的描述。关系模式。关系的型称为关系模式,是对关系的描述。(1) 关系模型中的主要术语关系模型中的主要术语2.3 2.3 数据模型数据模型SQL Server 2000(2) 关系模型中的数据全部用关系来表示关系模型中的数据全部用关系来表示关系模式一般的表示是:关系模式一般的表示是:关系名关系名(属性属性1,属性,属性2,属性,属性n).例:例:学生(学号,姓名,年龄,性别,系号
28、,年级)学生(学号,姓名,年龄,性别,系号,年级)课程(课程号,课程名,学分)课程(课程号,课程名,学分)选修(学号,课程号,成绩)选修(学号,课程号,成绩)2.3 2.3 数据模型数据模型SQL Server 2000关系模型的优缺点关系模型的优缺点优点优点建立在严格的数学概念的基础上建立在严格的数学概念的基础上概念单一,数据结构简单、清晰,用户易懂易用概念单一,数据结构简单、清晰,用户易懂易用实体和各类联系都用关系来表示。实体和各类联系都用关系来表示。对数据的检索结果也是关系。对数据的检索结果也是关系。关系模型的存取路径对用户透明关系模型的存取路径对用户透明具有更高的数据独立性,更好的安全
29、保密性具有更高的数据独立性,更好的安全保密性简化了程序员的工作和数据库开发建立的工作简化了程序员的工作和数据库开发建立的工作关系模型中的数据联系是靠数据冗余实现的关系模型中的数据联系是靠数据冗余实现的2.3 2.3 数据模型数据模型SQL Server 2000缺点缺点存存取取路路径径对对用用户户透透明明导导致致查查询询效效率率往往往往不不如如非非关关系系数数据模型据模型为为提提高高性性能能,必必须须对对用用户户的的查查询询请请求求进进行行优优化化从从而而增增加了开发数据库管理系统的难度加了开发数据库管理系统的难度2.3 2.3 数据模型数据模型关系模型的优缺点关系模型的优缺点SQL Server 20001 1、P34 1P34 1,2 2,5 5 2 2、以实际生活为例,分别举出实体集之间是一对一以实际生活为例,分别举出实体集之间是一对一、一对多、多对多各三个例子、一对多、多对多各三个例子 第二章课后作业第二章课后作业SQL Server 2000