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