数据库系统结构详解之三级模式结构

说三级模式之前,先了解数据库系统模式的概念

模式,是对数据库逻辑结构的描述,是对型的描述,不涉及具体值。(如学生表,这张表的结构由Sno,sname等等属性构成)如下:

例子:“学生选课数据库”的模式:

在这里介绍一下实例:

是数据库某一时刻的状态——模式的一个具体值。(一个模式在不同的时刻可以有不同的实例)

同一个模式可以有多个实例。(学生选课数据库,有两个实例。分别是13年和14年的实例)

实例随数据库中的数据的更新而变动(随着时间的变化,会有新的学年新的学生选课实例)

一、从数据库管理系统角度看

在数据库系统中,用户看到的数据和计算机从存放的数据是两回事。但二者之间是有联系的,实际上它们之间已经通过了两次变换:第一次是系统为了减少冗余,实现数据共享,把所有用户的数据进行综合,抽象成一个统一的数据视图(概念模型);第二次是为了提高存取效率,改善性能,把全局视图的数据按照物理组织的最优形式存放(物理模型)起来。

美国国家标准委员会(ANSI)所属的标准计划合要求委员会(Standards Planning and Requirements Committee,SPARC)于1975年公布了关于数据库标准的报告,提出了数据库的三级组织结构,称为SPARC分级结构,分别为内模式、模式、外模式。

数据库的三级模式是数据库系统内部的系统结构。

1.模式

模式也称为逻辑模式或概念模式,是对数据库中全体数据的逻辑结构和特征的描述、是对型的描述,不涉及具具体值、模式是相对稳定的,是数据库系统模式结构的中间层,既不涉及数据库存储细节和硬件环境,也不涉及具体的应用程序、所使用的应用开发工具和高级程序设计语言。

一个数据库只有一种模式。数据库模式以某种数据模型为基础,统一综合地考虑了所有用户的需求,并将这些需求有机地结合成一个逻辑整体。

模式是数据项值的框架。数据库系统的模式通常还包含访问控制、保密定义、完整性检查等方面的内容。

2.外模式

外模式也称为子模式或用户模式,它是用户能够看见和使用的局部数据的逻辑结构和特征的描述,是用户的数据视图,是与某一应用有关的数据的逻辑表示。

外模式一般是模式的子集,一种模式可以由多种外模式。由于它是各个用户的数据视图,所以,如果不同的用户在应用需求、看待数据的方式、对数据保密的要求等各方面存在差异,则对外模式的描述就是不同的。即使是模式中的同一数据,其在外模式中的结构、类型、长度、保密级别等也可以不同。另外,同一外模式也可以为某一用户的多个应用系统所用,但是一个应用程序只能使用一种外模式。

外模式是保证数据库安全的一种有力措施,用户只能看见和访问所对应的外模式中的数据,数据库中的其他数据是不可见的。

3.内模式

内模式也称为存储模式,它是数据库在物理存储器上具体实现的描述,是数据在数据库内部的表示方法,也是数据物理结构和存储方式的描述。一个数据库只有一种内模式。

4.模式之间的映射

数据库系统的三级模式是数据库在三个级别上的抽象,把数据的具体组织留给数据库管理系统,用户就能够逻辑地处理数据,而不必关心数据在计算机中的具体表示方式和存储方式。为了能够在内部实现这三个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供了两层映射:

(1)外模式/模式之间的映射

(2)模式/内模式之间的映射

二、从构件角度看,数据库系统由硬件、软件等部分组成

三、从最总用户的角度来看

数据库系统的结构有:

单用户结构

主从式结构

分布式结构

客户--服务器

浏览器--数据库服务器

以上就是数据库系统结构详解之三级模式结构的详细内容,更多关于数据库系统三级模式结构的资料请关注我们其它相关文章!

(0)

