程序员笔记 (二十三)达梦数据库 分区表 模式对象 非模式对象


aihuafeng66t
克里斯蒂亚诺诺 2024-01-12 13:42:25 51241 赞同 0 反对 0
分类: 资源 标签: 运维
程序员笔记 (二十三)达梦数据库 分区表 模式对象 非模式对象

(一)创建范围分区表T1,修改分区表

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
create table DMHR.T4(id int,name varchar(20))partition by range(id)(partition p1 values less than(100),partition p2 values less than(200),partition p3 values less than(300));
1、增加分区alter table test.tl add partition pn values less than (maxvalue);2、删除分区alter table TEST.Tl drop partition pn;3、合并分区alter table test.tl merge partitions p2,p3 into partition p2 4、拆分分区alter table test.tl split partition p2_3 at(200)

 

(二)

达梦数据库目前只支持水平分区表:表按照行拆分成多个分区,每个分区

和主表有相同的列和约束条件。

目前水平分区主要支持4中类型

  1. 范围分区:对表某列上的值范围进行分区

     

2.哈希分区:按分区数进行散列分区,每个分区大小差不多。

3.列表分区:如果某列的值只有几个,基于这样的特点我们可以采用列表分区

4.多级分区:把上面三种分区进行任意组合,将表多次分区

(三)范围分区表

1.创建范围分区时要指定默认分区,否则回因数据不能匹配分区后,而插入失败

2.创建时,可以指定不同表空间

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
CREATE TABLE t_range (
A INT,
B VARCHAR,
C DATETIME
)
PARTITION BY RANGE(C)
(
PARTITION P1 VALUES LESS THAN ('2021-09-01') TABLESPACE "TBS_PARTA",
PARTITION P2 VALUES LESS THAN ('2021-10-01') TABLESPACE "TBS_PARTA",
PARTITION P3 VALUES LESS THAN ('2021-11-01') TABLESPACE "TBS_PARTB",
PARTITION P4 VALUES LESS THAN ('2021-12-01') TABLESPACE "TBS_PARTB",
PARTITION P5 VALUES EQU OR LESS THAN(MAXVALUE) TABLESPACE "TBS_PARTB"
);

 

(四)列表分区表

列表分区按列上面的值进行分区,一般用于区号,城市,国别,分散较小的数值。
创建时候,也要有默认分区
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
CREATE TABLE LOCATION(
A INT,
B VARCHAR2(20),
C char(10)
)
PARTITION BY LIST(C)
(
PARTITION P1 VALUES ('湖北','湖南') TABLESPACE "TBS_PARTA",
PARTITION P2 VALUES ('山东','山西') TABLESPACE "TBS_PARTA",
PARTITION P3 VALUES ('河南','河北') TABLESPACE "TBS_PARTA",
PARTITION P4 VALUES ('北京','上海') TABLESPACE "TBS_PARTA",
PARTITION P_DEFAULT VALUES(default)
);

 

(五)哈希分区表

如果表中的列值不满足范围分区和列表分区,那么就可以考虑使用哈希分区。数据库就会根据分区键的散列值将行映射到分区。是数据能均匀的分布在各个分区

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
CREATE TABLE MY_HASH(
A INT,
B VARCHAR2(20),
C char(10)
)
PARTITION BY HASH(C)
(
PARTITION P1 TABLESPACE "TBS_PARTA",
PARTITION P2 TABLESPACE "TBS_PARTA",
PARTITION P3 TABLESPACE "TBS_PARTA",
PARTITION P4 TABLESPACE "TBS_PARTA"
);

 

(六)多级分区表

如果数据表经过一次分区后,单个子分区还是很大,就可以考虑对子分区进行再分区。如果建一个LIST-RANG分区
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
CREATE TABLE M_LIST(
A INT,
B VARCHAR2(20),
C VARCHAR2(40)
)
PARTITION BY LIST(B)
SUBPARTITION BY RANGE(A) SUBPARTITION TEMPLATE(
SUBPARTITION SUB1 VALUES LESS THAN (10),
SUBPARTITION SUB2 VALUES LESS THAN (20),
SUBPARTITION SUB3 VALUES EQU OR LESS THAN (MAXVALUE)
)
(
PARTITION P1 VALUES ('湖北','湖南'),
PARTITION P2 VALUES ('北京','上海'),
PARTITION P3 VALUES ('山东','山西')
);

(七)

达梦数据库安装完成后,数据库会默认创建5个表空间,分别为:SYSTEM表空间(系统表空间)、ROLL表空间(回滚表空间)、TEMP表空间(临时表空间)、MAIN表空间(用户表空间)、HMAIN表空间(默认HTS表空间)。

