Oracle--常用数据库对象(视图、序列、索引、同义词)详解

Oracle数据库【视图、物化视图、序列、索引】 阅读详情

常见的数据库对象

对象描述
表基本的数据存储集合,由行和列组成
视图从表中抽出的逻辑上相关的数据集合
序列提供有规律的数值
索引提高查询的效率
同义词给对象起别名

视图

什么是视图?
  • 视图是一个虚表\color{red}{虚表}虚表
  • 视图建立在已有表的基础上,视图赖以建立的这些表称为基表\color{red}{基表}基表
  • 向视图提供数据内容的语句为select语句\color{red}{select 语句}select语句,可以将视图理解为存储起来的select语句\color{red}{存储起来的select语句}存储起来的select语句
  • 视图向用户提供基表数据的另一种表现形式
  • 最大的优点就是简化复杂的查询。\color{red}{最大的优点就是简化复杂的查询。}最大的优点就是简化复杂的查询。
视图的优点

在这里插入图片描述

创建视图的语法
create [or replace] [force|noforce] view viewName
	[(alias[, alisa]...)]
[with check option [constraint constraint]]
[with read only [constraint constraint]];
  • force:子查询不一定存在
  • noforce:子查询存在(默认)
  • with read only:只能做查询操作
  • 子查询可以是复杂的select语句
    示例:建立一个视图,此视图包括了20号部门的全部员工信息
create view empView20 as select * from emp t where t.deptno=20;

select * from empView20;

在这里插入图片描述

语法2:
create or replace view 视图名称 as 子查询

如果视图已经存在我们可以使用语法2来创建视图,这样已有的视图会被覆盖。

create or replace view wmpView20 as select * from emp t where t.deptno=10;

select * from empView20;

在这里插入图片描述在这里插入图片描述

简单视图和复杂视图
特性简单视图复杂视图
表的数量一个一个或多个
函数没有有
分组没有有
DML操作可以有时可以

不建议通过视图对表中数据进行修改,因为会受到很多的限制。\color{red}{不建议通过视图对表中数据进行修改,因为会受到很多的限制。}不建议通过视图对表中数据进行修改,因为会受到很多的限制。

创建复杂视图

示例:查询各个部门的最低工资,最高工资,平均工资

create view dept_sum_vu
	(name, minsal, maxsal, avgsal)
as select d.department_name, MIN(e.salary),
		  MAX(e.salary), AVG(e.salary)
	from employees e, departments d
	where e.department_id = d.department_id
	group by d.department_name;
视图中使用DML的规定
  • 可以在简单视图中执行DML操作

  • 当视图定义中包含以下元素之一时不饿能使用delete:

    1. 组函数
    2. GROUP BY 子句
    3. DISTINCT 关键字
    4. ROWNUM 伪列
  • 当视图定义中包含以下元素之一时不能使用update:

    1. 组函数
    2. GROUP BY 子句
    3. DISTINCT 关键字
    4. ROWNUM 伪列
    5. 列的定义方式为表达式
  • 当视图定义中包含以下元素之一时不能使用insert:

    1. 组函数
    2. GROUP BY 子句
    3. DISTINCT 关键字
    4. ROWNUM 伪列
    5. 列的定义方式为表达式
    6. 列中非空的列在视图定义中未包括
屏蔽DML操作
  • 可以使用WITH READ ONLY 选项屏蔽对视图的DML操作
  • 任何DML操作都会返回一个Oracle server 错误
删除视图

删除视图只是删除视图的定义,并不会删除基本表的数据。

drop view vie;

drop view empView20;

序列

在很多数据库中都存在一个自动增长的列,如果现在要想在oracle中完成自动增长的功能,则只能依靠序列完成,所有的自动增长操作,需要用户手工完成处理。并且Oracle将序列值装入内存可以提高访问效率。

序列:可供多个用户用来产生唯一数值的数据库对象:

  • 自动提供唯一的数值
  • 共享对象
  • 主要用于提供主键值
  • 将序列值装入内存可以提高访问效率
语法:
create sequence 序列名
	[increment by n]
	[start with n]
	[{MAXVALUE n| NOMAXVALUE}]
	[{MINVALUE n| NOMINVALUE}]
	[{CYCLE|NOCYCLE}]
	[{CACHE n| NOCACHE}];

示例:

create sequence dept_deptid_seq
	increment by 10
	start with 120
	maxvalue 9999
	nocache
	nocycle;

