数据模型

数据模型是由数据结构数据操作数据完整性约束条件组成的。(所有的数据模型从这三类要素进行研究


1)数据结构:

数据结构描述数据库的组成对象及对象之间的联系


2)数据库操作:
数据操作是指对数据库中各种对象的实例允许执行的操作集合,包括操作有关操作规则


3)数据库完整性约束条件:
数据的完整性约束条件是一组完整的规则

数据模型按不同的应用层次分成三种类型:分别是概念数据模型逻辑数据模型物理数据模型

1、概念模型(Conceptual Data Model):是一种面向用户、面向客观世界的模型,主要用来描述世界的概念化结构,它是数据库的设计人员在设计的初始阶段。

2、逻辑模型(Logical Data Model):是一种面向数据库系统的模型,是具体的DBMS所支持的数据模型。

3、物理模型(Physical Data Model):是一种面向计算机物理表示的模型,描述了数据在储存介质上的组织结构,它不但与具体的DBMS有关,而且还与操作系统和硬件有关。
 

概念模型(是什么?

基本概念:


(1)实体(entity):客观存在并可相互区别的实物称为实体。

        实体可以是具体的人、事、物,也可以是抽象的概念或联系,例如:一个职工、一个学生等是实体。
(2)属性(attribute):实体所具有的某一个特性称为属性。

        一个实体可以由若干个属性来刻画。一个学生实体可以由学生号、姓名、出生年月等,属性组合(2019001,张三,男,19940505)即表征了一个学生。
(3)码(key):唯一标识实体的属性集称为码。

        例如学号是学生实体的码。
(4)实体型(entity type):具有相同属性的实体必然具有相同的特征和性质。

        用实体名及其属性名来抽象和刻画同类实体,称为实体型,如学生(学生号、姓名、出生年月)就是一个实体型
(5)实体集(entity set):同一类型实体的集合称为实体集。

        例如全体学生就是一个实体集。
(6)联系(relationship):实体之间的联系是指不同实体集之间的联系。

单个实体内部的联系也有一对一、一对多、多对多的关系


一对一:实体集A中每一个实体,实体集B中至多有一个(也可以没有)实体与之联系,反之亦然,则实体集A与实体集B具有一对一关系。

独生子女家庭是一个实体,一个爸爸有一个孩子,一个孩子也有一个爸爸


一对多:实体集A中每一个实体,实体集B中有n个实体(n>=0)与之联系,反之,实体B中的每一个实体,实体集A中至多只有一个实体与之联系,则实体A与B有一对多联系。

员工是一个实体,员工中存在着领导与被领导的关系。一个具有领导地位的员工可以领到多个员工,而普通员工只能被一个员工领导


多对多:实体集A中每一个实体,实体集B中有n个实体(n>=0)与之联系,反之,实体B中的每一个实体,实体集A中也有M个实体,则实体A与实体B具有多对多联系

例如:

1、零件是一个实体,零件中有大零件和小零件。一个大零件可以有很多小零件来构成,一个小零件也可以构成许多种类型的大零件。

2、一门课程有若干个学生选修,而一个学生同时选修多门课程,则课程实体与学生实体具有多对多联系。

三个实体内部的联系 实体型之间的多对多联系和三个实体型两两之间的多对多联系)


实体型之间的多对多联系:供应商、项目、零件之间的关系。

一个供应商可以供给多个项目多种零件,每个项目可以使用多个供应商供应的零件,每种零件可以有多个不同的供应商供给。但是项目和零件之间没有联系。就是有一种联系、三种相关


三个实体型两两之间的多对多联系:银行、贷款、存款之间的关系。

一个银行可以为许多人提供贷款服务和存款服务,一个人也可以到多个银行贷款和存款。但是存款和贷款可以以私人借贷的联系存在。就是有三种联系。
 

概念模型是对信息世界的建模,实体——联系方法(Entity—Relationship approach)

E-R模型用矩形框表示现实世界中的实体,用菱形框表示实体间的联系,用椭圆框表示实体和联系的属性,对于作为实体标识符的属性,在属性名下画一条横线

实体相应的属性之间联系相应的属性之间线段连接

联系与其涉及的实体之间也用线段连接,同时在线段旁标注联系的类型1:1  ,  1:n  ,  m:n
 

逻辑模型(做什么?)

逻辑模型就是要将概念模型具体化,就是要实现概念模型所描述的东西,需要哪些具体的功能,处理哪些具体的信息,是对概念模型的进一步细化。

  以销售业务为例:“客户”信息基本上要包括:

        单位名称,联系人,联系电话,地址等属性;“商品”信息基本上要包括:名称,类型,规格,单价等属性;

        “定单”信息基本上要包括:日期和时间属性。并且“定单”要与“客户”,“业务员”和“商品”明细关联。

  系统需要建立几个数据表:业务员信息表,客户信息表,商品信息表,定单表。

  系统要包括几个功能:业务员信息维护,客户信息维护,商品信息维护,建立销售定单 。

常用的逻辑模型有层次模型网状模型关系模型三种。

(1)层次模型(倒转的树)(被淘汰,现少用)

1)有一个节点没有父节点,这个节点即根节点。

2)其他节点有且仅有一个父节点。

缺点:不能直接表示多对多的实体联系,必须分解为几个一对多的联系才能表示出来

(2)网状模型(被淘汰,现少用)

1)可以有一个以上的节点无父节点。

2)至少有一个节点有多于一个的父节点。

(3)关系模型(现在用)

关系模型是用二维表格来表示实体及其相互之间的关系,每个二维表称为一个关系。每个关系均有一个名字,称为关系名。

重点研究了关系模型的

数据结构实体与实体之间的联系用关系来表示,而关系一张规范化的二维表,关系模型中的数据项不能再分不能出现表套表的情况

数据操作:查找()、插入(insert)、删除()、修改()

完整性约束条件:(三类完整性)

实体完整性参照完整性用户定义的完整性

物理模型(怎么做?

  物理模型是对真实数据库的描述。

        如关系数据库中的一些对象为表、视图、字段、数据类型、长度、主键、外键、索引、约束、是否可为空、默认值。

  在具体的物理介质上实现出来。如:数据库使用SQL Server 2000,这样就可以编写具体的SQL脚本在数据库服务器上将数据库建立起来。其中包括业务员信息表,客户信息表,商品信息表,定单表。

数据独立性研究的就是:应用程序与数据(数据逻辑独立性和数据物理独立性)的独立关系

数据库系统(DBS)>  数据库(DB)> 数据库管理系统


 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