金仓数据库应用活页式教程 课件全套 赵娟 项目1-8 KingbaseES安装与卸载-使用内置函数_第1页
金仓数据库应用活页式教程 课件全套 赵娟 项目1-8 KingbaseES安装与卸载-使用内置函数_第2页
金仓数据库应用活页式教程 课件全套 赵娟 项目1-8 KingbaseES安装与卸载-使用内置函数_第3页
金仓数据库应用活页式教程 课件全套 赵娟 项目1-8 KingbaseES安装与卸载-使用内置函数_第4页
金仓数据库应用活页式教程 课件全套 赵娟 项目1-8 KingbaseES安装与卸载-使用内置函数_第5页
已阅读5页,还剩131页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目1:KingbaseES安装与卸载《金仓数据库应用活页式教程》A了解KingbaseES的技术优势B了解系统内核参数配置文件、防火墙的配置及SELinux的配置C了解数据库系统的安装目录D了解卸载脚本文件rootuninstall.sh及卸载程序UninstallerE了解数据库卸载残留内容知识目标A掌握配置防火墙和SELinux的方法及创建数据库系统安装目录的方法B掌握使用图形界面安装数据库系统的方法C掌握使用字符代码界面安装数据库系统的方法D掌握使用图形界面卸载数据库系统的方法E掌握使用字符代码界面卸载数据库系统的方法能力目标任务列表任务1项目1KingbaseES的安装与验证

任务2KingbaseES的卸载与清理任务1

KingbaseES的安装与验证【知识准备】1.KingbaseES简介金仓数据库(KingbaseES)是中电科金仓(北京)科技股份有限公司自主研发的具有自主知识产权的数据库管理系统。金仓数据库在电子政务、金融、电信、智慧城市、企业信息化等方面拥有强大的数据库产品研发能力、解决方案能力、整合资源和项目落地实施服务能力。(1)KingbaseES的技术优势①高可靠性。②高性能。③高安全性。④易管理。⑤易使用。⑥易迁移。任务1

KingbaseES的安装与验证【知识准备】(2)KingbaseES的常用工具①数据库对象管理工具。②数据库迁移工具。③数据库部署工具。④ksql。任务1

KingbaseES的安装与验证【知识准备】2.系统内核参数优化命令格式如下。sysctl[-n][-e]-wvariable=valuesysctl[-n][-e]-p<filename>(default/etc/sysctl.conf)sysctl[-n][-e]-asysctl命令的常用参数及其功能见表1-1。任务1

KingbaseES的安装与验证【知识准备】3.配置Linux操作系统防火墙安全管理员对数据库或操作系统的访问有专门的安全设备控制台或交换机控制台,对安全集中管控。为了方便安装和连接数据库,练习时可以关闭防火墙,尤其是在有信息安全等级保护要求的环境下,需要将KingbaseES数据库端口号添加到Linux防火墙规则中。4.配置SELinux安全管理员对数据库或操作系统的访问有专门的安全设备控制台,对安全集中管控,练习环境建议禁用SELinux,在生产环境中需要与安全管理员沟通后再配置SELinux。5.安装前准备工作为了利于数据库的日常运维、持续使用、存储扩容等,在安装前需要做好选项、存储目录规划。任务1

KingbaseES的安装与验证【任务实现】训练1:系统环境准备情境设定:为了预防在数据库安装和使用过程中出现问题,安装者需要检查和设置系统内核参数,以保证数据库的安装和运行不会出现问题。训练2:预安装工作情境设定:系统参数配置好后,即可准备数据库系统安装前的工作。首先需要使用新系统用户(kingbase),创建数据库需要的主要目录,然后准备KingbaseES的安装程序,验证程序的完整性,再通过系统命令进入安装过程。任务1

KingbaseES的安装与验证【任务实现】训练3:图形化界面安装过程情境设定:在确保数据库系统安装程序正确的基础上,即可进入正式的图形化界面的系统安装。安装过程主要涉及相关目录的创建、选项的设置等操作。根据安装过程提示,正确完成操作步骤,即可完成安装。训练4:字符代码界面安装过程情境设定:在确保数据库系统安装程序正确的基础上,即可进入正式的字符代码界面的系统安装。安装过程主要涉及相关目录的创建、选项的设置等操作。根据安装过程提示,正确完成操作步骤,即可完成安装。任务1

KingbaseES的安装与验证【任务实现】训练5:安装正确性验证情境设定:KingbaseES安装完成后,有必要对其安装的正确性进行验证,以确保数据库系统可以正常运行。任务列表任务1项目1KingbaseES的安装与验证

任务2KingbaseES的卸载与清理任务2

