999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Split()函數(shù)在數(shù)據(jù)庫設計應用的研究

2021-06-16 09:35:52鄒同浩許學添
電子技術與軟件工程 2021年7期
關鍵詞:數(shù)據(jù)庫設計

鄒同浩 許學添

(廣東司法警官職業(yè)學院 廣東省廣州市 510520)

1 引言

在數(shù)據(jù)庫設計的過程中,經(jīng)常遇到對于同類事物需要的信息不一樣,為解決這一問題,需要針對不同的事物設計不同的數(shù)據(jù)表,數(shù)據(jù)表之間通過關鍵字段確定多種內(nèi)聯(lián)關系。如果把不同的事物放在同一張數(shù)據(jù)表中,不同的事物有不同的屬性,這樣創(chuàng)建一張表就很難進行輸入和管理。例如,把人和物存在同一張表格內(nèi),人的屬性有“性別”,而物沒有這樣的屬性,存在同一張表中,很多字段對于彼此都是無效字段,增加了計算機處理負荷,從而暴露出數(shù)據(jù)庫設計的龐大和復雜性。本文指出用split()函數(shù)減少數(shù)據(jù)庫設計中的多表性和內(nèi)聯(lián)性,降低數(shù)據(jù)庫設計的復雜性 ,盡最大可能的把不同的信息存儲設計在同一張數(shù)據(jù)表中,減少表的數(shù)據(jù)表的數(shù)量和降低數(shù)據(jù)之間關聯(lián)性,提高數(shù)據(jù)的設計效率,降低數(shù)據(jù)庫的管理復雜度。

2 Split()函數(shù)分割作用及存儲

Split 函數(shù)是編程語言中使用于分割字符串一種函數(shù),它返回一個下標從零開始的一維數(shù)組。它是在邏輯上對輸入數(shù)據(jù)進行的分割,并不會在磁盤上將其切割成片存儲[1]。

Split 函數(shù)格式:Split(expression[,delimiter [,count[, ompare]]])。如果用“.”作為分隔的話,必須寫法,String.split("\."),這樣才能正確的分隔開,不能用String.split(".");如果用“|”作為分隔的話,寫法,String.split("\|"),這樣才能正確的分隔開;“.”和“|”都是轉義字符,必須得加"\";如果在一個字符串中有多個分隔符,可以用“|”作為連字符,比如,“acount=? and uu =? or n=?”,把三個都分隔出來,可以用String.split("and|or");

使用String.split 方法分隔字符串時,分隔符如果用到一些特殊字符,可能會得不到我們預期的結果。

在數(shù)據(jù)庫設計的過程中,程序開發(fā)人員結合數(shù)據(jù)庫的設計和程序設計中Split()函數(shù)特點,取長補短,優(yōu)化數(shù)據(jù)庫的設計,目標是降低數(shù)據(jù)庫設計的復雜性和內(nèi)聯(lián)性。

3 數(shù)據(jù)庫設計格式不一致

程序員在數(shù)據(jù)庫設計過程中,遇到同一個物品,數(shù)據(jù)表需要的字段不一樣,給數(shù)據(jù)表的建立增加非常多的統(tǒng)計表格。或者物品較多,但統(tǒng)計量有很少,增加數(shù)據(jù)表的設計數(shù)量,又顯得多余。還要通過設置主鍵和外鍵進行關聯(lián),這樣會增加數(shù)據(jù)庫的復雜度。我們試想,能否把數(shù)據(jù)放在一張數(shù)據(jù)表中,一張數(shù)據(jù)表能把所有物品的數(shù)據(jù)信息存儲下來,共查詢和統(tǒng)計。數(shù)據(jù)庫設計時能否利用split()函數(shù)的字符分割功能解決這些問題。

在開發(fā)固定資產(chǎn)管理系統(tǒng)時,物品種類幾千種,屬性參數(shù)各不相同,在建立數(shù)據(jù)庫時可能要幾千個數(shù)據(jù)表。例如,臺式計算機的參數(shù)有系統(tǒng)、CPU 型號、內(nèi)存、主板等;辦公椅的參數(shù)有類別、扶手類型、五星腳材質(zhì)等,如果把這樣的物品放在同一張數(shù)據(jù)表中,會出這樣的情況,如表1 所示。

表1:匯總表

表2:拆分表1

表3:拆分表2

表4:改造后的匯總表

表5:成績表

這樣設計出來的數(shù)據(jù)表,冗余量太大,對于同一物品無效字段太多、數(shù)據(jù)表字段太多等一系列問題。查詢物品的信息相互關聯(lián)時,是否能夠合并作為一個字段,需要統(tǒng)計的公用信息可以單列字段,這樣就減少數(shù)據(jù)表的設計復雜性。假設對不同類物品單列一張數(shù)據(jù)表如表2、表3 所示。

