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

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

分类
普通表 数据全局可见 存储在普通表空间 支持分区和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. Kafka高级设计和架构,一文深化理解

    主题: 1.kafka是写磁盘还是写内存? 2.kafka究竟是由 consumer 从 broker 那里拉数据,还是由 broker 将数据推到 consumer? 3.如何区分已消费(consu ...

  2. Cassandra开发入门文档第五部分(使用场景)

    正确建模 开发人员在构建Cassandra数据库时犯的另一个主要错误是分区键的选择不佳.cassandra是分布式的.这意味着您需要有一种方法来跨节点分布数据.Cassandra通过散列每个表的主键( ...

  3. 使用Python读写文件进行图片复制(文件复制)

    发现Python在读二进制文件时,可以生成一个新的文件,操作还很简单,如下:对一个jpeg的文件进行复制 fp1=open("e:\\1.jpeg","rb") ...

  4. microsoft vs code 绿化

    下载地址: https://code.visualstudio.com/#alt-downloads 各个版本比较 User Installer System Installer .zip resou ...

  5. [转]Gnome桌面的录屏插件easyscreencast

    原文地址:https://www.linuxprobe.com/gnome-easyscreencast.html

  6. jiaba

  7. day51——对象、BOM对象、DOM对象

    day51 JSON对象 var a = {'name':'太白','age':89}; 序列化:var b = JSON.stringify(a); 反序列化:var c = JSON.parse( ...

  8. 2019牛客暑期多校训练营(第二场)H Second Large Rectangle

    示例一: 输入  : 1 2 01 输出: 0 示例二: 输入  : 1 3 101 输出: 1 示例三(自己自测找错误用的): 输入  : 6 610011111101111111111111111 ...

  9. Navicat Premium 12 安装与破解,Navicat Premium通用的数据库管理工具

    本文转自:https://blog.csdn.net/WYpersist/article/details/86530973 Navicat Premium 是一套数据库开发工具,让你从单一应用程序中同 ...

  10. pytest_03_pycharm运行pytest (转:上海悠悠)

    前言 上一篇pytest文档2-用例运行规则已经介绍了如何在cmd执行pytest用例,平常我们写代码在pycharm比较多 写完用例之后,需要调试看看,是不是能正常运行,如果每次跑去cmd执行,太麻 ...