KingbaseES的卸载与清理【知识准备】1.KingbaseES卸载方式KingbaseES卸载是指把数据库系统完全从系统中卸载并清理的过程,卸载的方式主要有图形化界面和字符代码界面,KingbaseES提供了简单易操作的卸载程序,为卸载工作提供了便利。KingbaseES的卸载过程主要有卸载前准备、卸载过程及卸载后清理工作。2.图形化界面卸载数据库系统KingbaseESV8提供了图形化界面卸载程序,可以在KingbaseESV8的系统菜单中获取,卸载程序为系统用户提供了3种管理工具。(1)“添加功能”:可以为已安装的产品添加功能。(2)“删除功能”:可以删除已安装的产品功能。(3)“卸载产品”:卸载KingbaseESV8数据库系统,可通过“卸载产品”进入数据库系统的卸载操作。任务2

KingbaseES的卸载与清理【知识准备】3.字符代码界面卸载数据库系统KingbaseES提供了用于字符代码界面的卸载程序Uninstaller,可以在bash环境下进入安装路径。4.残留目录及文件数据库系统卸载后,仍残留一些目录及文件,这些内容需要彻底清理,否则在进行下一次安装时会造成安装不完全或不成功的情况。需要清理的内容主要有数据库系统程序(如本系统的/Kingbase/V8目录下的内容)、数据库数据文件目录(如本系统的/data)、系统创建的其他目录(如表空间目录等)。清理残留目录及文件,可在bash环境下使用删除命令“rm”进行清理删除。任务2

KingbaseES的卸载与清理【任务实现】训练1:图形化界面卸载数据库系统情境设定:当数据库系统不再使用时,首先停止相关服务,然后进入卸载程序,最后清除残余内容,从而卸载数据库系统。训练2:字符代码界面卸载数据库系统情境设定:采用字符代码界面卸载数据库系统,首先是停止相关服务,然后通过bash进入卸载程序,执行卸载操作,最后清除残余内容。如何使用客户端工具是学习者接下来思考的问题。数据库对象管理工具如何使用?什么是KingbaseES数据库实例?什么是ksql?什么是ksql元命令?如何使用ksql登录、退出数据库?分析与思考项目2:客户端工具的基础应用《金仓数据库应用活页式教程》A了解数据库对象管理工具的界面元素B理解KingbaseES数据库实例功能说明C理解数据库的含义D了解ksql的语法组成及功能说明E了解ksql元命令的语法组成及功能说明F理解编辑数据库的相关SQL命令语法结构知识目标A掌握使用数据库对象管理工具新建连接和创建数据库实例的方法B掌握使用数据库对象管理工具新建、编辑数据库的方法C掌握使用数据库对象管理工具新建用户的方法D掌握使用数据库对象管理工具新建表、查询表数据的方法E掌握使用ksql交互式客户端工具连接、退出数据库的方法F掌握使用ksql交互式客户端工具运行单一SQL命令的方法G掌握使用ksql元命令查看数据库及表信息的方法H掌握使用SQL命令新建、修改、删除数据库的方法能力目标任务列表任务1项目2数据库对象管理工具基础应用

任务2ksql交互式客户端工具基础应用任务1

数据库对象管理工具基础应用【知识准备】1.数据库对象管理工具数据库对象管理工具是连接KingbaseES的图形化客户端工具,它主要用于管理和配置KingbaseES数据库服务器、管理KingbaseES数据库对象等。(1)打开数据库对象管理工具。在操作系统中安装好KingbaseES后,进入Linux桌面,在“应用程序”下拉菜单中选择“KingbaseESV8”选项,在弹出的子菜单中选择“数据库对象管理工具”选项,如图2-1所示,即可打开数据库对象管理工具,如图2-2所示。任务1

数据库对象管理工具基础应用【知识准备】

图2-1“应用程序”下拉菜单

图2-2数据库对象管理工具任务1

数据库对象管理工具基础应用【知识准备】(2)数据库对象管理工具界面元素及功能简介。数据库对象管理工具界面与其他应用软件图形化界面类似,非常适合初学者入门学习,可以达到快速上手使用数据库的效果,同时操作简单,它提供的SQL编辑器还可以方便开发人员编写和调试SQL代码。数据库对象管理工具界面分为4个区域:菜单栏、功能按钮区、数据库导航区、内容显示区。①菜单栏。菜单栏可以用来实现对数据库对象管理工具的整体管理,如图2-3所示。

图2-3菜单栏任务1

数据库对象管理工具基础应用【知识准备】②功能按钮区。功能按钮区可以实现对SQL编辑的控制,如图2-4所示。

图2-4功能按钮区任务1

数据库对象管理工具基础应用【知识准备】③数据库导航区。数据库导航区是数据库对象管理工具中最重要的组件之一,位于数据库对象管理工具窗口左侧,用来管理数据库服务器及数据库相关对象,如图2-5所示。

图2-5数据库导航区任务1

数据库对象管理工具基础应用【知识准备】④内容显示区。内容显示区是各种操作的具体工作区域,如图2-6所示。

