Kingbase备份与还原及表的约束(Kylin)

备份与还原

  • 逻辑备份是对整个数据库好数据库中的部分对象利用逻辑备份工具导出数据到备份文件
  • 在需要数据恢复的情况下利用逻辑还原工具把备份文件恢复到数据库中

使用场景

  1. 逻辑备份主要用于数据库逻辑错误的恢复,恢复后对其他数据没有太大影响
  2. 逻辑备份可用于在大型数据库中执行部分静态对象的备份
  3. 逻辑备份可用于跨平台数据恢复
  4. 逻辑备份在生产中是对物理备份的有效补充

备份单表或多表

# 使用system用户将test数据库中的schema01模式下t开头的表备份至/back/dump/table.dmp
sys_dump -U system -d test -f /backup/dump/table.dmp -Fc -t schema01.t*
# -U 备份使用的用户
# -d 备份的数据库
# -f 保存路径
# -Fc 输出文件为定制
# -t 备份的数据表

备份模式

# 使用system用户将test数据库中的schema模式备份至/back/dump/schema.dmp
sys_dump -U system -d test -f /back/dump/schema.dmp -Fc -n schema01
# -U 备份使用的用户
# -d 备份的数据库
# -f 保存路径
# -Fc 输出文件为定制
# -n 备份的模式

备份数据库

# 使用system用户将test数据库备份至/back/dump/dbidr目录下,添加插入语句,使用双并发备份
sys_dump -U system -d test -f /back/dump/dbdir -Fd --inserts -j 2
# /back/dump下的/dbdir目录不能存在,系统会自动创建
# -U 备份使用的用户
# -d 备份的数据库
# -f 保存的路径
# -Fd 输出文件为文件夹
# --inserts 以inserts语句备份而不是默认的copy语句

备份数据到COPY格式的SQL脚本

# 使用system用户将test数据库下的schema01模式中的t01表备份至/back/dump/copy.sql
sys_dump -U system -d test -f /back/dump/copy.sql -Fp -t schema01.t01
# -U 备份使用的用户
# -d 备份的数据库
# -f 保存的路径
# -Fp 输出文件为明文
# -t 保存的数据表

备份数据到INSERT格式的SQL脚本

# 使用system用户将test数据库下的schema01模式中的t01表备份至/back/dump/inserts.sql
sys_dump -U system -d test -f /back/dump/inserts.sql -Fp -t schema01.t01 --inserts
# -U 备份使用的用户
# -d 备份使用的数据库
# -f 保存的路径
# -Fp 数据文件为明文
# --inserts 使用inserts语句备份

只备份对象定义 不包含表数据

# 使用system用户将test数据库下的对象信息备份至/back/dump、ddl.sql
sys_dump -U system -d test -f /back/dump/ddl.sql -Fp -s
# -U 备份使用的用户
# -d 备份的数据库
# -s 只存储模式,不包含数据
# -f 保存的路径
# -Fp 数据文件为明文

从DUMP格式的备份中还原表

sys_restore -U system -d test /back/dump/table.dmp -Fc -t t0

表的约束

数据完整性约束是指为了防止不符合规范的数据进入数据库,在录入数据或数据发生变化时,DBMS自动按照一定的约束条件对数据进行监测,使不符合规范的数据不能进入数据库,是数据库中存储的数据正确、有效、相容。

表的三类完整性约束约束可以在列或者在表级定义,单列约束可以定义在列级或表级,多列约束必须定义在表级

  • 实体完整性
  • 参照完整性
  • 用户定义完整性

实体完整性

实体完整性定义

  1. 关系数据库中每个元组应该是可区分的,是唯一的,这样的约束条件用实体完整性来保证。
  2. 实体完整性约束对应的属性被称为表的主键(primary key)或称为关系的主码
  3. 实体完整性约束可以定义在表中的一列或多列中

实体完整性规则

  1. 实体完整性规则是针对基本表而言的,一个基本表通常对应于现实世界的一个实体集
  2. 主键对应的列值在表中不能重复且不能为空
  3. 每个表最多只能拥有一个主键

创建表时添加主键约束

# 列级定义主键
CREATE TABLE student(name varchar(10),CONSTRAINT RULE_NAME PRIMARY KEY(name)  # 设置主键约束:约束名为RULE_NAME,约束列为name
);# 表级定义主键
CREATE TABLE sutent (name varchar(10),PRIMARY KEY(name));

修改表增加主键约束

