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.pswp.cn/diannao/73026.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/73026.shtml
英文地址,請注明出處:http://en.pswp.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;…