金沙棋牌app手机下载

当前位置:金沙棋牌 > 金沙棋牌app手机下载 > 数据库概论,数据库基础知识

数据库概论,数据库基础知识

来源:http://www.logblo.com 作者:金沙棋牌 时间:2019-11-09 19:48

三级模式(三级视图):

DBMS管理数据的三个层次

数据库概论

第2章 数据库系统概述

外模式(用户模式):某一用户能看到与处理的数据的结构描述(如图书馆管理员所看到的借阅记录之类);如图书管理系统中学生查询显示的借阅记录。

1. External Level = User Level

某一用户能够看到与处理的数据,全局数据中的某一部分

数据库语言

数据库操纵语言:DML
数据库定义语言:DDL
数据库控制语言:DCL

2.1 数据库(DB)

概念模式(全局模式):从全局角度理解/管理的数据的结构描述,含相应的关联约束。体现在数据之间的内在本质联系。(一张张table);如图书管理系统中图书管理员看到的全部数据。

2. Conceptual Level = Logical Level

从全局角度理解/管理的数据,含相应的关联约束

数据库标准模式

2.1.1 三级模式结构

内模式(物理模式):存储在介质上的数据的结构描述,含存储路径、存储方式和索引方式等;如图书管理系统中在服务器上储存的数据。

3. Internal Level = Physical Level

存储介质上的数据,含存储路径、存储方式、索引路径等

三级模式

外模式:某一用户能够看见的和处理的数据结构描述
概念模式:从全局角度理解/管理的数据结构的描述,含相应的关联约束体现在数据之间的内在本质联系
内模式:存储在介质上的数据的结构描述,存储路径,存储方式,索引方式

模式是数据库的抽象描述。

 

金沙棋牌app手机下载,模式(Schema)

对数据库中的数据所进行的一种结构性的描述,所观察到数据的结构信息

两层映像

  • E-C映像:将外模式映射为概念模式,从而实现数据概念视图向外部视图的转换,便于用户使用和观察
  • C-I映像:将概念视图映射为内模式,从而实现数据概念视图向内部视图的转化,便于计算机存储
模式的主体是数据模型。

两层映像:

视图

某一种表现形式下表现出来的数据库中的数据

两个独立性

  • 逻辑的独立性:当概念模式变化的时候,可以不改变外部模式只需要改变E-C,无需改变程序
    -物理的独立性:可以不改变概念模式只需要改变C-I,从而不改变外模式
模式的表示分为图示与语言描述

E-C Mapping:将外模式映射为概念模式,从而支持实现数据概念视图向外部视图的转换

三级视图

数据模型

数据模型:规定模式统一描述方式的模型,包括数据结构,操作,约束数据模型是对模式本身结构的抽象,模式是对数据本身结构的抽象。现在的数据库基本都是关系模型。

用语言书写的模式称为源模式。

C-I Mapping:将概念模式映射为内模式,从而支持实现数据概念视图向内部视图的转换

两层映像

关系模型

  1. 描述数据库各种数据的基本结构形式。(Table/Relation)
  2. 描述表与表之间可能发生的各种操作。(关系运算)
  3. 描述这些操作所应遵循的各种约束条件。(完整性约束)
把源模式翻译成机器代码,变为机器可使用的模式,称为目标模式。

 

1. E–C Mapping : External Schema-Conceptual Schema Mapping

——将外模式映射为概念模式,从而支持实现数据概念图向外部视图的转换

——便于用户观察和使用

关系

  1. 域(列):一组值的集合。这组值具有相同的数据类型。
  2. 元组(行):从每一个域中任取一个值所形成的一种组合。
  3. 笛卡尔积:所有可能元组的集合。
  4. 关系:笛卡尔积中具有意义的某些元组的集合。
  5. 属性名:每一列的名字
  6. 表:由关系集合和属性名构成
    关系模式是关系的结构,关系模式是稳定的,关系是关系模式某一时刻的数据,是随时间而变化的。(可以大致的理解为表示关系模式而每一组数据是关系)
数据库的结构分为外部级、概念级和内部级三级,每一级都有对应的模式,所以数据库的体系结构称为三级模式结构。

独立性:

2. C–I Mapping : Conceptual Schema-Internal Schema Mapping

——将概念模式映射为内模式,从而支持实现数据概念视图向内部视图的转换

——便于计算机存储和处理