图2-6内容显示区任务1

数据库对象管理工具基础应用【知识准备】2.数据库实例功能分类以KingBaseES数据库实例为例,单击该数据库实例左侧的加号,就能展开其功能列表,可以看到一共包括5项功能,分别为数据库、表空间、安全性、管理和备份,如图2-7所示。

图2-7KingBaseES数据库的功能列表任务1

数据库对象管理工具基础应用【任务实现】训练1:新建连接和创建数据库实例情境设定:安装KingbaseESV8后,利用数据库对象管理工具新建连接。训练2:新建、修改和删除数据库情境设定:创建图书管理数据库,数据库名称为tsdb01(属主为system)。复制数据库,生成新数据库tsdb02,编辑数据库tsdb02,将属主修改为其他用户,删除数据库tsdb02。任务1

数据库对象管理工具基础应用【任务实现】训练3:新建用户情境设定:已创建图书管理数据库tsdb01,为便于权限分配,新建用户stu。训练4:新建表、查询表数据情境设定:已创建图书管理数据库tsdb01,在该数据库中的public模式下新建“中国传统文化”图书信息表(表名为book_wh),“中国传统文化”图书信息表见表2-2,“中国传统文化”图书信息表结构见表2-3。任务列表任务1项目2数据库对象管理工具基础应用

任务2ksql交互式客户端工具基础应用任务2

ksql交互式客户端工具基础应用【知识准备】1.ksql的语法结构及功能说明(1)查看ksql的帮助信息。在home文件夹中单击鼠标右键,并在弹出的快捷菜单中选择“在终端中打开”选项,如图2-38所示,打开终端界面,如图2-39所示。在终端界面输入如下命令,即可看到ksql的帮助信息,如图2-40所示。ksql--help任务2

ksql交互式客户端工具基础应用【知识准备】

图2-38选择“在终端中打开”选项

图2-39终端界面任务2

ksql交互式客户端工具基础应用【知识准备】

图2-40ksql的帮助信息任务2

ksql交互式客户端工具基础应用【知识准备】(2)ksql的使用方法。在帮助信息中可以看到ksql的使用方法如下。ksql[选项]...[数据库名称[用户名称]](3)“选项”的类型。在ksql的使用方法中,“选项”分为4种类型,包括通用选项、输入和输出选项、输出格式选项、联接选项2.ksql元命令的语法结构及功能说明ksql元命令是一组以“\”开头的快捷命令。元命令共包括11个分类,有一般性、帮助、查询缓冲区、输入/输出、条件、资讯性、格式化、连接、操作系统、变量、大对象。3.使用ksql连接数据库,执行SQL命令使用ksql连接数据库后,可以执行相关SQL命令来完成对数据库、表、表中数据等的管理。任务2

ksql交互式客户端工具基础应用【任务实现】训练1:通过用户system连接数据库情境设定:已创建图书管理数据库,数据库名称为tsdb01(属主为system)。通过用户system连接该数据库,查看标准SQL命令的帮助信息,执行查询命令来查询数据库中表book_wh的全部数据,退出数据库tsdb01的连接状态。训练2:使用ksql元命令查看数据库及表信息情境设定:已创建图书管理数据库,数据库名称为tsdb01(属主为system),已通过用户system连接该数据库。使用ksql元命令查看数据库及表的相关信息。任务2

ksql交互式客户端工具基础应用【任务实现】训练3:管理数据库情境设定:已通过用户system的身份连接数据库tsdb01。新建数据库tsdb02,将数据库tsdb02重命名为db02,随后删除该数据库。如何编辑用户与角色是学习者接下来会思考的问题。用户和角色是什么?用户和角色有什么区别?如何编辑用户和角色?如何设置权限?分析与思考项目3:用户、角色与权限管理《金仓数据库应用活页式教程》A了解数据库用户的分类B理解不同类型用户的功能C了解角色的功能D理解用户与角色的区别E了解权限的分类F理解常用权限及其含义知识目标A掌握创建、修改、删除用户的方法B掌握创建、修改、删除角色的方法C掌握查看、授予、撤销角色权限的方法能力目标任务列表任务1项目3用户管理

任务3权限管理任务2角色管理

任务1

用户管理【知识准备】1.用户概述用户是数据库资源的使用者和共享者,包含管理员用户和普通用户。在数据库安装部署后默认创建3个管理员,即数据库管理员、安全管理员和审计管理员。2.创建用户创建用户的语法格式如下。createuser名称[[with]选项[...]];3.修改用户修改用户的语法格式如下。alteruserrole_specification[with]选项[...];任务1

用户管理【知识准备】4.删除用户删除用户的语法格式如下。dropuser[ifexists]名称[,...];任务1

