管理表,视图,索引、序列

表的管理

达梦支持的哪些表: 默认的表是(索引组织表),堆表,临时表,分区表,外部表等。

如何规划表?

命名:字母开头 a-z,0-9,$#_ 数据类型:int char varchar date clob blob number等等。 存储位置:自已的规划的表空间。 约束(5大约束) 非空约束,唯一约束,主键,检查,外键 注释:comment 遵循3范式

案例1:规划一张学员信息表。

表名:STU

学号(id char(10)),

姓名(sname varchar(20) not null),

性别 (sex char(1))

年龄(age int)

电话(tel varchar(15) not null)

家庭住址:(address varchar(50))

表空间:STU

约束:主键列---学号 非空---姓名,电话

备注:学员信息表

create table "TEST3"."STU"

(

"ID" CHAR(10) not null ,

"SNAME" VARCHAR(20) not null ,

"SEX" CHAR(1),

"AGE" INT,

"TEL" VARCHAR(15) not null ,

"ADDRESS" VARCHAR(50),

primary key("ID")

)

storage(initial 1, next 1, minextents 1, fillfactor 0, on "STU");

comment on table "TEST3"."STU" is '学员信息表';

comment on column "TEST3"."STU"."ID" is '学号';

comment on column "TEST3"."STU"."SNAME" is '姓名';

comment on column "TEST3"."STU"."SEX" is '性别';

comment on column "TEST3"."STU"."AGE" is '年龄';

comment on column "TEST3"."STU"."TEL" is '电话';

comment on column "TEST3"."STU"."ADDRESS" is '家庭住址';

如何查看表结构

sp_tabledef('TEST3','STU'); select dbms_metadata.get_ddl('TABLE','STU','TEST3'); 如何查看表所属的表空间 select table_name,tablespace_name from dba_tables where table_name='STU'; 如何查看表有哪些约束 select table_name,constraint_name,constraint_type from dba_constraints where table_name='STU'; 案例2:创建表的时候指定约束 create table test3.t2(id int); alert table test3.t2 modify id int not null; create table test3.t3(id int not null); 唯一约束 create table test3.t4(id int unique); 主键约束 create tabel test3.t5(id int primary key); 检查约束 create table test3.t6(id int check(id>=5)); create table test3.t7(id int); alter table test3.t7 add constraint t7_check check(id>=5); 外键约束 create table test3.t9(sid int primary key,pid int); create table test3.t10(id int primary key ,sid int foreign key references test3.t9(sid));

表的备注

案例3:加备注 comment on column test3.t2.id is '编号';

如何导入数据到表中

案例4:如何导入数据到表中。 start /home/dmdba/a.sql 通过DTS工具去做迁移 达梦安装目录 tool ./dts

如何去维护表:

重命名 alter table test3.t2 rename tt; 增加删除列 增加列 alter table test3.tt add name varchar(10) default 'aa'; 删除列 alter table test3.tt drop name; 启用和禁用约束 (迁移数据的时候,最好把约束禁用,迁移完成再启用) alter table test3.t6 disable constraint CONS134218780; alter table test3.t6 enable constraint CONS134218780; 删除表 drop table test3.tt;

视图

简单视图,复杂视图,物化视图 注:简单视图和复杂视图不占磁盘空间 物化视图占磁盘空间

创建语法:

Create view () as select () from () where ();

视图查看

select view_name,text from dba_views where view_name='V1';

修改视图

create or replace view test3.v1 as select employee_name,job_id from dmhr.employee;

删除视图

drop view v1;

序列

创建序列

create sequence test3.s1 2 start with 1 ----序号起始 3 increment by 1 --自增多少 4 maxvalue 5 ---最大值 5 nocache ---是否缓存 6 nocycle; ---是否循环

序列的应用

insert into test3.t12 values(s1.nextval);

同义词

表或视图的别名,分为普通同义词,公共同义词

创建同义词:

公共:SQL> create public synonym ss1 for dmhr.employee; 普通:SQL> create synonym ss2 for dmhr.employee;

修改同义词:

create or replace synonym ss2 for dmhr.city;

删除同义词:

drop synonym ss2; drop public synonym ss1;

索引

达梦支持那些索引: 二级索引,位图索引,唯一索引,复合索引,函数索引,分区索引等。 默认的表是索引组织表,利用rowid创建一个默认的索引,所以我们创建的索引,称为二级索引。

查看表的索引

select table_name,index_name from dba_indexes where table_name='T12';

索引的作用

加快表的查询,对数据库做DML操作的时候,数据库会自动维护索引。索引是一棵倒置的树,使用索引,就是对这棵索引树做遍历。

建立索引的规则

1:经常查询的列 2、连接条件列 3、谓词经常出现的列(where) 4、查询是返回表的一小部分数据 不适合做索引的情况: 1、列上有大量的null 列上的数据有限(例如性别)

怎么创建索引

1、规划索引表空间 2、表的数据是无序的,索引的数据是有序的。

Emp中的employee_id 建立索引。

