什么是schema?
目錄
1、定義
2、區別
(1)MySQL中的schema
(2)PostgreSQL中的schema
(3)SQL Server中的schema
(4)Oracle中的schema
3、總結
1、定義
在SQL環境下,schema是數據庫對象(表、索引、視圖等)的集合。
說明:在schema之上是數據庫實例,即CREATE DATABASE后得到的內容。一個schema實例可以包含多個schema,可以給不同的用戶創建不同的schema,并且他們都在同一數據庫實例下面。
2、區別
不同數據庫對schema的定位不同。
(1)MySQL中的schema
MySQL中可以認為,物理層面schema與database同義,即schema的名稱和數據庫的實例名稱相同,一個數據庫有一個schema。你可以在MySQL的SQL語法中用關鍵字SCHEMA替代DATABASE,例如使用CREATE SCHEMA來代替CREATE DATABASE。
(2)PostgreSQL中的schema
在PostgreSQL中,可以創建一個數據庫,然后在數據庫中創建不同的schema,每個schema又有各自的表,索引等。
(3)SQL Server中的schema
在SQL Server中的schema包含了數據庫的表、字段、數據類型以及主鍵和外鍵的名稱。
CREATE SCHEMA語句創建了一個單獨定義到數據庫的模式,一旦創建了模式,就可以往模式中添加用戶和對象。
(4)Oracle中的schema
Oracle中的schema是數據或模式對象的邏輯結構的集合,由數據庫用戶擁有,并且與該用戶具有相同的名稱,也就是說每個用戶擁有一個獨立的schema。也就是說在ORACLE中CREATE USER就創建了一個schema,CREATE SCHEMA語句允許你將schema同表和視圖關聯起來,并在這些對象上授權,從而不必在多個事務中發出多個SQL語句。
3、總結
schema這個詞可以用在很多不同的環境中,在特定數據庫管理系統創建一個schema時,一定要查看該系統是如何定義schema的。
總結
以上是生活随笔為你收集整理的什么是schema?的全部內容,希望文章能夠幫你解決所遇到的問題。