用户管理【任务实现】训练1:创建用户情境设定:已创建数据库,数据库名称为test。在终端窗口中,使用用户system的身份连接该数据库,创建新用户user01,设置用户密码为“kingbase123”,使用新用户user01的身份连接数据库test。训练2:修改用户权限情境设定:已创建数据库,数据库名称为test,在终端窗口中,已使用用户system的身份连接该数据库。修改用户user01的权限,使其具有创建数据库的权限,并使用用户user01的身份创建数据库db01。创建数据库db01成功后,使用用户user01的身份连接新数据库db01。任务1

用户管理【任务实现】训练3:修改用户的并发连接数情境设定:已创建数据库,数据库名称为test,在终端窗口中,已使用用户system的身份连接该数据库。修改用户user01的并发连接数为2,并测试是否修改成功。训练4:删除用户情境设定:已创建数据库,数据库名称为test,在终端窗口中,已使用用户system的身份连接该数据库。删除用户user01,由于用户user01拥有数据库db01,删除时会报错,因此需要先删除数据库db01,再删除用户user01。任务列表任务1项目3用户管理

任务3权限管理任务2角色管理

任务2

角色管理【知识准备】1.角色概述权限是执行一种特殊类型的SQL命令或存取某一用户对象的权力,而角色是权限的集合,可以利用角色为用户授予批量权限。使用角色管理数据库权限,可以简化权限的授予和回收过程,授权过程示意图如图3-16所示。

图3-16授权过程示意图任务2

角色管理【知识准备】2.创建角色创建角色的语法格式如下。createrole名称[[with]选项[...]];3.修改角色修改角色的语法格式如下。alterrolerole_specification[with]选项[...];4.删除角色删除角色的语法格式如下。droprole[ifexists]名称[,...];任务2

角色管理【任务实现】训练1:创建角色情境设定:已创建数据库,数据库名称为test,在终端窗口中已使用用户system的身份连接该数据库。创建新角色role01、role02和新用户

user01,三者密码都设置为kingbase123。其中,角色role01设置为默认权限,授予角色role02登录数据库权限。创建成功后,比较三者的区别。训练2:修改角色情境设定:在训练1的基础上,创建新角色role03、新用户user02和user03。其中,用户user02具有继承权限,用户user03不具有继承权限,三者密码都设置为kingbase123。修改角色role03的权限,使其具有登录数据库和创建数据库的权限,并创建数据库db01和表t01。将角色role03授予用户user02和user03,测试用户user02和user03对表t01是否具有查询权限。任务2

角色管理【任务实现】训练3:删除角色情境设定:在训练2的基础上,删除角色role03。此时,角色role03拥有数据库db01和表t01,删除时会报错,需要先删除数据库db01和表t01,再删除角色role03。任务列表任务1项目3用户管理

任务3权限管理任务2角色管理

任务3

权限管理【知识准备】1.权限概述权限是执行一种特殊类型的SQL命令或存取某一用户的对象的权力,包括系统权限、对象权限和列级权限。不同用户具有不同的权限,使用数据库对象管理工具或ksql元命令可以查看相应的权限。系统权限主要分为两大类,一类是以用户或角色的属性存在的系统权限,一类是通过grant/revoke语句来授予和回收的系统权限,常用的系统权限见表3-3。任务3

权限管理【知识准备】2.权限描述符在使用ksql元命令查看权限时,查询结果的“存取权限”中通常以权限描述符的方式体现相应权限,其形式为“[被授权用户]=权限明细[*]/授权用户”。其中,“=”前面的“被授权用户”为空时表示所有用户都拥有“=”后面的权限;“*”代表“被授权用户”拥有该权限的转授权,也就是在授权时利用命令“withgrantoption”,同时授予了转授权。3.访问对象权限针对不同类型的对象,KingbaseES支持的权限类型不同,一般利用grant/revoke语句来授予和回收权限。任务3

权限管理【任务实现】训练1:使用数据库对象管理工具查看权限情境设定:利用数据库对象管理工具,以3个管理员用户system、sso、sao及普通用户user01为例,分别查看不同用户拥有的权限。训练2:使用ksql元命令查看权限情境设定:已创建数据库,数据库名称为test。在终端窗口中,使用用户system的身份连接该数据库,使用ksql元命令查看用户的对象权限。任务3