ALTER TABLE student ADD CONSTRAINT pk_student_name PRIMARY KEY(name);
# 修改student表增加约束,约束名为pk_student_nmae,主键字段为name

在这里插入图片描述

参照完整性约束

参照完整性定义

  1. 现实世界中的实体主键往往存在某种关系、关系和关系之间存在相互引用。
  2. 一个表的属性需要依赖另一个表的属性,这样的约束条件使用参照完整性来保证。
  3. 参照完整性约束对应的属性被称为表的外键(foreign key),或称为关系的外码。
  4. 参照完整性约束课定义在表中的一列或多列上。

参照完整性规则

  1. 被参照的相应列上必须被定义为主键约束或唯一键约束
  2. 表的外键列可以取空值
  3. 表的外键非空时,只能取被参照表中已经存在的值
CREATE TABLE student(name varchar(10),CONSTRAINT RULE_NAME FOREIGN KEY(name) REFERENCES student1 (name) # 设置外键约束:约束名为RULE_NAME,约束列为name,参照对象为student1的name列
);

修改表添加外键约束

ALTER TABLE student ADD CONSTRAINT fk_student1_name FOREIGN KEY (name) REFERENCES student1(name);

在这里插入图片描述

用户定义的完整性约束

非空约束非空约束保证一个表中某列不能取空值

CREATE TABLE t1 (name varchar(10) NOT NULL);
# 限制name字段不能为空

唯一约束唯一约束保证一个表的某列或多列的值在表中所有元组间是不能重复的,但可以为空

CREATE TABLE t1 (name varchar(10) UNIQUE);
# 限制字段name不可为空

check约束限制一个特定列中的值必须要满足一个条件表达式

CREATE TABLE t1 (name varchar(10),score numeric CHECK(score>0));
# 限制字段score必须大于0

约束的状态控制

enable/disable对新进入数据的约束检查

validate/novalidate对现有数据的约束检查
在这里插入图片描述

约束控制方法

  1. enable + validate

    新插入的数据与表中现有数据均需符合约束条件,默认状态

  2. enable + novalidate

    对表中现有数据和新插入的数据都不执行完整性约束检查

  3. disable + validate

    对现有的数据执行完整性约束检查,不允许对表执行DML操作

  4. disable + novalidate

    对现有数据不执行完整性约束检查,对新插入的数据会执行检查

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/117193.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue重修之路由【下】

文章目录 版权声明路由重定向、404,路由模式重定向404路由模式 声明式导航vue-routerrouter-link-active 和 router-link-exact-active定制router-link-active 和 router-link-exact-active跳转传参两种跳转传参总结 编程式导航两种语法路由传参path路径跳转传参nam…

RHCE---搭建博客网站

一.实验要求: Server-NFS-DNS主机配置NFS服务器,将博客网站资源文件共享给Server-web主机,Server-NFS-DNS主机配置DNS Server-web主机配置web服务,通过域名www.openlab.com可以访问到自建的博客网站 二.准备工作 创建两台虚拟机…

Linux流量监控

yum install -y iptrafiptraf-ng -d ens33

11 结构型模式- 代理模式

结构性模式一共包括七种: 代理模式、桥接模式、装饰者模式、适配器模式、门面(外观)模式、组合模式、和享元模式。 1 代理模式介绍 软件开发中的代理: 代理模式中引入了一个新的代理对象,代理对象在客户端对象和目标对象之间起到了中介的作用,它去掉客…

LSTM 与 GRU

RNN无法处理长距离依赖问题,通俗点就是不能处理一些较长的序列数据,那么今天就来介绍一下两个能处理长距离依赖问题地RNN变种结构,LSTM和GRU。 1. LSTM(Long short-term memory) 1.1 LSTM结构 上左图是普通RNN结构图…

Windows下Eclipse C/C++开发环境配置教程

1.下载安装Eclipse 官网下载eclipse-installer(eclipse下载器),或者官方下载对应版本zip。 本文示例: Eclipse IDE for C/C Developers Eclipse Packages | The Eclipse Foundation - home to a global community, the Eclipse ID…

C语言-面试题实现有序序列合并

要求: a.输入两个升序排列的序列,将两个序列合并为一个有序序列并输出。 数据范围: 1≤n,m≤1000 1≤n,m≤1000 , 序列中的值满足 0≤val≤30000 输入描述: 1.输入包含三行, 2.第一行包含两个正整数n, m&am…

【强连通+背包】CF1763E

