2017-07-17 120 views
2

嗨,我是在CS領域的新人,有一件事是,在問這個問題之前,我已經使用了它,但是這讓我更加混淆了兩個定義,我發現只是問哪一個是正確的? 。 在此鏈接中我找到了多個答案哪一個是正確的? What is purpose of database schema?數據庫模式究竟是什麼?

,我發現這個事情困惑我,我,我認爲兩者是相互指南我不同..

1)SQL架構是對象的容器。例如,您可能擁有一個大型企業應用程序,然後爲不同目的使用不同架構(例如,將HR相關表放入HR架構,將相關表格記入會計架構等)是一種很好的做法。架構可以由任何用戶擁有,並且所有權可以轉讓。

2)數據庫模式是描述數據庫的全部配置,包括所有的表,關係,索引的定義等

我的問題是不同的我已閱讀多個答案這也有,但我發現了多個答案,這使我更加困惑

回答

2

兩者都是正確的。 「Schema」有多重含義。你的第一個含義是你用CREATE SCHEMA - 一個對象容器得到的模式。您的第二個含義是獨立於SQL Server的「數據庫模式」的一般含義。通常情況下,從上下文中可以清楚地知道哪些含義是有意的 - 「數據庫模式」通常是單數的,而單個數據庫中的「模式」指的是容器。所以,如果你想特別困惑,你可以討論一個數據庫模式其中有多個模式。

2

簡單地說,Schemadatabase instance

您可以使用關係型數據庫都CREATE SCHEMA MYDATABASECREATE DATABASE MYDATABASE如MySQL創建一個新的數據庫實例的代名詞。

Schema這個詞曾經被認爲是過於學術化,稍後會過時。

兩者都是Okey,但Schema聽起來有點怪胎。

+0

你說的是真正專爲MySQL(問題是關於SQL Server)。在MySQL中,'SCHEMA'是'DATABASE'的語法同義詞。然而,即使對於MySQL數據庫來說,談論數據庫模式也是正常的,而不會將數據庫模式與數據庫本身混淆 - 這是一個獨立於所用數據庫系統(而SQL Server模式是實現細節)的抽象概念。 –