数据库相关概念性知识点(持续更新)

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

目的:
有效组织、管理数据,提高数据库的逻辑独立性和物理独立性。
用户级 —— 外模式
概念级 —— 概念模式
物理级 —— 内模式
使不同级别的用户对数据库形成不同的视图(类似TCP/IP协议的层级结构),即,不同用户“看到”的数据库是不同的。
数据库系统的三级模式

外模式

又称为子模式或者用户模式,对应于用户级。是用户所看到的数据库的数据视图,是与某一应用有关的数据的逻辑表示。可以使特定的用户看到特定的数据。用户可以通过外模式描述语言来描述、定义对应于用户的数据记录(外模式),也可以利用数据操纵语言(Data Mainipulation Language, DML)对这些数据记录进行操作。外模式反映数据库系统的用户观。

概念模式

又称模式或逻辑模式,对应于概念级。它由数据库设计者综合所有用户的数据,按统一的观点构造的全局逻辑结构,是对数据库中所有数据的逻辑结构和特征的总体描述,是所有用户的公共数据视图(全局视图)。它由DBMS提供的数据模式描述语言(Data Description Language, DDL)来描述、定义的。概念模式反映了数据库系统的整体观。

内模式

又称存储模式,对应于物理级。是数据库中全体数据的内部表示或底层描述,它描述了数据在存储介质上的存储方式和物理结构。内模式由内模式描述语言来描述、定义。内模式反映数据库系统的存储观。

在一个数据库系统中,只有唯一的数据库,因此作为定义、描述数据存储结构的内模式和定义、描述数据库结构的逻辑模式是唯一的,但建立在数据库系统之上的应用是广泛、多样的。所以,外模式不是唯一的,也不可能是唯一的

来源:https://www.cnblogs.com/guojiaxue/p/12462182.html

数据库系统的二层映像

该部分和数据独立性对应。

外模式/模式映像

为了实现数据库系统的外模式与模式的联系和转换,在外模式与模式之间建立映像,即外模式/模式映像。
通过外模式与模式之间的映像把描述局部逻辑结构的外模式与描述全局逻辑结构的模式联系起来。由于一个模式与多个外模式对应,因此,对于每个外模式,数据库系统都有一个外模式/模式映像,它定义了该外模式与模式之间的对应关系。这些映像定义通常包含在各自外模式的描述中。

模式/内模式映像

为了实现数据库系统模式与内模式的联系和转换,在模式与内模式之间提供了映像,即模式/内模式映像。

通过模式与内模式之间的映像把描述全局逻辑结构的模式与描述物理结构的内模式联系起来。由于数据库只有一个模式,也只有一个内模式,因此,模式/内模式 映像也只有一个,通常情况下,模式/内模式映像放在内模式中描述。

数据独立性

数据独立性是指应用程序和数据结构之间相互独立, 互不影响。在三层模式体系结构中数据独立性是指数据库系统在某一层次模式上的改变不会使它的上一层模式也发生改变的能力。作为数据库系统的基本特征 的数据和程序的独立性正是依靠于这三级模式和两级映像(外模式/模式映像 和 模式/内模式映像)。数据独立性包括数据逻辑独立性和数据物理独立性。

逻辑数据独立性

有了外模式/模式映像,模式改变时,如增加新的属性、修改属性的类型,只要对外模式/模式的映像做相应的改变,可使外模式保持不变,则以外模式为依据编写的应用程序就不受影响,从而应用程序不必修改,保证了数据与程序之间的逻辑独立性,也就是逻辑数据独立性。

现今的系统,可以提供下列几个方面的逻辑数据独立性:
(1) 在模式中增加新的记录类型,只要不破坏原有记录类型之间的联系。
(2) 在原有记录类型之间增加新的联系。
(3) 在某些记录类型中增加新的数据项。

物理数据独立性

有了模式/内模式映像,当内模式改变时,如存储设备或存储方式有所改变,只要对模式/内模式映像做相应的改变,使模式保持不变,则应用程序就不受影响,从而保证了数据与程序之间的物理独立性,称为存储数据独立性。

物理数据独立性说明在数据物理组织发生变化时一个应用的独立程度,例如不必修改或重写应用程序。现今的系统,可以提供以下几个方面的物理数据独立性:
(1) 改变存储设备或引进新的存储设备。
(2) 改变数据的存储位置,例如把它们从一个区域迁移到另-个区域。
(3) 改变物理记录的体积。
(4) 改变数据物理组织方式,例如增加索引,改变Hash函数,或从一种结构改变为另一种结构。

来源:https://baike.baidu.com/item/%E6%95%B0%E6%8D%AE%E7%8B%AC%E7%AB%8B%E6%80%A7/

数据库系统的三个发展阶段
人工管理