相关推荐

  • Mysql数据库设计三范式实例解析

    三范式 1NF:字段不可分; 2NF:有主键,非主键字段依赖主键; 3NF:非主键字段不能相互依赖; 解释: 1NF:原子性 字段不可再分,否则就不是关系数据库; 2NF:唯一性 一个表只说明一个事物; 3NF:每列都与主键有直接关系,不存在传递依赖; 第一范式(1NF) 即表的列的具有原子性,不可再分解,即列的信息,不能分解, 只要数据库是关系型数据库(mysql/oracle/db2/informix/sysbase/sql server),就自动的满足1NF.数据库表的每一列都是不可分割的

  • MySQL数据库体系架构详情

    目录 一.MySQL体系架构 二.网络连接层 三.数据库服务层 四.连接池 五.系统管理和控制工具 六.SQL接口 七.解析树 八.查询优化器 九.缓存 十.存储引擎层 十一.系统文件层 十二.日志文件 1.错误日志 2.通用查询日志 3.二进制日志 4.慢查询日志 十三.数据文件 1.db.opt文件 2.frm文件 3.MYD文件 4.MYI文件 5.ibd文件 6.ibdata文件 7.ibdata1文件 8.ib_logfile0和ib_logfile1文件 十四.配置文件 1.pid文

  • 数据库的三级模式和两级映射介绍

    数据库的三级模式和两级映射 数据库的三级模式两级映射如下图所示 三级模式 外模式:应用程序用到的部分数据的逻辑结构.一个数据库可以有多个外模式 概念模式(模式.逻辑模式):数据库管理员用到的视图,就是我们在DBMS的可视化 界面中看到的数据库对象.一个数据库只有一个概念模式  www.jb51.net 内模式:数据库的最低层模式,是数据物理结构和存储方式的描述.一个数据库只有一个内模式. 两级映射 外模式-概念模式的映射 概念模式-内模式的映射 三级模式的关系 模式(概念模式)是数据库的核心与关

  • 数据库系统结构详解之三级模式结构

    说三级模式之前,先了解数据库系统模式的概念 模式,是对数据库逻辑结构的描述,是对型的描述,不涉及具体值.(如学生表,这张表的结构由Sno,sname等等属性构成)如下: 例子:"学生选课数据库"的模式: 在这里介绍一下实例: 是数据库某一时刻的状态--模式的一个具体值.(一个模式在不同的时刻可以有不同的实例) 同一个模式可以有多个实例.(学生选课数据库,有两个实例.分别是13年和14年的实例) 实例随数据库中的数据的更新而变动(随着时间的变化,会有新的学年新的学生选课实例) 一.从数据

  • django基础之数据库操作方法(详解)

    Django 自称是"最适合开发有限期的完美WEB框架".本文参考<Django web开发指南>,快速搭建一个blog 出来,在中间涉及诸多知识点,这里不会详细说明,如果你是第一次接触Django ,本文会让你在感性上对Django有个认识,完成本文操作后会让你有兴趣阅读的相关书籍和文档. 本文客操作的环境,如无特别说明,后续都以下面的环境为基础: =================== Windows 7/10 python 3.5 Django 1.10 ======

  • 详解JAVA 原型模式

    原型模式 原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能.这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式. 这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆.当直接创建对象的代价比较大时,则采用这种模式.例如,一个对象需要在一个高代价的数据库操作之后被创建.我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库,以此来减少数据库调用. 介绍 意图: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象.

  • 详解Java策略模式

    一.策略模式到底是什么? 策略模式属于对象的行为模式.其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换.策略模式使得算法可以在不影响到客户端的情况下发生变化. 简单的说,策略模式代表了一类算法的通用解决方案,你可以在运行时选择使用哪种解决方案. 策略模式的重心 策略模式的重心不是如何实现算法, 而是如何组织.调用这些算法, 从而使得程序结构更加灵活,具有更好的维护性和扩展性. 算法的平等性 策略模式一个很大的特点就是各个策略算法的平等性.对于一系列具体的

  • C++利用MySQL API连接和操作数据库实例详解

    1.C++连接和操作MySQL的方式 系列文章: MySQL 设计和命令行模式下建立详解 C++利用MySQL API连接和操作数据库实例详解 在Windows平台,我们可以使用ADO.ODBC或者MySQL API进行连接和操作.ADO (ActiveX Data Objects,ActiveX数据对象)是Microsoft提出的一个用于存取数据源的COM组件.它提供了程序语言和统一数据访问方式OLE DB的一个中间层,也就是Microsoft提出的应用程序接口(API)用以实现访问关系或非关

  • MySQL学习之数据库备份详解

    目录 1.DB,DBMS,SQL 2.数据库的特点 3.SQL分类 4.mysql两种启动关闭方式 5.mysql的登录方式() 6.SQL语言规范 7.navicat常用快捷键 8.数据库的备份和还原 1.DB,DBMS,SQL 1.DB(数据库):存储数据和管理数据的仓库,保存一系列有组织的数据 2.DBMS(数据库管理系统):数据库是通过DBMS创建和操作的容器 3.SQL(结构查询语言):专门用来与数据库通信的语言 形象化的举一个例子:DB是一个仓库,DBMS是对仓库进行操控的工作人员,

  • mysql 操作数据库基础详解

    目录 一.介绍 二.SQL分类 三.基本操作 创建 查询 修改 删除 使用数据库 一.介绍 MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性. 是最流行的关系型数据库管理系统之一. 二.SQL分类 SQL语句的五种分类分别是DDL.DML.DDL.DQL.DCL. 数据定义语言(DDL) 用来创建数据库中的各种对象,创建.删除.修改表的结构.关键字:create, drop,alter 等 数据操作语言(DM

  • Java设计模式详解之门面模式(外观模式)

    门面模式(Facade Pattern)也叫外观模式,它隐藏系统的复杂性,并向客户端提供一个可以访问系统的接口.这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性,为子系统中的一组接口提供了一个统一的高层访问接口,这个接口使得子系统更容易被访问或使用.这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用. 简而言之,就是把一堆复杂的流程封装成一个接口供给用户更简单的使用,这个设计模式里有三个角色: 1)门面角色( facade ):

  • C#编程实现连接SQL SERVER数据库实例详解

    本文实例讲述了C#编程实现连接SQL SERVER数据库.分享给大家供大家参考,具体如下: 首先,在SQL SEVER里建立一个名为"Exercise"的数据库名,在该数据库下建立一张名为"lianxi"的表.好,现在开始写代码. 在FORM1里拖一个DATAGIRDVIEW用于显示表,在放一个BUTTON用于执行操作.加入命名空间 复制代码 代码如下: using system.data.sqlclient; private void button1_Click(

  • Java连接操作Oracle数据库代码详解

    废话不多说了,直接给大家贴关键代码了,具体代码如下所示: package com.sp.test; import java.sql.*; import java.util.*; public class Text_lianxi extends Thread { public void run() { try { yunxing(); Thread.sleep(10000); } catch (InterruptedException e) { // TODO 自动生成的 catch 块 e.pr

随机推荐