赵渝强老师,国产金仓数据库的模式如何为?
摘要:金仓数据库的逻辑存储结构主要是指数据库中的各种数据库对象,包括:数据库集群、数据库、表、索引、视图等等。所有数据库对象都有各自的对象标识符oid(object identifiers),它是一个无符号的四字节整数,相关对象的oid都存放在相
金仓数据库的逻辑存储结构主要是指数据库中的各种数据库对象,包括:数据库集群、数据库、表、索引、视图等等。所有数据库对象都有各自的对象标识符oid(object identifiers),它是一个无符号的四字节整数,相关对象的oid都存放在相关的系统目录表中,比如数据库的oid和表的oid分别存放在sys_database,sys_class表中。下图展示了金仓数据库的逻辑存储结构。
当创建一个数据库时,会为其自动创建一个名为“public”的默认Schema。Schema是数据库中的命名空间,在数据库中创建的所有对象都是在Schema中创建。一个用户可以从同一个客户端连接中访问不同的Schema。而不同的Schema中可以有多个同名的表、索引、视图、序列、函数等等各种不同的数据库对象。
点击这里查看视频讲解:【赵渝强老师】国产金仓数据库的模式
可以通过下面的方式来查看当前数据库的Schema。
kingbase=# \dn
# 输出的信息如下:
架构模式列表
名称 | 拥有者
------------------+--------
anon | system
dbms_job | system
dbms_scheduler | system
dbms_sql | system
kdb_schedule | system
perf | system
public | system
src_restrict | system
sys_hm | system
sysaudit | system
sysmac | system
wmsys | system
xlog_record_read | system
(13 行记录)
使用命令create schema可以创建一个新的模式,下面展示了该命令的格式:
CREATE SCHEMA schema_name [ AUTHORIZATION role_specification ] [ schema_element [ ... ] ]
CREATE SCHEMA AUTHORIZATION role_specification [ schema_element [ ... ] ]
CREATE SCHEMA IF NOT EXISTS schema_name [ AUTHORIZATION role_specification ]
CREATE SCHEMA IF NOT EXISTS AUTHORIZATION role_specification
其中 role_specification 可以是:
| user_name
| CURRENT_USER
| SESSION_USER
在了解到模式的概念后,下面通过具体的操作来演示如何创建和使用它。
(1)创建一个新的数据库dbtest。
scott=# create database dbtest;
(2)查看已存在的数据库列表。