Sequence created.
查询序列

查询数据字典视图USER_SEQUENCES获取序列定义信息:

select sequence_name, min_value, max_value, increment_by, last_number
from user_sequences;
  • 如果指定NOCACHE选项,则列LAST_NUMBER显示序列中下一个有效的值

序列创建完成之后,所有的自动增长应该由用户自己处理,所以在序列中提供了以下的两种操作:

  • nextval:取得序列的下一个内容
  • currval:取得序列的当前内容

在插入数据时需要自增的主键中可以这样使用
在这里插入图片描述
序列可能产生裂缝的原因:

  • 回滚
  • 系统异常
  • 多个表公用一个序列
修改序列

修改序列的增量,最大值,最小值,循环选项或是否装入内存

alter sequence dept_deptid_seq
	increment by 20
	maxvalue 999999
	nochche
	noccle;
修改序列的注意事项
  • 必须时序列的拥有者或对序列有ALTER权限
  • 只有将来的序列值会被改变
  • 改变序列的初始值只能通过删除序列之后重建序列的方法实现
删除序列
  • 使用drop sequence 语句删除序列
  • 删除之后,序列不能再次被引用
drop sequence dept_deptid_seq;

Sequence dropped.

索引

索引是用于加速数据存取的数据对象。合理的使用索引可以大大降低i/o的次数,从而提高数据访问性能。

  • 一种独立于表的模式对象,可以存储在与表不同的磁盘或表空间中
  • 索引被删除或损坏,不会对 表产生影响,其影响的只是查询的速度
  • 索引一旦建立,Oracle管理系统会对其进行自动维护,而且由Oracle管理系统决定何时使用索引,用户不用再查询语句中指定使用哪个索引
  • 再删除一个表时,所有基于该表的索引会自动被删除
  • 通过指针加速Oracle服务器的查询速度
  • 通过快读定位数据的方法,减少磁盘 I/O

1. 单列索引:
单列索引是基于单个列所建立的索引,比如:

create index 索引名 on 表明(列名);

2. 复合索引:
复合索引是基于两个列或多个列的索引。在同一张表上可以有多个索引,但是要求列的组合必须不同,例如:

create index emp_idxl on emp(ename, job);
create index emp_idx1 on emp(job, ename);

示例:给person表的name属性建立索引

create index pname_index on person(name);

示例:给person表创建一个name和gender的索引

create index pname_gender_index on person(name, gender);
什么时候创建索引
  • 列中数据值分布范围很广
  • 列经常在where子句或连接条件中出现
  • 表经常被访问而且数据量很大,访问的数据大概占数据总量的2%到4%
什么时候不要创建索引
  • 表很小
  • 列不经常作为连接条件或出现在where子句中
  • 查询的数据大于2%到4%
  • 表经常更新
查询索引

可以使用数据字典视图USER_INDEXES和USER_IND_COLUMNS查看索引的信息
在这里插入图片描述

删除索引
  • 使用DROP INDEX命令删除索引
drop index indexName;
  • 删除索引UPPER LAST NAME IDX
drop index upper_last_name_idx;

Index dropped.
  • 只有索引的拥有者或拥有drop any index 权限的用户才可以删除索引

同义词

  • 方便范文其它用户的对象
  • 缩短对象名字的长度
create [public] SYNONYM synonym
for object;
创建同义词

示例:为视图DEPT_SUM_VU创建同义词

create synonym d_sum
for dept_sum_vu;

Synonym Created.
删除同义词
drop synonym d_sum;

Synonym dropped.
【RT-DETR涨点改进】独家Conv改进篇 | 来自TIP 2024顶刊| 引入 DEConv细节增强卷积模块, 能够恢复更多细节信息,提升小目标检测精度、含多种不同模型改进点 本文提出了一种细节增强卷积(DEConv)模块,通过融合多种差异卷积(CDC、ADC、HDC、VDC)来增强图像特征表示能力,特别在边缘和纹理细节提取方面表现突出。该模块采用重参数化技术,在不增加计算成本的情况下,将先验信息融入常规卷积层,显著提升了RT-DETR模型在模糊或遮挡场景下的目标检测精度。实验验证了DEConv在多种骨干网络(ResNet18/50、HGNet等)中的有效性,为实时目标检测系统提供了轻量高效的改进方案。 阅读详情

相关推荐

新手避坑指南:用镭神C32和KVH 1750 IMU做标定,为什么直接上lidar_align会失败?