权限管理【任务实现】训练3:修改对象的拥有者情境设定:已创建数据库,数据库名称为test,在终端窗口中已使用用户system的身份连接该数据库。使用system用户的身份创建表t01,修改表t01的拥有者,并测试是否修改成功。训练4:修改用户的访问对象权限情境设定:已创建数据库,数据库名称为test,在终端窗口中,已使用用户system的身份连接该数据库。使用system用户的身份创建表t02和用户user04,将表t02的查询、插入权限授予用户user04。使用用户user04的身份向表t02中插入一条数据,然后再将表t02的插入权限回收。测试每项操作是否修改成功。SQL命令、单表查询、多表查询是学习者接下来会思考的问题。SQL语言的特点是什么?SQL语言的分类是什么?select语句的语法格式是什么?简单查询如何实现?分析与思考项目4:数据查询《金仓数据库应用活页式教程》A了解SQL语言的发展历程B理解SQL语言的特点及分类C理解select语句的语法格式D了解连接查询的含义E理解常见连接查询的区别知识目标A掌握使用select语句对数据库进行简单查询的方法B掌握使用select语句对数据库进行条件查询的方法C掌握使用select语句对数据库进行分组查询的方法D掌握使用select语句对查询结果集进行排序的方法E掌握使用select语句对数据库进行内连接查询的方法F掌握使用select语句对数据库进行左外连接查询的方法G掌握使用select语句对数据库进行右外连接查询的方法H掌握使用select语句对数据库进行全外连接查询的方法能力目标任务列表任务1项目4单表查询

任务2多表查询任务1

单表查询【知识准备】1.SQL语言概述SQL语言是一种结构化查询语言,是关系数据库的标准语言,由IBM研究员埃德加·科德在1970年发表的关系数据模型发展而来,能够让用户方便地操纵关系数据库。1986年,美国国家标准研究所(AmericanNationalStandardsInstitute,ANSI)将SQL作为关系数据库语言的美国标准并颁布了第一个标准SQL-86。1987年,国际标准化组织(InternationalStandardsOrganization,ISO)采纳其为国际标准。任务1

单表查询【知识准备】2.SQL语言的特点SQL语言功能强大、简单易学,具有以下的特点。(1)使用SQL时,不需要了解具体的存取路径,存取路径的选择和SQL的操作过程由系统自动完成。(2)SQL采用集合操作方式,操作对象、查询结果、插入、删除、更新操作的对象都可以是元组的集合。(3)SQL能够独立地用于联机交互的使用方式,也能够嵌入到高级语言程序中,供程序员设计程序时使用。任务1

单表查询【知识准备】3.SQL语言的分类任务1

单表查询【知识准备】4.数据查询数据查询是数据库中的常见操作,指数据库管理系统根据用户的要求,从数据库相关表中查找到满足条件的数据,主要使用select语句,其语法格式如下。select[all|distinct]列名[as别名][,列名[as别名]]…from表名或视图名[as别名][,表名或视图名[as别名]][where条件表达式][groupby列名[having条件表达式]][orderby列名[asc|desc]];任务1

单表查询【任务实现】训练1:导入数据文件并查看其信息情境设定:已存在数据文件kingbase_test.sql,为便于数据传递与共享,将其导入现有数据库,进一步提高实训效率,导入成功后使用ksql元命令查看表的结构及其具体数据。训练2:单表查询应用情境设定:在数据库test中已存在模式kingbase_test,该模式下存在学生信息表stu和借阅信息表borrow。查看两个表,了解其结构和数据信息,查询是否存在过期未还书的学生,为所有学生延长30天的借阅时间以消除寒假期间的影响。查出每个学生借阅图书的数量、借阅每本图书的学生数量以及各专业不同性别学生的分布情况,并按要求将结果集进行排序。任务1

单表查询【任务实现】训练3:简单巡检情境设定:在数据库运行期间可能出现一些问题,可以利用简单巡检的常用命令来获取数据库状态。任务列表任务1项目4单表查询

任务2多表查询任务2

多表查询【知识准备】1.多表查询概述多表查询也称为连接查询,是指在一条查询语句中同时查询多张表,从而获得多张表中的数据信息。多表查询是关系数据库非常重要的一种查询方式,在日常工作中使用比较广泛,常用于统计分析。多张表中具有逻辑相关的列可以作为连接查询条件,条件中连接列的名字可以不同,但是类型必须是可以相互比较的。连接条件的常用格式如下。[表名1.]列名1比较运算符[表名2.]列名2任务2

多表查询【知识准备】2.交叉连接查询交叉连接查询的结果集是两个表中所有元组的笛卡儿积,即从一张表中取出一个元组,然后用这个元组去和另一张表中的所有元组进行匹配并将结果保留在结果集中,重复这一过程,直至表中所有元组都和另一张表匹配完毕。此时,得到的结果集就是两个表交叉连接的结果。交叉连接查询使用的关键字是crossjoin,没有连接条件。除了使用crossjoin,还可以用逗号分隔表名,功能是一样的。在其他类型的连接查询中,如果提供的连接条件是无效的,那么结果集也会变成笛卡儿积。任务2

多表查询【知识准备】3.内连接查询内连接查询是根据连接条件,对两个表的同名列或逻辑相关列的值进行比较,符合连接条件的元组保留在结果集中,不符合的舍弃。与交叉连接查询的结果集相比,内连接查询结果集需要保留的元组少了很多。内连接查询的关键字是innerjoin,inner可以省略。4.外连接查询外连接查询类似于内连接查询,同样是根据连接条件,对两个表的同名列或逻辑相关列的值进行比较,符合连接条件的元组保留在结果集中。二者的区别在于当连接条件不符合时,也会保留指定表中的元组。外连接查询可以分为左外连接查询、右外连接查询及全外连接查询。任务2

