数据库原理与应用笔记整理(1)

整理自中国人民解放军陆军工程大学的数据库原理与应用的MOOC课程

 第一章 数据库系统概论

本章知识点

数据管理的三个阶段
   1.人工管理
   2.文件系统管理
   3.数据库系统管理

人工管理
  数据管理特点:
  * 数据面向应用
  * 数据不保存
  * 数据不能共享
  * 不具有数据独立性(数据独立性是指用户的应用程序与数据的逻辑结构和物理结构是相互独立的)

文件系统管理
  数据管理特点:
   * 由文件系统管理数据
   * 数据可以长期保存
   * 数据是面向应用的
   * 数据共享性
         * 具有了一定的共享性
         * 存在冗余存储
   * 数据独立性
         * 具有设备独立性
         * 不具有数据独立性

数据库(Database--DB)
   * 数据库是长期存储在计算机内、有组织的统一管理的可共享相关数据的集合
   数据管理的特点:
     * 采用数据模型组织数据
          * 数据模型不仅描述数据本身的特征,还要描述数据之间的联系
     * 数据面向整个应用领域
          * 数据库采用数据模型将整个组织所涉及的相关数据集合在一个全局数据库中,
            被全组织不同的应用共享
     * 数据由数据库管理系统(DBMS)统一管理和控制
     * 数据具有独立性
          * DBMS完成对数据的存储结构的修改,无需修改应用程序,实现了程序与数据的分离
  数据库管理数据的优点
     * 数据的共享性高、数据独立性高、对数据的控制能力强

元数据(meta-data):数据的描述信息
数据字典(data dictionary):系统数据库

数据库管理系统(Database Management System,DBMS)
    功能为用户或应用程序提供访问数据库的方法,包括DB的建立、查询、更新及各种数据控制
               1.数据库的定义
                  * DBMS提供数据定义语言(Data Definition Language,DDL)来对数据库中的数据对象进行定义,指定其结构和约束等
               2.数据操纵
                  * DBMS提供数据操纵语言(Data Manipulation Language,DML)来实现对数据库的基本操作,包括查询数据库以获得所
                    需数据、更新数据库以反映现实世界的变化等
               3.数据的组织存储和管理
                  * 分类组织、存储和管理各种数据,包括数据字典(存放数据库的定义、数据库运行是的统计信息等)、用户数据、
                    数据的存取路径等
                  * 确定以何种文件结构和存取方式在磁盘上组织这些数据
                  * 实现数据之间的联系
               4.数据库的事务管理和运行管理(控制功能)
                  * 对数据库的建立、运用和维护等进行统一管理、统一控制,保证数据的安全性、完整性、多用户的并发操作和发生故
                    障后的系统恢复
               5.数据库的维护
                  * 数据库数据的载入、转换
                  * 数据库的转储、恢复
                  * 数据库的重组和性能监视、分析

数据库系统(Database System,DBS)
    * 计算机系统中引入数据库的系统
    * 采用数据库技术存储、维护数据,向应用系统提供数据支持


 数据库管理员(DataBase Administrator,DBA)
     * 负责全面管理和控制数据
     * 确定数据库中的信息内容和逻辑结构
     * 确定数据库的存储结构和存取策略
     * 定义数据库的安全性和完整性约束条件
     * 监控数据库的使用和运行
     * 数据库的改进和重组重构

大多数DBMS遵循三级模式结构
  1.外模式
  2.概念模式
  3.内模式



DBMS通过三个层次的抽象,可向用户屏蔽数据的复杂性,隐藏关于数据存储和维护的某些细节,提高了数据独立性,减轻了用户使用
系统的负担。

模式

实例

概念模式

 一个数据库只有一个概念模式,是对概念级数据视图的描述。
数据库概念模式以某一种数据模型为基础,综合考虑所有用户的需求,并将这些需求有机地结合成一个逻辑整体。
概念模式是数据库模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序所使用的应用开发工具以及
高级程序设计语言无关。
定义概念模式时不仅要定义数据的逻辑结构,而且要定义数据间的联系,定义与数据有关的安全性、完整性要求。

外模式

对概念模式所描述的全局数据,数据库用户在应用需求、看待数据的方式、存取数据的权限等方面存在差异,能够看见和使用的
局部数据是不同的,所以一个数据库可以对应多个外模式,来描述外部级不同用户的数据视图。
每个外模式描述的就是一个特定用户所感兴趣的那部分数据库的逻辑结构和特征。
需要说明的是同一外模式,可以为某个用户的多个应用程序所使用,但一个应用程序只能使用一个外模式。

内模式(internal schema)

一个数据库只有一个内模式。
内模式是数据库物理存储结构和存储方式的描述,是数据在数据库内部的表示方式,是内部级数据视图的描述,也称存储模式。
内模式独立于具体的存储设备,不考虑具体存储设备的物理特性,而是假定数据存储在一个无限大的线性地址空间中。


