av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

微軟SQL Server 2008數(shù)據(jù)庫中的新數(shù)據(jù)類型

瀏覽:146日期:2023-11-06 16:19:36

對于關(guān)系型數(shù)據(jù)庫來說,表現(xiàn)樹狀的層次結(jié)構(gòu)始終是一個(gè)問題。微軟在SQL Server 2005中首次嘗試了解決這個(gè)問題,那就是被稱之為通用數(shù)據(jù)表表達(dá)式(Common Table Expressions,CTE)的實(shí)現(xiàn)方式。

盡管CTE在現(xiàn)有的數(shù)據(jù)庫架構(gòu)中運(yùn)行良好,微軟找到了一種將此類層次結(jié)構(gòu)作為頭等概念來使用的方式。因此,為了實(shí)現(xiàn)這種效果,他們在SQL Server 2008中提出了一種“HierarchId”數(shù)據(jù)類型。

在傳統(tǒng)的層次結(jié)構(gòu)中,一條記錄僅僅儲(chǔ)存了一個(gè)指向它父記錄的引用,這使得一條記錄能夠獲得它在層次結(jié)構(gòu)中的相對位置,而不是絕對位置。改變某條記錄的父數(shù)據(jù)行引用是一個(gè)原子更新操作,它不會(huì)影響到該記錄的任何子記錄。

一個(gè)HierarchyId類型的字段儲(chǔ)存了記錄在層次結(jié)構(gòu)中的準(zhǔn)確位置。Denny Cherry提供了一個(gè)例子,其中展示了0x、0x58以及0x5AC0三個(gè)值,它們的字符串表現(xiàn)形式分別為“/”,“/1/”和“/1/1/”。這就引發(fā)了有關(guān)一致性和性能方面的問題,尤其是父記錄被改變的時(shí)候。Ravi S.Maniam建議在改變父記錄操作不頻繁的情況下使用這種設(shè)計(jì)方式。

與HierarchyId類型同時(shí)出現(xiàn)的還有一系列函數(shù)。GetAncestor和GetDescendant方法可以用來遍歷樹。ToString和Parse方法用于HierarchyId類型二進(jìn)制與字符串表現(xiàn)形式之前的轉(zhuǎn)換。有些古怪的是,隨之而來的還有用于支持BinaryReader與BinaryWriter的一些方法。

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

迄今為止還沒有使用T-SQL來獲得樹狀結(jié)構(gòu)的合適示例。事實(shí)上,與它有關(guān)的所有東西都更像是一些命令,而不是基于集合的操作。

標(biāo)簽: Sql Server 數(shù)據(jù)庫
主站蜘蛛池模板: 久久精品一级 | 99亚洲综合 | 欧美操操操| 久久久久久亚洲精品 | а_天堂中文最新版地址 | 亚洲av毛片成人精品 | 一级特黄网站 | 精品视频一区二区三区在线观看 | 色婷婷精品久久二区二区蜜臂av | 国产精品海角社区在线观看 | 久久久国产一区二区三区四区小说 | www.婷婷| 天天摸天天看 | 欧美亚洲综合久久 | www.99精品| 蜜月aⅴ国产精品 | 操网站| 在线免费观看一区二区 | 日韩在线观看一区 | 欧美精品日韩精品国产精品 | 亚洲综合中文字幕在线观看 | 亚洲视频中文字幕 | 中文字幕免费视频 | 中文字幕精品一区二区三区精品 | 日韩亚洲一区二区 | 9久久婷婷国产综合精品性色 | 麻豆av片 | 国产精品美女 | 91视频日本 | 国产美女特级嫩嫩嫩bbb片 | 老司机狠狠爱 | 色综合色综合网色综合 | 亚洲精品美女视频 | av影音资源| 欧美情趣视频 | 中文字幕国产精品 | 国产精品高潮呻吟久久久久 | www.日韩系列| 国产精品久久久久久久久久久久冷 | 免费视频久久久久 | 精品久久久久一区二区国产 |