欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    KingbaseES开发培训之1数据库系统概.ppt

    • 资源ID:2908480       资源大小:3MB        全文页数:64页
    • 资源格式: PPT        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    KingbaseES开发培训之1数据库系统概.ppt

    2023年3月2日,KingbaseES开发培训之数据库系统概念,北京人大金仓信息技术股份有限公司,KingBaseES数据类型,主要内容,SQL、JSQL及PL/SQL,常用数据字典简介,关系数据库系统(RDBMS),伪列,SQL语句基础,使用JSQL工作,关系数据库系统(RDBMS),1.1理解关系数据库系统(RDBMS),关系型数据是以关系数学模型来表示的数据。关系数学模型中以二维表的形式来描述数据。关系型数据库(RDBMS)是存储在计算机上的、可共享的、有组织的关系型数据的集合。,关系数据库系统(RDBMS),1.1.1关系模型,关系是一些带有特殊属性的表,所以有:数据的基础项是关系 在这些表上的操作只产生关系,一个关系表必须符合某些特定条件,才能成为关系模型的一部分 储存在单元中的数据必须是原子的。每个单元只能存储一条数据,叫信息原则(Information Principle)。如果存储多条则违反信息原则。特殊情况下可能需要违反信息原则 储存在列下的数据必须具有相同的数据类型。每一行是唯一的(没有完全相同的行)列没有顺序 行没有顺序 列有一个唯一性的名称。,关系数据库系统(RDBMS),关系模型的另一个方面是完整性原则。它包括实体完整性原则(Entity integrity rule)和引用完整性原则(Referential integrity rule)如:主键(Primary key)是能唯一标识行的一列或一组列的集合。由多个列构成的主键称为连接键(Concatenated key)、组合键(Compound key),或称作为复合键(Composity key)。外部键(Foreign key)是一个表中的一列或一组列,它们在其它表中作为主键而存在。一个表中的外部键被认为是对另外一个表中主键的引用。实体完整性原则简洁地表明主键不能全部或部分地空缺或为空,引用完整性原则简洁地表明一个外键必须为空或者它所引用的主键当前存在值相一致。,关系数据库系统(RDBMS),1.1.2 Codd十二法则,KingBaseES数据库系统是一个完美的完全符合数据库技术的关系数据库系统。要想你的应用设计按照数据库原理来进行,最重要的就是理解 KingBaseES的结构、语句和命令。Codd提出的十二条法则在 Oracle 系统中都可以找到:1)信息法则 2)授权存储法则,每一个数据项都通过“表名+行主键+列名”的组合形 成访问3)必须以一致的方法使用空值 4)一个活跃的、在线数据字典应作为关系型表被储存 5)必须提供数据存取语言进行存取访问6)所有能被更新的视图应当是可被更新的7)必须有集合级的插入、更新和删除8)物理数据的独立性。即应用不依赖物理结构,关系数据库系统(RDBMS),9)逻辑数据的独立性。如果一个表被分成两个部分,则应用视图连接在一起,以便不会对应用产生影响10)完整性的独立性。完整性规则应该储存在数据字典中 11)分布独立性。一个数据库即使被分布,也应该能工作12)非破坏性原则。如果允许低级存取,一定不能绕过安全性和完整性原则,关系数据库系统(RDBMS),RDBMS 由两部分组成,即:数据库系统内核(软件)数据字典(内核用于管理数据库系统的数据结构),1.2关系数据库系统(RDBMS)的组成,1.2.1RDBMS内核,RDBMS 就是用来控制数据访问的操作系统。它的任务是按照一定的规则存储数据、检索数据及保护数据。,1.2.2数据字典,数据字典存放数据库中所有对象(如表,索引,视图等)所需的信息。KingBaseES的数据字典是存放数据库系统信息的一组表,从数据字典中的信息可以确认数据库中数据对象的基本信息及存放位置。,KingBaseES的体系结构,KingbaseES采用的是客户端/服务器的计算模式,客户端和服务器可以运行在不同的主机上,它们之间通过TCP/IP协议进行通讯。KingbaseES数据库服务器启动后,系统中会存在如下两个进程:KingbaseES Listener Service进程:KingbaseES监听服务。KingbaseES数据库服务进程:我们称该进程为一个“KingbaseES数据库实例”。,KingbaseES 服务器,数据库集群,实例(instance),系统全局区(SGA),重做日志缓冲区,数据缓冲区,后台写,统计,清理,Others,用户进程,服务线程,控制文件,数据文件,重做日志文件,联机日志文件,参数文件,控制结构,KingbaseES 服务器,KingbaseES 服务器由实例和数据库集群组成一个KingbaseES实例对应于一个服务器进程,操纵自己的数据目录。,KingbaseES的内存结构,系统全局区数据缓冲区(shared_buffer)淘汰算法日志缓冲区(wal_buffer)该缓冲区是一个顺序使用的、循环的结构,当写满时,再从头部开始。其他控制结构,例如:线程控制块锁表等,KingbaseES数据库服务进程,数据库服务进程采用多线程架构,该进程包含多个线程。这些线程按照功能的不同可以分为后台线程和服务线程两类:后台线程:KingbaseES数据库服务在启动或运行过程中自动启动一些线程,称之为后台线程。服务线程:KingbaseES用服务线程来处理连接到数据库服务的客户端请求。对于每个客户端的连接,KingbaseES会为其创建一个新的服务线程。,后台线程,系统写线程:负责将数据库缓冲区中被修改过的页面(脏页)写出到数据文件中。数据库统计线程:负责收集、统计数据库中各种操作(元组、页面等)的信息。空间清理线程:负责检查、清理系统运行过程产生的垃圾空间。归档线程:负责将日志文件归档到指定的位置。输出信息写线程:负责将数据库服务中的LOG及错误信息输出到指定的文件中。两个系统内部线程:这两个线程总是随数据库服务一起启动。,服务线程,由KingbaseES自身创建,用于处理用户进程提出的请求服务进程主要完成以下任务:解析并执行用户所提交的SQL语句在数据库缓存中查找用户所访问的数据,如果没有,从数据文件中读取将数据返回给用户进程,KingbaseES的逻辑结构,Database clusterDatabaseSchemaDatabase objectTableIndexSequenceView,系统初始化,创建全局数据库(GLOBAL)创建临时数据库(TEMPDB)创建模板数据库(TEMPLATE0和TEMPLATE1)创建样例数据库(SAMPLE)创建用户数据库(TEMPLATE2),全局数据库,全局数据库中存储与数据库集群相关的信息,例如集群中的数据库、用户、角色等。用户不能连接全局数据库。全局数据库中的数据操作由DBMS自动完成。,临时数据库,临时数据库用于存储DBMS在运行过程中产生的临时信息,例如排序、创建hash表等。用户不能连接临时数据库,临时数据库中的数据操作由DBMS自动完成。,模板数据库,模板数据库中存储了每个数据库的系统表信息,它是创建一个新数据库的样板。,KingbaseES的存储结构,存储系统的管理方式SMS vs DMSSMS(system management system)关系:文件(1:n)DMS(database management system)关系:文件(m:n),KingbaseES的逻辑存储结构,数据库集群数据库表空间区页,KingbaseES的物理存储结构,控制文件数据文件日志文件临时文件,存储系统各个术语之间的关系,一个表空间由多个数据文件组成KingbaseES的数据库对象(表、索引、序列)逻辑上存储在数据库的表空间中,而物理上存储在表空间所对应的数据文件中日志信息存储在日志文件中,处理SQL语句,与数据库实例建立连接根据不同的SQL语句,使用不同的组件:SELECT语句需要把结果集返回给用户进程DML语句需要日志系统COMMIT语句必须保证一个事务可以恢复有些数据库后台进程并不参与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)从数据库文件中将数据调入数据缓冲区(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.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/SQL 可以单独进行程序的编写,完成一般的处理功能 在高级语言中可嵌入 PL/SQL块 在 4GL 中可以嵌入 PL/SQL块 在 PL/SQL 程序中可以嵌入 HTML 和XML,SQL、JSQL及PL/SQL,2.2启动JSQL,启动KingbaseES 查询分析器有三种方法:通过开始菜单,选择KingbaseES安装程序组中的查询分析器。在这种方式下,用户需要输入用户名和密码。通过JManager工具启动。如果JManager中的节点在某个具体的数据库或其子节点上,则这种方式下启动KingbaseES 查询分析器的用户就是JManager用户;否则,需要用户登录。在命令行输入如下命令:“java-jar JSQL.jar”即可启动,但注意JSQL要求JDK1.6.0版本。,KingBaseES数据类型,主要内容,SQL、JSQL及PL/SQL,常用数据字典简介,关系数据库系统(RDBMS),伪列,SQL语句基础,使用JSQL工作,常用数据字典简介,3.1KingBaseES数据字典,KingBaseES提供许多内部数据字典,用以管理系统的各种信息和参数(即数据库对象),下面列出几个常用的数据字典供初学者参考,其它方面的数据字典将在 DBA 管理中介绍。,数据字典的命名说明:SYS 为前缀-记录系统对象信息USER 为前缀-记录用户的所有对象信息 ALL 为前缀-记录包括 USER 记录和授权给 PUBLIC 或该用户的所有 对象的信息。DBA 为前缀-记录关于数据库对象(非用户对象)的信息。,常用数据字典简介,3.2常用数据字典,SYS_AGGREGATE存储与聚集函数有关的信息SYS_AM存储有关索引访问方法的信息SYS_AMOP存储有关和索引访问方法操作符类关联的信息SYS_CLASS记载表和几乎所有有字段或者类似表的东西SYS_LISTENER记录 LISTEN 和 NOTIFY 命令SYS_TYPE存储有关数据类型的信息SYS_PARTITION存储各个分区信息的系统表ALL_OBJECTS当前用户下可以查看的所有对象ALL_TABLES当前用户下可以查看的所有表DBA_DBLINKS数据库中所有数据库连接的信息DBA_USERS数据库中所有用户的信息SYS_AUTO_TRIGGERS数据库中自动创建的触发器SYS_DEPENDS数据库对象间的依赖关系SYS_BACKUPINFO用户备份操作的信息SYS_INDEXES数据库中每个索引的信息SYS_PARTTABLES显示分区表信息的视图,KingBaseES数据类型,主要内容,SQL、JSQL及PL/SQL,常用数据字典简介,关系数据库系统(RDBMS),伪列,SQL语句基础,使用JSQL工作,KingBaseES数据类型,4.1KingBaseES数据类型,KingbaseES所操纵的任何值都有自己的数据类型,而每个数据类型都会定义与该值所关联一个操作集合。通过不同的值和操作中间的内在关系能够保证对值的操作的合法性。当创建表、存储过程等操作时必须为表列或过程参数指定系统支持的数据类型,从而确定它们可以使用的值域。例如如果列类型为DATE,则插入100或1000等将被拒绝。,KingBaseES数据类型,4.2数据类型一览表,KingBaseES数据类型,KingBaseES数据类型,KingBaseES数据类型,主要内容,SQL、JSQL及PL/SQL,常用数据字典简介,关系数据库系统(RDBMS),伪列,SQL语句基础,使用JSQL工作,SQL语句基础,5.1SQL语句基础,SQL 全名是结构化查询语言(Structured Query Language),是用于数据库中的标准数据查询语言,SQL语句是由一系列记号组成的,以分号“;”作为结束符。,SQL语句基础,5.1.1KingBaseES所用符号,KingbaseES系统中的记号可以是关键字、标识符、常量或一些特定的符号,它们通常使用分隔符(空格或新行)分隔。另外,在SQL语句中还可以有注释。,字符集,KingbaseES系统中的字符可以是数字、字母、专用字符和汉字,在系统中用于定义语言的终结符号与字符串元素。,SQL语句基础,关键字,关键字是SQL语言中具有特定意义的单词,例如,SELECT、UPDATE等。,关键字和标识符具有相同的词法结构。关键字是系统使用的标识符,大部分关键字系统是保留使用的,用户标识符尽量不与关键字相同。,标识符是标识SQL语句中所使用的表、列或其它数据库对象的名称。标识符必须以当前字符集所支持的多字节字符、字母或下划线开头,标识符里随后的字符可以是当前字符集所支持的多字节字符、字母、数字(0-9)、$或者下划线。标识符的最大长度是63字节,超过此长度,系统将报告错误。,标识符,SQL语句基础,常量,KingbaseES的SQL中有三种类型的常量:字符串、位串和数值。,操作符,在KingbaseES SQL中的操作符是由下面的字符构成:+-*/=!#%&|?$,注释,在KingbaseES的SQL可以使用下面两种注释:单行注释,使用两个短线-,例如,-This is a standard SQL comment。多行注释,使用/*/。,KingBaseES数据类型,主要内容,SQL、JSQL及PL/SQL,常用数据字典简介,关系数据库系统(RDBMS),伪列与伪表,SQL语句基础,使用JSQL工作,伪列,6.1伪列,伪列的行为与普通的列十分相似,但是伪列的值并不是和表存储在一起的。你可以使用 SELECT 来选择伪列,但是你不能对伪列进行任何的修改。伪列与不带参数的函数十分相似,但是对于没有参数的函数来说,该函数的返回结果对于结果集中每条记录一般都是固定不变的。伪列对于不同记录的返回结果通常是不相等的。,伪列,ROWNUM 伪列返回一个数值指示该条记录在 KingbaseES 从表取得或连接产生时的顺序。第一条被选择的记录的 ROWNUM 值是1,第二条的值是2,以此类推。,6.1.1ROWNUM伪列,伪列,6.1.2层次查询伪列,LEVEL 伪列,层次查询伪列只能用在层次查询中,对层次查询返回的元组的某些属性进行说明。,层次查询返回的数据具有层次关系,LEVEL代表当前元组的所在的层。如果当前元组的伪列LEVEL值是1,则代表这条元组在第一层且是根元组(root);2代表当前元组在第二层且是根元组的子元组,依次类推。,伪列,在层次查询中,如果当前元组没有子元组时,这个元组就被认为是一个叶节点。一个叶节点的CONNECT_BY_ISLEAF为1,否则为0。元组的CONNECT_BY_ISLEAF伪列能够指出给定元组是否能够被继续展开返回更多层次关系。,CONNECT_BY_ISLEAF 伪列,伪列,要使用这个伪列必须指定NOCYLE关键字。如果一个元组的CONNECT_BY_ISCYCLE值是1,则代表这个元组有子元组,并且这个子元组又是它的祖先元组,即数据库中的数据成环;否则为0。NOCYCLE关键字可以让KingbaseES在存在环的情况下也能返回记录,如果不指定这个关键字,且层次关系中存在环,则会报错。,CONNECT_BY_ISCYCLE 伪列,伪表,兼容 Oracle 的 dual 表。该表可以被所有的用户访问,但是只有超级用户才可以删除、增加、修改表 DUAL 的内容,普通用户只能查询该表。,伪表,DUAL 表定义,伪表,该表主要目的是保证在使用SELECT 语句中语句的完整性而提供的,如:我们要查询当前的系统日期及时间,而系统的日期和时间并是放在一个指定的表里。所以在 from 语句后就没有表名给出。为了使用 from 后有个表名,我们就用DUAL代替。,伪表作用,select to_char(sysdate,yyyy.mm.dd hh24:mi:ss)from DUAL;,KingBaseES数据类型,主要内容,SQL、JSQL及PL/SQL,常用数据字典简介,关系数据库系统(RDBMS),伪列,SQL语句基础,使用JSQL工作,使用JSQL工作,在所有KingBaseES版本里,系统提供了一个叫查询分析器(JSQL)的图形 SQL 工作环境,它完全是在图形方式进行。它的启动有以下几种方法:通过开始菜单,选择KingbaseES安装程序组中的查询分析器。在这种方式下,用户需要输入用户名和密码。通过JManager工具启动。如果JManager中的节点在某个具体的数据库或其子节点上,则这种方式下启动KingbaseES 查询分析器的用户就是JManager用户;否则,需要用户登录。在命令行输入如下命令:java-jar JSQL.jar即可启动,但注意JSQL要求JDK1.6.0版本。,6.1.2启动KingbaseES 查询分析器,使用JSQL工作,下面给出在操作系统下启动JSQL工具工作的步骤:,1)点击 查询分析器图标,即选择 开始-程序-金仓数据库查询分析器。选中查询分析器后出现如下画面:,使用JSQL工作,在用户名、口令及端口输入Kingbase数据库的有效用户名、口令及端口再点击确定后进入如图:,使用JSQL工作,当进入程序后,你就可以工作了。目前的版本是在屏幕的上方输入命令,屏幕的下方是系统显示结果。,使用JSQL工作,从 JSQL工具中可以看出,该工具提供了相当丰富的功能。下面给出主要功能的简要说明:,连接到服务器:可以连接到另外的用户和数据库上去;断开连接:可以断开当前的服务器链接 打开:可以打开现有文件(.tql,.sql);将输入另存为:将当前命令存为一个文件;,文件菜单,使用JSQL工作,执行:执行当前的命令;运行本地脚本:运行操作系统下某个.SQL 文件(点击后提示输入文件名);命令历史记录:查看命令历史记录;上一条命令:显示上一条命令。,剪切:将当前选中字符进行剪切;复制:将选中字符复制到缓冲区;粘贴:将缓冲区字符进行粘贴;全选:对当前画面所有字符全选;清除窗口:清除目前的所有内容。查找:在当前窗口查找相关内容,编辑菜单,查询菜单,使用JSQL工作,更改数据库:更改当前的数据库 执行:执行当前的命令;执行批处理:执行SQL批处理文件;自动提交:设置为自动提交更新 提交:手动提交更新 回滚:撤销未提交的更新操作 结果保存:将查询结果保存成文件,查询菜单,视图菜单,显示/隐藏结果窗格 显示/隐藏历史记录,

    注意事项

    本文(KingbaseES开发培训之1数据库系统概.ppt)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开