微軟SQL Server 2008數據庫中的新數據類型

對于關系型數據庫來說,表現樹狀的層次結構始終是一個問題。微軟在SQL Server 2005中首次嘗試了解決這個問題,那就是被稱之爲通用數據表表達式(Common Table Expressions,CTE)的實現方式。

盡管CTE在現有的數據庫架構中運行良好,微軟找到了一種將此類層次結構作爲頭等概念來使用的方式。因此,爲了實現這種效果,他們在SQL Server 2008中提出了一種“HierarchId”數據類型。

在傳統的層次結構中,一條記錄僅僅儲存了一個指向它父記錄的引用,這使得一條記錄能夠獲得它在層次結構中的相對位置,而不是絕對位置。改變某條記錄的父數據行引用是一個原子更新操作,它不會影響到該記錄的任何子記錄。

一個HierarchyId類型的字段儲存了記錄在層次結構中的准確位置。Denny Cherry提供了一個例子,其中展示了0x、0x58以及0x5AC0三個值,它們的字符串表現形式分別爲“/”,“/1/”和“/1/1/”。這就引發了有關一致性和性能方面的問題,尤其是父記錄被改變的時候。Ravi S.Maniam建議在改變父記錄操作不頻繁的情況下使用這種設計方式。

與HierarchyId類型同時出現的還有一系列函數。GetAncestor和GetDescendant方法可以用來遍曆樹。ToString和Parse方法用于HierarchyId類型二進制與字符串表現形式之前的轉換。有些古怪的是,隨之而來的還有用于支持BinaryReader與BinaryWriter的一些方法。

再來回頭看看GetDescendant,這是一個有些古怪的方法。它實際上不返回那些子記錄,而是返回那些潛在的子節點的位置。向樹中插入一個新的記錄時,我們必需調用GetDescendant方法來獲得指定父記錄的最後一個子節點的位置,然後才能獲得緊跟著該位置之後的空隙。

迄今爲止還沒有使用T-SQL來獲得樹狀結構的合適示例。事實上,與它有關的所有東西都更像是一些命令,而不是基于集合的操作。

微軟SQL Server 2008數據庫中的新數據類型
對于關系型數據庫來說,表現樹狀的層次結構始終是一個問題。微軟在SQL Server 2005中首次嘗試了解決這個問題,那就是被稱之爲通用數據表表達式(Common Table Expressions,CTE)的實現方式。 盡管CTE在現有的數據庫架...查看完整版>>微軟SQL Server 2008數據庫中的新數據類型
 
個人經驗總結:SQL Server數據庫的鎖類型
SQL Server鎖類型總結: 1.HOLDLOCK: 在該表上保持共享鎖,直到整個事務結束,而不是在語句執行完立即釋放所添加的鎖。   2.NOLOCK:不添加共享鎖和排它鎖,當這個選項生效後,可能讀到未提交讀的數據或“髒數據”...查看完整版>>個人經驗總結:SQL Server數據庫的鎖類型
 
使用SQL Server 2008管理非結構化數據
使用SQL Server 2008管理非結構化數據
這篇論壇文章(賽迪網技術社區)詳細的講解了使用SQL Server 2008管理非結構化數據的具體方法,更多內容請參考下文: microsoft SQL Server™ 2008提供了一個靈活的解決方案,使得可以存儲非結構化數據,並將它...查看完整版>>使用SQL Server 2008管理非結構化數據
 
SQL Server 2008綜合數據可編程性
微軟的數據可編程性平台爲開發者提供了一個綜合的編程框架、web services 和數據連接技術來有效地訪問和管理異構數據。  改革數據庫應用程序的開發  Microsoft SQL Server 2008是一個綜合數據可編程性平台的核心...查看完整版>>SQL Server 2008綜合數據可編程性
 
SQL中的五種數據類型
  簡要描述一下SQL中的五種數據類型:字符型,文本型,數值型,邏輯型和日期型  字符型  VARCHAR VS CHAR  VARCHAR型和CHAR型數據的這個差別是細微的,但是非常重要。他們都是用來儲存字符串長度小于255的字符...查看完整版>>SQL中的五種數據類型
 
SQL中的五種數據類型
簡要描述一下SQL中的五種數據類型:字符型,文本型,數值型,邏輯型和日期型字符型VARCHAR VS CHARVARCHAR型和CHAR型數據的這個差別是細微的,但是非常重要。他們都是用來儲存字符串長度小于255的字符。假如你向一個...查看完整版>>SQL中的五種數據類型
 
Sql Server關于字段中的數據類型
  簡 介  MS的SQL Server主要是由五種常常用到的字段,字符型,文本型,數值型,邏輯型,和日期型!許多朋友苦于在一些BBS中ACCESS轉換成SQL後字段類型不匹配而不知所措,下面我們就來介紹一些這五種數據類型各自...查看完整版>>Sql Server關于字段中的數據類型
 
微軟SQL Server 2008正式亮相 爲上市預熱
近日微軟爲SQL Server 2008簡體中文版十月初在中國地區的正式上市進行預熱,微軟(中國)公司在京召開了SQL Server 2008媒體及分析師體驗會,介紹演示了SQL Server 2008這一可靠、高效、智能化的數據平台。相較于此前版...查看完整版>>微軟SQL Server 2008正式亮相 爲上市預熱
 
微軟計劃八月正式發布SQL Server 2008
微軟基礎服務器營銷副總裁Bob Kelly在7月9日在休斯敦召開的全球合作夥伴會議上宣布,公司將在八月份發布SQL Server 2008.他還透露說,SQL Server 2008的售價將與SQL Server 2005一樣.微軟之前在6月初曾經發布了一版接近...查看完整版>>微軟計劃八月正式發布SQL Server 2008
 
 
回到王朝網路首頁