Yashan DB 对象管理

一、什么是数据库对象


数据库对象是数据库里面用来存储和指向数据的各种概念和结构的总称。数据库支持的对象包括:

• 表:表是一个逻辑概念,是数据库组织管理数据的基本单位。

• 索引:索引是建立在表上的逻辑对象,索引可以提高表数据的访问查询效率。

• 视图:视图是一种虚定义的逻辑对象,结构和数据是建立在对表的查询基础之上的。

• 序列:序列可以产生一组等间隔的数值,主要用于表的主键的自增。

• 同义词:数据对象的别名,与其代表的数据对象是一种映射关系。

• 存储过程:一组为了完成特定功能的SQL/PLSQL语句集。

• 触发器:一种特殊类型的存储过程,通过指定的事件触发执行。


二、管理对象

(一)管理表

• 表概述:一个表描述了一个实体,表定义为列的集合。表中的每一列都设计为存储某种类型的信息,表上可以有约束、默认值等用于确保数据的有效性。

• 建表语法:


   

SQL> CREATE TABLE [user_name.]table_name(column_name1 data_type(size) [constraints],column_name2 data_type(size) [constraints],column_name3 data_type(size) [constraints],....);


 


• `user_name`:用户名,如果省略,默认是创建在当前连接用户下。

• `table_name`:表名。

• `column_name1、column_name2、column_name3`:列名。

• `data_type`:数据类型(例如`VARCHAR2`、`CHAR`等)。

• `size`:列的最大长度(例如`VARCHAR2(10)`、`CHAR(10)`等)。

• `constraints`:限制加入的表约束,如:`NOT NULL`、`DEFAULT`等。

• 修改表:

• 修改表名:     

SQL> ALTER TABLE area_04 RENAME TO area_05;

• 修改列名:

 SQL> ALTER TABLE area_05 RENAME COLUMN area_name TO area_name_01;

• 修改列长度:

SQL> ALTER TABLE area_05 MODIFY area_name_01 VARCHAR(80);

• 添加字段:

SQL> ALTER TABLE area_05 ADD NUM number(20);

• 删除字段:

SQL> ALTER TABLE area_05 DROP COLUMN num;


(二)管理索引

• 索引的作用:索引是用来快速访问数据的一种数据结构。根据业务合理的创建索引可以提高查询的效率。

• 创建索引语法:

SQL> CREATE INDEX [user_name.] index_name ON table_name(column_name)


• `user_name`:用户名,如果省略,默认是创建在当前连接用户下。

• `index_name`:索引名。

• `table_name`:表名。

• `column_name`:列名。

• 创建索引:

SQL> CREATE INDEX idx_area_06_info_1 ON area_06 (area_no);


• 修改索引:

• 让索引对优化器不可见:

SQL> ALTER INDEX idx_area_06_info_1 INVISIBLE;


• 让索引对优化器可见:

SQL> ALTER INDEX idx_area_06_info_1 VISIBLE;


• 删除索引:
 

SQL> DROP INDEX idx_area_06_info_1;



• 索引重建:

SQL> ALTER INDEX idx_area_06_info_1 REBUILD;


 


• 设置索引不可用:

SQL> ALTER INDEX idx_area_06_info_1 UNUSABLE;


 


(三)管理视图

• 视图的定义:用户可以将一个使用频率较高的查询语句定义为一个持久化的对象,该持久化对象称为视图。

• 视图的作用:

• 简化查询,使用视图代替使用频率较高的查询,特别是复杂查询,可以降低用户编写SQL的复杂度。

• 解耦合,在保证视图列的名称、数据类型不变的前提下,修改基表其他元素的定义不影响视图的正常使用。

• 权限隔离,视图作为一个独立的对象,用户在视图上的权限与在基表上的权限是分离的。合理地设计视图列及权限,可以有效避免基表中的全部信息完全暴露给只需部分信息(视图列)的用户。

• 创建视图语法:

SQL> CREATE [OR REPLACE] VIEW view_name AS subquery;


• `OR REPLACE`:如果已经存在了就替换已经存在的。

• `view_name`:视图名。

• `subquery`:查询语句。

• 创建视图:

SQL> CREATE OR REPLACE VIEW v_area_06 AS SELECT area_no,area_name FROM area_06;


• 查询视图:

SQL> SELECT * FROM v_area_06;



• 查询视图的字段信息:

SQL> DESC v_area_06;


• 删除视图:

SQL> DROP VIEW v_area_06;

