什么是数据库对象
数据库对象包括 表 索引 分区 视图 序列 同义词
数据库支持对象
存储过程 自定义函数 触发器 表空间 高级包

数据库中的数据结构 存储数据以及描述数据间的关系
表由行和列组成 数据库中数据存储数据的基本单元

分类
普通表 数据全局可见 存储在普通表空间 支持分区和LOB类型
会话级全局临时表 数据会话级可见 存储在temp表空间 不支持分区和LOB类型
事务级全局临时表 事务会话级可见 存储在temp表空间 不支持分区和LOB类型
本地临时表 表结构会话级可见 存储在temp表中 不支持分别和LOB类型 表明必须以#为前缀
Nologging表 数据全局可见 存储在temp2空间 支持分区和lob类型

语法 查询表空间 select * from dv_tablespaces
# create table
在表空间 human_resource中创建表staffs

create table staffs
(
staff_id not null primary key auto_increment ,
first_name varchar(20),
last_name varchar(20),
graduated_name char(50)
)
tablespace human_resource NOLOGGING

穿件会话级|| 事务级 全局临时表

create global temporary table staff_session
(
id int,
owner char(10)
)
On commit preserve || DELETE ROWs

更改表语法 alter table

# 新增列
alter table schema_name.table_name add full_masks int;
# 删除列
alter table schema_name.table_name drop source;
# 添加约束
alter table schema_name.table_name add constraint ck_training check(staff_id>0);
# 删除约束
alter table schema_name.table_name drop constraint ck_training;
# 重命名training_New
alter table schema_name.table_name rename to training_new;
# 删除表 # 直接删除表
dtop table if exists staff; purge;

索引:索引是对表中一列或者多列的值 进行排序的一种结构 可以提高查询性能
普通索引 B-TREE
唯一索引 unique
函数索引 简历在函数基础上的索引
分区索引 在表的分区上创建的索引 在删除时不影响其他分区索引的使用

创建索引
# CLOB BLOB IMAGE对象不能有索引
create index staffs_ind on staffs(staff_id) tablespace human_resource;
更改索引
# 在线重建索引
alter index staff_ind rebuild online;
# index重命名
alter inedx staffs_ind rename to staffs_new
# 删除索引
drop index if exists staffs_ind staffs_new on table_name;

分区
把逻辑上的一张表根据某种方案分为几张 物理块进行存储 这逻辑的表称为分区表 物理块称之为分区
分区表是一张逻辑表 不存储数据 数据实际存储在分区上

范围分区 range  适用于流水 日志等大表 需要根据时间删除历史日志
间隔分区 interval  相对range更加方便 设置分区间隔 和初始分区键指
列表分区 list  适用于离散值场景
哈希分区 hash  适用于把数据分离开 而不是为了删除数据

# 创建list分区
create table table_name
(
user_id int primary key auto_increment,
username char(10)
)
PARTITION by LIST(user_id)
(
partition part1 values values (1),
partition part2 values values (5),
partition part3 values values (10)
); # 创建分区 RANGE
create table table_range
(
user_id int primary key auto_increment,
username char(10)
)
PARTITION by RANGE(user_id)
(
partition R_0 values less than (50),
partition R_1 values less than (100),
partition R_2 values less than (150)
);
# 更改分区 添加分区R_MAX
alter table table_range add partition R_MAX values less than(maxvalues);
# 删除分区 R_1
alter table table_range Drop partition R_1 ;
# 分裂分区 将R_0 分成R_0_0 R_0_1 其中00的边界为25
alter table table_range SPLITE PARTITION R_0 at(25) into (partition R_0_0 ,partition R_0_1);

分区索引
分区索引是在分区上独立创建索引 在删除某个分区时 不影响其他分区索引的使用

create index index_edu on education(staff_id ,higest_degree) # 创建分区索引
drop index if exists index_edu on education: 删除分区表索引
alter table education drop partition doctor ; 删除分区 doctor
drop table if exists education ; 删除分区表education

视图:
视图从一个或几个表导出的虚拟表 用于数据访问

# 创建视图
create or replace view privilege_view(staff , privilege ,description,appover) as select * from privilege ;
# 删除视图
drop view if exists privilige_view ;

序列:

# 创建序列
create sequence seq_auto_extend start with 10 maxvalue 200 increament by 2 cycle ;
# 修改序列 修改步长为4 最大值为400
alter sequence seq_auto_extend increment by 4 cycle maxvalue 400 ;
# 删除序列
drop sequement if exists seq_auto_extend;