多表查询【任务实现】训练1:内连接查询应用情境设定:在任务1的训练2中,当查询图书过期未归还记录时,只能从借阅信息表中得到学号、书号等简单信息,不能得到学生和图书的具体信息。因此,可以使用连接查询,关联3个表的信息,从而得到更加具体的信息。查询中用到的数据表是学生信息表stu、图书信息表book和借阅信息表borrow,首先查看3个表,了解其结构和数据信息,然后查询过期未归还图书的借阅编号、学生姓名、专业、书名和应还日期。训练2:外连接查询应用情境设定:在训练1的基础上,基于借阅信息表borrow和图书信息表book,查询单价超过35元的图书在两个表中的信息,分别使用内连接、左外连接、右外连接和全外连接查询,并对比得到的结果集。表的定义、表与表之间的关系学习者是接下来会思考的问题。如何使用SQL语句创建表?已经存在的表如何使用SQL语句对其进行修改?表中数据有没有限制条件?分析与思考项目5:表的定义与约束《金仓数据库应用活页式教程》A了解数据类型分类及含义B理解SQL语言集中数据定义语言各语句的语法结构C理解SQL语言集中数据操纵语言各语句的语法结构D了解表的约束的分类及含义E理解表的约束各语句的语法结构知识目标A掌握常用数据类型的设置方法B掌握使用createtable语句新建表、复制表的方法C掌握使用altertable语句编辑表的方法D掌握使用droptable语句删除表的方法E掌握使用insertinto语句添加数据的方法F掌握使用update语句修改数据的方法G掌握使用delete语句删除数据的方法H掌握添加主键约束、外键约束的方法I掌握使用参数实现被参照表和参照表级联控制的方法J掌握添加非空约束、唯一约束、检查约束的方法能力目标任务列表任务1项目5表的定义

任务2表的约束任务1

表的定义【知识准备】1.常用数据类型KingbaseES有着丰富的数据类型,常用的数据类型见表5-1,包括数值类型、字符类型、日期/时间类型等。任务1

表的定义【知识准备】2.数据定义语言SQL提供的数据定义语言(DataDefinitionLanguage,DDL)是SQL语言集中负责数据结构定义与数据库对象(库、表、列)定义的语言,由create、alter、drop等组成。(1)createtable语句。表是数据库中最重要的数据库对象,也是数据库中数据存储的逻辑结构,createtable语句可以在当前数据库中创建一个新的表,createtable语句创建数据表的基本语法格式如下。createtable表名([{列名date_type[column_constraint[...]]|table_constraint}]);任务1

表的定义【知识准备】(2)altertable语句。编辑表的操作由altertable语句完成,altertable语句的语法格式如下。altertable表名操作命令;(3)droptable语句。删除表的操作由droptable语句完成,droptable语句的语法格式如下。droptable表名;任务1

表的定义【知识准备】3.数据操纵语言SQL提供的数据操纵语言(DataManipulationLanguage,DML)用于数据库操作,是对数据库的对象和数据运行访问工作的编程语句,主要功能是访问数据,以insert、update、delete为核心,分别代表添加、修改与删除。(1)insertinto语句。给已知表添加数据由insertinto语句完成,可以给已知表添加一条记录,也可以添加多条记录。添加的记录可以是每列都有对应值的完整记录,也可以是给部分列赋值的不完整记录。insertinto语句为已知表添加数据的语法格式如下。insertinto表名[(列名1,列名2,...)]values(value_a1,value_a2,...)[,(value_b1,value_b2,...),...];任务1

表的定义【知识准备】(2)update语句。update语句可以对表中的一行或多行记录的某些列值进行修改。update语句的语法格式如下。update表名set列名1=value1[,列名2=value2,...]where条件表达式;(3)delete语句。delete语句可以删除表中的一行或多行记录。delete语句的语法格式如下。deletefrom表名[where条件表达式];任务1

表的定义【任务实现】训练1:新建表情境设定:已创建图书管理数据库tsdb01,使用用户system的身份连接该数据库。在该数据库中的模式public下新建“中国传统文化”图书信息表(表名为book_wh),“中国传统文化”图书信息表见表5-8,“中国传统文化”图书信息表结构说明见表5-9。训练2:复制表情境设定:已创建图书管理数据库tsdb01,已使用用户system的身份连接该数据库,已新建表book_wh。复制表book_wh生成新表book1,复制表book_wh中出版社是中华书局的记录生成新表book2。任务1