注意:如果删除基表,则视图也会变得不可用。


三、数据库对象相关视图

• 对象查询相关视图:

• `DBA_OBJECTS`:显示所有的对象。

• 表相关视图:

• `DBA_TABLES`:显示所有的表。

• 索引相关视图:

• `DBA_INDEXES`:显示所有的索引。

• 视图相关视图:

• `DBA_VIEWS`:显示所有的视图。

• 查询视图:

• 查询所有对象:

SQL> SELECT owner,object_name,object_type,status FROM DBA_OBJECTS WHERE owner='SALES';

• 查询所有表:

SQL> SELECT owner,table_name,tablespace_name FROM DBA_TABLES WHERE owner='SALES';

• 查询所有索引:

SQL> SELECT owner,index_name,table_name FROM DBA_INDEXES WHERE owner='SALES';


• 查询视图对象信息:

SQL> SELECT owner,view_name,text FROM DBA_VIEWS WHERE owner='SALES';


 

四、小结

• 什么是数据库对象:表、索引、视图等。

• 管理对象:创建、修改、查看、删除操作。

• 数据库对象相关视图:`DBA_OBJECTS`、`DBA_TABLES`、`DBA_INDEXES`、`DBA_VIEWS`。

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

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

相关文章

deepseek 3FS编译

3FS在ubuntu22.04下的编译(记录下编译过程,方便后续使用) 环境信息 OS ubuntu 22.04内核版本 6.8.0-52-genericlibfuse 3.16.1rust 1.75.0FoundationDB 7.1.66meson 1.0.0ninja 1.10.1 libfuse编译 以下建议均在root下执行 pip3 install…

python-uiautomator2 安装教程

目录 一、简介 二、支持平台及语言 三、工作原理 四、安装 一、简介 uiautomator2是一个python库,用于Android的UI自动化测试,其底层基于Google uiautomator,Google提供的uiautomator库可以获取屏幕上任意一个APP的任意一个控件属性&…

无头浏览器与请求签名技术-Cloudflare防护

在实际数据采集实践中,许多目标网站(例如 Amazon)都会采用 Cloudflare 等防护措施,防止机器人和非正常流量。本文将分享一个故障场景下的排查与改进方案,讲述如何利用无头浏览器、请求签名技术以及爬虫代理 IP来实现数…

Spring Cloud之注册中心之Nacos健康监测和环境隔离

目录 Nacos健康检查 两种健康检查机制 Nacos服务类型实例 Nacos环境隔离 创建namespace 配置namespace Nacos健康检查 两种健康检查机制 Nacos作为注册中⼼, 需要感知服务的健康状态, 才能为服务调⽤⽅提供良好的服务. Nacos 中提供了两种健康检查机制: 客⼾…

Vue3实战学习(Element-Plus常用组件的使用(输入框、下拉框、单选框多选框、el-image图片))(上)(5)

目录 一、Vue3工程环境配置、项目基础脚手架搭建、Vue3基础语法、Vue3集成Element-Plus的详细教程。(博客链接如下) 二、Element-Plus常用组件使用。 &#xff08;1&#xff09;el-input。(input输入框) <1>正常状态的el-input。 <2>el-input的disable状态。 <3…

微服务——网关、网关登录校验、OpenFeign传递共享信息、Nacos共享配置以及热更新、动态路由

之前学习了Nacos&#xff0c;用于发现并注册、管理项目里所有的微服务&#xff0c;而OpenFeign简化微服务之间的通信&#xff0c;而为了使得前端可以使用微服务项目里的每一个微服务的接口&#xff0c;就应该将所有微服务的接口管理起来方便前端调用&#xff0c;所以有了网关。…

2025年3月11日(有限元牛顿迭代法:通俗讲解与示例)

牛顿迭代法的正确流程解释 是的&#xff0c;你的理解基本正确&#xff01;但需要更准确地描述内外力的关系和迭代逻辑。以下是更清晰的步骤说明&#xff1a; 核心流程&#xff08;修正版&#xff09; 假设已知 外力 ( F_{\text{ext}} )&#xff08;如2000 N&#xff09;&…

爬虫的精准识别:基于 User-Agent 的正则实现

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;精通Java编…

【AI大模型】LLM训练deepseek如何识别视频

要让像DeepSeek这样的大语言模型&#xff08;LLM&#xff09;具备视频识别能力&#xff0c;需要结合多模态学习技术&#xff0c;将视觉信息与文本语义进行融合。以下是实现这一目标的关键步骤和技术要点&#xff1a; --- 一、视频识别的核心挑战 1. 多模态数据&#xff1a;视频…

