系统架构11 - 数据库基础(上)

数据库基本概念

概述

数据:是数据库中存储的基本对象,是描述事物的符号记录。
数据的分类:文本、图形、图像、音频、视频等。
数据库(DataBase,DB):是统一管理的、长期储存在计算机内的,有组织的相关数据的集合。其特点是数据间联系密切、冗余度小、独立性较高、易扩展,并且可为各类用户共享。一般主要指的是存储数据的各种物理设备以及数据本身。
数据库管理系统(DBMS)是数据库系统的核心软件,是由一组相互关联的数据集合和一组用以访问这些数据的软件组成。它的功能包括:
(1)实现对共享数据有效的组织、管理和存取
(2)包括数据定义、数据库操作、数据库运行管理、数据的存储管理、数据库的建立和维护等。
数据库系统 (DataBase System,DBS): 是一个采用了数据库技术,有组织地、动态地存储大量相关联数据,从而方便多用户访问的计算机系统。广义上讲,DBS包括了数据库管理系统(DataBase Management System,DBMS)。它由四部分组成:
(1)数据库:统一管理、长期存储在计算机内的,有组织的相关数据的集合。
(2)硬件:构成计算机系统包括存储数据所需的外部设备。
(3)软件:操作系统、数据库管理系统及应用程序。
(4)人员:系统分析和数据库设计人员、应用程序员、最终用户、数据库管理员DBA。

三级模式、两级映像

三级模式是指数据库管理系统从三个层次来管理数据,分别是外部层(ExternalLevel)、概念层(Conceptual Level)*和内部层(Internal Level)。
这这三个层次分别对应三种不同类型的模式,分别是外模式(External Schema)、概念模式(Conceptual Schema)和内模式(Internal Schema)。
在外模式与概念模式之间,以及概念模式与内模式之间,还存在映像,即二级映像
外模式:面向应用程序,描述用户的数据视图(View);
内模式(又称为物理模式、存储模式):面向物理上的数据库,描述数据在磁盘中如何存储;
概念模式(又称为模式、逻辑模式):面向数据库设计人员,描述数据的整体逻辑结构。

三级映像

概念模式

概念模式也称模式,是数据库中全部数据的逻辑结构和特征的描述,它由若干个概念记录类型组成,只涉及“型”的描述,不涉及具体的值。概念模式的一个具体值称为模式的一个实例,同一个模式可以有很多实例。概念模式反映的是数据库的结构及其联系,所以是相对稳定的;而实例反映的是数据库某一时刻的状态,是相对变动的。
需要说明的是,概念模式不仅要描述概念记录类型,还要描述记录间的联系、操作、数据的完整性和安全性等要求。
但是,概念模式不涉及存储结构、访问技术等细节。只有这样,概念模式才算做到了“物理数据独立性”。
概念模式类似于表格的列标题,它描述了商品表中包含哪些信息。表的横向称为行,纵向称为列,第一行就是列标题,用来描述该列的数据表示什么含义。
实际上,概念模式在数据库中描述的信息还有很多,如多张表之间的联系、表中每一列的数据类型和长度等。

外模式

外模式也称用户模式或子模式,是用户与数据库系统的接口,是用户需要使用的部分数据的描述。它由若干个外部记录类型组成。
用户使用数据操纵语言对数据库进行操作,实际上是对外模式的外部记录进行操作
在打开一个电子表格后,默认会显示表格中所有的数据,这个表格称为基本表
在将数据提供给其他用户时,出于权限、安全控制等因素的考虑,只允许用户看到一部分数据,或不同用户看到不同的数据,这样的需求就可以用视图来实现。

内模式

内模式也称存储模式,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。定义所有的内部记录类型、索引和文件的组织方式,以及数据控制方面的细节。
如,在将Excel表格另存为文件时,可以选择保存的文件路径、保存类型(如XLS、XLSX、CSV等格式)等,这些与存储相关的描述信息相当于内模式
在数据库中,内模式描述数据的物理结构和存储方式,如堆文件、索引文件、散列(Hash)文件等。

二级映像

三级模式是数据的三个抽象级别,每个级别关心的重点不同。
为了使三级模式之间产生关联,数据库管理系统在三级模式之间提供了二级映像功能
二级映像是一种规则,它规定了映像双方如何进行转换
通过二级映像,体现了逻辑物理两个层面的数据独立性。

逻辑独立性

外模式/概念模式映像体现了逻辑独立性。
逻辑独立性是指当修改了概念模式,不影响其上一层的外模式。
例如,将用户表的“姓名”和“年龄”拆分到另一张表中,此时概念模式发生了更改,但可以通过改变外模式/概念模式的映像,继续为用户提供原有的视图

物理独立性

概念模式/内模式映像体现了物理独立性。
物理独立性是指修改了内模式,不影响其上层的概念模式和外模式。例如,在Excel中将.xls文件另存为.xlsx文件,虽然更换了文件格式,但是打开文件后显示的表格内容一般不会发生改变。
在数据库中,更换更先进的存储结构,或者创建索引以加快查询速度,内模式会发生改变。此时,只需改变概念模式/内模式映像,就不会影响到原有的概念模式

数据库设计

数据库设计是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程
数据库设计的内容包括需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库的实施和数据库的运行和维护六大部分。
数据库设计

需求分析

分析数据存储的要求,产出物有数据流图、数据字典、需求说明书。获得用户对系统的三个要求:信息要求、处理要求、系统要求

概念结构设计

