日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

转: 利用SQL SERVER2005的XML字段类型实现类似商品扩展属性

發布時間:2025/4/14 asp.net 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 转: 利用SQL SERVER2005的XML字段类型实现类似商品扩展属性 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天自己翻了兩頁自己的BLOG,發現真是越來越懶了,已經好長時間沒有寫技術相關的日志了,記得剛開始寫BLOG的時候還經常寫寫自己的技術積累的,現在除了發布ZJ-BLOG的程序更新信息外,好像全成了自己生活鎖事的流水帳了,真是慚愧呀。。。
??????? 去年剛換的這家公司是一家做網上商城的公司,商城功能目前還比較簡單,在我進去接到第一個任務是要加入商城中商品的擴展屬性功能,擴展屬性功能其實就是這個意思,例如手機和筆記本電腦兩種商品,我們可以定義手機類商品有“是否智能機”、“手機制式”、“外觀”等幾個特有屬性,而筆記本電腦類商品有“尺寸”、“CUP類別”、“是否獨立顯卡”等幾個特有屬性,網站的用戶可以利用這些擴展屬性對同一類別下的商品進行方便的篩選查詢,此功能相信大家在上一些網站時都已經用過了,比如“中關村在線”的商品詳細查詢功能。在設計此功能時,我第一次在實踐中使用的SQL SERVER2005中新的字段類型:XML。功能上線已經有一個月了,目前來說,效果應該還算理想的(沒有經過海量數據測試)。
??????? 先說說表的設計:

字段名字段說明類型
屬性定義表(表名:expand)
fid唯一標識int(自增)
fclassId商品類別IDint
fexpandName擴展屬性名稱varchar(30)
forder排序值int

?

字段名字段說明類型
屬性選擇值定義表(表名:expandItem)
fid唯一標識int(自增)
fexpandId擴展屬性IDint
fname選擇項名稱varchar(30)
forder排序值int

?

字段名字段說明類型
商品擴展屬性表(表名:productExpand)
fid唯一標識int(自增)
fproductId商品IDint
fexpand商品擴展屬性xml

??????? 頭兩個表:屬性定義表(表名:expand) 和 屬性選擇值定義表(表名:expandItem) 是各自的商品類別所具有的擴展屬性的定義,第一個表:屬性定義表(表名:expand),定義了每一種商品類別下的多個擴展屬性的名稱,是一對多的關系,而由于全部的擴展屬性都要控制著從多個選項中選擇,所以需要表2:屬性選擇值定義表(表名:expandItem),來定義每一個擴展屬性下的選擇項,同樣的,也是一種一對多的關系,這兩個表相信大家很容易理解的,在此就不廢話了。
??????? 本文的重點在于第三個表,就是記錄每一個商品的所具備的擴展屬性信息的表:商品擴展屬性表(表名:productExpand),最后一個字段使用了一個XML字段類型,用它來記錄每一個商品的所有的擴展屬性信息,比如我們對手機這個類別(假如手機類別ID為1234)以下定義:

屬性定義表(表名:expand)唯一標識(fid)商品類別ID(fclassId)擴展屬性名稱(fexpandName)排序值(forder)
11234是否智能機1
21234手機制式2

?

屬性選擇值定義表(表名:expandItem)唯一標識(fid)擴展屬性ID(fexpandId)選擇項名稱(fname)排序值(forder)
111
212
32GSM1
42CDMA2

??????? 數據表示手機類別定義了兩個擴展屬性:是否智能機(選項:是|否);手機制式(GSM|CDMA)。
??????? 如果我們要將以下數據(N73的擴展屬性)存入數據庫中:

商品名稱商品ID是否智能機手機制式
Nokia N734321GSM

??????? 我們需要裝擴展屬性的信息組合成以下XML格式字符串:

程序代碼: <exp>
<item name="1" value="1" />
<item name="2" value="3" />
</exp>

?

??????? 而用SQL:insert into productExpand(fproductId,fexpand) values(4321,'<exp><item name="1" value="1" /><item name="2" value="3" /></exp>')添加到商品擴展屬性表(productExpand)中。此時商品擴展屬性表(productExpand)的數據如下:

商品擴展屬性表(表名:productExpand)唯一標識(fid)商品ID(fproductId)商品擴展屬性(fexpand)
14321<exp>
<item name="1" value="1" />
<item name="2" value="3" />
</exp>

??????? 以上就完成了對于商品擴展屬性信息添加,下篇文章將介紹如何通過SQL SERVER2005的函數實現網站用戶通過擴展屬性來方便的查詢商品。

轉載于:https://www.cnblogs.com/feihusurfer/archive/2008/12/23/1360483.html

總結

以上是生活随笔為你收集整理的转: 利用SQL SERVER2005的XML字段类型实现类似商品扩展属性的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。