瞭解SQL Server2005新架構規則的優勢
SQL Server 2005最酷的一個特性是其新的命名規則,它向物件名加入了架構(schema)的概念。現在,在SQL Server 2005裡一個完整的、符合要求的物件名由用小數點隔開的四個部分構成,就像下面這樣:
[[[server.] [database].] [schema].] database-object]
這個命名規則表示只有第四個元素是強制要求必須有的。要知道你可以(在某些情況下必須)指定的內容,就要從右向左讀這個語句。
很顯然,你必須指定最初的物件名,這要假設你已經用到了將要操作的資料庫。此外,你可以通過指定它駐留的架構來認可這個物件。如果你在另外一個資料庫裡引用這個架構,那麼資料庫和架構這兩個部分都是必需的。最後,你可以告訴SQL引擎在另外一個伺服器上查詢要使用的資料庫。
架構的優勢
第一個顯著的優勢是再次分割資料庫的能力,而不像Erwin建模工具一樣讓你建立物件區域(subject area)。你的資料庫越豐富(也就是說它含有的表格越多),那麼你通過使用架構物件獲得的好處就越大,因為它能夠讓你在應用程式的特定部分裡只包含所需要的表格。
你可以在AdventureWorks示例資料庫裡看到這一點。如果執行Management Studio,然後通過“Databases(資料庫)/AdventureWorks/Security(安全)/Schemas(架構)”選單找到“Object Explorer(物件瀏覽器)”,那麼你會看到標準的角色(db_accessadmin、db_backupoperator、dbo以及其他)現在都被識別為架構,並帶有AdventureWorks專用的架構:HumanResources、Person、Production、Purchasing和Sales。如果你雙擊架構樹中的任何一個架構,那麼“Schema Properties(架構屬性)”對話方塊就會出現,如圖A所示。
如圖A所示,對話方塊裡有三個節點,每一個都會顯示相關的屬性。圖B顯示的是這個對話方塊的“Permissions(許可權)”皮膚。通過“Add(新增)”按鈕,你可以選擇一個或者多個物件,並授予或者撤銷它們的許可權。在角色、明確的許可權,以及架構許可權都不存在的情況下,SQL引擎將假設每使用者都能夠訪問物件。如果你建立了一個物件而沒有指定其架構,那麼SQL將(按照預設的設定)把它放到dbo架構裡。
圖C顯示了架構最有價值的一面:物件通過物件區域和名字來排序。在建立新的查詢時,你可以把要用到的物件拖到查詢裡,這樣符合要求的檔名就會出現。
在你第一使用的時候,新的架構限定符可能看起來完全沒有必要存在;如果發現存在這種情況,你可以像自己在SQL Server 2000裡面的做法一樣,引擎不會阻止你。你只用把所有的物件都拖到dbo架構裡就行了。
雖然AdventureWorks示例資料庫要比先前的示例資料庫(Northwind和Pubs)更加豐富,但是它離真正豐富的資料庫還差著遠呢,我把至少含有150個表格的資料庫定義為豐富的資料庫。我所使用的一個SQL Server 2000資料庫含有超過500個表格和2000個過程。在本文中,架構真是天賜吉祥。但是架構的價值的體現並不需要這樣要求很高的資料庫。只要你開始使用超過20個表格的資料庫,它的優勢就會體現出來。它們會幫助你每次都把注意力集中在問題的一部分上,而不需要牽涉到其他所有部分。
作為探索以架構為基礎工作的一種練習,我建議在呼叫你已經使用過一段時間的資料庫是問一下自己:“如果現在我有了架構,我能有什麼樣的不同?”
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-558070/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 一條sql瞭解MYSQL的架構設計MySql架構
- 一條 sql 瞭解 MYSQL 的架構設計MySql架構
- 架構 規則引擎 quartz架構quartz
- 軟體架構風格——規則架構架構
- [記錄]30個Oracle SQL優化規則詳解OracleSQL優化
- 關於SQL Server2005/2008中架構的理解SQLServer架構
- 微服務架構的優勢與不足微服務架構
- 亞馬遜CTO的架構之道-儉約架構師的成本優先架構原則亞馬遜架構
- 快速瞭解雲原生架構架構
- Android:四大架構的優缺點,你真的瞭解嗎?Android架構
- 設計微服務架構前應該瞭解的 5 項指導原則微服務架構
- 使用SQL Server2005的新函式構造分頁儲存過程SQLServer函式儲存過程
- 資料架構需要遵守哪些規則呢?架構
- Oracle多租戶架構優勢分析Oracle架構
- 你真的瞭解“SQL”嗎?《SQL優化最佳實踐》作者帶你重新瞭解SQLSQL優化
- 簡單瞭解 TiDB 架構TiDB架構
- 瞭解 Linkerd Service Mesh 架構架構
- 深入瞭解Mybatis架構設計MyBatis架構
- 你瞭解微服務架構麼?微服務架構
- 三分鐘瞭解架構的起源架構
- 阿里資深架構師私下峰會:瞭解這幾點,人人皆是優秀架構師阿里架構
- 真正瞭解 CSS3 背景下的 @font face 規則CSSS3
- 真正瞭解CSS3背景下的@font face規則CSSS3
- 正確使用資料架構的五條規則 - infoworld架構
- ASO優化:詳解App Store的排名規則優化APP
- 深入瞭解 TiDB SQL 優化器TiDBSQL優化
- 雙執行緒架構:小程式相比於H5的架構優勢執行緒架構H5
- 勒索軟體破局之道,解讀零信任架構的三大優勢架構
- 你必須瞭解的「架構」小歷史架構
- 第45篇 ARM架構的全景圖瞭解架構
- 瞭解ansible架構與工作原理架構
- 瞭解ASP.NET底層架構ASP.NET架構
- 瞭解開源視覺化表單的主要優勢視覺化
- PL/SQL的編碼規則SQL
- SQL SERVER 規則的建立、繫結、解綁、刪除SQLServer
- SQL Server排序規則SQLServer排序
- 數商雲新零售電商平臺解決方案:業務需求、行業架構、優勢整合分析行業架構
- 在微服務架構中使用token exchange主要的優勢微服務架構