时间:20世纪50年代中期以前
特点:数据不保存,没有对数据进行管理的软件系统,没有文件的概念,数据不具有独立性
功能:计算机主要用于科学计算。外部存储器只有磁带、卡片和纸带等还没有磁盘等直接存取存储设备。软件只有汇编语言,尚无数据管理方面的软件,数据处理方式基本是批处理。

文件系统

时间:20世纪50年代后期至60年代中期
特点:数据可以长期保存,由文件系统管理数据,文件的形式已经多样化,数据具有一定的独立性
功能:计算机不仅用于科学计算,还利用在信息管理方面。随着数据量的增加,数据的存储、检索和维护问题成为紧迫的需要,数据结构和数据管理技术迅速发展起来。

数据库管理系统

时间:60年代后期
特点:采用复杂的结构化的数据模型,较高的数据独立性,最低的冗余度,数据控制功能
功能:数据管理技术进入数据库系统阶段。数据库系统克服了文件系统的缺陷,提供了对数据更高级、更有效的管理。这个阶段的程序和数据的联系通过数据库管理系统来实现(DBMS)。

数据管理人工管理文件系统数据库系统
应用背景科学计算科学计算、管理大规模数据、分布数据的管理
硬件背景无直接存储设备磁带、磁盘大容量磁盘、按需增容磁带机
软件背景无专门管理的软件利用OS的文件系统由DBMS支撑
处理方式批处理联机实时处理、批处理联机实时处理、批处理、分布处理
数据的管理者用户管理文件系统管理DBMS管理

来源:https://blog.csdn.net/LJH_Gemini/article/details/83859507

关系数据模型

数据库系统的三种模型:层次模型、网状模型和关系模型。

层次模型:是一种用树形结构描述实体及其之间关系的数据模型。在这种结构中,每一个记录类型都是用节点表示,采用层次模型作为数系组织方式的层次数据库系统只能处理一对多的实体联系

网状模型:允许一个结点可以同时拥有多个双亲结点和子节点。因而同层次模型相比,网状结构更具有普遍性,能够直接地描述现实世界的实体。

关系模型:是采用二维表格结构表达实体类型及实体间联系的数据模型,它的基本假定是所有数据都表示为数学上的关系。

关系模型

关系模型由关系数据结构,数据操作和完整性约束3大要素组成。

  • 数据结构
    现实世界的实体以及实体间的各种联系均用关系来表示,从用户角度看,关系模型中数据的逻辑结构是一张二维表。
  • 数据操作
    常用的关系操作包括查询操作和插入、删除、修改操作两大部分。其中查询操作的表达能力最重要,包括:选择、投影、连接、除、并、交、差等。
    关系模型中的关系操作能力早期通常是用代数方法或逻辑方法来表示。另外还有一种介于关系代数和关系演算的语言称为结构化查询语言,简称SQL。
  • 完整性约束
    包括:域完整性、实体完整性、参照完整性和用户自定义的完整性。
    • 域完整性:指属性的取值范围,如性别取值应为男或女。
    • 实体完整性(Entity Integrity)规则:若属性A是基本关系R的主属性,则属性A不能取空值。例如:在课程表(课程号,课程名,教师,周课时数,备注)中,“课程号”属性为主键,则“课程号”不能取相同的值,也不能取空值。
    • 参照完整性规则:若属性(或属性组)F是基本关系R的外键,它与基本关系S的主键Ks相对应(关系R和S不一定是不同的关系),则对于关系R中每个元组在属性F上的值必须为:
      1.或者取空值(F中的每个属性值均为空);
      2.或者等于S中某个元组的主键值。
      例如:
      职工(职工号,姓名,性别,部门号,上司,工资,佣金)
      部门(部门号,名称,地点)
      其中职工号是“职工”关系的主键,部门号是外键,而“部门”关系中部门号是主键,则职工关系中的每个元组的部门号属性只能取下面两类值:
      第1类:空值,表示尚未给该职工分配部门;
      第2类:非空值,但该值必须是部门关系中某个元组的部门号值,表示该职工不可能分配到一个不存在的部门中。
SQL语言
数据定义语言(Data Definition Languages, DDL)

定义了不同的数据段、数据库、表、列、索引等数据库对象的定义。就是对数据库内部的对象进行创建、删除、修改的操作语言。
常用的语句关键字主要包括 create、drop、alter等。

数据操纵语句(Data Manipulation Language, DML)

用于添加、删除、更新和查询数据库记录,并检查数据完整性,对数据库中表记录的操作。
常用的语句关键字主要包括 insert、delete、udpate 和select 等。

数据控制语句(Data Control Language, DCL)

用于控制不同数据段直接的许可和访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别。主要是DBA用来管理系统中的对象权限时所使用,一般的开发人员很少使用。
主要的语句关键字包括 grant、revoke 等。

细节
关系数据库模型的术语vs二维表

二维表 <–> 关系
行 <–> 元组
列 <–> 属性

同时操作同一数据,不会引起事务冲突的操作:SELECT

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值