数据库系统结构、数据库系统的组成

简介: 数据库系统结构、数据库系统的组成

考察数据库系统的结构,可以从不同的层次可角度进行

  • 数据库管理系统角度,数据库系统通常采用三级模式结构
  • 用户角度,分为单用户结构、主从式结构、分布式结构等

在数据模型中有“型”(Type)和“值(Value)”的概念。型是指对某一类数据的结构和属性的说明,值是型的一个具体赋值。


一、数据库系统的三级模式结构

1.模式(逻辑模式)

  • 数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
  • 一个数据库只有一个模式。
  • 定义模式时不仅要定义数据的逻辑结构,而且要定义数据之间的联系。

2.外模式(子模式、用户模式)

  • 它是数据库用户能够看到和使用的局部数据的逻辑结构和特征的描述
  • 是数据库用户的数据视图
  • 是与某一应用有关的数据的逻辑表示

3.内模式(存储模式)

  • 一个数据库只有一个内模式。
  • 它是数据物理结构和存储方式的描述
  • 是数据在数据库内部的组织方式。

二、数据库的二级映像功能

1.外模式/模式映像

当模式改变时,由数据库管理员对各个外模式/模式的映像作相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性。

2.模式/内模式映像

当数据库的存储结构改变时(例如选用了另一种存储结构),由数据库管理员对模式/内模式映像作出相应的改变,可以使模式保持不变,从而应用程序也不必修改,保证了数据与程序的物理独立性。

3.实际应用

用通俗的话来讲

  • 外模式体现的是数据的展现形式
  • 模式表现的是数据库里面怎样存储组织数据的
  • 内模式实际上是数据在物理磁盘中的存储,即物理结构

知道以上的功能后,可以看出

  1. 要将数据存储到数据库,或者要进行数据的读取,就要用到内模式/模式映像
    由DBMS实现数据的组织和磁盘空间的分配
  2. 用户要录入数据,或者查看数据时,就要用到外模式/模式映像
    从而以用户端的形式实现与用户的直接交互

三、数据库系统的组成—硬件平台

  1. 要有足够大的内存,存放操作系统、DBMS的核心模块、数据缓冲区和应用程序;
  2. 有足够的大的磁盘或磁盘阵列等设备存放数据库,有足够的磁带(或光盘)作数据备份;
  3. 要求系统有较高的通道能力,以提高数据传送率

四、数据库系统的组成—软件

数据库系统的软件主要包括:

  1. DBMS。DBMS是为数据库的建立、使用和维护配置的系统软件
  2. 支持DBMS运行的操作系统
  3. 具有与数据库接口的高级语言及编译系统,便于开发应用程序。
  4. 以DBMS为核心的应用开发工具
  5. 为特定应用环境开发的数据库应用系统

五、数据库系统的组成—人员

开发、管理和使用数据库系统的人员:

1.数据库管理员

数据库管理员(data basead ministrator,DBA)是指全面负责数据库系统的日常管理、维护和运行的人员。DBA处于终端用户与应用程序员之间,是数据库系统能否正常运转的关键,大型数据库系统需要设置专门的管理办公室。其职责是监督控制数据库的使用和运行,实施数据库系统的维护、改进和重组,开展信息社会化服务。

对于不同规模的数据库系统,用户的人员配置是不相同的。只有大型数据库系统才配备有应用程序员和数据库管理员。应用型微机数据库系统比较简单,其用户通常兼有终端用户和数据库管理员的职能,但必要时也应当兼有应用程序员的能力。

2.系统分析员、数据库设计人员

应用系统的分析和设计工作能力及业务水平,能指导系统设计师和高级程序员的工作的一族。在软件开发流程中主要从事需求分析、信息系统项目架构设计(包括概要设计和详细设计)、开发阶段的主要模块的规划、设计和测试,同时也涉及可行性分析的工作。英文system analyst,简称SA。 系统分析师(SA)是负责设计与开发应用软件系统.使其正确的反应出有效的信息,协助企业经营者管理、营运公司的运作者。系统分析师是抽象模型的建立者,他们需要专业的conceptionmodel(概念模型)知识和基础编程技巧。富有经验的系统分析师往往是优秀技术专家和项目管理者的结合体,他们精通系统论和控制论,擅长将杂乱无章的复杂性问题整理调顺,并将其模块化,从而使项目的实施走向成功。

3.应用程序员

应用程序员是负责设计和编制应用程序的人员。他们通常使用C语言、数据库语言或4GL(第四代语言)等来设计和编写应用程序,供终端用户使用。应用程序员不仅要求具有较高的技术专长,而且还要具备较深的资历,熟悉部门全部数据的性质和用途,兼有系统程序员、系统分析员的能力。其具体职责是:①决定数据库的内容和结构;②决定数据库的存储结构和存取策略,使数据的存储空间利用率和存取效率均较优;③定义数据的安全性要求和完整性约束条件;④根据终端用户的需要,设计和编制各种功能强劲的应用程序。