表的定义【任务实现】训练3:编辑表和表数据情境设定:已创建图书管理数据库tsdb01,已使用用户system的身份连接该数据库,已存在表book1。给表book1增加1列,列名为b_s,表示销量,数据类型为integer。为表中的b_s列添加销量数据,销量低于400的书籍单价优惠10%。任务列表任务1项目5表的定义

任务2表的约束任务2

表的约束【知识准备】1.表的约束在表的实际应用中经常会遇到这样的情况:学生成绩应为一定范围内的数据(如0~100)、身份证应符合位数及编码规范、物品单价应大于0等。为了保障数据表中数据的规范性,在KingbaseES中定义了一系列维护数据库完整性的规则,这些规则就是表的约束,也称为表的完整性约束。完整性约束包括主键约束、外键约束、非空约束、唯一约束、检查约束。2.主键约束在数据表中,为避免多条记录出现识别性错误,每条记录中都要有一个能唯一标识该条记录的字段值,我们把这种规则称为主键约束。任务2

表的约束【知识准备】3.外键约束如果一个表的某一列的值依赖于另一个表的某一列的值,那么两个表之间存在参照关系,这样的约束就要使用外键约束来保证。4.非空约束非空约束可以理解为“没有数据”,用“notnull”表示。任务2

表的约束【知识准备】5.唯一约束添加唯一约束就是可以将表中任意列约束为“值”不能重复,需要注意的是,定义为唯一约束的列可以是空值。唯一约束可以作用于列,也可以作用于表。作用于列添加唯一约束的语句语法格式如下。[constraint约束名]unique作用于表添加唯一约束的语句语法格式如下。[constraint约束名]unique(列名[,列名...])任务2

表的约束【知识准备】6.检查约束检查约束就是可以对表中任意列设置赋值条件,当列值发生变化时(插入新记录或修改列值)会进行条件检查,凡是符合条件的值都可以被读入,反之拒绝。添加检查约束的语句语法格式如下。[constraint约束名]check(检查条件)任务2

表的约束【任务实现】训练1:添加主键约束和外键约束情境设定:已创建图书管理数据库tsdb01,使用用户system的身份连接该数据库。已知存在“中国传统文化”图书信息表(表名为book_wh),分析数据特征,为该表“图书上架编码”列设置主键约束。新建读者借阅表(表名为borrow)和读者还书表(表名为re),两张表的结构见表5-15,读者借阅表信息见表5-16,读者还书表信息见表5-17。删除表book_wh中b_c=101的记录。训练2:添加检查约束情境设定:已创建图书管理数据库tsdb01,使用用户system的身份连接该数据库。已知存在“中国传统文化”图书信息表(表名为book_wh),为该表增加“书号”列,用b_i表示该列。分析数据特征,为该表添加非空约束、唯一约束和检查约束。如何管理索引与视图是学习者接下来会思考的问题。索引的作用是什么?视图的分类有哪些?如何使用数据库对象管理工具管理索引与视图?如何使用SQL语句管理索引与视图?分析与思考项目6:索引与视图管理《金仓数据库应用活页式教程》A了解索引的概念与作用B理解创建、修改、删除、重建索引的语句语法结构C了解视图的概念与分类D理解创建、修改、删除视图的语句语法结构知识目标A掌握使用数据库对象管理工具创建、修改、删除、重建索引的方法B掌握使用SQL语句创建、修改、删除、重建索引的方法C掌握使用数据库对象管理工具创建、修改、删除视图的方法D掌握使用SQL语句创建、修改、删除视图的方法能力目标任务列表任务1项目6索引管理

任务2视图管理任务1

索引管理【知识准备】1.索引的概念和作用索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可更快速获取数据库表中的特定信息。btree索引是最常用的索引,KingbaseES默认创建的索引类型就是btree。任务1

索引管理【知识准备】2.索引管理(1)创建索引。创建索引可以使用数据库对象管理工具,也可以使用SQL语句。如果使用SQL语句创建索引,那么该语句的语法格式如下。create[unique]index[concurrently][[ifnotexists]名称]on[only]表名[using方法]({列名称|(表达式)}[collate校对规则][操作符类型的名称][asc|desc][nulls{first|last}][,...])[include(列名称[,...])][with(存储参数=值[,...])][tablespace表空间的名称][where述词];任务1

索引管理【知识准备】(2)修改索引。使用alterindex语句可以修改索引名、索引所存储的表空间、索引的存储参数等。修改索引的语句语法格式如下。alterindex[ifexists]名称renameto新的名称;alterindex[ifexists]名称settablespace表空间的名称;alterindex名称attachpartition索引名称;alterindex名称dependsonextensionextension_name(扩展名);alterindex[ifexists]名称set(存储参数=值[,...]);alterindex[ifexists]名称reset(存储参数[,...]);alterindex[ifexists]名称alter[column]列数setstatistics整数;alterindexallintablespace名称[ownedby角色名称[,...]]settablespace新的表空间[nowait];任务1