关系模型的完整性(*)

  • 超键 : 关系中的一个属性组,其值能唯一标识这个元组,但是可能含有多余属性,去掉这个属性不影响其功能。
  • 候选键:关系中的一个属性组,其值能唯一标识这个元组,从其中去掉任何一个属性就不具备唯一标识这个元组的功能。即不含多余属性的超键,则称这个属性组为候选键
  • 主键:当有多个候选键的时候选取一个候选键作为主键,一般选取只有一个属性的候选键作为主键,主键不能为null。
  • 外键 :关系R中的一个属性组,他不是关系R的候选键,但是却和另一个关系Y的候选键相对应,称为外键,外键可以为null。
  • 主属性:包含在任何一个候选键中的属性被称为主属性。其他属性被称为非主属性。
概念模式(Conceptual Schema)

逻辑数据独立性:当概念模式改变时,可以不改变外部模式(只改变E-C Mapping),从而无需改变应用程序。

两个独立性?

三个完整性(*)

  • 实体完整性:关系中的主键不能为空值空值,不知道或者无意义的值。
  • 参照完整性:如果关系R的外键Fk和关系Y的主键Pk对应,则R中的每一个元组的Fk值或者等于Y中某个元组的Pk值,或者为空值。

例如,如果在学生表和选修课之间用学号建立关联,学生表是主表,选修课是从表,那么,在向从表中输入一条新记录时,系统要检查新记录的学号是否在主表中已存在,如果存在,则允许执行输入操作,否则拒绝输入,这就是参照完整性。
参照完整性还体现在对主表中的删除和更新操作,例如,如果删除主表中的一条记录,则从表中凡是外键的值与主表的主键值相同的记录也会被同时删除,将此称为级联删除;如果修改主表中主关键字的值,则从表中相应记录的外键值也随之被修改,将此称为级联更新。
要注意的是再建立表的时候设置联级更新的时候在外键约束上必须开启此操作[On delete cascade],否则将违反约束条件。

  • 用户自定义完整性
概念模式通常简称为模式,或全局视图,或DBA视图。

从某个角度看到的数据特性称为数据视图(View)。

物理数据独立性:当内部模式改变时,可以不改变概念模式(只改变C-I Mapping),从而无需改变外部模式。

1. 逻辑数据独立性

当概念模式发生变化时,可以不改变外部模式(只需要改变E-C Mapping),从而无需改变应用程序

范式和反范式(*)

概念模式是数据库中全部数据的整体逻辑结构的描述。

 

2. 物理数据独立性

当内部模式变化时,可以不改变概念模式(只需要改变C-I Mapping),从而不改变外部模式

函数依赖

简单来说函数依赖就是某个属性集决定另一个属性集时,称另一属性集依赖于该属性集。
例如:

一个关系:
U={学号,姓名,年龄,班级,班长,课号,成绩}
班号 -> 班长
学号,课号 -> 成绩
目的是为了把用户视图有机地结合成一个逻辑整体,统一地考虑所有用户的要求。

视图是外模式,包含E-C映像。

数据模型?模式?数据?

数据模式:  数据结构  操作  约束

完全函数依赖

例如:U={学号,姓名,年龄,班级,班长,课号,成绩}
{学号,课号} -> U             完全依赖
{学号,课号} -> 姓名         部分依赖

学号就可以确定姓名

模式数据描述语言(Schema Data Description Language,简称模式DDL)的作用就是用来书写数据库的概念模式,也称为数据定义语言(Data Definition Language)。

                  视图(外模式)View

三大经典数据模型

  1. 关系模型:表

  2. 层次模型:树

  3. 网状模型:图

传递依赖

例如:U={学号,姓名,年龄,班级,班长,课号,成绩}
学号->班号 ,班号->班长
学号-> 班长
外模式(External Schema)

                                  |

四个部分

第一范式

第一范式(1NF)是指数据库表的每一列都是不可分割的原子数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。

外模式又称为子模式(Subschema)或用户模式,或用户视图。

               基本表(全局模式)Base Table

第一部分 基本知识与关系模型

第二范式

若关系R(U)满足第一范式,且U中的每一个非主属性完全函数依赖于候选键,则称R(U)属于第二范式。
使用单值候选键可以有效的避免部分函数依赖

外模式是用户与数据库系统的接口,是用户用到的那部分数据(全局逻辑数据的子集)的描述。

                                  |

第二部分 数据库语言

第三范式

