freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計(jì)-面向?qū)ο蟮臄?shù)據(jù)建?!獢?shù)據(jù)篩選接口的設(shè)計(jì)—論文-wenkub.com

2024-11-27 17:13 本頁(yè)面
   

【正文】 面向?qū)ο蟮?數(shù)據(jù) 建模是我們研究的一個(gè)重要方向。尤其在數(shù)據(jù)建模階段 ,通過(guò)傳統(tǒng)的數(shù)據(jù)模型之間的關(guān)系 ,例如主外鍵關(guān)系 ,實(shí)現(xiàn)了一些重要的面向?qū)ο蟮乃枷?。它?yīng)用于 某公司,此公司由于行業(yè)的關(guān)系需要它去處理龐大的數(shù)據(jù),這些數(shù)據(jù)每天都在以上百萬(wàn)條甚至上億條的數(shù)量在增加。 ( 4)學(xué)校可允許學(xué)位論文被查閱或借閱。除非另有說(shuō)明,本文的工作是原始性工作。 致 謝 感謝李中志 老師耐心的指導(dǎo)。 [5] Bulusu PL/SQL: A Developer39。 [3] Steven PL/SQL Best Practices[M].O39。 融合了面向?qū)ο蟮乃枷牒蟮臄?shù)據(jù)庫(kù)在開(kāi)發(fā)階段會(huì)發(fā)生了一些改善,例如提高代碼的可重用性,這就很大程度上減少了開(kāi)發(fā)階段在代碼編寫上所花費(fèi)的資源,可以很 好的提高軟件的開(kāi)發(fā)質(zhì)量,并且易于維護(hù)。 end。 end case。 then l_where_clause := l_where_clause || Cond_Where_Compound( p_condition_id, p_index_field_prefix )。 then null。simple39。( 39。 現(xiàn)在還需要 再完成一個(gè)對(duì)簡(jiǎn)單條件,序列條件,以及組合條件都開(kāi)放的公共調(diào)用接口。 then l_where_clause := l_where_clause || Comparison_String( l_row, l_field_ref, l_parison_field_ref )。Number39。 when 39。 then l_where_clause := l_where_clause || Comparison_Boolean( l_row, l_field_ref, l_parison_field_ref )。 if( is not null ) then l_parison_field_ref := l_effective_prefix || 。 l_where_clause := 39。39。 l_effective_prefix varchar2( 100 )。 現(xiàn)在還需要通過(guò)寫過(guò)程來(lái)實(shí)現(xiàn)把這些復(fù)雜篩選條件 ‘ 拼裝 ’ 起來(lái),最終篩選出客戶需要的數(shù)據(jù),這樣一個(gè)功能。 省略部分代碼 return l_parison。 else raise_application_error ( g_error_number, 39。 || l_value_this_day_string。 l_parison := p_field_ref || 39。39。 end if。 39。 end if。 if( ( p_parison_field_ref is not null ) or ( is not null ) ) then if( = 0 ) then l_operator := 39。 end if。 || l_value_next_day_string || 39。 || 39。 || l_value_this_day_string || 39。 || 39。 || p_field_ref || 39。 || l_value_next_day_string || 39。 || 39。 || l_value_this_day_string || 39。 else if( = 0 ) then l_parison := 39。 is null39。 || l_value_next_day_string || 39。 || 39。 || p_field_ref || 39。 || p_parison_field_ref || 39。 || p_field_ref || 39。 || p_parison_field_ref || 39。 || p_field_ref || 39。 || l_value_next_day_string || 39。 || 39。 || l_value_this_day_string || 39。 || 39。 || 39。 then if( p_parison_field_ref is not null ) then if( = 0 ) then l_parison := 39。 end if。39。39。39。39。 l_value_next_day := l_value_this_day + 1。39。39。39。39。 else if ( is not null ) then l_value_this_day := to_date( , g_date_format )。39。 l_value_next_day_string := 39。39。 begin 省略部分代碼 if( p_parison_field_ref is not null ) then 省略部分代碼 l_value_this_day_string := 39。 l_value_this_day date。 還需要對(duì)存儲(chǔ)在表CONDITION_OPERATOR中的數(shù)值,也就是記錄篩選列和需要匹配的數(shù)值之間的關(guān)系的數(shù)值進(jìn)行處理,以便能動(dòng)態(tài)處理。, p_new_row_id= l_simple_id)。CLIENT_ID39。 Add_Simple_Item_condition ( p_name = null, p_negated = 0, p_container_id = l_rule_id, p_field_id = l_field_id, p_value = 9, p_parison_field_name = null, p_operator = 39。, p_new_row_id = l_simple_id)。MSG_DELINQ_DAYS39。,39。,39。,39。,39。, p_negated = 1, p_field_id = l_field_id, p_container_id = l_rule_id, p_new_row_id = l_list_id)。NO_NOTICE39。, p_negated = 0, p_conjunction = 39。 l_state_4_ted1 varchar2( 4000 ) := 39。 l_pound_id integer。 l_item_id integer。為了不占據(jù)篇幅,這里只以 一個(gè)簡(jiǎn)單的復(fù)合條件為例: First pound condition (NO_NOTICE IN(B,C,D) AND MSG_DELINQ_DAYS90 AND DO_NOT_PROCESS=9 AND CLIENT_ID=116) declare l_calling_user_id integer。 begin 省略部分代碼 select ID, Code into l_operator_id, l_operator_code from Condition_Operator where ( lower( Code ) = lower( p_operator_code ) )。 l_parison_field_type_code varchar2( 100 )。 省略部分代碼 end。 開(kāi)發(fā)人員 可以用寫一系列的過(guò)程來(lái)實(shí)現(xiàn),通過(guò)傳入必需的參數(shù)來(lái)調(diào)用相關(guān)的過(guò)程,插入一些數(shù)值。 到此,數(shù)據(jù)建模完成。 需要?jiǎng)?chuàng)建四個(gè)視圖,分別為簡(jiǎn)單條件視圖,序列條件視圖,組合條件視圖,以及條件視圖。 通過(guò)以上的分析,現(xiàn)在 只需要再加一個(gè)表就可以了,這張表用來(lái)存放簡(jiǎn)單條件的篩選列與匹配的數(shù)值之間的關(guān)系種類,而對(duì)于序列條件,就不用,在程序里很容易做到動(dòng)態(tài)處理。 要是通過(guò)接口設(shè)計(jì) 能把這些關(guān)系像處理篩選列與匹配的數(shù)值一樣處理,這個(gè)問(wèn)題也就解決了。換句話說(shuō),這樣的設(shè)計(jì)會(huì)花了大量的時(shí)間 在做類似的事情上。 現(xiàn)在需要?jiǎng)?chuàng)建的表的框架如下: C O N D I T I O NP K I D N A M E N E G A T E D C O N T A I N E R _ I DC O M P O U N D _ C O N D I T I O NP K I D C O N J U N C T I O N _ I DS I M P L E _ C O N D I T I O NP K I D N A M E V A L U E O P E R A T O R _ I D F I E L D _ I DL I S T _ C O N D I T I O NP K I D F I E L D _ I DC O N J U N C T I O NP K I D N A M E C O D EF I E L D P K I D N A M E C O L U M N _ N A M EL I S T _ C O N D I T I O N _ M A T C H _ V A L U E 1P K I D L I S T _ C O N D I T I O N _ I D M A T C H _ V A L U E 圖 4 條件功能組合圖二 到此,對(duì)于復(fù)雜表中作為篩選條件的字段比較多(大約 250 個(gè)),且相互組合,而篩選條件需要去匹配的值是具有特定意義的,且可以根據(jù)客戶的需要進(jìn)行定制這一基本需求,我們也基本做到了動(dòng)態(tài)控制,動(dòng)態(tài)修改,并且便于維護(hù)。 對(duì)于序列條件,則不能這樣,因?yàn)樗枰テヅ涞氖?,是否存在于某一范圍的?shù)值當(dāng)中,例如判斷‘ C_U1 IN (A,B,C,D)’是否成立。 試想一下, 如果現(xiàn)在不對(duì)這些值不做任何處理,那 可以想 象開(kāi)發(fā)人員 將會(huì) 固定的把這些有著特定意義的數(shù)值寫在 PL/SQL 程序中,這樣做是不能做到客戶靈活定制的,而且顯而易見(jiàn)的是,從安全的角度出發(fā),這樣做也是不安全的。 復(fù) 雜 條 件 簡(jiǎn) 單 條 件 簡(jiǎn) 單 序 列 條 件A N D / O R 圖 2 條件間邏輯關(guān)系圖 通過(guò)上圖,很容易想到,這里 只需要在數(shù)據(jù)庫(kù)中創(chuàng)建五個(gè)表來(lái)來(lái)實(shí)現(xiàn)這 一方式,也 就是 可以做到需求里的篩選條件間的自由組合這一功能了。也就是說(shuō)不論一個(gè)復(fù)雜條件是由多少個(gè)簡(jiǎn)單條件組合而成,這些簡(jiǎn)單條件間的關(guān)系只有兩種。 這里 把每個(gè)單獨(dú)的列名作為篩選條件的條件叫做簡(jiǎn)單條件,而多個(gè)簡(jiǎn)單條件組合而成的條件叫做復(fù)雜條件。 根據(jù) 目前得出的結(jié)論,我們現(xiàn)在需要一個(gè)表,表中的某一列的記錄值為Complexity 表中作為篩選條件的列名,如下 表 2所示: 表 2 FIELD 字段名 數(shù)據(jù)類型 說(shuō)明 ID 數(shù)字 主鍵 NAME 文本 COLUMN_NAME 文本 列名 FIELD 表中的 COLUMN_NAME 列存放 Complexity 表中作為篩選條件的列名。作為表中列名出現(xiàn)的字段,是不可能相互組合的。 由于篩選條件數(shù)量眾多,但是條件之間的很多部分相互重合,從面向?qū)ο蟮慕嵌瘸霭l(fā),這些條件間存在繼承的關(guān)系,如果能采用面向?qū)ο蟮姆椒?,或許能做到重用條件。即便把目前需求要求的篩選條件通過(guò)寫過(guò)程來(lái)實(shí)現(xiàn)了(暫不考慮開(kāi)發(fā)人員的頭疼),如果需要添加一些新的篩選,那將是非常麻煩的。 方案 1 :直接寫過(guò)程來(lái)實(shí)現(xiàn)。 ? CPU ? 1G 以上內(nèi)存。而且這些值是根據(jù)客戶的需求可以去定制的。 3 需求分析 3. 1 需求調(diào)研 WISE 系統(tǒng)是某公司的數(shù)據(jù)處理系統(tǒng),它的一個(gè)主要功能是每天根據(jù) 復(fù)雜并且靈活的條件篩選出適當(dāng)?shù)臄?shù)據(jù)返回給客戶。 由于業(yè)務(wù)的關(guān)系, 它需要處理海量的數(shù)據(jù),它的比較重要的 一個(gè) 功能是根據(jù)復(fù)雜并且靈活的條件篩選出適當(dāng)?shù)臄?shù)據(jù)返回給客戶。面向?qū)ο蟮?數(shù)據(jù) 建模是我們研究的一個(gè)重要方向。尤其在數(shù)據(jù)建模階段 ,通過(guò)傳統(tǒng)的數(shù)據(jù)模型之間的關(guān)系 ,例如主外鍵關(guān)系 ,實(shí)現(xiàn)了一些重要的面向?qū)ο蟮乃枷搿K鼞?yīng)用于 某公司,此公司由于行業(yè)的關(guān)系需要它去處理龐大的數(shù)據(jù),這些數(shù)據(jù)每天都在以上百萬(wàn)條甚至上億條的數(shù)量在增加。因此 它需要處理海量的數(shù)據(jù),它 的其中一個(gè)比較重要的功能是根據(jù)復(fù)雜并且靈活的條件篩選出適當(dāng)?shù)臄?shù)據(jù)返回給客戶。 關(guān)鍵字 :數(shù)據(jù)篩選;面向?qū)ο?;?shù)據(jù)建模; PL/SQL Implement the Object Oriented thinking in the project to data modeling —— the design about the API to filter data Abstract 《 The WISE system》 is a powerful system for data processing .It is applied in a pany which needs to use this system to process huge amount data. And these data will be increased by millions or hundreds millions. So it needs to process the huge amount data .One of its important function is return the right data to client filtered by some plex an
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1