对于应用程序员而言,有两个重要的工具是必需的,一个是系列的实用程序(DBMS的装配、重组日志、恢复、统计等程序);另一个是数据字典(存储数据库结构的定义、记录类型和字段定义等信息)。数据库系统建立时,DBA还必须和系统分析员一起负责应用系统的需求分析和规范说明,确定系统的软硬件配置并参与数据库的设计

4.用户

数据库用户是管理、开发、使用数据库的主体。根据工作任务的差异,数据库用户通常可以分成偶然用户、简单用户和复杂用户。

相关文章
|
6月前
|
SQL 缓存 分布式数据库
【赵渝强老师】达梦数据库的线程结构
达梦数据库采用单进程、多线程结构,利用对称服务器架构实现高效资源利用与可扩展性。其核心线程类型包括监听线程(管理客户端连接)、I/O线程(处理数据页读写)、工作线程(执行数据操作)、调度线程(定时任务管理)和日志刷新线程(确保REDO日志刷盘)。通过合理分工与同步机制,达梦数据库实现了高性能与稳定性。视频讲解进一步详细介绍了各线程的功能与协作方式。
128 1
【赵渝强老师】达梦数据库的线程结构
|
6月前
|
存储 SQL NoSQL
【赵渝强老师】达梦数据库的逻辑存储结构
本文介绍了达梦数据库的存储结构,包括逻辑和物理存储两部分。逻辑存储结构由数据库(Database)、表空间(Tablespaces)、段(Segments)、簇(Cluster)和页(Page)组成。数据库是最大逻辑单元,包含所有表、索引等;表空间由数据文件组成,用于存储对象;段由簇构成,簇包含连续的数据页;页是最小存储单元。文中还提供了查询表空间、段和页大小的SQL语句,并附有视频讲解和示意图。
218 7
|
7月前
|
数据管理 关系型数据库 MySQL
数据管理服务DMS支持MySQL数据库的无锁结构变更
本文介绍了使用Sysbench准备2000万数据并进行全表字段更新的操作。通过DMS的无锁变更功能,可在不锁定表的情况下完成结构修改,避免了传统方法中可能产生的锁等待问题。具体步骤包括:准备数据、提交审批、执行变更及检查表结构,确保变更过程高效且不影响业务运行。
342 2
|
6月前
|
SQL 存储 缓存
【赵渝强老师】达梦数据库的内存结构
本文介绍了达梦数据库管理系统的内存结构,包括内存池、缓冲区、排序区和哈希区。内存池分为共享内存池和运行时内存池,能够提高内存申请与释放效率,并便于监控内存使用情况。缓冲区涵盖数据缓冲区、日志缓冲区、字典缓冲区和SQL缓冲区,用于优化数据读写和查询性能。排序区和哈希区分别提供排序和哈希连接所需的内存空间,通过合理配置参数可提升系统效率。文内附有具体配置示例及视频讲解,帮助用户深入理解达梦数据库的内存管理机制。
147 0
|
6月前
|
存储 SQL 安全
【赵渝强老师】达梦数据库的物理存储结构
本文介绍了达梦数据库的存储结构及各类物理文件的作用。达梦数据库通过逻辑和物理存储结构管理数据,包含配置文件(如dm.ini、sqllog.ini)、控制文件(dm.ctl)、数据文件(*.dbf)、重做日志文件(*.log)、归档日志文件、备份文件(*.bak)等。配置文件用于功能设置,控制文件记录数据库初始信息,数据文件存储实际数据,重做日志用于故障恢复,归档日志增强数据安全性,备份文件保障数据完整性,跟踪与事件日志辅助问题分析。这些文件共同确保数据库高效、稳定运行。
210 0
|
Oracle 关系型数据库 数据库连接
|
3月前
|
人工智能 运维 关系型数据库
数据库运维:mysql 数据库迁移方法-mysqldump
本文介绍了MySQL数据库迁移的方法与技巧,重点探讨了数据量大小对迁移方式的影响。对于10GB以下的小型数据库,推荐使用mysqldump进行逻辑导出和source导入;10GB以上可考虑mydumper与myloader工具;100GB以上则建议物理迁移。文中还提供了统计数据库及表空间大小的SQL语句,并讲解了如何使用mysqldump导出存储过程、函数和数据结构。通过结合实际应用场景选择合适的工具与方法,可实现高效的数据迁移。
556 1
|
4月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
3月前
|
SQL 关系型数据库 MySQL
Go语言数据库编程:使用 `database/sql` 与 MySQL/PostgreSQL
Go语言通过`database/sql`标准库提供统一数据库操作接口,支持MySQL、PostgreSQL等多种数据库。本文介绍了驱动安装、连接数据库、基本增删改查操作、预处理语句、事务处理及错误管理等内容,涵盖实际开发中常用的技巧与注意事项,适合快速掌握Go语言数据库编程基础。
201 62

热门文章

最新文章