关系R的每一个非主属性既不部分函数依赖于候选码也不传递函数依赖于候选码。
满足范式的数据库设计可以有效的减少数据的非受控冗余,但是随之带来的问题就是表之间的管理变多了,在查寻数据的时候难免要关联多张表,加大了数据库的开销,所以在实际的应用中都是范式和反范式混合使用的。

外模式是模式的一个逻辑子集。

                             内模式

第三部分 数据建模与数据库设计

子查询(**查询优化很多都是基于此展开的)

in

表达式 [Not] in 子查询
语义:判断表达式的结果是否在子查询的结果之中

some

表达式 [<,>,<=,>=,<> ] some 子查询
语义:表达式值至少有一个结果和子查询结果的某一个值满足运算关系,则为真

all

表达式 [<,>,<=,>=,<> ] all 子查询
语义:表达式值结果和子查询所有值满足运算关系,则为真

exists

[not] exists 子查询
语义:子查询中有无结果存在

总结:
查询 最低 ,最高 等,一般使用 <=all ,>=all
查询 不是最低,不是最高使用 >some <some
查询 所有,没有 一般用 not exists

用户使用数据操纵语言(Data Manipulation Language,DML)对数据库的数据进行操作。

视图的特征:

第四部分 数据库管理系统实现技术

关系代数操作

并运算:子查询 Union [All] 子查询
交运算:子查询 Intersect[All] 子查询
差运算:子查询 Except[All] 子查询
通常情况下自动删除重复元组:不带All ,若要保留重复元组,则带ALL
在mysql中不支持差运算和交运算

外模式数据描述语言(External Schema Data Description Language,外模式DDL)也称子模式数据描述语言(Subschema Data Description Language,子模式DDL或SDDL),它的作用就是用来书写数据库的外模式。

1.视图是具有基本表的外观,可以像基本表一样对其进行存取,但视图不存储数据,故不占据物理存储空间;

连接操作

Inner join          内连接 
Left outer join      左外连接
Right outer join     右外连接
Full outer join      全外连接
Natural  join       自然连接

关于连接操作的区别:
连接操作的区别

内模式(Internal Schema)

2.视图是关系数据库系统提供给用户以多种角度观察数据中的数据的重要机制;

视图

在三级模式两级映射结构中对应概念模式的数据在SQL中被称为基本表 ,而对应外模式的的数据称为视图。视图不仅包含外模式还包含了其E-C映像。视图在SQL中只存储由其基本表导出视图所需的公式,即由基本表产生的视图映像信息,其数据并不存储,而是在运行过程中动态产生和维护的。对视图数据的更改最终要反应在对基本表的更改上。

内模式是数据库在物理存储方面的描述,也称为程序员视图,或存储视图。

位(Bit)、字节(Byte)、字(Word)、块(Block)。

3.视图能简化用户的操作对机密数据提供安全保护,为数据库重构提供一定的逻辑独立性。

数据库的数据是用一定的文件组织方式构造起来的一个个物理文件

 

内模式数据描述语言(Internal Schema Data Description Language,内模式DDL)的作用就是用来书写数据库的内模式。
三级模式结构的优点
接口简单,使用方便
实现数据共享
数据独立性强
数据安全性强
2.1.2 四种数据记录格式
物理记录
计算机内存与外存间进行一次数据交换的最小单位是一个物理记录。
物理记录的长度是由系统程序员决定的。
内部记录
内部记录不仅包含实际所需要的数据,还包含DBMS在管理数据时所需要的“系统数据”。
内部记录不等同于物理记录,也不涉及设备的约束。
概念记录
概念记录是模式的一个逻辑数据单位。
概念记录强调的是数据的逻辑结构
外部记录
外部记录即用户所需要的数据记录。
2.1.3 两层映射和两级数据独立性
映射(Mapping)
映射又称映像,它实质是一种对应规则,指出映射双方如何进行转换。
模式∕内模式映射
模式∕内模式映射定义模式与内模式之间的对应性,一般在内模式中描述的。
外模式∕模式映射
外模式∕模式映射定义外模式与模式之间的对应性,一般在外模式中描述的。
数据独立性
数据独立性是要维护数据与应用程序之间的无关性。
分类
物理数据独立性

如果数据库内部级的存储设备和存储方法有所变化,那么只需要对模式∕内模式映射做相应的修改,使概念模式尽可能地保持不变,进而使外模式和应用程序也保持不变。这样,称数据库达到了物理数据独立性。

逻辑数据独立性