其中SYSTEM表空间是系统表空间,存储有数据字典信息,用户数据不能存放在该表空间上;

ROLL表空间是回滚表空间,存放了数据库运行过程中产生的回滚记录;

TEMP表空间是临时表空间,存放临时数据,临时表默认都存放在临时表空间上;

MAIN表空间是数据库默认的表空间,创建数据对象时,如果不指定存储位置,默认存放到该表空间。

ROLL,TEMP和HMAIN表空间,由系统自动维护,不需要用户干预。初始的MAIN表空间为用户默认表空间。表空间只是一种逻辑结构,对应的物理存储结构为数据文件。

 

(八)

达梦操作默认事务不提交,需要手动提交。

(九)

模式对象之外的其他对象统一称为非模式对象,非模式对象主要包括以下几种对象:
1. 用户;2. 角色;3. 权限;4. 表空间。

 

(十)表空间管理

表空间是一个逻辑结构,对应数据文件为物理结构,DM中将数据的所有对象在逻辑上都存放在表空间中,而物理上都存储在所属表空间的数据文件中。

(十一)DM中的管理员用户:

数据库管理员SYSDBA、数据库安全员SYSSSO、数据库审计员SYSAUDITOR、数据库对象操作员SYSDBO

达梦数据库采用三权分立或四权分立的安全机制,将系统中所有权限按照功能进行划分,为每个管理员分配相应的权限,各自的用户仅能做自己权限以内的事,且各用户之前能够相互监督,创建数据库时可以通过参数PRIV_FLAG设置三权分立或四权分立,仅DM安全版提供四权分立机制。

四权分立比三权分立多一个数据库对象操作员。

manager新建管理用户,可以指定使用表空间,未指定时默认使用main表空间:

(十二)权限管理

DM中用户权限分为数据库权限和对象权限

1.数据库权限

数据库对象的创建、删除、修改,数据库的备份等权限,一般由SYSDBA/SYSAUDITOR/SYSSSO指定,也可以由具有特权的其他用户授予。

常用的数据库权限:

create table/view/user/trigger/procedure:在自己的模式中创建表/视图/用户/触发器/存储过程的权限

alter user/database:修改用户/数据库的权限

2.对象权限

对数据库对象中的数据的访问权限,一般由数据库对象的所有者授予用户,也可由SYSDBA用户指定,或由具有该对象权限的其他用户授权。

常用的对象权限:

select/insert/delete/update:分别针对数据库对象中数据的查询/插入/删除/修改的权限

reference:可以与一个表建立关联关系的权限

execute:用户可以执行另一个用户的存储程序、包、类等权限

read/write:可以读或写访问某个目录对象的权限

usage:可以使用某个域对象的权限

授予TEST用户创建表的权限,允许转授:

(十三)角色管理

角色是一组权限的组合,DM中包含预定义的角色(SYSDBA、SYSAUDITOR、SYSSSO、SYSDBO)和用户自定义的角色,预定义角色包含部分权限,管理员可以将角色直接授予给用户,自定义角色则需在创建后手动赋予权限,然后将该角色授予给需要的用户。

当用户较多时,将用户所需的共同权限授予给角色,然后直接将角色授予给这些用户,就不需要为每一个用户授予一次相同权限,在使用角色的过程中,可以随时修改角色权限,相应用户权限也随之改变,如果要回收所有权限,只需将角色从用户回收即可。

https://blog.csdn.net/suyishuai/article/details/120912724

https://blog.csdn.net/wangjin840211/article/details/111312323

https://blog.csdn.net/wxq1212/article/details/127386689

 

如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!

评价 0 条
克里斯蒂亚诺诺L1
粉丝 0 资源 831 + 关注 私信
最近热门资源
银河麒麟桌面操作系统备份用户数据  123
统信桌面专业版【全盘安装UOS系统】介绍  118
银河麒麟桌面操作系统安装佳能打印机驱动方法  109
银河麒麟桌面操作系统 V10-SP1用户密码修改  103
最近下载排行榜
银河麒麟桌面操作系统备份用户数据 0
统信桌面专业版【全盘安装UOS系统】介绍 0
银河麒麟桌面操作系统安装佳能打印机驱动方法 0
银河麒麟桌面操作系统 V10-SP1用户密码修改 0
作者收入月榜
1

prtyaa 收益393.62元

2

zlj141319 收益218元

3

1843880570 收益214.2元

4

IT-feng 收益209.03元

5

风晓 收益208.24元

6

777 收益172.71元

7

Fhawking 收益106.6元

8

信创来了 收益105.84元

9

克里斯蒂亚诺诺 收益91.08元

10

技术-小陈 收益79.5元

请使用微信扫码

加入交流群

请使用微信扫一扫!