数据库学习笔记(2)——数据库结构

本文深入探讨数据库系统结构,包括数据仓库、OLAP和数据挖掘的概念。从DBMS的角度出发,详细阐述了三层数据(外层、概念层、内层)和两层映射的原理。此外,还介绍了从终端用户视角看数据库,如单个用户、主从式结构、C/S架构和分布式数据库系统的特性。最后,讨论了数据库管理员的角色及其任务。
摘要由CSDN通过智能技术生成

hot topics

1. 数据仓库(Data Warehouse, DW)

(1)数据仓库是面向主题的(subject-oriented)、时变的(time-variant)、非易失的(non-volatile)、支持决策(decision-supporting)的数据集合,比如:customers, products, sales
数据库是面向应用(application-oriented)、支持业务的数据集合,比如:customer invoicing, stock control, product sales
(2)数据库的数据每时每刻都在更新,而数据仓库则是定时定刻更新,且数据是增加而非替换

2. 联机分析处理(Online Analytical Processing, OLAP)

大量多维数据的动态综合、分析、巩固

3. 数据挖掘(Data Mining)

数据量要足够大,挖掘出的数据是有效的、能被人们理解的、能够用于实践的

处理工具PT
数据整合, 清洗, 过滤
沉淀经验, 提取过滤
数据挖掘
数据挖掘
数据
信息,
商务智能, BI
知识K#最高层次
数据库
需要DW的支持

数据库和DW都是底层数据基础,数据挖掘是挖掘DB还是DW取决于任务(DB数据多;DW方面多,但每一方面的数据较DB少)

数据库系统结构——从DBMS角度

三层数据,两层映射

在这里插入图片描述

三层数据:
1.外层(external level):

a.单个用户视图,接用户,只有外层有多个view;
b.用户逻辑层,数据向用户展示的方式
c.不同用户使用不同语言:
应用编程人员使用编程语言,比如C++、Java等(需在其中嵌套SQL)
终端用户使用查询语言,以及应用端支持的特定目标的语言,所有这些语言都要包括DDL和DML

DDL(Data Definition Language):数据定义语言,用于描述数据库中要存储的现实世界实体的语言,常用关键字create, drop, alter, truncate等等

DML(Data Manipulation Language):数据操作语言,用于处理增删改查数据库记录,常用关键字insert, delete, update, select等等

DSL(Data Sublanguage):数据子语言,开发基于数据库支撑的信息系统,必须在主语言中嵌套子语言,子语言实现对库操作,主语言实现数据库之外的其他所有操作(用户界面、输入输出等)

2.概念层(conceptual level):

a.公共用户视图;
b.公共逻辑层,内外层相连的部分
c.概念层是完整的一份数据,是数据库中所有内容的一个表达
d.概念视图(conceptual view)由概念骨架(conceptual schema)决定,概念骨架包含了各种概念记录类型的定义,概念骨架由单个外部骨架+安全限制+聚合限制组成
e.概念骨架由概念层DDL编写

3.内层(internal level):

a.存储视图,接数据;
b.物理层,数据被物理储存的方式(内层=存储结构,但内层不能严格等价于物理层)
c.数据库的低层(非底层)表达
d.内存由内层骨架描述,由内层DDL编写
在这里插入图片描述

两层映射:

在这里插入图片描述
三层数据之间通过映射相连:

1.概念层-内层映射:

a.定义概念视图和存储的数据库之间的对应关系
b.是实现物理数据独立性的关键:如果更改了存储数据库的结构,则必须相应地更改概念层/内层映射,以便概念骨架保持不变。

2.外层-概念层映射:

a.定义特定外部视图和概念视图之间的对应关系。
b.字段可以具有不同的数据类型;字段和记录名称可以更改;几个概念字段可以组合成一个(虚拟)外部字段;
c.可以同时存在任意数量的外部视图;
d.不同用户都可以共享同一个给定的外部视图;
e.不同的外部视图数据可以有交叉;
f.是逻辑数据独立性的关键

3.外层-外层映射(并非所有系统都支持):

a.在最外层加的mapping
b.允许在查询结果上再做查询,而不必重新从数据库最底层查询

数据库系统结构——从终端用户角度

1. 单个用户