如果数据库的概念模式需要进行修改,那么只需要对外模式∕模式映射做相应的修改,使外模式尽可能地保持不变,进而使应用程序也保持不变。这样,称数据库达到了逻辑数据独立性。

2.1.4 DBA及数据语言
数据库管理员(DBA)
DBA的主要任务
创建并维护模式
建立外模式
确定数据库的存储结构和访问策略
决定数据库的保护策略
监视系统的运作
DBA的主要工具
装载程序
重组织程序
工作日志
数据字典
数据语言
数据描述语言(DDL)
数据描述语言又称数据定义语言,用于描述和定义数据的各种特性。
分类

模式DDL:用于描述概念级的逻辑结构。

描述数据模型中各个数据逻辑单位的特征

描述各数据逻辑单位之间的联系

描述访问规则

外模式DDL:用于描述外部级数据的逻辑结构。

描述数据模型中各个数据逻辑单位的特征

描述各数据逻辑单位之间的联系

描述访问规则

内模式DDL:用于描述内部级数据的物理特征。

描述数据的存储结构

描述逻辑数据到物理数据的映射

数据操纵语言(DML)
DML是用户操作数据库中数据的工具。
分类依据

基于对数据的处理

存取数据为主的处理

检索(或查询)

更新(包括插入、删除、修改)

分析运算为主的处理

基于语言使用的形式

自含型DML:是一种同时具有描述存取数据处理和描述分析运算处理两方面功能的DML

嵌入型DML:自成一体,有专门的编译程序,由DBMS提供用户所需要的一切服务。又称宿主型DML,或数据子语言(Data Sub-Language,DSL)

基于过程性

过程性DML:早期层次、网状的DML

非过程性DML:关系型DML,简单易学,操作方便

数据库控制语言(Database Control Language,DCL):用于建立和维护数据库。
设备介质控制语言(Device Medium Control Language,DMCL):与操作系统接口的作用,它把数据库的数据映射到物理存储设备上。

2.2 数据库管理系统(DBMS)

DBMS是DBS的核心组成部分,是管理数据的综合性软件。
2.2.1 DBMS的主要功能及其组成
DBMS的主要功能
数据库的定义功能
定义数据库的外模式、模式和内模式三级模式及其两层映射。
定义数据的完整性和安全控制等约束。
数据库的操纵功能
DBMS提供DML及其相应的DML编译程序或解释程序,用户使用DML对数据库中的数据实施各种操作。
数据库的存储管理功能
检查用户访问数据是否合法
事务管理
把各种DML语句转换成OS的命令和参数,让OS执行相应的I/O操作。
管理系统缓冲区。
数据库的保护功能
数据库的恢复
数据库的完整性控制
数据库的并发控制
数据的安全性控制
数据库的维护功能
备份程序
性能监控程序
数据字典(Data Dictionary,DD)
DBMS把DDL所描述的各项内容从源形式转换成目标形式,存放在DD中供系统查阅。
DBMS的组成
语言处理部分
DDL编译程序
DML编译或解释程序
嵌入型DML预处理程序
终端访问命令解释程序
DCL解释程序
系统运行控制部分
系统总控程序
存储管理器
数据查询运行程序
管理DD的实用程序
安全性控制程序
通信控制程序
数据库的建立和维护部分
装载程序
工作日志程序
备份程序
性能监控程序
数据库重新组织程序
系统恢复程序
2.2.2 用户这DBMS查询数据的过程
图2.2 用户通过DBMS查询数据的过程
用户发出查询请求
DBMS确定外部记录
DBMS确定概念记录
DBMS确定内部记录
请求OS读物理记录
DBMS接收内部记录
DBMS提取概念记录
UWA接收外部记录
DBMS填写工作日志
DBMS填写状态码
用户分析查询结果

2.3 数据库系统(DBS)

2.3.1 DBS的组成
数据库(DB):一个结构化的数据集合
硬件:数据库赖以存在的物理设备。
软件:DBMS、OS、各种宿主语言和应用开发软件工具等。
数据库管理员(DBA):创建、监控和维护数据库,并使之始终处于最佳状态的技术人员。
2.3.2 DBS的主要特征
有很好的效益
数据集中控制
有很高的灵活性
方便程序设计和维护
有利推广标准化

备注:

《数据库技术基础与应用(第2版)》的豆瓣链接

本文由金沙棋牌发布于金沙棋牌app手机下载,转载请注明出处:数据库概论,数据库基础知识

关键词:

上一篇:没有了

下一篇:没有了