数据库设计(一)基本概念

yumo6661个月前 (04-04)技术文章15

数据库环境

数据库系统主要目的是为用户提供数据的抽象视图,而隐藏数据存储和操作的细节。设计的起点应该是将要存储到数据库中的信息的概要和一般描述,我们只对建模感兴趣,建模的三大要求:实体(员工、车辆)、属性(姓名)、联系(员工的车辆)。

ANSI-SPARC 三层体系结构

三层抽象,即描述数据的三个不同层次,包括外部层、概念层、内部层;

    • 外部层:用户从外部层观察数据;
    • 内部层:DBMS从内部层观察数据;
    • 概念层:提供内、外部的映射和必要的独立性。

三层体系结构的目的是将用户的数据库视图与数据的物理描述分离开。

模式、映射和实例

对数据库的整体描述称为数据库模式。模式为了三类,对应三层体系结构:

    • 外部层:为外部模式,也称子模式。
    • 概念层:为概念模式,描述所有的实体、属性和联系及其上的完整性约束。
    • 内部层:为内部模式,包含存储记录的定义、表示方法、数据域,还有使用的索引和散列方案。

一个数据库只有一个概念模式和一个内部模式。

数据库中的数据构成一个数据库实例。

数据独立性

三层结构是保证数据独立性,意味着较低层的修改不会对较高性造成影响,两种类型的独立性:逻辑数据独立性和物理数据独立性。

数据模型和概念建模

模式一般用于某种数据定义语言描述,会基于某个DBMS的数据定义语言编写。会存在数据需求不易被各类用户广泛理解,为了更高层次的模式描述,也就是数据模型。

数据模型:一组集成的概念,用于描述和操纵组织机构内的数据、数据间联系以及对数据的约束。

模型是对象和事件及其关联的表示。

数据模型由三个组件组成:

    1. 结构部分:由一组创建数据库的规则组成;
    2. 操纵部分:定义允许对数据进行操作的种类(包含更新和检索数据中的数据,以及修改数据库结构);
    3. 一组完整性约束:确保数据的准确性。

数据模型的目的是为了表示数据并使数据容易理解。

三层体系结构与数据模型的联系:

  • 外部数据模型:表示每一个用户对组织的视图,又称论域;
  • 概念数据模型:独立于DBMS的逻辑视图;
  • 内部数据模型:由DBMS理解的概念模式。

数据模型可分为三大类:基于对象的、基于记录的、基于物理的数据模型。

基于对象的数据模型

基于对象的数据模型用到实体、属性和联系的概念。

基于对象的数据模型有:

    • 实体 - 联系 (ER)模型
    • 语义模型
    • 函数模型
    • 面对对象模型

其中ER模型为数据库设计的重要技术之一。

基于记录的数据模型

数据库由若干不同类型的固定格式记录组成,每个记录类型有固定数量的字段,每个字段有固定的长度。基于有三类:

    • 关系数据模型
    • 网状数据模型
    • 层次数据模型

关系数据模型

数据和联系均以表格的形式表示,每个表格有若干具有唯一名称的列。

关系数据模型要求用户将数据库只看作表格,只适用于数据库的逻辑结构。

网状数据模型

数据被表示成一组记录,联系被表示成络。

层次数据模型

层数据模型规定一个节点只能有一个父节点。

物理数据模型

描述数据是如何存储在计算机中,涉及记录结构、记录顺序及访问路径等信息。最常见的是统一模型和帧存储。

概念模型

是数据库的核心,是一个建模过程,所建模表达了企事业单位所用信息,但不考虑所有实现的细节。

首先创建概念数据模型,然后再构成基于关系数据模型的逻辑模型。

相关文章

SQL——数据库基本概念

本文以MySQL数据库、以数据库管理工具DBeaver为例介绍数据库基本概念。数据库:数据库是一系列表的集合,表之间存在主外键关系。数据库通常指关系型数据库。表:表是由多个字段组成的用于存储数据的集合...

什么是数据库(DataBase)

【分享成果,随喜正能量】生命是一段匆匆而过的旅程,只有把握好每一天,才能拥有一个实实在在的美好人生。虽然世事总是不尽如人意,但我们要设法使自己适应现状,而不是设法使一切适合自己的心意。。 《VBA数据...

项目经验[类目]:数据库设计基础(一)

数据库架构研发是一个非常庞大的基础性工作,我主要是根据项目研发过程当中设计数据库的项目经验与大家做一下分享,分享议题主要由几个方面组成,数据库设计基础经验(一)、数据库设计原则设计经验(二)、数据库测...