• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

无信不立

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

【数据库原理】数据模型

一、数据模型

1、数据模型的概念

模型:是现实世界特征的模拟和抽象表达

数据模型

  • 对现实世界数据特征的抽象,描述的是数据的共性能内容。

  • 是模型化数据和信息的工具,也是数据库系统的核心和基础

  • 满足三点:(1)比较真实的模拟现实世界(2)容易为人们理解(3)便于在计算机上实现

 

2、数据的特征

静态特征:数据的基本结构,数据间的联系,数据取值范围的约束

 

动态特征:对数据可以进行符合一定规则的操作。

3、数据模型组成要素

数据结构:描述的是系统的静态特征,即数据对象的数据类型、内容、属性以及数据对象之间的联系。

数据操作:描述的是系统的动态特征

数据约束:描述数据结构中数据间的语法和语义关联

 

二、数据模型-概念模型

  • 概念层是数据抽象级别的最高层。

  • 概念层数据模型,也称为数据的概念模型或信息模型,这类模型主要用于数据库的设计阶段。

  • E-R图:概念层数据模型的其中一种表现方式

 

1、信息世界涉及的基本概念

 

实体(Entity):比如学生

属性(Arribute):比如姓名

码或键(key):比如学号

实体型(Entity Type):学生的类型(实体+属性)

实体集(Entity Set):一群学生的集合

域(Domain):数据的范围,比如性别,只有男和女。

联系(Relationship):数据实体之间的关系,学生属于哪个班级

2、数据模型有型(type)和值(value)两个概念

型(type):表头,比如姓名,年龄,籍贯

值(value):表行,比如张三,26,北京

 

 

三、数据模型-逻辑模型

逻辑层是数据抽象级别的中间层。

逻辑层数据模型,也称为数据的逻辑模型。任何DBMS都是基于某种逻辑数据模型。

1、层次模型

  • 是最早使用的一种数据模型

  • 有且仅有一个结点没有父结点,称作根结点

  • 其他结点有且仅有一个父结点

2、网状模型

  • 以网状结构表示实体与实体间的联系

  • 允许结点有多于一个父结点

  • 可以有一个以上的结点没有父结点

3、关系模型(数据库重点学习)

用二维表结构来表示实体间的联系。

 

 

 优点:

  • 建立在严格的数学概念的基础上

  • 概念单一

  • 存取路径对用户透明,有更高的数据独立性,更好的安全保密性

4、面向对象模型

  • 既是概念模型又是逻辑模型

  • 表达能力丰富,对象可复用、维护方便

 

 

 

四、数据模型-物理层数据模型

  • 物理层数据模型,也称为数据的物理模型

  • 描述数据在存储介质上的组织结构,是逻辑模型的物理实现;

  • 是数据库最底层的抽象;

  • 设计目标是提高数据库性能和有效利用存储空间。

 

五、数据模型中概念层数据模型,逻辑层数据模型,物理层数据模型的关系

  • 这三个不同的数据模型之间既相互独立,又存在着关联。

  • 从现实世界到概念模型的转换是由数据库设计人员完成的;

  • 从概念模型到逻辑模型的转换可以由数据库设计人员完成,也可以用数据库设计工具协助设计人员完成;

  • 从逻辑模型到物理模型的转换主要是由数据库管理系统完成的

 

六、关系型数据库的概述

1关系数据模型

组成要素

关系数据模型的组成要素:关系数据结构,关系数据操作集合,关系完整性约束

关系数据结构

(1)二维表:

也称为关系,是一个二维的数据结构,由表名、列、若干行数据组成。 每个表有唯一的表名,表中每一行数据描述一条具体的记录值。

(2)关系(也等于一张表):

一个关系逻辑上对应一张二维表,可以为每个关系取一个名称进行表示、

基本表(数据库实际存在的表),查询表(导出虚表),视图表(导出虚表)

(3)列(属性)(字段)

也称为字段(Field)或属性(Attribute)。

表名必须唯一; 字段名必须唯一, 不同表中可以出现相同的字段名;
属性=列,属性的个数称为关系的元或度, 列的值称为属性值,其取值范围称为值域

(4)行(元组)(记录)

也称为元组(Tuple)或记录(Record)。表中的数据按行存储。

分量(Component)=具体的数据项

元组(行)中的一个属性值,称为分量。

(5)码或键

 

 

 

(6)域

域(Domain) 表示属性的取值范围。

(7)数据类型

数据类型(Data Type) 每个列都有相应的数据类型,它用于限制(或容许)该列中存储的数据。

(8)数据模式

  • 关系模式(Relation Schema)=表头 关系模式是型(type),关系是值(value),

  • 即关系模式是对关系的描述。

  • 关系模式是静态的、稳定的,

  • 关系是动态的、随时间不断变化的。

 

(9)关系数据库(Relation Database) 所有关系的集合,构成一个关系数据库。

以关系模型作为数据的逻辑模型,并采用关系作为数据组织方式的一类数据库,其数据库操作建立在关系代数的基础上。

 

3.2、函数依赖与关键字

函数依赖是什么?关系中属性间的对应关系

函数依赖的定义:设R为任一给定关系,如果对于R中属性X的每一个值,R中的属性Y只有唯一值与之对应,则称X函数决定Y或称Y函数依赖于X,记作X→Y。其中X称为决定因素。

对于关系R中的属性X和Y,若X不能函数决定Y,记作X -/→Y。

 

函数依赖的分类

  • 完全函数依赖(候选码(联合唯一索引属性集))

  • 部分函数依赖 超码(包含唯一索引的属性集))

  • 传递函数依赖 X-/-> Y

 

二、三范式

定义:一个低一级范式的关系模式通过模式分解(Schema Decomposition)(拆分)可以转换为若干个高一级范式的关系模式的集合,这种过程就叫规范化(Normalization)。

范式解决的问题:存储数据的冗余高 ,插入操作异常, 删除操作异常

 

第一范式(1NF)

设R为任一给定关系,如果R中每个列与行的交点处的取值都是不可再分的基本元素,则R为第一范式。 (单元格存储的值为最小单元,不可分割)

第二范式(2NF)

设R为任一给定关系,若R符合范式一 (1NF), 且其所有非主属性都完全函数依赖于候选关键字,则R为第二范式。 (消除部分函数依赖,除了联合唯一索引键的其他属性,完全依赖联合唯一索引键,)

第三范式(3NF)

设R为任一给定关系,若R为2NF, 且其每一个非主属性都不传递函数依赖于候选关键字,则R为第三范式。(消除传递函数依赖,表中的非主属性都是一个类型的数据)

 

posted on 2020-10-17 12:36  无信不立  阅读(771)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3