KingbaseES开发培训之1数据库系统概.ppt
《KingbaseES开发培训之1数据库系统概.ppt》由会员分享,可在线阅读,更多相关《KingbaseES开发培训之1数据库系统概.ppt(64页珍藏版)》请在三一办公上搜索。
1、2023年3月2日,KingbaseES开发培训之数据库系统概念,北京人大金仓信息技术股份有限公司,KingBaseES数据类型,主要内容,SQL、JSQL及PL/SQL,常用数据字典简介,关系数据库系统(RDBMS),伪列,SQL语句基础,使用JSQL工作,关系数据库系统(RDBMS),1.1理解关系数据库系统(RDBMS),关系型数据是以关系数学模型来表示的数据。关系数学模型中以二维表的形式来描述数据。关系型数据库(RDBMS)是存储在计算机上的、可共享的、有组织的关系型数据的集合。,关系数据库系统(RDBMS),1.1.1关系模型,关系是一些带有特殊属性的表,所以有:数据的基础项是关系
2、在这些表上的操作只产生关系,一个关系表必须符合某些特定条件,才能成为关系模型的一部分 储存在单元中的数据必须是原子的。每个单元只能存储一条数据,叫信息原则(Information Principle)。如果存储多条则违反信息原则。特殊情况下可能需要违反信息原则 储存在列下的数据必须具有相同的数据类型。每一行是唯一的(没有完全相同的行)列没有顺序 行没有顺序 列有一个唯一性的名称。,关系数据库系统(RDBMS),关系模型的另一个方面是完整性原则。它包括实体完整性原则(Entity integrity rule)和引用完整性原则(Referential integrity rule)如:主键(Pr
3、imary key)是能唯一标识行的一列或一组列的集合。由多个列构成的主键称为连接键(Concatenated key)、组合键(Compound key),或称作为复合键(Composity key)。外部键(Foreign key)是一个表中的一列或一组列,它们在其它表中作为主键而存在。一个表中的外部键被认为是对另外一个表中主键的引用。实体完整性原则简洁地表明主键不能全部或部分地空缺或为空,引用完整性原则简洁地表明一个外键必须为空或者它所引用的主键当前存在值相一致。,关系数据库系统(RDBMS),1.1.2 Codd十二法则,KingBaseES数据库系统是一个完美的完全符合数据库技术的关
4、系数据库系统。要想你的应用设计按照数据库原理来进行,最重要的就是理解 KingBaseES的结构、语句和命令。Codd提出的十二条法则在 Oracle 系统中都可以找到:1)信息法则 2)授权存储法则,每一个数据项都通过“表名+行主键+列名”的组合形 成访问3)必须以一致的方法使用空值 4)一个活跃的、在线数据字典应作为关系型表被储存 5)必须提供数据存取语言进行存取访问6)所有能被更新的视图应当是可被更新的7)必须有集合级的插入、更新和删除8)物理数据的独立性。即应用不依赖物理结构,关系数据库系统(RDBMS),9)逻辑数据的独立性。如果一个表被分成两个部分,则应用视图连接在一起,以便不会对
5、应用产生影响10)完整性的独立性。完整性规则应该储存在数据字典中 11)分布独立性。一个数据库即使被分布,也应该能工作12)非破坏性原则。如果允许低级存取,一定不能绕过安全性和完整性原则,关系数据库系统(RDBMS),RDBMS 由两部分组成,即:数据库系统内核(软件)数据字典(内核用于管理数据库系统的数据结构),1.2关系数据库系统(RDBMS)的组成,1.2.1RDBMS内核,RDBMS 就是用来控制数据访问的操作系统。它的任务是按照一定的规则存储数据、检索数据及保护数据。,1.2.2数据字典,数据字典存放数据库中所有对象(如表,索引,视图等)所需的信息。KingBaseES的数据字典是存
6、放数据库系统信息的一组表,从数据字典中的信息可以确认数据库中数据对象的基本信息及存放位置。,KingBaseES的体系结构,KingbaseES采用的是客户端/服务器的计算模式,客户端和服务器可以运行在不同的主机上,它们之间通过TCP/IP协议进行通讯。KingbaseES数据库服务器启动后,系统中会存在如下两个进程:KingbaseES Listener Service进程:KingbaseES监听服务。KingbaseES数据库服务进程:我们称该进程为一个“KingbaseES数据库实例”。,KingbaseES 服务器,数据库集群,实例(instance),系统全局区(SGA),重做日志
7、缓冲区,数据缓冲区,后台写,统计,清理,Others,用户进程,服务线程,控制文件,数据文件,重做日志文件,联机日志文件,参数文件,控制结构,KingbaseES 服务器,KingbaseES 服务器由实例和数据库集群组成一个KingbaseES实例对应于一个服务器进程,操纵自己的数据目录。,KingbaseES的内存结构,系统全局区数据缓冲区(shared_buffer)淘汰算法日志缓冲区(wal_buffer)该缓冲区是一个顺序使用的、循环的结构,当写满时,再从头部开始。其他控制结构,例如:线程控制块锁表等,KingbaseES数据库服务进程,数据库服务进程采用多线程架构,该进程包含多个线
8、程。这些线程按照功能的不同可以分为后台线程和服务线程两类:后台线程:KingbaseES数据库服务在启动或运行过程中自动启动一些线程,称之为后台线程。服务线程:KingbaseES用服务线程来处理连接到数据库服务的客户端请求。对于每个客户端的连接,KingbaseES会为其创建一个新的服务线程。,后台线程,系统写线程:负责将数据库缓冲区中被修改过的页面(脏页)写出到数据文件中。数据库统计线程:负责收集、统计数据库中各种操作(元组、页面等)的信息。空间清理线程:负责检查、清理系统运行过程产生的垃圾空间。归档线程:负责将日志文件归档到指定的位置。输出信息写线程:负责将数据库服务中的LOG及错误信息
9、输出到指定的文件中。两个系统内部线程:这两个线程总是随数据库服务一起启动。,服务线程,由KingbaseES自身创建,用于处理用户进程提出的请求服务进程主要完成以下任务:解析并执行用户所提交的SQL语句在数据库缓存中查找用户所访问的数据,如果没有,从数据文件中读取将数据返回给用户进程,KingbaseES的逻辑结构,Database clusterDatabaseSchemaDatabase objectTableIndexSequenceView,系统初始化,创建全局数据库(GLOBAL)创建临时数据库(TEMPDB)创建模板数据库(TEMPLATE0和TEMPLATE1)创建样例数据库(S
10、AMPLE)创建用户数据库(TEMPLATE2),全局数据库,全局数据库中存储与数据库集群相关的信息,例如集群中的数据库、用户、角色等。用户不能连接全局数据库。全局数据库中的数据操作由DBMS自动完成。,临时数据库,临时数据库用于存储DBMS在运行过程中产生的临时信息,例如排序、创建hash表等。用户不能连接临时数据库,临时数据库中的数据操作由DBMS自动完成。,模板数据库,模板数据库中存储了每个数据库的系统表信息,它是创建一个新数据库的样板。,KingbaseES的存储结构,存储系统的管理方式SMS vs DMSSMS(system management system)关系:文件(1:n)D
11、MS(database management system)关系:文件(m:n),KingbaseES的逻辑存储结构,数据库集群数据库表空间区页,KingbaseES的物理存储结构,控制文件数据文件日志文件临时文件,存储系统各个术语之间的关系,一个表空间由多个数据文件组成KingbaseES的数据库对象(表、索引、序列)逻辑上存储在数据库的表空间中,而物理上存储在表空间所对应的数据文件中日志信息存储在日志文件中,处理SQL语句,与数据库实例建立连接根据不同的SQL语句,使用不同的组件:SELECT语句需要把结果集返回给用户进程DML语句需要日志系统COMMIT语句必须保证一个事务可以恢复有些数
12、据库后台进程并不参与SQL处理,只是为了提高数据库性能,连接到数据库,连接是在用户进程和KingbaseES服务器之间建立一个通信通道,称为一个会话(session),处理一个查询,语法分析语义检查查询重写查询优化执行查询返回结果给客户端,SGA,Redo logbuffer,Data buffercache,Database,1,4,UPDATE emp.,用户进程,服务器线程,Control files,Data files,Redo logfiles,处理DML语句,关键步骤,(1)服务器接受到SQL语句后,处理此语句,看需要的数据是否在缓冲区,如果在直接处理(3),否则执行(2)。(2
13、)从数据库文件中将数据调入数据缓冲区(3)在重做日志中生成该事务的一个拷贝,来记录数据的修改(4)完成缓冲区中数据的修改,数据库,实例,1,2,3,4,用户进程,服务线程,Control files,Data files,Redo logfiles,COMMIT处理,KingBaseES数据类型,主要内容,SQL、JSQL及PL/SQL,常用数据字典简介,关系数据库系统(RDBMS),伪列,SQL语句基础,使用JSQL工作,SQL、JSQL及PL/SQL,RDBMS 由两部分组成,即:数据库系统内核(软件)数据字典(内核用于管理数据库系统的数据结构),2.1SQL、JSQL及PL/SQL,2.
14、1.1SQL,SQL 是标准结构查询语言。,2.1.2JSQL,在所有KingBaseES版本里,系统提供了一个叫查询分析器(JSQL)的图形 SQL 工作环境,它完全是在图形方式进行。,SQL、JSQL及PL/SQL,2.1.3PL/SQL,PL/SQL 是KingBaseES的一个组成部分,PL是“过程化语言(Procedure Language)”的缩写。PL/SQL 语言是在 SQL 语言中结合了结构化过程语言成分的准第四代语言。使用 PL/SQL 的目的:由于大多数 PL/SQL 是在服务端来运行,这样可减少由客户端运行程序时所需的网络数据流量。可以使用 PL/SQL 的地方:PL/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- KingbaseES 开发 培训 数据库 系统

链接地址:https://www.31ppt.com/p-2908480.html