搜尋
首頁資料庫Oracleoracle中schema是什麼

在oracle中,schema是資料庫物件的集合;一個oracle使用者對應一個schema,只能透過建立使用者的方法來建立schema,可以將schema稱為user的別名,也就是schema名字同user名字對應且相同。

oracle中schema是什麼

本教學操作環境:Windows10系統、Oracle 11g版、Dell G3電腦。

oracle中schema是什麼

我們先來看看他們的定義:

A schema is a collection of database objects (used by a user.) . 

Schema objects are the logical structures that directly refer to the database's data.

A user is a name defined in the database that can connect to and #access objects.

Schemas and users help database administrators manage database security.

從定義中我們可以看出schema為物件的集合,為了區分各個集合,我們需要給這個集合起個名字,這些名字就是我們在企業管理器的方案下看到的許多類似使用者名稱的節點,這些類似使用者名稱的節點其實就是一個schema,schema裡麵包含了各種物件如tables, views, sequences, stored procedures, synonyms, indexes, clusters , and database links。

一個用戶一般對應一個schema,該用戶的schema名等於用戶名,並作為該用戶缺省schema。這也就是我們在企業管理器的方案下看到schema名都為資料庫使用者名稱的原因。 Oracle資料庫中不能新建立一個schema,要想建立一個schema,只能透過建立一個使用者的方法來解決(Oracle中雖然有create schema語句,但是它並不是用來建立一個schema的),在建立一個使用者的同時為這個使用者建立一個與使用者名稱同名的schem並作為該使用者的缺省shcema。即schema的個數同user的個數相同,而且schema名字同user名字一一 對應並且相同,所有我們可以稱schema為user的別名,雖然這樣說並不准確,但是更容易理解一些。

一個用戶有一個缺省的schema,其schema名就等於用戶名,當然一個用戶還可以使用其他的schema。如果我們存取一個表時,沒有指明該表屬於哪一個schema中的,系統就會自動給我們在表上加上缺省的sheman名。例如我們在存取資料庫時,存取scott用戶下的emp表,透過select * from emp; 其實,這sql語句的完整寫法為select * from scott.emp。在資料庫中一個物件的完整名稱為schema.object,而不是user.object。類似如果我們在建立物件時不指定該物件的schema,在該物件的schema為使用者的預設schema。這就像一個用戶有一個缺省的表空間,但是該用戶還可以使用其他的表空間,如果我們在創建對象時不指定表空間,則對象存儲在缺省表空間中,要想讓對象存儲在其他表空間中,我們需要在建立物件時指定該物件的表空間。

咳,說了這麼多,給大家舉個例子,否則,一切枯燥無味!

SQL> Gruant dba to scott
SQL> create table test(name char(10));
Table created.
SQL> create table system.test(name char(10));
Table created.
SQL> insert into test values('scott'); 
1 row created.
SQL> insert into system.test values('system');
1 row created.
SQL> commit;
Commit complete.
SQL> conn system/manager
Connected.
SQL> select * from test;
NAME
----------
system
SQL> ALTER SESSION SET CURRENT_SCHEMA = scott; --改变用户缺省schema名
Session altered.
SQL> select * from test;
NAME
----------
scott
SQL> select owner ,table_name from dba_tables where table_name=upper('test');
OWNER TABLE_NAME
------------------------------ ------------------------------
SCOTT TEST
SYSTEM TEST

--上面這個查詢就是我說將schema當作user的別名的依據。實際上在使用上,shcema與user完全一樣,沒有什麼差別,在出現schema名的地方也可以出現user名。

推薦教學:《

Oracle影片教學

以上是oracle中schema是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
MySQL與Oracle:優點和缺點MySQL與Oracle:優點和缺點Apr 14, 2025 am 12:01 AM

MySQL和Oracle的選擇應基於成本、性能、複雜性和功能需求:1.MySQL適合預算有限的項目,安裝簡單,適用於小型到中型應用。 2.Oracle適用於大型企業,處理大規模數據和高並發請求表現出色,但成本高且配置複雜。

甲骨文的目的:業務解決方案和數據管理甲骨文的目的:業務解決方案和數據管理Apr 13, 2025 am 12:02 AM

Oracle通過其產品和服務幫助企業實現數字化轉型和數據管理。 1)Oracle提供全面的產品組合,包括數據庫管理系統、ERP和CRM系統,幫助企業自動化和優化業務流程。 2)Oracle的ERP系統如E-BusinessSuite和FusionApplications,實現端到端業務流程自動化,提高效率並降低成本,但實施和維護成本較高。 3)OracleDatabase提供高並發和高可用性數據處理,但許可成本較高。 4)性能優化和最佳實踐包括合理使用索引和分區技術、定期數據庫維護及遵循編碼規範。

oracle建庫失敗怎麼刪除oracle建庫失敗怎麼刪除Apr 12, 2025 am 06:21 AM

Oracle建庫失敗後刪除失敗數據庫的步驟:使用sys用戶名連接目標實例使用DROP DATABASE刪除失敗數據庫查詢v$database確認數據庫已刪除

oracle怎麼循環創建游標oracle怎麼循環創建游標Apr 12, 2025 am 06:18 AM

Oracle 中,FOR LOOP 循環可動態創建游標, 步驟為:1. 定義游標類型;2. 創建循環;3. 動態創建游標;4. 執行游標;5. 關閉游標。示例:可循環創建游標,顯示前 10 名員工姓名和工資。

oracle視圖怎麼導出oracle視圖怎麼導出Apr 12, 2025 am 06:15 AM

可以通過 EXP 實用程序導出 Oracle 視圖:登錄 Oracle 數據庫。啟動 EXP 實用程序,指定視圖名稱和導出目錄。輸入導出參數,包括目標模式、文件格式和表空間。開始導出。使用 impdp 實用程序驗證導出。

oracle數據庫怎麼停止oracle數據庫怎麼停止Apr 12, 2025 am 06:12 AM

要停止 Oracle 數據庫,請執行以下步驟:1. 連接到數據庫;2. 優雅關機數據庫(shutdown immediate);3. 完全關機數據庫(shutdown abort)。

oracle日誌寫滿怎麼辦oracle日誌寫滿怎麼辦Apr 12, 2025 am 06:09 AM

Oracle 日誌文件寫滿時,可採用以下解決方案:1)清理舊日誌文件;2)增加日誌文件大小;3)增加日誌文件組;4)設置自動日誌管理;5)重新初始化數據庫。在實施任何解決方案前,建議備份數據庫以防數據丟失。

oracle動態sql怎麼創建oracle動態sql怎麼創建Apr 12, 2025 am 06:06 AM

可以通過使用 Oracle 的動態 SQL 來根據運行時輸入創建和執行 SQL 語句。步驟包括:準備一個空字符串變量來存儲動態生成的 SQL 語句。使用 EXECUTE IMMEDIATE 或 PREPARE 語句編譯和執行動態 SQL 語句。使用 bind 變量傳遞用戶輸入或其他動態值給動態 SQL。使用 EXECUTE IMMEDIATE 或 EXECUTE 執行動態 SQL 語句。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。