本文详细解析了使用镭神C32激光雷达和KVH 1750 IMU进行标定时常见的失败原因及解决方案。从IMU的微分传感器特性到Lidar-IMU标定的数学本质,再到可行的标定方案和实操注意事项,帮助新手避开认知陷阱,掌握正确的标定方法。

weixin_30162121的博客 327

数据库常用对象(表、视图)

数据库常用对象(表、视图)

呵呵喝何何 1356

vivado时序分析 实例

vivado时序分析实例建立余量保持余量 建立余量 保持余量

Bunny9__的博客 1万+

数据库对象之详解

数据库顾名思义就是指数据存放的地方。在计算机中,数据库是数据和数据库对象的集合!数据库对象是数据库中重要的组成部分,常见的有这么几种: 一、表(Table) 数据库中的表与我们生活当中的表格类似,由行(Row)和列(Column)组成列指同类信息,每列又称为一个字段,每列的标题称为字段名。行包括了若干列表信息项,一行数据称为一个或一条记录。一个数据库表由一条或多条记录组成,没有记录的表称为...

www.v5qq.com的技术博客 313

人大金仓集群部署(主备)

4.2 上传安装包镜像和授权文件到install目录下并授权。1、复制系统脚本到/opt/kingbase目录下(主节点)4.2 修改cluster_install.sh。回车进行下一步,直到出现以下界面,回复Y键回车。三、安装kingbase客户端段(都要安装)install目录作为安装包具体存放目录。4.1 修改install.conf文件。2、复制授权文件到安装目录下(主节点)3、修改ssh参数(节点都要配置)5、安装kingbase客户端。二、基本环境配置(都要配置)6、数据库集群安装(主节点)

edutech_wang的博客 1996

风光互补制氢系统动态仿真建模与性能分析

摘要 本文针对离网型风光互补制氢系统,建立了包含光伏阵列、风力发电机、PEM电解槽、储能电池和储氢罐的完整动态数学模型。基于MATLAB/Simulink平台开发了模块化仿真框架,设计了考虑电解槽最小运行功率约束的能量管理策略。通过典型日仿真分析表明,风光互补可有效平抑单一能源的功率波动,系统整体能量效率达58.7%,电解槽负荷跟随特性良好。提出的动态仿真方法为风光制氢系统的优化设计和运行控制提供了有效工具。 关键词:风光互补制氢;PEM电解槽;动态仿真;MATLAB/Simulink;能量管理

huanghm88的专栏 77

数据库 表,视图,索引的创建

表,视图,触发器的创建 表的创建: 格式create table 表名 ( 字段名 数据类型, 字段名 数据类型, …(次数注意最后一个字段的后面没有逗号) ); 例子:创建一个名为T的表 其中有属性id数据类型为int,name数据类型为varchar,学分grade数据类型为double。 create table T ( id int, name varchar, grade double ); 视图的创建 视图是什么:我们select查询之后会得到一些数据,但是我们不能对查询出来的数据进行再操作,如

weixin_46506102的博客 836

基于STM32L4XX、HAL库的ICP-10111压力传感器驱动程序设计

define ICP10111_CMD_MEAS_ULN 0x7866 // 超低噪声模式。#define ICP10111_CMD_MEAS_LP 0x609C // 低功耗模式。#define ICP10111_CMD_MEAS_LN 0x70DF // 低噪声模式。#define ICP10111_CMD_MEAS_N 0x6825 // 正常模式。ICP10111_MODE_LN, // 低噪声。// 等待测量完成(根据模式不同等待时间不同)

zhusl6688的博客 417

数据库MySQL用户创建、角色创建、权限授予

– 1.查询现有用户 use mysql; select * from user; – 2.创建用户 create user ‘zhengfan’@‘localhost’ identified by ‘2000’; create user ‘wanglaoshi’@‘localhost’ identified by ‘1234’; – 3.用户身份鉴定(DOS命令行) – 4.删除用户 drop ...

zfjiayoua的博客 6906

国家自然基金研究方向选定后,关键词只能下拉吗?——不是的,国家自然科学基金(NSFC)的关键词并不是只能下拉选择,而是:[特殊字符] “可选 + 可填”的混合模式(但以规范词为主)