就是设计E-R图,也即实体-联系图。工作步骤包括:选择局部应用、逐一设计分E-R图、E-R图合并。分E-R图进行合并时,它们之间存在的冲突主要有以下3类:

  • 属性冲突。同一属性可能会存在于不同的分E-R图中。
  • 命名冲突。相同意义的属性,在不同的分E-R图上有着不同的命名,或是名称相同的属性在不同的分E-R图中代表着不同的意义。
  • 结构冲突。同一实体在不同的分E-R图中有不同的属性,同一对象在某一分E-R图中被抽象为实体而在另一分E-R图中又被抽象为属性。

逻辑结构设计

将E-R图,转换成关系模式。工作步骤包括:确定数据模型、将E-R图转换成为指定的数据模型、确定完整性约束和确定用户视图。

物理设计

步骤包括确定数据分布、存储结构和访问方式。

数据库实施阶段

根据逻辑设计和物理设计阶段的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行

据库运行和维护阶段

数据库应用系统经过试运行即可投入运行,但该阶段需要不断地对系统进行评价、调整与修改

数据模型

关系模型是二维表的形式表示的实体-联系模型,是将实体-联系模型转换而来的,经过开发人员设计的;
概念模型是从用户的角度进行建模的,是现实世界到信息世界的第一抽象,是真正的实体- 联系模型。
网状模型表示实体类型及其实体之间的联系,一个事物和另外几个都有联系,形成一张网。
面向对象模型是采用面向对象的方法设计数据库,以对象为单位,每个对象包括属性和方法,具有类和继承等特点。
数据模型三要素数据结构(所研究的对象类型的集合)、数据操作(对数据库中各种对象的实例允许执行的操作的集合)、数据的约束条件(一组完整性规则的集合)。

E-R模型

用E-R图来描述概念数据模型,世界是由一组称作实体的基本对象和这些对象之间的联系构成的。
在E-R模型中,使用椭圆表示属性(一般没有)、长方形表示实体、菱形表示联系,联系的两端要填写联系类型,示例如下图:
E-R图
实体:客观存在并可相互区别的事物。可以是具体的人、事、物或抽象概念。如人、汽车、图书、
账户、贷款。

  • 弱实体和强实体:弱实体依赖于强实体的存在而存在。
  • 实体集:具有相同类型和共享相同属性的实体的集合,如学生、课程。
    属性:实体所具有的特性。
  • 属性分类:简单属性和复合属性;单值属性和多值属性;NULL属性;派生属性。
  • 域:属性的取值范围称为该属性的域。
  • 码(key):唯一标识实体的属性集。
    联系:现实世界中事物内部以及事物之间的联系,在E-R图中反映为实体内部的联系和实体之间的联系。
  • 一对一(1 :1 )
  • 一对多(1 :N)
  • 多对多(M:N)

关系模型

关系模型中数据的逻辑结构是一张二维表,由行列组成。用表格结构表达实体集,用外键标识实体
间的联系。
优点:
(1)建立在严格的数学概念基础上;
(2)概念单一、结构简单、清晰,用户易懂易用;
(3)存取路径对用户透明,从而数据独立性、安全性好,简化数据库开发工作。
缺点:由于存取路径透明,查询效率往往不如非关系数据模型

模型转换

E-R模型转换为关系模型:
E-R图是全局的设计概念,不适合进行计算机处理,为了适应关系数据库的处理,必须将E-R图转为关系模型。
E-R图是由实体、属性和联系三要素组成,而关系模型只有一个结构,所以我们使用以下方式进行转换:每个实体都对应一个关系模型,实体名对应关系模型中的名称,实体属性对应关系模型的属性,实体标识符(联系)对应关系模型的码。

E-R图的联系

  • 1 :1 联系:联系可以放到任意的两端实体中,作为一个属性(要保证1 :1 的两端关联),也可以转换为一个单独的关系模式;
  • 1 :N联系:联系可以单独作为一个关系模式,也可以在N端中加入1 端实体的主键;
  • M:N联系:联系必须作为一个单独的关系模式,其主键是M和N端的联合主键。

关系代数

并:结果是两张表中所有记录数合并,相同记录只显示一次。
交:结果是两张表中相同的记录。
差:S1-S2,结果是S1表中有而S2表中没有的那些记录。

笛卡尔积:S1XS2,产生的结果包括S1和S2的所有属性列,并且S1中每条记录依次和S2中所有记录组合成一条记录,最终属性列为S1+S2属性列,记录数为S1*S2记录数。
投影(π):实际是按条件选择某关系模式中的某列,列也可以用数字表示。
选择(σ):实际是按条件选择某关系模式中的某条记录。

自然连接:显示全部的属性列,但是相同属性列只显示一次,显示两个关系模式中属性相同且值相同的记录。

相关推荐

  1. 系统架构12 - 数据库基础(下)

    2024-01-16 12:04:05       28 阅读
  2. 系统架构设计基础

    2024-01-16 12:04:05       22 阅读
  3. 架构-15】NoSQL数据库

    2024-01-16 12:04:05       12 阅读
  4. 系统架构设计基础知识

    2024-01-16 12:04:05       50 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-16 12:04:05       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-16 12:04:05       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-16 12:04:05       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-16 12:04:05       18 阅读

热门阅读

  1. 在vue中,切换页面之后如何关闭定时器

    2024-01-16 12:04:05       39 阅读
  2. C#学习笔记3-函数与单元测试

    2024-01-16 12:04:05       22 阅读
  3. Springboot启动后自动退出解决办法

    2024-01-16 12:04:05       34 阅读
  4. Linux中的numactl命令使用详解

    2024-01-16 12:04:05       30 阅读
  5. (程序员专用简历助手)Prompt提示词

    2024-01-16 12:04:05       33 阅读
  6. Linux 安装 Mysql5.7(glibc版)

    2024-01-16 12:04:05       33 阅读