建立表: SQL> create table test3.emp as select * from dmhr.employee; 建立索引表空间 SQL> create tablespace index1 datafile '/dm7/data/DAMENG/index01.dbf' size 32; 建立索引: SQL> create index ind_emp on test3.emp(employee_id) tablespace index1; 查询索引: select table_name,index_name from dba_indexes where table_name='EMP';

查看表的执行计划:

没有走索引,统计信息是旧的,需要重新收集

重新收集后,走索引了。

注意一下,创建索引,删除,重建索引和收集统计信息,不要在业务高峰去做。

维护索引:

重建:alter index test3.IND_EMP rebuild; 删除:drop index test3.ind_emp;

十一、备份还原

备份作用? 1、防止误操作 2、软件硬件故障 3、防止天灾人祸 备份方式:物理备份,逻辑备份 1、物理备份还原: 冷备:(dmap服务打开的状态下,数据库是关闭的) 热备:(dmap服务一定是打开的,数据库也是打开的,数据库要开归档) 导入导出:dexp dimp 集群:数据守护(dw),dsc(rac) 达梦支持第三方的备份软件:爱数,鼎甲。

数据库开归档:

命令方式下:

SQL> alter database mount;

SQL> alter database add archivelog 'type=local,dest=/dm7/arch,file_size=64,space_limit=0';

SQL> alter database archivelog;

SQL> alter database open;

SQL> select name,status$,arch_mode from v$database; 利用管理工具开归档: tool/manager

通过dmrman去备份

Dmap服务要开启,数据库实例关闭。

命令行方式下全备,增量备

mkdir /dm7/backup

SQL> backup database full backupset '/dm7/backup/full_bak';

SQL> select checkpoint(0);

SQL> backup database increment backupset '/dm7/backup/incr_bak';

利用管理工具进行热备

还原

模拟表空间破坏 tbs2

mv tbs2_01.dbf tbs2_01.dbf.bak

重启服务,数据库处于mount 状态。手动open;

SQL> alter database open;

restore tablespace tbs2 from backupset '/dm7/backup/full_bak/';

SQL> alter tablespace tbs2 online;

逻辑导入导出

Dexp 逻辑导出 dimp 逻辑导入 Dexp和dimp是DM自带的工具,分为四种级别: 数据库级,用户级、模式级和表级。四种级别独立互斥,不能同时存在。四种级别所提供的功能: 数据库级(full):导出或导入整个数据库中的访问对象。 用户级(owner):导出或导入一个或多个用户所拥有的所有对象。 模式级(schemas):导出或导入一个或多个模式下的所有对象。 表级(table):导出或导入一个或多个指定的表或表分区。

[dmdba@dca01 bin]$ disql sysdba/SYSDBA@localhost:5237

SQL> create user DMHR identified by dameng123;

SQL> create user TEST2 identified by dameng123;

SQL> create user TEST3 identified by dameng123;

[dmdba@dca01 bin]$ ./dimp sysdba/SYSDBA@localhost:5237 file=/dm7/backup/dexp/dexp01.dmp log=dimp02.log directory=/dm7/data/dimp/

配置ODBC

1、LINUX环境中配置ODBC环境

[root@dca01 installdoc]# tar -xzvf unixODBC-2.3.0.tar.gz

[root@dca01 installdoc]# cd unixODBC-2.3.0

[root@dca01 unixODBC-2.3.0]# ./configure --enable-gui=no

[root@dca01 unixODBC-2.3.0]# make

[root@dca01 unixODBC-2.3.0]# make install

[root@dca01 unixODBC-2.3.0]# odbc_config --version

2.3.0

[root@dca01 unixODBC-2.3.0]# odbc_config --odbcini

/usr/local/etc/odbc.ini

修改配置文件

Odbc.ini

[dm7]

Desription=DM ODBC DSND

Driver = DM7 ODBC DRIVER

SERVER = localhost

UID = SYSDBA

PWD = dameng123

TCP_PORT = 5236

配置odbcinst.ini

[DM7 ODBC DRIVER]

Description = ODBC DRIVER FOR DM7

Driver = /dm7/bin/libdodbc.so

[root@dca01 etc]# chmod 775 odbc.ini

[root@dca01 etc]# chmod 775 odbcinst.ini

测试连接