你可以手动输入关键词用于表达新兴方向或细分领域✔ 适用情况:新概念(如“电场调控纳米流体”)交叉领域(如“电流体力学传热耦合”)电场调控电流体力学可以自己填,但必须以系统标准关键词为主,自定义为辅如果你愿意,我可以帮你做一件更关键的事:👉根据你题目,反向设计“最容易中标”的关键词组合 + 学科代码搭配这个比写内容本身还更影响送审质量。你可以手动输入关键词用于表达新兴方向或细分领域✔ 适用情况:新概念(如“电场调控纳米流体”)交叉领域(如“电流体力学传热耦合”)电场调控电流体力学。

qq_15963745的博客 82

【报错解决】OpenClaw 报错 ENOENT: no such file or directory, open ‘/root/.npmrc‘:配置文件路径不存在

本文分析了OpenClaw平台在国产操作系统环境下运行时出现的ENOENT: no such file or directory, open '/root/.npmrc'错误。该问题源于容器环境中root用户的npm配置文件缺失,导致插件依赖安装失败。文章详细解释了npm配置加载机制和容器环境的特殊性,提出了四种解决方案:手动创建配置文件、写入基础配置、使用全局配置替代以及容器启动时自动初始化。最后指出该错误暴露了工程中对默认路径盲目信任的问题,强调显式声明运行环境依赖的重要性。

博客 2016

使用Oracle数据字典分析数据库表、视图、索引

        Oracle数据库提供了一组视图 - 统称为数据字典,能够使用这些视图去分析数据库表、索引等之间的关系。并且这些视图的源码可以通过查询视图dba_views的text字段查看。 一、使用数据字典分析数据库表 1、查询用户表 select * from user_tables order by table_name; 2、查询用户表及描述 select * from use...

为何生存 983

Python爬取谷歌学术全攻略:基于Playwright与Asyncio的高效、抗反爬虫实践

同时,文章将详细解析爬虫过程中可能遇到的各种挑战,如IP封锁、验证码、动态内容加载等,并提供切实可行的解决方案。self.logger.info(f"第 {current_page} 页解析完成,共找到 {len(page_results)} 条结果。:谷歌学术的HTML结构并非一成不变,其CSS类名和标签结构可能会发生变化,且不同地区、不同语言的界面可能存在差异,增加了数据解析的难度。self.logger.info(f"开始搜索关键词: '{keyword}',计划爬取 {max_pages} 页")

2201_76125261的博客 1550

oracle数据库---视图、物化视图、序列、同义词、索引

视图是一种数据库对象,是从一个或者多个数据表或视图中导出的虚表,视图所对应的数据并不真正地存储在视图中,而是存储在所引用的数据表中,视图的结构和数据是对数据表进行查询的结果。一个视图所存储的并不是数据,而是一条预定义】SQL语句。根据创建视图时给定的条件,视图可以是一个数据表的一部分,也可以是多个基表的联合,它存储了要执行检索的查询语句的定义,以便在引用该视图时使用。使用视图的优点:1.简化数据操作:视图可以简化用户处理数据的方式。

m0_63845988的博客 1901

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

oracle 视图、索引、序列、同义词

目录 1.视图对象 1.1创建视图 1)简单视图 2)建立只读视图 3)复杂视图 1.2管理视图 1)查看视图定义 2)修改视图定义 3)重新编译视图 4)删除视图 2.索引 2.1索引概述 2.2创建索引 1)建立B树索引 2)建立位图索引 3)建立反向键索引 4)基于函数的索引 2.3修改索引 合并索引 重建索引 重建索引同时修改表空间 2.4删除索...

树叶子的博客 1190

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Oracle数据库对象详解:视图、约束、序列、同义词与索引

这篇讲了 Oracle 的 5 大核心数据库对象: 视图:虚拟表,用来限制访问、简化查询; 约束:给数据定规矩,保证正确性; 序列:自动生成唯一数字,给主键赋值; 同义词:给对象起小名,简化操作; 索引:像目录一样,让查询变快。

qq_45438032的博客 1085

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

oracle实验9-10 索引与视图,序列和同义词的创建

传送门(不用再辛苦百度实验报告啦,一键直达呦) oracle实验1 oracle 基本操作 oracle实验2 oracle数据体系结构 oracle实验3 用户、方案的创建与管理 oracle实验4 表的创建与管理 oracle实验5 sql基本查询 oracle实验6 sql高级查询 oracle实验7 pl/sql编程基础 oracle实验8 存储过程与函数的创建 orac...

blaze_jack 2809