Problem - E - Codeforces 题意 思路 首先,先考虑第一个条件,要保证是p个节点互相到达且节点数最少,一定是个强连通,图的形态一定就是和强连通相关的。 然后,因为在这个前提上,要让单向节点数尽可能多&a…

【密评】商用密码应用安全性评估从业人员考核题库(十一)

商用密码应用安全性评估从业人员考核题库(十一) 国密局给的参考题库5000道只是基础题,后续更新完5000还会继续更其他高质量题库,持续学习,共同进步。 2501 多项选择题 GM/T 0047《安全电子签章密码检测规范》规定的电…

IMU预积分的过程详解

一、IMU和相机数据融合保证位姿的有效性: 当运动过快时,相机会出现运动模糊,或者两帧之间重叠区域太少以至于无法进行特征匹配,所以纯视觉SLAM对快速的运动很敏感。而有了IMU,即使在相机数据无效的那段时间内&#xff…

C++基类和派生类的内存分配,多态的实现

目录 基类和派生类的内存分配基类和派生类的成员归属多态的实现 基类和派生类的内存分配 类包括成员变量(data member)和成员函数(member function)。 成员变量分为静态数据(static data)和非静态数据&…

html web前端,登录,post请求提交 json带参

html web前端&#xff0c;登录&#xff0c;post请求提交 json带参 3ca9855b3fd279fa17d46f01dc652030.jpg <!DOCTYPE html> <html><head><meta http-equiv"Content-Type" content"text/html; charsetutf-8" /><title></t…

FPGA【紫光语法】

寄存器数据类型&#xff1a; reg 默认为 1 bit wide&#xff0c;如果超过 1 bit&#xff0c;则需要 range declaration 设置 reg 的位宽integer 默认位宽为 32 bit&#xff0c;不允许有 range declarationtime 默认位宽为 64 bit&#xff0c;不允许有 range declarat…

02-2、PyCharm中文乱码的三处解决方法

PyCharm中文乱码 修改处1&#xff1a; 修改处2&#xff1a;这个也没用 在Pycharm中可以创建一个模版&#xff0c;每次新建python文件时Pycharm会默认在前两行生成utf-8 #!/user/bin/env python3 # -- coding: utf-8 -- 还是乱码 再在这里设置以下 添加 &#xff1a; -Dfi…

IEEE754 标准存储浮点数

1. IEEE754 标准简介 IEEE754 标准是一种用于浮点数表示和运算的标准&#xff0c;由国际电工委员会&#xff08;IEEE&#xff09;制定。它定义了浮点数的编码格式、舍入规则以及基本的算术运算规则&#xff0c;旨在提供一种可移植性和一致性的方式来表示和处理浮点数 IEEE754 …

基于DF模式的协作通信技术matlab性能仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1、DF概述 4.2、DF基本原理 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2013b 3.部分核心程序 clc; clear; close all; warning off; addpath(genpath(pwd))…

Postman —— postman的介绍和安装

Postman的介绍 Postman 是一款谷歌开发的接口测试工具,使API的调试与测试更加便捷。 它提供功能强大的 Web API & HTTP 请求调试。它能够发送任何类型的HTTP 请求 (GET, HEAD, POST, PUT..)&#xff0c;附带任何数量的参数 headers postman是一款支持http协议的接口调试与…

OpenHarmony 持久化存储 UI 状态:PersistentStorage

前两个小节介绍的 LocalStorage 和 AppStorage 都是运行时的内存&#xff0c;但是在应用退出再次启动后&#xff0c;依然能保存选定的结果&#xff0c;是应用开发中十分常见的现象&#xff0c;这就需要用到 PersistentStorage。 PersistentStorage 是应用程序中的可选单例对象…

DAOS学习笔记及思考

DAOS带来的思考 根据daos docs的描述&#xff0c;DAOS是Intel基于NVMe全新设计开发并开源的异步对象存储&#xff0c;充分利用下一代NVMe技术的优势&#xff0c;对外提供KV存储接口&#xff0c;提供非阻塞事物I/O&#xff0c;端到端完整性&#xff0c;细粒度的数据控制&#x…

某马机房预约系统 C++项目(二) 完结

8.4、查看机房 8.4.1、添加机房信息 根据案例&#xff0c;我们还是先在computerRoom.txt中直接添加点数据 //几机房 机器数量 1 20 2 50 3 1008.4.2、机房类创建 ​ 同样我们在头文件下新建一个computerRoom.h文件 添加如下代码&#xff1a; #pragma once #include<i…