某个学生选课系统关系数据库中学生信息的三级模式

概念模式中,数据库中包含了学生S表的信息,每个学生记录都有学号SNO、姓名SN、性别SEX、出生日期SB和所在系SD五个属性,
                      并定义了了每个属性的数据类型。
在内模式中,学生信息由一个长度为76字节的存储记录类型来表示,其中包括12个字节的前缀,主要存储如记录长度、模式指针等控制
                      信息和对应学生的五个属性的五个数据字段。此外该存储记录按学生学号字段进行索引。
在外模式中,使用过程化SQL编程的用户对应一个数据库的外部视图,每个学生的信息由三个变量来表示,其中两个变量对应于概念模
                      式中,学生S表中的学号SNO和姓名SN属性。还有一个变量对应概念模式中其他表中的数据。
                      该用户根据过程化SQL的规则用变量声明来定义外模式,使用ODBC编程的用户也对应一个外部视图,每个学生的信息由
                      四个变量来表示,对应于概念模式中学生S表中的学号SNO、姓名SN、性别SEX和出生日期SB四个属性。根据C语言的规
                      则来定义外模式,该用户不需要学生的所在系SD的信息。

从某种程度上来讲,概念模式和内模式之间的关系,可以看作是设计与实现的关系。
而概念模式和外模式之间的关系,可以看作是全局和局部的关系。


三级模式只是对数据在不同层次上的抽象视图的描述,而实际的数据都存储在物理数据库上。

DBMS的工作模式

如果有一请求要检索数据库,那么从物理数据库中,提取出来得数据必须进行转化,以便与用户外模式相匹配。
在各层间完成请求和结果转换的过程称为映射。
数据库管理系统在三级模式之间提供了二级映射。

二级映射

外模式/概念模式间的映射存在于外部级和概念级之间,用于定义用户的外模式和概念模式的对应关系。
概念模式/内模式间的映射存在于概念级和内部级之间,用于定义概念模式和内模式的对应关系。
由于用户所见的局部数据库的逻辑数据结构与概念级的全局的逻辑数据结构可能不一致,例如:字段可能有不同的数据类型、字段名和
记录名可能改变、几个概念字段可能合成一个单一的外部字段等等。
因此需要说明特定的外模式和概念模式之间的对应性。对于每一个外模式,都对应一个外模式/概念模式映射。
由于数据全局逻辑结构与存储结构是不一样的,需要说明概念记录和字段在内部级是如何表示的。由于数据库只有一个概念模式和一个
内模式,则概念模式/内模式映射是唯一的。
应用程序依赖于外模式,独立于概念模式和内模式。

小结:

大多数DBMS并不是将这三层模式完全分离开来,而只是在一定程度上支持三层模式体系结构。比如:有些DBMS可能在概念模式中还
包括一些物理层的细节。
并不是所有的DBMS都具有这种三级结构但ANSI/SPARC体系结构基本上能很好地适应大多数系统。

数据独立性包括数据的物理独立性和逻辑独立性。
数据结构是数据对象在计算机中的组织方式。
数据的逻辑结构是用户可见的数据组织方式。
数据的物理结构是数据在物理存储空间中的存储方式和存放方法。

数据独立性




在数据面向应用的人工管理数据方法中,数据需要由应用程序自己设计、说明和管理。
程序员在编写程序时自己规定数据的存储结构、存取方法和输入方式等,当数据的存储结构发生变化时,必须由应用程序做相应的修改,
对数据进行重新定义,应用程序与其所处理的数据是相互依赖的,数据不具有独立性。



用模式定义语言将有关数据结构的描述存储在DBMS的数据字典中,应用程序通过DBMS从数据字典中得到数据库的结构信息,来存取数据库中的数据。
数据库中的数据在磁盘上的存储由DBMS管理,用户不需要了解数据库的物理存储结构。

概念模式/内模式间的映射,定义概念模式和内模式的对应关系。当数据库的存储结构发生改变,也就是数据库的内模式改变了,那么只要对概念模式/内模式的映射进行相应的修改,可使概念模式尽可能保持不变。将内模式变化所带来的影响与概念模式隔离开来,当然对外模式和应用程序的影响更小,从而保证了数据的物理独立性。

外模式/概念模式间的映射,定义用户的外模式和概念模式的对应关系,当数据的逻辑结构发生变化,比如:在关系数据库中增加新的关系、新的属性,改变属性的数据类型等,也就是数据库的概念模式改变了,那么只要对各个外模式/概念模式间的映射进行相应的修改,比如:修改用户数据视图的定义等,可以使外模式保持不变。
由于应用程序是在外模式描述的数据结构上编写的,依赖于外模式从而应用程序不必修改,保证了数据的逻辑独立性,相应地也无需修改外模式的能力。

小结:

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值