【HICP Gauss】数据库 数据库管理(数据库对象 表空间 索引 序列 分区 视图)-8的更多相关文章

  1. Oracle 数据库、实例、表空间、用户、数据库对象

    Oracle是一种数据库管理系统,是一种关系型的数据库管理系统.通常情况了我们称的“数据库”,包含了物理数据.数据库管理系统.内存.操作系统进程的组合体,就是指这里所说的数据库管理系统. 完整的Ora ...

  2. Oracle - 数据库的实例、表空间、用户、表之间关系

    完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例. 1) 数据库是一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等): 2) Oracle数据库实例则是一组Ora ...

  3. 【转】Oracle - 数据库的实例、表空间、用户、表之间关系

    [转]Oracle - 数据库的实例.表空间.用户.表之间关系 完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例. 1) 数据库是一系列物理文件的集合(数据文件,控制文件,联机 ...

  4. Oracle学习笔记—数据库,实例,表空间,用户、表之间的关系

    之前一直使用的关系型数据库是Mysql,而新公司使用Oracle,所以最近从网上搜集了一些资料,整理到这里,如果有不对的地方,欢迎大家讨论. 基本概念: 数据库:Oracle 数据库是数据的物理存储. ...

  5. Oracle数据库体系结构(7) 表空间管理1

    表空间是Oracle数据库最大的逻辑存储结构,有一系列段构成.Oracle数据库对象存储结构的管理主要是通过表空间的管理实现的. 1.表空间的分类 表空间根据存储类型不同分为系统表空间和非系统表空间 ...

  6. [转]Oracle - 数据库的实例、表空间、用户、表之间关系

    本文转自:http://www.cnblogs.com/adforce/p/3312252.html 完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例. 1) 数据库是一系列物 ...

  7. Oracle中查询当前数据库中的所有表空间和对应的数据文件语句命令

    Oracle中查询当前数据库中的所有表空间和对应的数据文件语句命令 ------------------------------------------------------------------ ...

  8. 无法为数据库中的对象分配空间,因为'PRIMARY'文件组已满

    用SQL Server2012,做数据保存时出错,错误信息:无法为数据库'***'中的对象'***'分配空间,因为'PRIMARY'文件组已满.请删除不需要的文件.删除文件组中的对象.将其他文件添加到 ...

  9. ORACLE表、索引和分区详解

    ORACLE表.索引和分区 一.数据库表 每种类型的表都有不同的特性,分别应用与不同的领域 堆组织表 聚簇表(共三种) 索引组织表 嵌套表 临时表 外部表和对象表 1.行迁移 建表过程中可以指定以下两 ...

随机推荐

  1. if [ $? -eq 0 ]的含义

    if [ $? -eq 0 ]语句代表上一个命令执行后的退出状态 $0: shell或shell脚本的名字$*: 以一对双引号给出参数列表$@:   将各个参数分别加双引号返回$#:       参数 ...

  2. selenium===使用docker搭建selenium分布式测试环境

    准备: #请在此之前先了解,selenium grid :参考:selenium-grid ,下载地址,win-本地部署过程 >>>环境准备: Linux操作系统 >>& ...

  3. TensorFlow 8 bit模型量化

    本文基本参考自这篇文章:8-Bit Quantization and TensorFlow Lite: Speeding up mobile inference with low precision ...

  4. Jeecg 支持多视图设置

    <!-- 视图解析器1:html视图解析器 必须先配置freemarkerConfig,注意html是没有prefix前缀属性的 --> <bean id="freemar ...

  5. 缓解DDoS && cc 的最佳Linux内核设置 (转)

    https://javapipe.com/blog/iptables-ddos-protection/ kernel.printk = 4 4 1 7 kernel.panic = 10 kernel ...

  6. 各手机PC品牌投屏功能连接方法

    一.iOS终端(iPhone/iPad)无线投屏: 1.将iPhone或iPad与必捷会议盒子连接至同一路由器: 2.滑动iPhone/iPad的屏幕,调出Airplay功能,选择需要投屏的主机,开始 ...

  7. 编程语言与python介绍

    目录 一.编程语言的发展史 1.1 机器语言 1.2 汇编语言 1.3 高级语言 1.3.1 编译型 1.3.2 解释型 1.4 总结 2.python介绍 2.1 python解释器版 2.2 运行 ...

  8. 001 SringBoot基础知识及SpringBoot整合Mybatis

    1.原有Spring优缺点分析 (1)优点 Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品.无需开发重量级的Enterprise J ...

  9. C++静态库与动态库的区别

    在日常开发中,其实大部分时间我们都会和第三方库或系统库打交道.在 Android 开发音视频开发领域,一般会用到 FFmepg.OpenCV.OpenGL 等等开源库, 我们一般都会编译成动态库共我们 ...

  10. C++中STL中简单的Vector的实现

    该vector只能容纳标准库中string类, 直接上代码了,StrVec.h文件内容为: #ifndef STRVEC_H #define STRVEC_H #include<iostream ...