精华内容
下载资源
问答
  • Oracle 数据库体系结构

    2018-11-17 15:52:03
    数据库与实例 数据库存储结构 数据库实例结构 应用及网络体系结构 文章翻译源于 Oracle Database Database Concepts, 18c。 数据库服务器是现代信息系统的一个关键组件。

    文章翻译源于 Oracle Database Database Concepts, 18c

    数据库服务器是现代信息系统中的一个关键组件。

    通常而言,服务器能够可靠地管理多用户环境中的大量数据,为用户提供并发的数据访问。数据库服务器同时能够阻止未授权的访问,并提供有效的故障恢复方案。

    数据库与实例

    一个 Oracle 数据库服务器(database server)由一个数据库(database)以及至少一个数据库实例(database instance,通常简称实例)组成。正是由于实例和数据库之间的关系如此紧密,Oracle database 有时候同时表示实例和数据库。

    严格来说,这些术语的意义如下:

    • 数据库(Database)

      数据库代表磁盘上的一组文件,用于存储数据。这些文件可以独立于实例而存在。

    • 数据库实例(Database instance)

      实例是一组内存结构,用于管理数据库文件。实例由一个称为系统全局区(SGA)的共享内存区域以及一组后台进程组成。实例可以独立于数据库文件而存在。

    下图显示了一个数据库和它的实例。对于每个连接到实例的用户连接,客户端进程负责运行应用程序。每个客户端进程与自己的服务器进程关联。服务器进程拥有自己的私有会话内存,称为程序全局区(PGA)。
    Oracle Instance and Database
    图 1-1 Oracle 实例与数据库

    图中 SGA 包括数据库缓冲区高速缓存(Database Buffer Cache)、重做日志缓冲区(Redo Log Buffer)、共享池(Shared Pool)、大池(Large Pool)、固定 SGA(Fixed SGA)、Java 池(Java Pool)以及流池(Streams Pool)。SGA 右边是后台进程:PMON、SMON、RECO、MMON、MMNL 等。SGA 下边也是后台进程:DBWn、CKPT、LGWR、ARCn 以及 RVWR。再往下是 PGA 和服务器进程。服务器进程和客户端进程相互连接。客户端进程右边是数据库文件(数据文件、控制文件以及在线重做日志)、归档重做日志以及闪回日志。

    虽然严格来说,一个 Oracle 数据库就是一组物理结构(文件和内存结构),应用程序可以与一个物理数据库中的多个逻辑数据库进行交互,也可以与跨越多个物理数据库的一个逻辑数据库进行交互。

    本节包含以下主题:

    • 多租户体系结构
    • 分片系统结构

    多租户体系结构

    多租户体系结构(multitenant architecture)使得 Oracle 数据库能够成为一个多租户容器数据库(CDB)。

    一个非 CDB 表示传统的 Oracle 数据库,不能包含可插拔数据库(PDB)。一个 CDB 表示一个物理数据库,可以包含零个、一个或者多个用户创建的可插拔数据库。一个可插拔数据库(PDB)是一个包含模式、模式对象以及非模式对象的可移动的集合,对于 Oracle Net 客户端而言,它就像一个传统的非 CDB。

    注意:CDB 与 非 CDB 的体系结构不同,除非特定指出,本手册主要介绍非 CDB 的体系结构。

    多租户体系结构的优势

    多租户体系结构解决了传统的非 CDB 结构带来的诸多问题。

    大型企业往往需要成百上千个数据库,它们通常运行在许多物理服务器中的不同平台之上。现代服务器能够处理更多的负载。数据库可能只利用了一部分的服务器硬件能力。这种方式即浪费了硬件,又浪费了人力。

    多租户体系结构通过将不同计算机上的多个物理数据库进行合并,整合为单个计算机上的单个数据库,带来了以下优势:

    • 降低了硬件成本
    • 更加简单快速地移动数据和代码
    • 更加简单地管理和监控物理数据库
    • 数据和代码的分离
    • 管理员职责分离,PDB 管理员值管理授权的 PDB,CDB 管理员管理整个 CDB

    同时,也为可管理性带来了以下优势:

    • 通过 PDB 的插拔操作,数据和代码的升级更加简单
    • 测试更加简单,在开发环境中使用 PDB,测试完成后将它们插入到生产环境中的 CDB
    • 支持将单个 PDB 闪回到之前的 SCN
    • 允许在 PDB 级别设置内存和 I/O 的性能限制
    • 能够在一个应用容器(application container)内安装、升级和管理一个总体的应用(application),应用容器包含一组插入到应用根容器(application root)中的 PDB。

    数据库合并

    数据库合并(Database consolidation)是将一个或多个非 CDB 中能够的数据迁移到一个 CDB 中的一般过程。

    从 Oracle Database 12c 开始,创建数据库时必须指定创建 CDB 还是非 CDB。可以将一个传统的非 CDB 作为 PDB 插入到 CDB 中。PDB/非 CDB 兼容性保证意味着对于使用 Oracle Net 进行连接的客户端而言,PDB 和 非 CDB 一样。

    下图显示了两个独立的非 CDB:hr 和 sales。每个非 CDB 位于独立的服务器,拥有各自的内存和数据库文件。每个非 CDB 拥有专用的应用程序。
    Non-CDBs
    图 1-2 非 CDB

    接下来是合并到一个叫做 MYCDB 的容器数据库之后的结构图。
    Consolidation of Non-CDBs into a CDB
    图 1-3 合并非 CDB 到 CDB

    从物理上来说,MYCDB 是一个 Oracle 数据库。 MYCDB 拥有一个数据库实例(在 Oracle Real Application Clusters 环境中可以存在多个实例)以及一组数据库文件,这些和非 CDB 一样。

    MYCDB 包含两个 PDB:hrpdb 和 salespdb。如图 1-3 所示,这些 PDB 对于它们的应用程序而言,与合并之前没无差别。管理 CDB 或者其中的任何 PDB 时,CDB管理员可以连接到 CDB 根容器(root),它包含了一组模式、模式对象以及非模式对象的集合,所有的 PDB 都属于该容器。

    应用容器

    从 Oracle Database 12c Release 2 (12.2) 开始,用户可以创建应用容器(application container),用于存储一个或多个应用模型(application model)的数据和元数据。

    应用(也称为应用模型)是存储在应用根容器(application root)中,一个命名的版本化的公共数据和元数据集合。例如,应用模型可以包含表、视图、用户帐户以及PL/SQL 包的定义,这些公共对象为一组 PDB 所共享。

    某种程度而言,一个应用容器就是 CDB 中与某个应用相关的 CDB。应用容器和 CDB 一样可以包含多个应用 PDB,并且共享 PDB中 的数据和元数据。

    例如,一个 SaaS 部署可以使用多个应用 PDB,每个客户分配一个 PDB,它们共享应用的数据和元数据。比如,下图中 sales_app 是应用根容器中的应用模型。应用 PDB cust1_pdb 只包含客户 1 的销售数据,cust2_pdb 只包含客户 2 的销售数据。可以针对单独的客户 PDB 执行插入、拔出、复制以及其他的 PDB 级别的操作。
    SaaS Use Case
    图 1-4 SaaS 案例

    分片系统结构

    Oracle 分片(Sharding)是一种数据库扩展技术,它基于跨数据库的水平数据分区。对于应用程序而言,这些分片的数据库整体就像是一个逻辑上的数据库。

    Sharding 对于 OLTP 应用主要的好处包括线性可扩展性、故障隔离以及地理数据分布。Sharding 非常适合云端部署。与支持分片的 NoSQL 数据存储不同的是,Oracle Sharding 既提供了分片的优势,同时又不需要牺牲企业级 RDBMS 的功能。

    在分片体系结构中,每个数据库都位于专用的服务器上,用于各自的本地资源:CPU、内存、闪存或者磁盘。其中的每个数据库都是一个分片(shard)。所有的分片共同组成一个逻辑的数据库,称为分片数据库(SDB)。

    水平分区将数据库中的表分割到各个分片中,每个分片包含相同的列,以及数据行的不同子集。以这种方式分割的表被称为分片表(sharded table)。

    下图显示了一个被三个节点水平分割的分片表。
    Horizontal Partitioning of a Table Across Shards
    图 1-5 跨分片的水平分区表

    一种使用场景就是跨多个物理数据库分布式存储客户的帐户数据。例如,ID 为 28459361 的客户需要查找他的记录。下图显示了一种可能的架构。客户的请求通过一个连接池进行路由,sharding directors(网络监听器)将该请求分发到合适的分片, 该分片包含了该客户的所有数据。
    Oracle Sharding Architecture
    图 1-6 Oracle 分片体系结构

    数据库存储结构

    数据库可以从物理角度和逻辑角度进行分析。

    物理数据是从操作系统层面可见的数据。例如,操作系统工具如 Linux 下的 ls 和 ps 能够显示数据库文件和进程。逻辑数据,例如表,只对数据库而言具有意义。SQL 语句能够查看 Oracle 数据库中的表,但是操作系统工具无法查看。

    数据库存储物理结构和逻辑结构。由于物理结构和逻辑结构相互独立,用户可以管理数据的物理存储,而不会影响逻辑存储结构的访问。例如,重命名一个数据库文件不会修改存储在文件中的表的名称。

    物理存储结构

    数据库的物理结构是指存储数据的文件。

    当管理员执行一个 CREATE DATABASE 语句时,将会创建一些文件:

    • 数据文件

      每个数据库包含一个或多个物理数据文件(data file),它们存储了数据库中所有的数据。数据库逻辑结构中的数据,例如表和索引,存储在这些物理文件中。

    • 控制文件

      每个 Oracle 数据库包含一个控制文件(control file)。控制文件中存储了描述数据库物理结构的元数据,包括数据库名称以及数据库文件的名称和位置。

    • 在线重做日志文件

      每个数据库包含一个在线重做日志(online redo log),它包含两个或更多在线重做日志文件组。在线重做日志由重做日志项(也称为重做日志记录)组成,其中记录了针对数据的所有变更。

    除此之外,还有一些其他的文件,对于 Oracle 数据库也非常重要。其中包括参数文件和网络配置文件。备份文件和归档日志文件是一些离线的文件,对于备份和恢复至关重要。

    逻辑存储结构

    逻辑存储结构使得 Oracle 数据库能够对磁盘的使用进行细粒度控制。

    逻辑存储结构包括:

    • 数据块

      从最细粒度来说,Oracle 数据库中的数据存储在数据块(data block)中。一个数据块对应于磁盘上的特定数量的字节。

    • 一个区(extent)是逻辑上连续的一定数量的数据块,通过一次分配获取,用于存储特定类型的信息。

    • 段(segment)是为用户对象(例如表或索引)、回滚数据或者临时数据分配的一组区。

    • 表空间

      一个数据库逻辑上由多个表空间(tablespace)组成。表空间是段的逻辑容器。每个表空间至少包含一个数据文件。

    数据库实例结构

    Oracle 数据库通过一些内存结构和进程来管理和访问数据库。所有的内存结构都位于数据库服务器的主存中。

    当应用程序连接到 Oracle 数据库时,它们实际上是连接到数据库的实例上。实例为连接分配 SGA 之外的其他内存区域,并且启动后台进程之外的其他服务器进程。

    Oracle 数据库进程

    进程(process)是操作系统中能够执行一系列操作的机制。某些操作系统使用其他的术语,包括作业(job)、任务(task)或者线程(thread)。

    在本节内容中,线程等价于进程。一个 Oracle 数据库实例包含以下进程:

    • 客户端进程

      这些进程用于运行应用程序代码或者 Oracle 工具。通常客户端进程来自于多个不同的计算机。

    • 后台进程

      这些进程代替 Oracle 服务器进程完成各种数据库操作。后台进程异步地执行 I/O 操作,并且监控其他 Oracle 数据库进程,提供了更高的并发,获得了更好的性能和可靠性。

    • 服务器进程

      这些进程用于和客户端进程通信,并且和 Oracle 数据库进行交互,完成各种请求操作。

    Oracle 进程包括服务器进程(server process)和后台进程(background process)。在大多数情况下,Oracle 进程和客户端进程运行在不同的计算机上。

    实例内存结构

    Oracle 数据库为程序代码、数据共享以及用户私有数据区域创建不同的内存结构。

    数据库实例涉及以下内存结构:

    • 系统全局区(SGA)

      SGA 是一组共享的内存结构,包含了一个数据库实例的数据和控制信息。SGA 组件包括数据库缓冲区高速缓存(database buffer cache)和共享的 SQL 区域等等。从 Oracle Database 12c Release 1 (12.1.0.2) 开始, SGA 可以包含一个可选的内存列存储(IM 列存储),支持数据在内存中按照列的方式存储。

    • 程序全局区(PGA)

      PGA 是一个内存区域,用于存储服务器进程或后台进程的数据和控制信息。只有所属的进程才能够访问相应的 PGA。每个服务器进程和后台进程都拥有自己的 PGA。

    应用及网络体系结构

    为了充分利用计算机系统或网络的能力,Oracle 数据库将整个处理流程划分为数据库服务器和客户端程序两部分。运行 RDBMS 的计算机完成数据库服务器的职责,运行应用程序的计算机负责解释和显示数据。

    应用体系结构

    应用体系结构(application architecture)是指连接到 Oracle 数据库的应用程序所在的计算环境。两种最常见的数据库体系结构就是客户端/服务器(C/S)和多层结构。

    • 在客户端/服务器结构中,客户端发起一个操作请求到数据库服务器。

      服务器运行 Oracle 数据库软件,完成并发的共享数据访问操作。服务器接收并处理客户端的请求。

    • 在传统的多层结构中,一个或者多个应用服务器承担一部分数据操作。

      应用服务器(application server)包含大量业务量逻辑,为客户端提供数据访问,并且执行一些查询的处理工作。这种方式下,数据库的负载得以减轻。应用服务器可以作为客户端和各种数据库之间的接口,并且提供多一层的安全。

    面向服务架构(SOA)是一种多层体系结构,应用的功能封装在服务中。SOA 服务通常作为 Web services 来实现。Web services 可以通过 HTTP 进行访问,采用基于 XML 的标准发送数据,例如网络服务描述语言(WSDL)和 SOAP。

    Oracle 数据库可以在传统的多层结构或 SOA 环境中扮演一个 Web service 提供者。

    Oracle 网络体系结构

    Oracle 网络服务(Oracle Net Services)是数据库和网络通信协议之间的一个接口,支持分布式处理和分布式数据库。

    通信协议定义了数据在网络上传输和接受的方式。Oracle 网络服务支持所有主要的网络协议,包括TCP/IP、HTTP、FTP 以及 WebDAV。

    Oracle Net 是 Oracle 网络服务的一个组件,用于建立和维护客户端与数据库服务器之间的网络会话。在网络会话建立之后,Oracle Net 继续扮演客户端应用和数据库服务器之间的数据信使,为它们完成信息的交换。Oracle Net 之所以能够完成这些操作,是因为它存在于网络中的每个计算机之上。

    一个重要的网络服务组件就是 Oracle Net Listener(称为监听器),它是一个位于数据库服务器或者网络中其他位置的进程。客户端应用将连接请求发送到监听器,监听器管理这些数据库请求。连接建立之后,客户端与数据库直接进行通信,不再通过监听器。

    最常见的Oracle 数据库服务配置方式包括:

    • 专用服务器模式

      每个客户端进程连接到一个专用的服务器进程。服务器进程在客户端会话期间不被任何其他客户端共享。每个新的会话都会分配一个专用的服务器进程。

    • 共享服务器模式

      数据库为多个会话创建一个共享服务器进程池。客户端进程与调度器(dispatcher)进行通信,它支持多个客户端连接到同一个数据库实例,而不需要为每个客户端分配一个专用的服务器进程。

    展开全文
  • 数据库系统体系结构(模式结构)

    千次阅读 2006-11-10 22:13:00
    站在不同的角度或不同层次上看数据库系统体系结构也不同1) 站在最终用户的角度看,数据库系统体系结构分为集中式、分布式、C/S(客户/服务器)和并行结构: 集中式数据库体系结构:将DBMS软件、所有用户数据和应用...

    站在不同的角度或不同层次上看数据库系统体系结构也不同

    1) 站在最终用户的角度看,数据库系统体系结构分为集中式、分布式、C/S(客户/服务器)和并行结构:
    集中式数据库体系结构:将DBMS软件、所有用户数据和应用程序放在一台计算机(作为服务器)上,其余计算机作为终端通过通信线路向服务器发出数据库应用请求,这种网络数据库应用系统称为集中式数据库体系结构。
    客户/服务器(C/S式DBS是在客户/服务器计算机网络上运行的DBS,这个计算机网络中,有一些计算机扮演客户,另一些计算机扮演服务者(即客户机/服务器)。客户/服务体系结构的关键在于功能的分布。一些功能放在客户机(前端机)上运行,另一些功能则放在服务器(后端机)上执行。
    分布式数据库是将分散存储在计算机网络中的多个节点上的数据库在逻辑上统一管理。它是建立在数据库技术与网络技术发展的基础之上的。最初的数据库一般是集中管理的,随着网络的扩大,增加了网络的负荷,对数据库的管理也困难了。分布式则可克服这些缺点。分布式数据库可供地理位置分散的用户共享彼此的数据资源。
    并行结构数据库系统:是多个物理上连在一起的CPU,而分布式系统是多个地理上分开的CPU。各个承担数据库服务责任的CPU划分它们自身的数据,通过划分的任务以及通过每秒兆位级的高速网络通信完成事务查询。
     
    2) 站在数据库管理系统的角度看,数据库系统体系结构一般采用三级模式结构:外模式、概念模式和内模式构成:
    概念模式,亦称模式。是数据库的总框架。描述数据库中关于目标存储的逻辑结构和特性,基本操作和目标与目标及目标与操作的关系和依赖性,以及对数据的安全性、完整性等方面的定义。所有数据都按这一模式进行装配。概念模式由概念模式描述语言DDL来进行描述。
    外模式,亦称子模式。是数据库用户的数据视图。它属于概念模式的一部分,描述用户数据的结构、类型、长度等。所有的应用程序都是根据外模式中对数据的描述而不是根据概念模式中对数据的描述而编写的。在一个外模式中可以编写多个应用程序,但一个应用程序只能对应一个外模式。根据应用的不同,一个概念模式可以对应多个外模式,外模式可以互相覆盖。外模式由外模式描述语言SDDL进行具体描述。
    内模式亦称存储模式。是对数据库在物理存储器上具体实现的描述。它规定数据在存储介质上的物理组织方式、记录寻址技术,定义物理存储块的大小,溢出处理方法等。与概念模式相对应。内模式由数据存储描述语言DSDL进行描述。

    展开全文
  • 数据库体系结构

    千次阅读 2019-03-01 09:38:25
    数据库体系结构1、数据库的三级模式结构1.1、模式1.2、外模式1.3、内模式2、三级模式之间的映射2.1外模式/模式映射2.2模式/内模式映射 1、数据库的三级模式结构 数据库系统的三级模式结构是指模式、外模式、内模式...

    1、数据库的三级模式结构

    数据库系统的三级模式结构是指模式、外模式、内模式。下面分别介绍:

    1.1、模式

    模式也称逻辑模式或概念模式,是数据库中全体数据的逻辑结构和特征的描述。是所有用户的公共数据视图。一个数据库只有一个模式。模式处于三级结构的中间层。定义模式时不仅要定义数据的逻辑结构、而且要定义数据之间的联系,定义与数据有关的安全性、完整性要求。

    1.2、外模式

    外模式也称用户模式、它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。外模式是模式的子集,一个数据库可以有多个模式

    1.3、内模式

    内模式也称存储模式、一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。

    2、三级模式之间的映射

    为了能在在内部实现数据库的三个抽象层次的联系和转换,数据库管理系统在三级模式之间提供了两层映射,分别是外模式/模式映射和模式/内模式映射,下面分别介绍:

    2.1外模式/模式映射

    对于同一个模式可以有任意多个外模式,对于每一个外模式,数据库系统都有一个外模式/模式映射。当模式被改变时,数据库管理员对各个外模式/模式映射做出相应的改变,可以使外模式保持不变。这样,依据数据外模式边写的应用程序就不用修改,保证了数据与程序的逻辑独立性。

    2.2模式/内模式映射

    数据库只有一个模式和一个内模式、所以模式/内模式的映射是唯一的,它定义了数据库的全局逻辑结构与存储结构之间的对应关系。当数据库的存储结构被改变时,数据库管理员对模式/内模式映射做相应的改变、可以使模式保持改变,应用程序相应地也不做变动。这样保证了数据与程序的独立性。

    展开全文
  • 数据库复习CH2 数据库体系结构和关系系统

    数据库复习

    CH2 数据库体系结构

    2.1 数据库体系结构层次

    数据库体系结构可以分成3个层次:

    • 外部层次
    • 概念层次
    • 内部层次

    外部层次是指每个用户用不同的高级语言来访问数据库所面对的接口,概念层次数据库信息的表示以及模的式定义(包括安全性和完整性约束等等),而内部层次就是的存储表示(非物理记录也非机器相关),数据库的设计需要保证这三个层次之间的独立性:

    • 概念层和内部层之间物理数据的独立性
    • 外部层和概念层之间逻辑数据的独立性

    2.2 DBA和DBMS

    DBA(数据库管理员)必须很好的了解企业的数据资源以及企业需求,除此之外DBA还有一下职责:

    • 数据库模式定义(数据库逻辑设计)
    • 存储结构和访问方法
    • 物理组织以及修改方法
    • 用户访问控制
    • 完整性约束
    • 监测数据库性能
    • 和用户保持沟通

    DBA要完成这么多工作必须借助于DBMS(数据库管理系统),我们可以从两个方面来看待什么是DBMS

    DBMS首先是一个软件系统,它能够满足以下数据库需求:

    • 数据定义
    • 数据修改
    • DML(数据操作语言)请求
    • 查询优化
    • 数据安全性
    • 数据完整性
    • 数据并发
    • 数据恢复
    • 性能

    其次DBMS还是一个文件系统

    2.3 数据库应用架构

    数据库应用有两种典型的结构,C/S架构(客户机-服务器架构)、B/S架构(浏览器-服务器架构),现今的应用也是逐渐由C/S架构发展到B/S架构

    C/S架构中用户要么通过数据库应用直接和DBMS打交道获取数据库服务,要么通过网络连接到数据服务器,由数据库服务器完成和DBMS的交互

    然而在如今Web应用的大力发展下,诞生了新型的多层次B/S架构数据库应用:

    • 用户通过Web浏览器和服务器交互
    • Web服务器响应用户操作并把用户请求转达给应用服务器
    • 应用服务器完成系统的业务逻辑,把用户请求翻译成数据请求送达数据库服务器,并且把数据请求反馈给Web服务器
    • 数据库服务器运行DBMS,直接和数据库交互

    CH3 关系系统

    3.1 关系

    我们把现实世界中的实体之间的联系抽象成表(Table)的形式,就叫做关系

    (1)表结构

    如下一张记录客户信息的表就是我们所说的关系:

    Customer:

    name:Namestreet:Streetcity:City
    JonesNorthHarrison
    SmithNorthRye
    LindsayParkPittsfield

    对于关系我们有很多术语:

    • 域Domain:Domain是指属性的数据类型以及这些数据类型所匹配的运算操作,数据属性可以是系统提供的,也可以是用户定义的
    • 属性/字段Attribute:属性就是表的列数据所代表的统一的现实世界中的含义,Customer表中name、street和city就是该表的属性
    • 元组Tuple:Tuple是表中一行数据的集合,它表示一条完整的关系记录,如Customer表中(Jones, North, Harrison)就是一个元组
    • 基数Cardinality:表中元组的个数
    • 度Degree:表中属性的个数

    C.J.Date这本书中定义了两个作用于类型的操作符:

    • Selector:允许用户声明或选择这种类型的值
    • THE_:允许用户访问这些值的组成

    (这里还不是很理解)

    (2)关系变量

    关系是一张表,表头是断言(或者叫恒真函数),那么表中每个元组就是一个真命题,C.J.Date把表头断言叫做关系,而把关系的实例——这些元组的集合叫做关系变量(RELVARS)

    关系变量是变化的,因为表中的数据随时都可能发生更改,有两种关系变量:

    • 基本关系变量:元组的集合描述的就是实际的基本关系
    • 视图:是基于基本关系的一种抽象元组表示(我一直把视图理解为,我们有很多基础表,但展现出来的不一定是完整的基础表,而是某个业务逻辑需要的子关系[视图],这些子关系可以是基本表的Restrict和Project,也可以是多张基本表的Join)

    (3)目录/字典

    C.J.Date用术语目录(Catalog)或字典(Dictionary)来描述记录关系模式的表,书上又称它们为描述符信息或元数据(metadata)

    通俗理解,目录就是描述关系表名、列名行名、列数行数等信息的表

    (4)关系的性质

    关系必须满足以下性质:

    • 关系中没有重复的元组
    • 元组是无序排列的
    • 属性也是无序排列的
    • 每个元组在对应属性中至多有一个值(多数关系型数据库可以允许为null)

    (5)操作

    我们把对关系的操作抽象成以下三种(抽象,区别于SQL中具体操作):

    • Restrict:提取表中某些行(元组)
    • Project:提取表中某些列(属性)
    • Join:两张表某列(属性)具有相同值,根据这些属性的值把这两张表合并在一起

    关系操作有一下两个特性:

    • 所有的操作都是针对表,所有操作的输出也是一张表
    • (闭包属性)一个操作的输出(表)可以作为另一个操作的输入

    3.2 关系型数据库

    关系型数据库就是包含一个或多个关系(表)的数据库,这里的表是指从业务逻辑、业务需求中抽象出来的逻辑结构,而非物理存储结构(我们并不关心物理存储结构,这是DBMS的工作)

    关系型数据库就是单纯的多表结构,表之间并没有指针互相引用

    关系型数据库有一套规范化设计模式,用于有效的避免数据冗余和信息缺失,将在后面章节中介绍

    关系模式定义:有属性 A1,A2,...,An ,那么我们称 R(A1,A2,...,An) 关系模式,关系模式中一条关系记录/元组用 r(R) 表示

    展开全文
  • 介绍ORACLE数据库管理系统的基本轮廓和程序模块结构、实例概念和组织、进程结构和功能、内存结构和用途,数据字典结构和使用、进程配置和管理、运行模式、程序接口、事务管理。
  • 数据库数据库系统的体系结构

    千次阅读 2019-09-03 09:12:24
    数据库体系结构分为三级模式和两级映像。 数据库的三级模式结构是数据的3个抽象级别,它把数据的具体组织留给DBMS去处理,用户只要抽象地处理数据,而不必担心数据在计算机的表示和存储,这样就减...
  • Microsoft SQL Server 数据库体系结构图解

    千次阅读 多人点赞 2020-11-05 11:27:21
    本文详细介绍了 Microsoft SQL Server 数据库体系结构以及各个组件的功能。包括整体结构,协议层的TCP/IP协议、共享内存协议、命名管道协议以及TDS协议、关系引擎的命令解析器、查询优化器、查询执行器 ,存储...
  • DM达梦数据库体系结构详解

    千次阅读 2020-03-23 16:30:58
    1、DM逻辑结构 dm中和oracle一样,也分为实例和数据库两个概念,而且这两者的概念也基本一致。 唯一的区别是:达梦是单进程,而oracle是多进程的。 实例:共享内存+后台的进程或线程。 数据库:存放到磁盘的文件。 ...
  • 数据库体系结构数据库系统的内部体系结构数据库系统模式三级模式结构二级映像三级模式二级映像的好处数据库系统的外部体系结构单用户结构主从式结构分布式结构客户机/服务器结构(C/S)浏览器/服务器结构(B/S) ...
  • Oracle数据库体系结构包括四个方面:数据库的物理结构、逻辑结构、内存结构及进程。  1. 物理结构   物理数据库结构是由构成数据库的操作系统文件所决定,Oracle数据库文件包括:  1.1.数据文件(Data File) ...
  • 数据库系统的体系结构:三级模式和两级映像  对于数据库的三级模式和两级映像,可能我们并不陌生,三级模式指的是外模式模式和内模式。两级映像指的是外模式/模式映像和模式/内模式映像。 下边我们介绍三级模式...
  • 分布式数据库系统体系结构

    千次阅读 2020-04-29 10:35:06
    分布式数据库系统1)分布式数据库系统概述定义特点优缺点数据共享分类2)分布式数据库系统体系结构数据存储模式结构透明性分布式数据库管理系统 1)分布式数据库系统概述 定义 分布式数据库系统(DDBS)是指数据存放在...
  • TimesTen内存数据库体系结构

    千次阅读 2016-04-13 23:47:07
     Oracle TimesTen In-Memory Database(以下简称TimesTen IMDB)是一种业界领先的内存关系数据库,它是Oracle的一款战略性产品。已经有成千个客户部署了TimesTen IMDB,事实证明这种产品技术加快了应用程序的响应...
  • (1)内部体系结构模式:概念视图,概念级数据库,整个数据库的实际存储的抽象。一个数据库只有一个模式。 外模式:子模式,用户模式,最外层,是模式的子集,可有多个,同一个外模式可以为多个应用。 内模式:存储和...
  • 数据库中的结构,数据如何组织和存储; • 分布式处理; • Oracle的内存体系结构; • Oracle的进程体系结构; 22 / 860 • 你要使用的模式对象(表、索引、聚簇等); • 内置数据类型和用户定义的数据类型; ...
  • 数据库系统的体系结构

    千次阅读 2020-05-21 20:00:09
    数据库系统的三级模式结构和二级映像功能示意图从DBMS角度来看,数据库系统通常采用三级模式结构,这是数据库系统的内部体系结构数据库系统的三级模式结构和二级映像功能示意图: 模式  又称 概念模式,处于...
  • 物理独立性
  • Oracle数据库体系结构(oracle 10g) (一)内存结构和进程结构Oracle数据库的总体结构如下图: 1:Oracle实例(Instance) 在一个服务器,每一个运行的Oracle数据库都与一个数据库实例相联系,实例是我们 ...
  • SQL Server数据库体系结构(转载)

    千次阅读 2018-08-07 10:37:57
    本文来自于简书,主要介绍了服务器结构数据库相关文件,内存结构,主要进程(线程),SQL Server系统数据库,客户端连接的处理模式等。 服务器结构 SQL Server服务器可以看成...
  • 数据库体系结构的五个要素

    千次阅读 2013-08-14 00:05:39
    数据库中全部数据的整体逻辑结构的描述。概念模式连接外模式和内模式的中间观点。 概念模式的数据定义语言称为“模式DDL”。   二、外模式模式是用户与数据库系统的接口,是用户用到的那部分的数据描述。用户...
  • 定义:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。 理解: ① 一个数据库只有一个模式; ② 是数据库数据在逻辑级上的视图; ③ 数据库模式以某一种数据模型为...
  • 图解 三级模式结构:外模式、...定义:也称子模式(Subschema)或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关...
  • 数据库体系结构--三级模式两级映射

    万次阅读 热门讨论 2015-09-25 15:03:37
    大家平时用数据库有sqlserver mysql oracle DB2等,它们支持不同的数据模型,使用不同的数据库语言,建立在不同的操作系统上,但他们的体系结构是相同的,都是采用的“三级模式和两级映射”。  这里有很两个疑问?...
  • 鲁东大学计算机科学与技术学院 Slide 1-* 安装与运行 通过介绍Oracle的体系结构能够清楚地理解Oracle的工作机制和工作过程对深刻理解Oracle数据库非常有帮助所以这部分是Oracle数据库的核心内容 由于在归档模式下...
  • 文章目录1.3数据库系统结构 1.3数据库系统结构 ...数据库系统外部的体系结构:从数据库最终用户角度看,数据库系统的体系结构分为集中式结构(单用户结构、主从式结构)、客户/服务器结构、分布式结构。 ...
  • 数据库 - 数据库系统结构

    千次阅读 2015-05-03 12:47:08
    数据库系统结构从数据库管理系统角度看,数据库系统通常采用三级模式结构,是数据库系统内部的系统结构 从数据库最终用户角度看(数据库系统外部的体系结构) ,数据库系统的结构分为: 单用户结构 分布式结构 ...
  • 关系型数据库体系结构

    千次阅读 2007-08-11 11:31:00
    一、数据库的分级结构ANSI/X3/SPARC的...如图所示: 当今流行的数据库管理系统虽有多种,所用术语也各有不同,但在数据库体系结构上仍呈现三级结构的特征。 用户级数据库是单个用户看到和使用的数据库,因此也称
  • 数据库三级模式结构

    万次阅读 多人点赞 2018-03-08 17:24:12
    1、模式模式也称为逻辑模式或概念模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只有一个模式模式位于三级结构的中间层。2、外模式模式也称为用户模式,它是数据库用户...
  • 数据库三级模式体系结构的划分 是为了数据的独立性
  • 当今关系型数据库体系结构的起源当今关系型数据库管理系统很大程度上是基于二十世纪 80 年代的设计理念而构建的。相对于今天的系统而言,那个时候的计算机价格不菲,而且速度很慢。最大程度上减少昂贵的 CPU 周期 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 137,235
精华内容 54,894
关键字:

属于数据库体系结构中模式