没有合适的资源?快使用搜索试试~ 我知道了~
首页GBase 8s SQL入门与高级教程:数据管理与编程指南
"GBase 8s SQL 指南:教程是由南大通用数据技术股份有限公司编写的,专为数据库用户、数据库管理员和数据库应用程序程序员设计的一份详尽教程。该文档旨在教授如何利用基本和高级的结构化查询语言(SQL)来访问和管理GBase 8s数据库中的数据。内容覆盖了数据操纵语言(DML)的核心操作,如SELECT、INSERT、UPDATE和DELETE,以及DML相关的触发器和存储过程语言(SPL)的使用实例。 在本指南中,读者可以了解到如何执行数据查询,创建和管理表结构,理解SQL的查询优化,以及如何通过触发器确保数据的一致性和完整性。此外,教程还强调了与行业标准的兼容性,确保了学习者能够掌握业界认可的SQL实践。作者提供了一个演示数据库,用于实战练习,帮助读者通过实际操作熟悉SQL语法和功能。 章节结构包括简介,其中详细列出了教程的内容概览,确保了内容的系统性和实用性。此外,还有关于示例代码约定的部分,以便读者在跟随教程时能正确理解和执行代码。数据库概念部分则深入浅出地解释了SQL的基础理论,为后续的高级主题打下坚实基础。 值得注意的是,GBase 8s SQL 指南作为南大通用数据技术股份有限公司的版权作品,享有严格的版权保护,未经授权,任何形式的非法复制和传播都将被视为侵权。指南中包含了免责声明,明确了读者在合法使用范围内的权利和义务。如果遇到任何问题,读者可以直接联系该公司获取帮助。 这是一份全面而实用的GBase 8s SQL 教程,对于想要深入学习或提升数据库技能的专业人士来说,无论是初学者还是经验丰富的开发者,都是一份宝贵的参考资料。"
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/12389598/bg10.jpg)
GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司
- 4 -
当创建数据库时就会设计数据模型。然后根据模型布局的规划插入数据单元。有些书籍使
用术语模式而不是数据模型。
2.1.1 存储数据
数据库和文件之间的另一个差异是数据库的组织方式是与数据库一起存储的。
文件可能具有复杂的内部结构,但该结构的定义不在该文件中;结构的定义在创建或使用
文件的程序中。例如:字处理程序存储的文档文件可能包含描述文档格式的详细结构。但
是,只有字处理程序能够译解该文件的内容,因为结构是在程序而不是文件中定义的。
然而,数据模型包含在它描述的数据库中。它与数据库融为一体。并且可用于使用该数据
库的任何程序。模型不但定义数据项的名称,而且定义数据项的数据类型,因此程序可以
使它自己适应该数据库。例如:某个程序可发现在当前数据库中,价格项是八位数的十进
制数,小数点右边有两位数;于是它可为该类型的数分配存储器。在 SQL 编程和通过 SQL
程序修改数据中讨论了程序如何使用数据库的主题。
2.1.2 查询数据
![](https://csdnimg.cn/release/download_crawler_static/12389598/bg11.jpg)
GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司
- 5 -
数据库与文件的另一个差异是访问它们的方法。您可以按顺序搜索文件。在每一行或每一
个记录的特定物理位置查找特定值。即,可询问“哪个记录在第一个字段中具有数字
1013?”,下图显示了此搜索类型。
图: 按顺序搜索文件
相反,当查询数据库时,使用模型定义的条件,可以带着如下问题来查询数据库,“New Jersey
的客户 Shimara 公司生产的产品下了哪些装运日期在第三季度的订单?” 下图显示了此类
查询。
图: 查询数据库
![](https://csdnimg.cn/release/download_crawler_static/12389598/bg12.jpg)
GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司
- 6 -
换言之,当范围存储在文件中的数据时,必须以该文件的物理布局的形式陈述您的问题。
当查询数据库时,可以忽略计算机存储器的繁琐细节并以反映现实世界的方式(至少是数
据模型反映现实世界的方式)陈述您的查询。
编写 SELECT 语句和编写高级 SELECT 语句讨论了用于进行查询的语言。
有关如何构建和实现数据模型的信息,请参阅《GBase 8s 数据库设计和实现指南》。
2.1.3 修改数据
数据模型还使修改数据库内容而少出错成为可能。可以使用如下语句查询数据库,“查询制
造商为 Presta 或 Schraeder 的每个库存商品,并将其价格提高 13%”。以反映数据意义的
形式说明更改。不必浪费时间与精力来考虑文件中记录内字段的详细信息,因此出错的几
率也减小。
在修改数据中描述了用来修改存储数据的语句。
2.2 并发使用和安全性
数据库可以是许多用户的公共资源。多个用户可以同时查询和修改一个数据库。数据库服
务器(管理所有数据库的内容的程序)确保查询和修改顺序完成而不会产生冲突。
数据库并发用户具有许多优点,但也引入了新的安全性和隐私问题。某些数据库是专用的,
是个人建立以供自己使用的。其它一些数据库包含必须共享(但仅在受限组中共享)的机
密材料;还有其它数据库提供公用访问权。
2.2.1 控制数据库使用
GBase 8s 数据库软件提供控制数据库使用的方法。当您设计数据库时,可以执行以下任何
功能:
使数据库完全专用
对所有用户或选择的用户开放其全部内容
限制某些用户可以查看的数据选择(不同的数据选择适用于不同的用户组)
允许指定的用户查看特定项,但不能修改它们
允许指定的用户添加新数据,但不能修改旧数据
允许指定的用户更修改全部现有数据或现有数据的指定项
确保添加或修改的数据符合数据模型
![](https://csdnimg.cn/release/download_crawler_static/12389598/bg13.jpg)
GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司
- 7 -
访问管理策略
GBase 8s 支持两种访问管理系统:
基于标签的访问控制(LBAC)
基于标签的访问控制是强制访问控制的实现。它通常在存储高度敏感数据的存储库中,
如由军队或保安服务公司保卫的系统。与 LBAC 相关的 GBase 8s 的主要文档是
GBase 8s 安全指南 。GBase 8s SQL 指南:语法 描述了数据库管理员(DBSA)如何
创建和维护 LBAC 安全对象,此类管理员必须被授授予(DBSECADM)角色,并且
该角色只能由数据库系统管理员(DBSA)授予。
自主访问控制(DAC)
自主访问控制是更为简单的系统,涉及的开销少于 LABC 。根据访问特权和角色,
DAC 在所有的 GBase 8s 数据库中都启用,包括实现 LBAC 的数据库。
创建和授予角色
为了支持 DAC,数据库管理员(DBA)可以定义角色并将角色指定给用户。从而对需要访
问相同数据库对象的用户组的访问特权进行标准化。当 DBA 将特权指定给角色时,一旦
激活该角色,被授予该角色的每个用户都具有这些特权。为了激活特定角色,用户必须发
出 SET ROLE 语句。用于定义和操纵角色的 SQL 语句包括:CREATE ROLE 、DROP
ROLE 、GRANT 、REVOKE 和 SET ROLE。
有关定义和操作角色的 SQL 语法语句,请参阅《GBase 8s SQL 指南:语法》。
创建和授予角色:
1. 使用 CREATE ROLE 语句在当前数据库中创建新的角色。
2. 使用 GRANT 语句将访问特权授予该角色。
3. 使用 GRANT 语句将角色授予用户或 PUBLIC (所有用户)。
4. 用户必须发出 SET ROLE 语句来启用该角色。
为缺省角色定义和授予特权
DBA 还可以定义一个缺省角色以将该角色分配给特定数据库的单个用户或 PUBLIC 组。
当用户与该数据库建立连接后,不需要用户发出 SET ROLE 语句,该角色将自动激活。在
连接时,拥有缺省角色的每个用户都具有单独为该用户授予的访问特权以及缺省角色的特
权。
对于给定用户,在给定时间内只有一个 CREATE ROLE 语句定义的角色可以生效。如果同
时拥有缺省角色和一个或多个其它角色的用户使用 SET ROLE 语句使非缺省角色成为活
动角色,那么仅授予缺省角色(不单独对用户,对 PUBLIC 或对新活动角色授予)的任何
访问特权该用户将不再有效。同一用户可以发出 SET ROLE DEFAULT语句重新激活缺省
角色,但该操作会禁用用户仅通过先前启用的非缺省角色而拥有的任何特权。
如果为用户和 PUBLIC 指定了不同的缺省角色,那么用户的缺省角色优先。
![](https://csdnimg.cn/release/download_crawler_static/12389598/bg14.jpg)
GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司
- 8 -
为缺省角色定义和授予特权:
1. 使用 CREATE ROLE 语句在当前数据库中创建一个新角色。
2. 使用 GRANT 语句将特权授予该角色。
3. 使用以下语法将角色授予一个用户,并将该角色设置为缺省用户或 PUBLIC 角色:
ₒ GRANT DEFAULT ROLE rolename TO username;
ₒ GRANT DEFAULT ROLE rolename TO PUBLIC;
4. 使用 REVOKE DEFAULT ROLE 语句取消缺省角色到用户的关联。
限制: 只有 DBA 或数据库所有者才能移除该缺省角色。
5. 使用 SET ROLE DEFAULT 语句将当前角色复位为缺省角色。
内置角色
出于安全原因,GBase 8s 支持内置角色,这些角色对于被授予该角色且连接到数据库的任
何用户都生效,而与任何其他角色是否也处于活动状态无关。
例如,在 IFX_EXTEND_ROLE 配置参数设置为 ON 的数据库中,只有数据库服务器管理
员(DBSA)或 DBSA 已授予内置 EXTEND 角色的用户才可以创建或删除使用
EXTERNAL 关键字定义的 UDR 。
同样,在实现 LBAC 安全策略的数据库中,DBSA 可以授予内置 DBSECADM 角色。该
角色的被授予者成为数据库安全管理员,可以定义并实现 LBAC 安全策略并可以为数据和
用户指定安全标签。
与用户定义的角色不同,内置角色无法被 DROP ROLE 语句删除。SET ROLE 语句对内置
角色无效,因为在用户连接到它们已被授予内置角色的数据库期间,该角色始终处于活动
状态。
有关定义和操纵角色的外部例程引用段或 SQL 语句的更多信息,请参阅《GBase 8s SQL
指南:语法》。
有关定义和操纵 LBAC 安全对象的 DBSECADM 角色或 SQL 语句的更多信息,请参阅
《GBase 8s 安全指南》。
有关缺省角色的更多信息,请参阅《GBase 8s 管理员指南》。
有关如何授予和限制对数据库访问的更多信息,请参阅《GBase 8s 数据库设计和实现指南》。
2.2.2 集中管理
许多人使用的数据库都很有价值,必须将它们作为重要的企业资源来保护。当编译由价值
数据的存储并同时允许许多职员访问这些数据时,会产生严重问题。通过在维护性能时保
护数据来解决此问题,数据库服务器允许您将这些任务集中。
剩余366页未读,继续阅读
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/290381758bc34414b38e448a1020d037_hsxy1001.jpg!1)
爱喝普洱
- 粉丝: 7
- 资源: 130
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- Hadoop生态系统与MapReduce详解
- MDS系列三相整流桥模块技术规格与特性
- MFC编程:指针与句柄获取全面解析
- LM06:多模4G高速数据模块,支持GSM至TD-LTE
- 使用Gradle与Nexus构建私有仓库
- JAVA编程规范指南:命名规则与文件样式
- EMC VNX5500 存储系统日常维护指南
- 大数据驱动的互联网用户体验深度管理策略
- 改进型Booth算法:32位浮点阵列乘法器的高速设计与算法比较
- H3CNE网络认证重点知识整理
- Linux环境下MongoDB的详细安装教程
- 压缩文法的等价变换与多余规则删除
- BRMS入门指南:JBOSS安装与基础操作详解
- Win7环境下Android开发环境配置全攻略
- SHT10 C语言程序与LCD1602显示实例及精度校准
- 反垃圾邮件技术:现状与前景
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)