【物联网-以太网-W5500】

物联网-以太网-W5500 ■ W5500-简介■■■■ ■ W5500-简介 ■ ■ ■ ■

centos linux安装mysql8 重置密码 远程连接

1. 下载并安装 MySQL Yum 仓库 从 MySQL 官方网站下载并安装 Yum 仓库配置文件。 # 下载MySQL 8.0的Yum仓库包 wget https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm # 安装Yum仓库包 sudo rpm -ivh mysql80-community-release-el7-5.noarch.rpm2. 启…

C++【类和对象】(超详细!!!)

C【类和对象】 1.运算符重载2.赋值运算符重载3.日期类的实现 1.运算符重载 (1).C规定类类型运算符使用时&#xff0c;必须转换成调用运算符重载。 (2).运算符重载是具有特殊名字的函数&#xff0c;名字等于operator加需要使用的运算符&#xff0c;具有返回类型和参数列表及函数…

【面试】Java 多线程

多线程 1、什么是线程和进程2、创建线程有几种方式3、线程有几种状态4、什么是上下文切换5、什么是守护线程&#xff0c;和普通线程有什么区别6、什么是线程池&#xff0c;如何实现的7、Executor和Executors的区别8、线程池处理任务的流程9、线程数设定成多少更合适10、执行exe…

宿主机运行pyspark任务读取docker hadoop容器上的数据

熬了四个大夜才搞明白&#xff0c;最晚一天熬到早上十点/(ㄒoㄒ)/~~&#xff0c;最后发现只要加个参数就解决了。。。抱头痛哭 问题描述&#xff1a; Hadoop集群部署在docker容器中&#xff0c;宿主机执行pyspark程序读取hive表 问题一&#xff1a;当master(local[*])时&…

《平凡的世界》:在泥土中寻找星辰的勇气

“平凡不是平庸的代名词&#xff0c;而是千万人用脊梁扛起时代的勋章。”——路遥的《平凡的世界》用百万字书写了黄土地上孙少安、孙少平两兄弟的挣扎与觉醒&#xff0c;撕开了“奋斗逆袭”的浪漫滤镜&#xff0c;告诉你&#xff1a;真正的英雄主义&#xff0c;是在认清了生活…

【SpringMVC】深入解析使用 Postman 和浏览器模拟将单个与多个参数传递到后端和后端接收过程

SpringMVC—请求(Request) 访问不同的路径&#xff0c;就是发送不同的请求&#xff1b;在发送请求时&#xff0c;可能会带一些参数&#xff0c;所以学习Spring的请求&#xff0c;主要是学习如何传递参数到后端以及后端如何接收&#xff1b; 我们主要是使用 浏览器 和 Postman …

04 | 初始化 fastgo 项目仓库

提示&#xff1a; 所有体系课见专栏&#xff1a;Go 项目开发极速入门实战课&#xff1b;欢迎加入我的训练营&#xff1a;云原生AI实战营&#xff0c;一个助力 Go 开发者在 AI 时代建立技术竞争力的实战营&#xff1b;本节课最终源码位于 fastgo 项目的 feature/s01 分支&#x…

Docker 安装成功后,安装 Dify 中文版本的步骤

Docker 安装成功后&#xff0c;安装 Dify 中文版本的步骤如下1&#xff1a; 克隆 Dify 代码仓库&#xff1a;在终端中执行以下命令&#xff0c;将 Dify 源代码克隆至本地环境。 bash git clone https://github.com/langgenius/dify.git进入 Dify 的 docker 目录&#xff1a; b…

RPC服务调用深度解析:从原理到Java实践

一、RPC的核心原理与架构设计 1.1 RPC的本质 RPC&#xff08;Remote Procedure Call&#xff09;是一种分布式系统间通信协议&#xff0c;允许程序像调用本地方法一样调用远程服务。其核心目标是通过位置透明性和协议标准化隐藏网络通信细节。RPC的调用流程可抽象为以下步骤&…

电脑的写字板如何使用?

打开写字板&#xff1a; 直接按一下键盘上的win R 键&#xff0c;然后输入&#xff1a;write &#xff0c; 再按一下回车 , 即可打开写字板 可以在里面写文字 和 插入图片等… &#xff0c; 如下所示&#xff1a; 保存写字板内容&#xff1a; 当我们写好了之后&#xff0c;…