cross join 是交叉連接。
創(chuàng)新互聯(lián)公司專注于企業(yè)成都營銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、建華網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)、商城網(wǎng)站制作、集團公司官網(wǎng)建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為建華等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
如表1與表2
表1 表2
A A1
B B1
C C1
select a.*,b.* from 表1 a cross join 表2 后,
查詢出來的記錄有9條,即3X3的矩陣。
A A1
A B1
A C1
B A1
B B1
B C1
C A1
C B1
C C1
其實cross join 是沒有多大實際意義的,除非后面接上where條件過濾。
一般可用inner join, left join, right join,然后接on子句,SQl語句性能非常好。
Sql server 2008 Reporting Services是微軟的數(shù)據(jù)庫報表設(shè)計工具,其作用是利用Reporting Services,用戶能夠高效地開發(fā)數(shù)據(jù)報表。
Sql server 2008 Reporting Services集成在微軟的商業(yè)智能開發(fā)工具:SQL Server Business Intelligence Development Studio之中,這個工具其實就是大家熟悉的Visual Studio。
擴展資料:
Reporting Services為用戶提供了各種數(shù)據(jù)模板。 基于數(shù)據(jù)模板,用戶可以構(gòu)建各種樣式的報表,包括常用的表格,矩陣和圖表。
此外,Reporting Services支持的數(shù)據(jù)源大致分為兩種類型:
(1)OLTP,是基于SQL語句的數(shù)據(jù)源,使用關(guān)系數(shù)據(jù)庫為報表提供數(shù)據(jù)。
(2)OLAP,基于數(shù)據(jù)倉庫的數(shù)據(jù)源,使用多維數(shù)據(jù)集為報表提供數(shù)據(jù)。
update A表 set A表.總分=a.分數(shù)
left join (select 學(xué)號,sum(成績) as 分數(shù) from B表 GROUP BY 學(xué)號)a on A表.學(xué)號=a.學(xué)號
生物信息學(xué)推薦系統(tǒng)設(shè)計
關(guān)鍵詞:推薦系統(tǒng);生物信息學(xué)
推薦系統(tǒng)(RecommenderSystem)[1]是個性化信息服務(wù)的主要技術(shù)之一,它實現(xiàn)的是“信息找人,按需服務(wù)”;通過對用戶信息需要、興趣愛好和訪問歷史等的收集分析,建立用戶模型,并將用戶模型應(yīng)用于網(wǎng)上信息的過濾和排序,從而為用戶提供感興趣的資源和信息。生物信息學(xué)(Bioinformatics)[2,3]是由生物學(xué)、應(yīng)用數(shù)學(xué)和計算機科學(xué)相互交叉所形成的一門新型學(xué)科;其實質(zhì)是利用信息科學(xué)的方法和技術(shù)來解決生物學(xué)問題。20世紀末生物信息學(xué)迅速發(fā)展,在信息的數(shù)量和質(zhì)量上都極大地豐富了生物科學(xué)的數(shù)據(jù)資源,而數(shù)據(jù)資源的急劇膨脹需要尋求一種科學(xué)而有力的工具來組織它們,基于生物信息學(xué)的二次數(shù)據(jù)庫[4]能比較好地規(guī)范生物數(shù)據(jù)的分類與組織,但是用戶無法從大量的生物數(shù)據(jù)中尋求自己感興趣的部分(著名的生物信息學(xué)網(wǎng)站NCBI(美國國立生物技術(shù)信息中心),僅僅是小孢子蟲(Microsporidia)的DNA序列就達3399種),因此在生物二次數(shù)據(jù)庫上建立個性化推薦系統(tǒng),能使用戶快速找到自己感興趣的生物信息。特別是在當(dāng)前生物信息數(shù)據(jù)量急劇增長的情況下,生物信息學(xué)推薦系統(tǒng)將發(fā)揮強大的優(yōu)勢。
1推薦系統(tǒng)的工作流程
應(yīng)用在不同領(lǐng)域的推薦系統(tǒng),其體系結(jié)構(gòu)也不完全相同。一般而言,推薦系統(tǒng)的工作流程[5]如圖1所示。
(1)信息獲取。推薦系統(tǒng)工作的基礎(chǔ)是用戶信息。用戶信息包括用戶輸入的關(guān)鍵詞、項目的有關(guān)屬性、用戶對項目的文本評價或等級評價及用戶的行為特征等,所有這些信息均可以作為形成推薦的依據(jù)。信息獲取有兩種類型[6],即顯式獲取(Explicit)和隱式獲取(Implicit),由于用戶的很多行為都能暗示用戶的喜好,因此隱式獲取信息的準確性比顯式高一些。
(2)信息處理。信息獲取階段所獲得的用戶信息,一般根據(jù)推薦技術(shù)的不同對信息進行相應(yīng)的處理。用戶信息的存儲格式中用得最多的是基于數(shù)值的矩陣格式,最常用的是用m×n維的用戶—項目矩陣R來表示,矩陣中的每個元素Rij=第i個用戶對第j個項目的評價,可以當(dāng)做數(shù)值處理,矩陣R被稱為用戶—項目矩陣。
(3)個性化推薦。根據(jù)形成推薦的方法的不同可以分為三種,即基于規(guī)則的系統(tǒng)、基于內(nèi)容過濾的系統(tǒng)和協(xié)同過濾系統(tǒng)?;谝?guī)則的推薦系統(tǒng)和基于內(nèi)容過濾的推薦系統(tǒng)均只能為用戶推薦過去喜歡的項目和相似的項目,并不能推薦用戶潛在感興趣的項目。而協(xié)同過濾系統(tǒng)能推薦出用戶近鄰所喜歡的項目,通過用戶與近鄰之間的“交流”,發(fā)現(xiàn)用戶潛在的興趣。因此本文所用的算法是基于協(xié)同過濾的推薦算法。
(4)推薦結(jié)果。顯示的任務(wù)是把推薦算法生成的推薦顯示給用戶,完成對用戶的推薦。目前最常用的推薦可視化方法是Top-N列表[7],按照從大到小順序把推薦分值最高的N個事物或者最權(quán)威的N條評價以列表的形式顯示給用戶。
2生物信息學(xué)推薦系統(tǒng)的設(shè)計
綜合各種推薦技術(shù)的性能與優(yōu)缺點,本文構(gòu)造的生物信息學(xué)推薦系統(tǒng)的總體結(jié)構(gòu)如圖2所示。
生物信息學(xué)推薦系統(tǒng)實現(xiàn)的主要功能是在用戶登錄生物信息學(xué)網(wǎng)站時,所留下的登錄信息通過網(wǎng)站傳遞到推薦算法部分;推薦算法根據(jù)該用戶的用戶名從數(shù)據(jù)庫提取出推薦列表,并返回到網(wǎng)站的用戶界面;用戶訪問的記錄返回到數(shù)據(jù)庫,系統(tǒng)定時調(diào)用推薦算法,對數(shù)據(jù)庫中用戶訪問信息的數(shù)據(jù)進行分析計算,形成推薦列表。
本系統(tǒng)采用基于近鄰的協(xié)同過濾推薦算法,其結(jié)構(gòu)可以進一步細化為如圖3所示。算法分為鄰居形成和推薦形成兩大部分,兩部分可以獨立進行。這是該推薦系統(tǒng)有別于其他系統(tǒng)的優(yōu)勢之一。由于信息獲取后的用戶—項目矩陣維數(shù)較大,使得系統(tǒng)的可擴展性降低。本系統(tǒng)采用SVD矩陣降維方法,減少用戶—項目矩陣的維數(shù),在計算用戶相似度時大大降低了運算的次數(shù),提高了推薦算法的效率。
(1)信息獲取。用戶對項目的評價是基于用戶對某一個項目(為表示簡單,以下提及的項目均指網(wǎng)站上的生物物種)的點擊次數(shù)來衡量的。當(dāng)一個用戶注冊并填寫好個人情況以后,系統(tǒng)會自動為該用戶創(chuàng)建一個“信息矩陣”,該矩陣保存了所有項目的ID號以及相應(yīng)的用戶評價,保存的格式為:S+編號+用戶評價,S用于標記項目,每個項目編號及其評價都以“S”相隔開;編號是唯一的,占5位;用戶評價是用戶點擊該項目的次數(shù),規(guī)定其范圍是0~100,系統(tǒng)設(shè)定當(dāng)增加到100時不再變化。這樣做可防止形成矩陣時矩陣評價相差值過大而使推薦結(jié)果不準確。(2)信息處理。信息處理是將所有用戶的信息矩陣轉(zhuǎn)換為用戶—項目矩陣,使用戶信息矩陣數(shù)值化,假設(shè)系統(tǒng)中有M個用戶和N個項目,信息處理的目的就是創(chuàng)建一個M×N的矩陣R,R[I][J]代表用戶I對項目J的評價。
(3)矩陣處理。協(xié)同過濾技術(shù)的用戶—項目矩陣的數(shù)據(jù)表述方法所帶來的稀疏性嚴重制約了推薦效果,而且在系統(tǒng)較大的情況下,它既不能精確地產(chǎn)生推薦集,又忽視了數(shù)據(jù)之間潛在的關(guān)系,發(fā)現(xiàn)不了用戶潛在的興趣,而且龐大的矩陣增加了計算的復(fù)雜度,因此有必要對該矩陣的表述方式做優(yōu)化,進行矩陣處理。維數(shù)簡化是一種較好的方法,本文提出的算法應(yīng)用單值分解(SingularValueDecomposition,SVD)技術(shù)[8],對用戶—項目矩陣進行維數(shù)簡化。
(4)相似度計算。得到降維以后的用戶矩陣US,就可以尋找每個用戶的近鄰。近鄰的確定是通過兩個用戶的相似度來度量的。本文采用Pearson相關(guān)度因子[9]求相似度。(5)計算用戶鄰居。該方法有兩種[10],即基于中心的鄰居(Center-BasedNeighbor)和集合鄰居(AggregateNeighbor)。本系統(tǒng)采用了第一種方法,直接找出與用戶相似度最高的前N個用戶作為鄰居,鄰居個數(shù)N由系統(tǒng)設(shè)定,比如規(guī)定N=5。
(6)推薦形成。推薦形成的前提是把當(dāng)前用戶的鄰居ID號及其與當(dāng)前用戶的相似度保存到數(shù)據(jù)庫中,而在前面的工作中已找出各用戶的鄰居以及與用戶的相似度,推薦形成部分只需要對當(dāng)前登錄用戶進行計算。推薦策略是:對當(dāng)前用戶已經(jīng)訪問過的項目不再進行推薦,推薦的范圍是用戶沒有訪問的項目,其目的是推薦用戶潛在感興趣的項目;考慮到系統(tǒng)的項目比較多,用戶交互項目的數(shù)量很大,所以只篩選出推薦度最大的N個項目,形成Top-N推薦集,設(shè)定N=5。
3生物信息學(xué)推薦系統(tǒng)的實現(xiàn)
生物信息學(xué)推薦系統(tǒng)的實現(xiàn)可以用圖4來表示。數(shù)據(jù)庫部分主要存儲用戶信息和項目信息,用SQLServer2000實現(xiàn)。
數(shù)據(jù)訪問層實現(xiàn)了與用戶交互必需的存儲過程以及觸發(fā)器,也使用SQLServer2000,主要完成以下功能:初始化新用戶信息矩陣;插入新項目時更新所有用戶的信息矩陣;用戶點擊項目時更新該用戶對項目的評價;刪除項目時更新所有用戶的信息矩陣。用戶訪問層主要涉及網(wǎng)頁與用戶的交互和調(diào)用數(shù)據(jù)訪問層的存儲過程,在這里不做詳細的介紹。
推薦算法完成整個個性化推薦的任務(wù),用Java實現(xiàn)。(1)數(shù)據(jù)連接類DataCon。該類完成與SQLServer2000數(shù)據(jù)庫的連接,在連接之前必須要下載三個與SQLServer連接相關(guān)的包,即msutil.jar、msbase.jar和mssqlserver.jar。
(2)數(shù)據(jù)操作類DataControl。該類負責(zé)推薦算法與數(shù)據(jù)庫的數(shù)據(jù)交換,靜態(tài)成員Con調(diào)用DataCon.getcon()獲得數(shù)據(jù)庫連接,然后對數(shù)據(jù)庫進行各種操作。把所有方法編寫成靜態(tài),便于推薦算法中不創(chuàng)建對象就可以直接調(diào)用。
(3)RecmmendSource與CurrentUserNeighbor。這兩個類作為FCRecommand類的內(nèi)部類,RecmmendSource用于保存當(dāng)前用戶的推薦列表,包括推薦項目號和推薦度;CurrentUserNeighbor用于保存鄰居信息,包括鄰居ID號、相似度及其訪問信息。
(4)協(xié)同過濾推薦算法FCRecommand。該類實現(xiàn)了整個推薦算法,主要分為鄰居形成方法FCArithmetic和推薦形成方法GenerateRecommend。
下面給出方法FCArithmetic的關(guān)鍵代碼:
Matrixuser_item=this.User_Item_Arry();//獲取用戶—項目矩陣
user_item=this.SVD_Calculate(user_item);//調(diào)用SVD降維方法
Vectorc_uservector=newVector();//當(dāng)前用戶向量
Vectoro_uservector=newVector();//其他用戶向量
Vectorc_user_correlate_vector=newVector();
//當(dāng)前用戶與其他用戶之間相似度向量
for(inti=0;ifor(intj=0;jc_uservector.addElement(user_item.get(i,j));
//1.獲得當(dāng)前用戶向量
for(intk=0;ko_uservector.clear();
for(intl=0;lo_uservector.addElement(user_item.get(k,l));
//2.獲得其他用戶的向量
//3.計算當(dāng)前用戶與其他用戶的相似度
usercorrelativity=this.Correlativity(c_uservector,o_uservector);
c_user_correlate_vector.addElement(usercorrelativity);
}
//4.根據(jù)當(dāng)前用戶與其他用戶的相似度,計算其鄰居
this.FindUserNeighbor(i,c_user_correlate_vector);
}
根據(jù)鄰居形成方法FCArithmetic,可以得到每個用戶的鄰居。作為測試用例,圖6顯示用戶Jack與系統(tǒng)中一部分用戶的相似度,可以看出它與自己的相似度必定最高;并且它與用戶Sugx訪問了相同的項目,它們之間的相似度也為1,具有極高的相似度。
4結(jié)束語
在傳統(tǒng)推薦系統(tǒng)的基礎(chǔ)上,結(jié)合當(dāng)前生物信息學(xué)網(wǎng)站的特點,提出一個基于生物信息平臺的推薦系統(tǒng),解決了傳統(tǒng)生物信息網(wǎng)站平臺信息迷茫的缺點,為用戶推薦其感興趣物種的DNA或蛋白質(zhì)序列。
優(yōu)點在于協(xié)同過濾的推薦算法能發(fā)現(xiàn)用戶潛在的興趣,能促進生物學(xué)家之間的交流;推薦算法的鄰居形成與推薦形成兩部分可以單獨運行,減少了系統(tǒng)的開銷。進一步的工作是分析生物數(shù)據(jù)的特點及生物數(shù)據(jù)之間的關(guān)系,增加用戶和項目數(shù)量,更好地發(fā)揮推薦系統(tǒng)的優(yōu)勢。
參考文獻:
[1]PAULR,HALRV.Recommendersystems[J].CommunicationsoftheACM,1997,40(3):56-58.
[2]陳新.生物信息學(xué)簡介[EB/OL].(2001)..
[3]林毅申,林丕源.基于WebServices的生物信息解決方案[J].計算機應(yīng)用研究,2005,22(6):157-158,164.[4]邢仲璟,林丕源,林毅申.基于Bioperl的生物二次數(shù)據(jù)庫建立及應(yīng)用[J].計算機系統(tǒng)應(yīng)用,2004(11):58-60.
樓上正解。選擇正確的安裝中心文件是關(guān)鍵。
我安裝的這個版本更怪,R2?文件夾里居然沒有安裝中心。為此,開始幾次嘗試都是使用的這個安裝中心
然后就是拼命的提示“所選的?SQL?Server?實例不滿足升級矩陣要求?!?/p>
還出現(xiàn)了“降級”字樣。
猜想,是因為用了舊版的安裝中心。
舊的安裝中心程序路徑?C:\Program Files (x86)\Microsoft SQL Server\100\Setup Bootstrap\Release\setup.exe ,見下圖:
最終找到了正確的安裝中心程序位置?C:\Program Files (x86)\Microsoft SQL Server\100\Setup Bootstrap\SQLServer2008R2\setup.exe ,見下圖:
一些細節(jié),如果用了錯誤的安裝中心,選擇實例界面是這樣的:
正確的安裝中心,選擇實例界面是這樣的,注意左上角帶有 R2?字樣
選對了安裝中心,就一切順利了
下一步
按【升級】等待既可。升級有點慢,幾分鐘或更長時間。在我以為是卡死的時候,提示一閃,升級成功。
從你的錯誤信息來看,是你的sql server 實例不滿足升級要求。
你可以在SQL Server 安裝中心,選擇“全新 SQL Server 獨立安裝或向現(xiàn)有安裝添加功能” 這個選項。來添加一個新的SQL Server 實例。