达梦数据库html管理,达梦数据库的管理 - osc_nbqoh20k的个人空间 - OSCHINA - 中文开源技术交流社区...相关推荐

  1. leip与mysql数据库_性能分析方法 - osc_xm8bu282的个人空间 - OSCHINA - 中文开源技术交流社区...

    一.性能分析的常用手段 1.空间换时间,利用内存缓存从磁盘上取出的数据,CPU可以直接访问内存,从而比从磁盘读取数据更高的效率. 2.时间换空间,当空间成为瓶颈的时候,切开数据分批次处理,用更少空间完 ...

  2. java大作业用jsp数据库java_JSP数据库大作业 - 不是太阳也要发光的个人页面 - OSCHINA - 中文开源技术交流社区...

    本人QQ:240814476  欢迎大家提问,共同学习,共同进步. 最近做了一个数据库大作业啊,想用JSP做,发现代码量好大,在做前台的时候感觉手忙脚乱,没时间. 可能是本人拖了太久的原因吧 . 做的 ...

  3. 的av php mysql_php 操作数据库 - osc_avwazwuz的个人空间 - OSCHINA - 中文开源技术交流社区...

    php操作数据库大体分为以下八个步骤: 第一步:链接数据库 mysqli_connect('主机地址','mysql用户名','mysql密码','数据库','端口号') 返回:如果连接成功,返回资源 ...

  4. 大数据系列的默认端口_各大数据库默认端口 - 感觉太煽情的个人空间 - OSCHINA - 中文开源技术交流社区...

    一 :Oracle 驱动:oracle.jdbc.driver.OracleDriver URL:jdbc:oracle:thin:@<:port>:dbname 注:machine_na ...

  5. mysql的第一次作业_数据库入门第一次作业 - osc_2frf70qv的个人空间 - OSCHINA - 中文开源技术交流社区...

    数据库入门第一次作业 1.在某大学的<>中,用如下表来存储学生信息.其中,用户信息.星座信息和血型信息分别采用Users.Star和Blood三个表来保存,其中Users表引用了Star和 ...

  6. mysql数据无故回档_数据库回档解决方案 - osc_hajrc28s的个人空间 - OSCHINA - 中文开源技术交流社区...

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 作者介绍:李明,腾讯云数据库架构师华南区负责人,曾在某专业数据库服务商.51job任职DBA. 作为一名DBA,日常工作中免不了需要做一些救 ...

  7. php循环遍历数组保存数据库,php数组循环遍历 - 与狼共舞红队的个人空间 - OSCHINA - 中文开源技术交流社区...

    下面这三种是常用的 $_arr=array(); foreach($_arr as $key=>$value){ var_dump($key,$value); echo " " ...

  8. java 伪异步 netty,Netty(一) - 不死的达芬奇的个人空间 - OSCHINA - 中文开源技术交流社区...

    一.我们先来看BIO的问题: 1  没有数据缓冲区,I/O性能存在问题: 2  没有C或C++中的Channel概念,只有输入和输出流: 3  通常会导致通信线程被长时间阻塞: 4  支持的字符集有限 ...

  9. html5 本地保存大数据库,HTML5本地储存 - jellydd的个人空间 - OSCHINA - 中文开源技术交流社区...

    传统方式我们用document.cookie来储存,但是储存大小较小,而且解析复杂,HTML5提出新的解决方案,使用sessionStorage和localStorage存储数据. localStor ...

  10. php开发数独,php解数独 - AA星梦无痕AA的个人空间 - OSCHINA - 中文开源技术交流社区...

    /** * Created by PhpStorm. * User: jh * Date: 2019/7/19 * Time: 10:01 */ class shudu { public $data ...

最新文章

  1. (C++)字符数组的四种输入输出方式
  2. 一款 APK 是怎么诞生的?
  3. 10-04 矩形覆盖(斐波那契数列的应用)
  4. 可怕!CPU暗藏了这些未公开的指令!
  5. android动画入门,Android动画之入门篇(一)
  6. 比特币在推特上的活跃度正接近2017年水平
  7. mysql行格式_MySQL 行格式
  8. 南阳ACM 题目275:队花的烦恼一 Java版
  9. 【单目标优化求解】基于matlab遗传算法求解非线性目标函数最小值问题【含Matlab源码 1574期】
  10. pywifi 模块的安装
  11. 影音先锋 android下载地址,影音先锋app官方普通下载-影音先锋 安卓版v5.8.2-PC6安卓网...
  12. (转)远程计算机或设备将不接受连接,谷歌浏览器无法上网
  13. UVa 1586 Molar mass
  14. 【敬伟ps教程】平移、缩放、移动、选区
  15. 2022考研捡漏经验贴
  16. 高性能处理器架构与编程实验(基础实验2:openEuler系统环境实验)
  17. linux下使用sdkmanage安装sdk
  18. 重要开源协议的比较(BSD,Apache,GPL,LGPL,MIT) – 整理
  19. 如何根据一个值来动态让select下的option选中
  20. RTX2080Ti不能正常安装ubuntu/xubuntu的解决方法 安装显卡驱动/cuda/cudnn的正确方法 USBboot黑屏

热门文章

  1. 计算机显示器刷新率怎么调,电脑显示器刷新率如何设置,免费教你如何快手设置刷新率...
  2. MessageDigest类
  3. 1000套精选微信小程序源码
  4. 使用Java和eclipse进行XML文件解析20180812_韩信之
  5. 小米android11账号补丁,小米9 MIUI11 解账户锁 可登小米账号 永不反锁 完美ROOT 解锁包...
  6. 自定义strcmp函数
  7. 基于Java的项目--酒店客房管理系统
  8. Android文字转语音
  9. 微信小程序开发者文档教程,从入门到精通 (附超过100个完整项目源代码、文档)
  10. c语言高级代码编程图,c语言图形编程代码(C language programming code).doc