【Oracle】的表空间、视图、序列、同义词、索引详解

1.Oracle 数据库对象 数据库对象是数据库的组成部分,常常用 CREATE 命令进行创建,可以使用 ALTER 命令修改,用 DROP 执行删除操作。2.同义词 同义词(Synonym)是数据库对象的一个别名,Oracle 可以为表、视图、序列、过程、函数、程序包等指定一个别名。同义词有两种类型: 私有同义词:拥有 CREATE SYNONYM 权限的用户(包括非管理员用户)即可创建私有同

qq_35029429的博客 1392

Oracle的数据库对象分为五种:表,视图,序列,索引和同义词

(摘自不同文档如侵删)                    用户、数据库、表、视图、存储过程、存储函数、触发器、索引等 GRANT:授权语句,对应的是REVOKE(撤销授权语句)。   视图是从一个或多个实际表中获得的,这些表的数据存放在数据库中。那些用于产生视图的表叫做该视图的基表。一个视图也可以从另一个视图中产生。  查询视图没有什么限制, 插入/更新/删除视图的操作会受到一定的限制...

weixin_42314686的博客 1140

Oracle数据库的视图、物化视图、序列、同义词、索引

Oracle数据库对象 视图物化视图序列同义词索引 注:以下数据库对象中,物化视图、序列、同义词为Oracle数据库特有 视图 含义:视图是一种数据库对象,是从一个或者多个数据表或视图中导出的虚表,视图所对应的数据并不真正地存储在视图中,而是存储在所引用的数据表中,视图的结构和数据是对数据表进行查询的结果。 使用视图的优点: 简化数据操作:视图可以简化用户处理数据的方式。 着重于特定数据:不必要的数据或敏感数据可以不出现在视图中。 视图提供了一个简单而有效的安全机制,可以定制不同用户对数据的访问权限

i_am_handsome_的博客 683

Oracle 快速入门 同义词&序列&视图&索引

目录 一、数据库对象 二、同义词synonym 三、序列 四、视图 五、索引 六、综合代码 1.同义词部分: 2.序列: 3.视图和索引 一、数据库对象 1.数据库对象 2.同义词 3.序列 4.视图 5.索引 ......

m0_60786924的博客 1650

Oracle入门笔记(九)——视图、序列、索引、同义词和权限等

主要讲解视图、序列、索引、同义词等

weixin_46560512的博客 2039

ORACLE数据库中创建、删除--同义词、视图、索引、序列

/*创建,删除同义词*/select * from emp;create synonym emp_ny for emp;create public synonym pub_emp_ny for employees;--创建公有同义词DROP SYNONYM EMP_NY;--删除同义词DROP PUBLIC SYNONYM PUB_EMP_NY;--删除公有同义词/*创建,删除序列*/CREATE

远 1596

Oracle 常用脚本之查看视图、序列、存储过程、触发器、同义词、计划任务等信息

介绍如何通过 Oracle 数据字典查看视图、序列、存储过程/函数、程序包、触发器、同义词、计划任务以及对象之间的依赖关系等信息。

Tony.Dong的专栏 4079

数据库对象,序列,视图,索引

oracle06-数据库对象 一、数据库对象 1.1 什么是数据库对象 说白了就是pl/sql软件my objects里面的东西,最基本的可以理解为表。 数据库对象又称模式对象,是逻辑结构的集合。 最基本的数据库对象就是表。 数据逻辑结构:指的是存在一种或多种特定关系的数据元素集合。 通俗点:就是把数据元素形象地进行了有规则排列,但不用考虑在计算机上如何实现。 再通俗点:就是数据有规则的排列。表不就是有规则的排列吗? 数据库对象...

qq_62898618的博客 1730

oracle的序列、视图、同义词、索引、数据库备份、用户管理、范式整理

序列 在许多数据库之中存在一种自动增长的概念。像是SQL Server、MySQL、DB2都提供有这样的方式。唯独在Oracle之中没有(Oracle 12C之后就提供了,之前没有),但是在Oracle之中提供的是一种手工的自动增长的方式。而这样的控制在Oracle之中使用序列对象完成。 Create sequence 序列名称 [increment by 步长] [ star...

pshdhx的博客 5953
上一篇: Oracle--使用DDL语句管理表、约束详解
下一篇: Oracle--使用DML语句处理数据及控制事务
吴声子夜歌
博客等级 码龄9年 2688粉丝 2268原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值