這樣精煉了數(shù)據(jù)表中的字段項,但增加了數(shù)據(jù)表的數(shù)量。后期會增加程序設計的復雜性。因此,我們考慮,根據(jù)用戶的需求,比如一鍵查詢出某個物品的所有信息,而不是單個信息。或者說,查詢某個物品的單個信息和整個信息時等價的,或者沒有實在意義,是否能通過程序設計,可以使數(shù)據(jù)庫的表的數(shù)量最少,還能滿足系統(tǒng)需求。

4 用Split()函數(shù)解決數(shù)據(jù)表格式不一致問題

例如,在固定資產(chǎn)管理系統(tǒng)中,注重的是產(chǎn)品的存在及價值,對于具體參數(shù)不是統(tǒng)計重點,我們是否考慮不同的物品的參數(shù)僅僅用一個字段表示,如“參數(shù)說明”。數(shù)據(jù)表可以設計如表4 所示。

這樣的數(shù)據(jù)庫設計方法應用必須滿足兩個條件。第一該物品字段統(tǒng)計字段次不齊或無統(tǒng)計價值;第二可以大大降低數(shù)據(jù)庫中數(shù)據(jù)表的數(shù)量。數(shù)據(jù)表這樣的設計,會出現(xiàn)統(tǒng)計量統(tǒng)計的問題,我們通過程序設計中Split()函數(shù)可以解覺數(shù)據(jù)表數(shù)量與程序設計的問題[2]。例如通過split()函數(shù)可以吧表4 中的“參數(shù)說明”的字段信息通過split()函數(shù)進行拆分提取,分別以“:”和“;”進行拆分。當然我們可以根據(jù)統(tǒng)計需要以不同的符號代表進行多次拆分。利用String 類中的split 函數(shù)進行分割,同時將結果存放在一個二維數(shù)組中。問題在于怎么利用兩次split 分割后放在數(shù)組的兩個維度中,過程不再撰述。數(shù)組為引用型,需要申請內(nèi)存。

通過程序設計中split()函數(shù)字符串的分割功能,可以吧數(shù)據(jù)表的存儲有固定格式的字段內(nèi)容提取后根據(jù)需要進行拆分,提取需要的內(nèi)容。完成統(tǒng)計功能。對于學生成績管理系統(tǒng),這種功能更能體現(xiàn)出來。一張數(shù)據(jù)表就可以解決。例如表5 如下,統(tǒng)計一下“張三”的總成績。

以上兩種通過程序設計中Split()的函數(shù)來解決數(shù)據(jù)庫的設計問題及統(tǒng)計量的問題,從而大大的降低了數(shù)據(jù)庫設計的復雜度,尤其在數(shù)據(jù)表的數(shù)量上會大大的減少,減少了數(shù)據(jù)庫的維護性[3]。僅僅在錄入數(shù)據(jù)庫時,程序上一定要做格式上的驗證,防止輸入不能被split()函數(shù)識別的問題,這點在程序設計之初,必須要考慮的。

5 split()函數(shù)特殊應用

Split()函數(shù)在數(shù)據(jù)庫設計查詢過程中,顯示其優(yōu)越性。例如,全校不同專業(yè)的學生可以放在同一張表格內(nèi),三個字段:學號、姓名、成績,在成績這個字段中,可以把學生各科成績放在同一個字段中,比如:語文:90;數(shù)學:96;英語:98;通過冒號和分號區(qū)別門課和成績。如果學生查詢總的成績時,直接查詢,如果學生查詢“語文”成績時,調(diào)用Split()函數(shù)直接單獨顯示語文成績。如統(tǒng)計總成績、平均成績等都可以通過Split()函數(shù)進行實現(xiàn)。雖然用Split()函數(shù)可以提高數(shù)據(jù)的設計效率,但其的開銷比較大,因此Split()函數(shù)比較適合較小規(guī)模的數(shù)據(jù)庫設計,而且對服務器的要求比較高。

6 應用split()函數(shù)性能分析

Split()函數(shù)的在數(shù)據(jù)庫設計的應用必然會增加程序的計算效率。程序中用到for 循環(huán)嵌套,時間復雜度達到O(n2)。文中提到split()函數(shù)在計算機上僅僅是邏輯分割,并不會在磁盤上將其切割成片存儲這樣對服務器的性能要求就會提高,增加了服務器的符合。如果通過增加數(shù)據(jù)表的方法來開發(fā),程序的復雜度可以達到O(n),但數(shù)據(jù)庫的維護復雜度就會增加[4]。

在字符串截取字符串應用方面,Split()函數(shù)沒有其優(yōu)越性,StringTokenizer 在截取字符串中效率最高,不論數(shù)據(jù)量大小,幾乎持平。SubString 則要次之,數(shù)據(jù)量增加耗時也要隨之增加。Split()函數(shù)則是表現(xiàn)一般,究其原因,split 的實現(xiàn)方式是采用正則表達式實現(xiàn),所以其性能會比較低。

