我無法確定CREATE SCHEMA和CREATE DATABASE之間的區別。我的理解是,它們是相同的,通常使用後者。SQL CREATE SCHEMA和CREATE DATABASE是否等價?
是這樣嗎?
謝謝!
我無法確定CREATE SCHEMA和CREATE DATABASE之間的區別。我的理解是,它們是相同的,通常使用後者。SQL CREATE SCHEMA和CREATE DATABASE是否等價?
是這樣嗎?
謝謝!
它們絕對不一樣!數據庫可能由多個模式組成。模式基本上是安全的對象,可以包含其他安全的對象,如表,視圖,過程等。在這種情況下,安全是指某人擁有並且可以授予操作的東西。
CREATE模式是在數據庫上創建一個模式。因此,CREATE SCHEMA可以創建表,視圖等。
CREATE SCHEMA不能創建數據庫。
創建模式創建新模式,同時創建數據庫創建數據庫。有關模式的更多信息,請參見以下鏈接:User-Schema Separation
在MySQL中,兩個命令從5.0.2開始同義 - 這也許就是爲什麼你理解它們是相同的。
http://dev.mysql.com/doc/refman/5.0/en/create-database.html
然而,正如其他人所說,架構和數據庫是不同類型的其他RDBMS的實體。
啊謝謝你,那很有幫助!這解釋了我對平等的混淆。非常感激! – 2009-12-29 13:50:35
非常感謝大家 - 這有助於澄清! – 2009-12-29 13:36:35
因此,爲了澄清我的理解是正確的: SQL模式可以被認爲是數據庫的特定觀點,例如, admininstrator(請參閱所有表格,視圖,過程),經理(查看員工相關表格等),受訓人員(僅查看基本表格等)? 即3層ANSI/SPARC體系結構的用戶視圖級別? 還是我仍然誤解? 非常感謝! – 2009-12-29 13:43:25
沒有模式可以被認爲是數據庫內的容器。所以數據庫是一個容器,它可以包含模式和用戶(也可能包含組)。模式是一個容器,可以包含大量不同的對象,如表,視圖,過程等。模式由用戶(或組)擁有,但其他用戶/組可以被授予使用對象的權利包含在模式中。 – 2009-12-29 14:05:54