整个数据库系统,包括应用、DBMS和数据,全部在一台电脑上,被一个人使用,没有数据共享,应用较少

2. 主从式结构

主:主机,应用、DBMS和数据放在主机上
从:终端,终端只能做输入输出
在这里插入图片描述

3. C/S架构

S:server(服务器),支持基本DBMS功能
C:client(客户机),在DBMS之上运行的各种应用程序,包括用户编写的应用程序和内置应用程序(由DBMS供应商或第三方提供的应用程序),必须借助网络(可以是局部网,不一定是互联网)
C/S架构必须安装、升级,现用B/S架构更多

在这里插入图片描述
C/S架构中包含程序员写的应用(一般应用程序,由C, Java等编写),以及商家提供的应用(协助创建和执行其他应用程序,比如报表生成器等)

C/S架构的优缺点:
在这里插入图片描述

4. 分布式数据库系统

a.数据分布在多台服务器中,但可以集中相应以支持一个需求
b.适应了地理上分散的组织对于数据库应用的需求
c.数据分布存放给数据的处理、管理和维护带来了困难
d.系统效率会受到网络交通的制约
e.多用于跨国公司、集团公司等(地理上分散),分公司维护管理自己的数据,也可以获得其他公司的数据
f.用户可以不必要知道每一个单个服务器上的数据
在这里插入图片描述

数据库管理员

数据管理员(DA, Data Administrator):制定有关企业数据的战略和政策决策的人。
数据库管理员(DBA, Database Administrator):为实施DA提出的决策提供必要的技术支持的人。

DBA的任务:

在这里插入图片描述
DBA必须会使用SQL来写表的指令以实现DA的设计,用高级语言写源模式,用SQL实现转化;用内层DDL实现物理层的数据库设计,内层骨架和映射以目标模式和源模式存在
当客户不能通过application实现特定需求时,DBA需要在底层数据上创建一个view(隐去机密数据),使得普通用户可以在view上查询数据,view视图可以保护底层数据。
在这里插入图片描述
定义安全性和完整性约束,保障数据安全—>灾难预备计划(灾备计划)

数据库管理系统(Database Management System, DBMS)

  1. 数据库管理系统(DBMS)是处理所有对数据库访问的软件。
  2. 用户使用某些特定的数据子语言(通常是SQL)发出访问请求。
  3. DBMS截获该请求并进行分析。
  4. DBMS检查该用户的外部模式,相应的外部/概念映射,概念模式,概念/内部映射以及存储结构定义。
  5. DBMS对存储的数据库执行必要的操作。
DBMS的功能:
  1. 数据定义:
    a. 接受源模式的数据定义(外部模式,概念模式,内部模式以及所有关联的映射)。
    b. 将源模式转变为目标模式(通过DDL处理器或DDL编译器实现转变)

  2. 数据处理:
    a. 在数据库中对数据进行增删改查
    b. 包括DML处理器或DML编译器
    c. DML要求可以是:(1)计划内的需求(来自于业务层);(2)计划外的需求:通常来自于用户的application(决策层),通过查询语言处理器(写SQL语句的接口)让用户自己解决

  3. 优化和执行:优化器(optimizer),运行时间管理器(run-time manager,不允许时间过长)

  4. 数据安全性:通过授权指令来进行权限分配,比放在文件中更安全(指令由DBA写,由DBMS执行)

  5. 数据完整性:完整性数据约束,比如不能操作表中没有的数据

  6. 数据恢复:可以监控事务进程,如果没有完成,则恢复到初始状态(如取钱时ATM没有取出钱,则过程恢复到取钱之前的状态)

  7. 数据并发控制(锁机制):让冲突的需求得到控制
    在这里插入图片描述
    最主要的任务是数据定义和数据操作

DBMS和FMS:
FMS(File Management Systems): FMS是管理物理文件的底层管理系统,比DBMS更加靠近磁盘
DBMS建立在某种FMS之上
FMS的优点:用户可以创建和销毁存储的文件,并对这些文件中的存储记录执行简单的检索和更新操作
FMS的缺点:不了解存储记录的内部结构,无法处理依赖于该结构知识的请求;很少或几乎没有安全性及完整性约束;很少或几乎没有数据恢复和并发控制;无数据字典;很少的数据独立性;文件的集成或共享方式与数据库不同

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值