在字符串拆分應用方面,以看出Split()方法比StringTokenizer類的拆分方法更加簡潔和方便后續(xù)處理。Split()方法可以匹配正則表達式,而StringTokenizer 則不行。且大多數(shù)時候拆分得到的子字符串是要進行操作的,而StringTokenizer 類操作子字符串是靠遍歷進行的,比較繁瑣,相比之下運用數(shù)組進行下標操作就方便多了,事實上官方也不推薦用StringTokenizer 類生成對象的方法來進行字符串的拆分操作了。

7 結束語

根據(jù)用戶規(guī)模和實際需求,尋求數(shù)據(jù)庫設計方法,重效率還是重管理,數(shù)據(jù)庫有不同的設計方法。同一張數(shù)據(jù)表中,關聯(lián)性強的屬性可以合并后存入同一字段中,需要統(tǒng)計字段可以單列出來建立字段,這樣只要折中找出一個最優(yōu)點,就可以減少數(shù)據(jù)表內(nèi)冗余,減少數(shù)據(jù)庫中數(shù)據(jù)表的數(shù)量和數(shù)據(jù)表間的關聯(lián)程度。對于合并項,可以利用Split()函數(shù)進行分割提取,因Split()函數(shù)開銷較大,但目前隨著服務器性能的提高及云服務能力的急速提升,開銷已不是主要考慮的問題,降低數(shù)據(jù)庫設計的復雜度和內(nèi)聯(lián)性是我們考慮的重點問題。

猜你喜歡
數(shù)據(jù)庫設計
何為設計的守護之道?
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
數(shù)據(jù)庫
財經(jīng)(2017年15期)2017-07-03 22:40:49
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
數(shù)據(jù)庫
財經(jīng)(2017年2期)2017-03-10 14:35:35
數(shù)據(jù)庫
財經(jīng)(2016年15期)2016-06-03 07:38:02
數(shù)據(jù)庫
財經(jīng)(2016年3期)2016-03-07 07:44:46
數(shù)據(jù)庫
財經(jīng)(2016年6期)2016-02-24 07:41:51
主站蜘蛛池模板: 国产特级毛片aaaaaaa高清| 99热最新在线| 亚洲一区二区三区国产精品| 噜噜噜久久| 午夜国产精品视频| 久久精品无码国产一区二区三区| 亚洲三级成人| 国产一区二区三区日韩精品| 在线免费a视频| 欧美日韩精品一区二区视频| 污网站在线观看视频| www.国产福利| 全部无卡免费的毛片在线看| 91国内视频在线观看| 无码在线激情片| 91探花在线观看国产最新| 女人18毛片水真多国产| 欧美伊人色综合久久天天| 国产极品美女在线播放| 亚洲精品色AV无码看| 亚洲欧美日韩成人在线| 国产福利不卡视频| 在线观看免费黄色网址| 黄色网址免费在线| 国产特级毛片aaaaaaa高清| 手机在线国产精品| 亚洲国产综合精品一区| 曰韩人妻一区二区三区| 国内精品免费| 91娇喘视频| 一级一级特黄女人精品毛片| 欧美日韩精品一区二区在线线| 国产系列在线| 成人福利在线免费观看| 在线欧美一区| 国产欧美日韩va另类在线播放| 亚洲国产精品一区二区第一页免 | 色播五月婷婷| 97在线公开视频| 九九久久99精品| 亚洲an第二区国产精品| 国产精品视频系列专区| 亚洲免费黄色网| 国产亚洲美日韩AV中文字幕无码成人 | 98精品全国免费观看视频| 狠狠色噜噜狠狠狠狠色综合久| 91尤物国产尤物福利在线| 国产精品3p视频| 中国美女**毛片录像在线| 天天操天天噜| 亚洲最猛黑人xxxx黑人猛交| 丁香婷婷激情综合激情| 婷婷99视频精品全部在线观看| 天天干伊人| 中文字幕调教一区二区视频| 人人澡人人爽欧美一区| 91在线免费公开视频| 青青极品在线| 国产成人高清精品免费5388| 亚洲色图欧美| 亚洲精品在线观看91| 成人在线视频一区| 国产成人精品视频一区二区电影 | 国产农村精品一级毛片视频| 欧洲高清无码在线| 亚洲精品大秀视频| 精品精品国产高清A毛片| 国产靠逼视频| 天堂va亚洲va欧美va国产| 久久亚洲AⅤ无码精品午夜麻豆| 91蜜芽尤物福利在线观看| 精品久久久久久久久久久| 日韩A级毛片一区二区三区| 国产成人精品男人的天堂| 日韩A级毛片一区二区三区| AⅤ色综合久久天堂AV色综合| 亚洲综合天堂网| 18禁高潮出水呻吟娇喘蜜芽| 精品国产一区91在线| 国产丝袜无码精品| 欧美日韩理论| 美女被操91视频|