索引管理【知识准备】(3)查看索引(4)删除索引。删除索引可以使用数据库对象管理工具,也可以使用SQL语句。如果使用SQL语句删除索引,那么该语句的语法格式如下。dropindex[concurrently][ifexists]名称[,...][cascade|restrict];(5)重建索引。reindex语句用于重建一个索引,并且替换掉旧索引。重建索引语句的语法格式如下。reindex[(verbose)]{index|table|schema|database|system}[concurrently]名称;任务1

索引管理【任务实现】训练1:创建索引情境设定:在数据库test中有数据表t01,该表有3列(第1列为id,数据类型为integer;第2列为name,数据类型为text;第3列为score,数据类型为real),表t01中有10

000条数据记录,为表t01创建索引。训练2:修改索引情境设定:在数据库test中有数据表t02,该表有两列(第1列为id,数据类型为integer;第2列为name,数据类型为text)。通过在id列创建主键约束,为表t02创建索引,然后再修改约束名。在数据表t02的id列和name列新建两个索引public_t02_index_1和public_t02_index_2。任务1

索引管理【任务实现】训练3:重建索引情境设定:在数据库test中新建表t03,该表有两列(第1列为id,数据类型为integer;第2列为name,数据类型为text),表t03中有100万行数据记录。在id列上创建名为idx_t03_id的索引,删除表中50%的数据,最后再重建索引。任务列表任务1项目6索引管理

任务2视图管理任务2

视图管理【知识准备】1.视图的概念视图是从一个或多个数据表(或视图)中导出的虚拟的表,利于用户汇总查看多个数据来源的信息。KingbaseES支持普通视图(View)和物化视图(MaterializedView),本任务主要介绍普通视图的用法。任务2

视图管理【知识准备】2.视图的分类(1)简单视图。简单视图只能从单表里获取数据,不包含去重、聚集、分组、函数、伪列、计算表达式,支持DML操作。DML以insert、update、delete3种指令为核心,分别代表插入、更新与删除,是必须要掌握的指令,DML中的各语句和SQL中的select语句合起来经常被称为CRUD(增删改查),均为针对表的操作。(2)复杂视图。复杂视图可从多张表中获取数据,包含去重、聚集、分组、函数、伪列、计算表达式等,不支持DML操作。任务2

视图管理【知识准备】3.视图管理(1)创建视图。创建视图的语句语法格式如下。create[orreplace][temp|temporary][recursive][force]view名称[(列名称[,...])][with(view_option_name(视图选项名)[=view_option_value(视图选项值)][,...])]as查询[with[cascaded|local]checkoption];任务2

视图管理【知识准备】(2)修改视图。alterview语句用于修改视图的属性。修改视图的语句语法格式如下。alterview[ifexists]名称alter[column]列名称setdefault表达式;alterview[ifexists]名称alter[column]列名称dropdefault;alterview[ifexists]名称ownerto{新的属主|current_user|session_user};alterview[ifexists]名称renameto新的名称;alterview[ifexists]名称setschema新的模式;alterview[ifexists]名称set(view_option_name(视图选项名)[=view_option_value(视图选项值)][,...]);alterview[ifexists]名称reset(view_option_name(视图选项名)[,...]);任务2

视图管理【知识准备】(3)删除视图。dropview语句用于删除指定的视图。删除视图的语句语法格式如下。dropview[ifexists]名称[,...][cascade|restrict];任务2

视图管理【任务实现】训练1:创建视图情境设定:在数据库test中,已知有数据表student,该表包含4列,分别是sno、sname、city、job,表中有若干条记录。创建一个视图v01,显示job列是“DatabaseEngineer”的学生信息。训练2:使用选项创建视图情境设定:在训练1的基础上,根据视图v01使用withlocalcheckoption选项创建视图v02,显示city列是“天津”的学生信息,根据视图v01使用withcascadedcheckoption选项创建视图v03,显示city列是“北京”的学生信息。集合运算与子查询是接下来学习者会思考的问题。集合运算的特点是什么?集合运算是如何应用的?如何设计子查询?分析与思考项目7:集合运算与子查询《金仓数据库应用活页式教程》A了解集合运算的含义B理解集合运算符运算法则C了解子查询的分类D了解伪列类别知识目标A掌握并集、交集、差集运算的方法B掌握单行子查询的方法C掌握多行子查询的方法D掌握多列子查询及伪列的使用方法能力目标任务列表任务1项目7集合运算

任务2子查询与伪列任务1

集合运算【知识准备】1.集合运算集合运算是指使用集合运算操作符将两个或多个查询结果执行交集、并集、差集运算,最终返回一个结果集。2.集合运算符集合运算符包括union(并集,去重)、unionall(并集,不去重)、except(差集)、intersect(交集)4种,集合运算符运算规则示意图如图7-1所示。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论