當前位置:工程項目OA系統(tǒng) > 泛普各地 > 江西OA系統(tǒng) > 鷹潭OA > 鷹潭網(wǎng)站建設公司
如何玩轉(zhuǎn)數(shù)據(jù)庫設計
在日常任務中,當我們碰到海量數(shù)據(jù)時,若何從中遴選出本人想要的數(shù)據(jù)呢?是盲目標查找,照樣追求新的處理方案亦或是經(jīng)過技巧來獲取?開拓者在設計一個數(shù)據(jù)表單時,往往會遵照三條常用方式,他們以為慣例形式是設計的獨一路子。但是因為開拓者一開端就抱有這種心態(tài),使數(shù)據(jù)表單設計變得故步自封,障礙了它的立異。
作者Shivprasad 從平常的任務項目中積聚了一些經(jīng)歷,向我們引見了11款制造數(shù)據(jù)表單技巧,當設計到數(shù)據(jù)表單制造時,無妨以此來參考,以豐厚我們的使用經(jīng)歷。
Rule 1:弄清(OLTP或OLAP)使用的實質(zhì)是什么?
當開端制造數(shù)據(jù)表單設計時,起首,要剖析你設計的這個順序的實質(zhì)是什么?是事務性照樣剖析性的?你會發(fā)現(xiàn)很多開拓者會默許使用慣例化規(guī)矩,隨后才思索功能問題而不思索使用的實質(zhì)。
關于事務性和剖析性,一同來看下兩者區(qū)別。
Transactional:這種使用,用戶對CRUD較為感興致,即創(chuàng)立、讀取、更新和刪除記載。這種數(shù)據(jù),官方稱號之位OLTP。
Analytical:用戶對剖析、申報、猜測等方面感興致。這類數(shù)據(jù)庫很少有嵌入和更新。首要目標是為了盡快獲取和剖析數(shù)據(jù)。官方稱號之為OLAP。
換句話說,假如你想以嵌入、更新、刪除為重點,可選擇慣例化的表單設計或許創(chuàng)立一個簡略的十分規(guī)化的數(shù)據(jù)架構(gòu)。
下面是一個簡略的圖表,左側(cè)顯示稱號和地址,采用非標準化構(gòu)造設計出的一款簡略的慣例表單。
Rule 2:將數(shù)據(jù)依照邏輯思想分紅分歧的塊,讓生涯更簡略
這個規(guī)矩其實就是 “三范式” 中的第一范式。如許設計的目的,是為了當你需求查詢套多的字符串解析功用時,如子串,charindexetc,它能為你供應這項功用。
例如,留意觀看下面的圖表,假如你想查詢某個學生的姓名,經(jīng)過“Koirala”和“Harisingh”來進行區(qū)分。
因而,更好的辦法就是打破數(shù)據(jù)邏輯思想,以便我們編寫愈加簡練、輕易查詢的表單。
Rule 3:當數(shù)據(jù)太多時,rule 2不成用
開拓者們的思想有時很單一,假如你通知他們某種方法,他們會不斷這么做下去,要曉得過度的運用會形成不用要的費事。正如我們之前談到的rule 2,起首要進行分化,明白本人的需求。例如,當你看到德律風號碼字段時,你可以在ISD代碼長進行操作區(qū)分這些德律風號碼(直到知足你的需求)。雖然這是不錯的辦法,但會給你帶來更多的并發(fā)癥。
Rule 4:將反復、不一致的數(shù)據(jù)視作你最大的仇敵
聚集和重構(gòu)復制數(shù)據(jù)。我比擬擔憂的不是復制數(shù)據(jù)所需求的磁盤空間而是它因而而形成的紊亂。
從下面的圖表中,“5th Standard”和“Fifth standard”意思是一樣的,你可以說是由于數(shù)據(jù)或許驗證數(shù)據(jù)錄入到你的系統(tǒng)緣由,假如你想經(jīng)過報表來顯示他們的分歧之處,從用戶的角度開看,這長短常堅苦的。
個中一個處理辦法就是將分歧的義務欄把一樣的數(shù)據(jù)經(jīng)過新建一個鍵入值聯(lián)接在一同。如圖。我們經(jīng)過創(chuàng)立一個新的條目“Standards”即可將數(shù)據(jù)從新排,顯示一樣的局部。
Rule 5:留意被分隔符切割的數(shù)據(jù)
前面的規(guī)矩2即“第一范式”提到防止數(shù)組反復,如圖所示。假如你看到教育綱要嚴密陳列在一同,這個范疇中需求良多數(shù)據(jù)來填充,這種我們稱之為“反復數(shù)組”。假如我們必需把持這些數(shù)據(jù),單憑查詢是很堅苦的,我甚至還疑心能否具有這個查詢功用。
這些帶分隔符的數(shù)據(jù)需求特殊留意,若何應用更好的辦法將這些數(shù)據(jù)挪動到一個分歧的義務欄中,以便更好的分類呢?如圖:
如圖所示,可以看到我創(chuàng)立了一個自力的教育科目條目,然后列出了與之有相聯(lián)系關系的科目。這種辦法首要合用于在教育綱要范疇,防止過多的反復和數(shù)據(jù)分隔符中。
Rule 6:留神數(shù)據(jù)依靠
察看該范疇中的局部列表。如圖,我們創(chuàng)立了roll number和standard,可以看到教育科目嚴密聯(lián)絡在一同,但與學生進修的科目沒有直接聯(lián)系關系。假如我們想給每位學生更新教育科目,這似乎看起來是不契合邏輯的,然則經(jīng)過鍵入standard條目轉(zhuǎn)換這些數(shù)據(jù)就可到達目標。
這個規(guī)矩通知我們“一切的鍵入都應該依靠主鍵”。All keys should depend on the full primary key and not partially。
Rule 7:選擇派生列
假如你想進行OLTP使用起首得挑選出派生列,在OLAP中我們需求做一些乞降,方可取得uixie很好的功能。如圖,求的均勻數(shù)需求應用marks和subject兩列。
這個規(guī)矩被稱為第三范式,“不該該有依靠于非主鍵的列”(No columns should depend on other non-primary key columns)我小我以為是不克不及盲目運用此規(guī)矩。假如該數(shù)據(jù)是核算過的數(shù)據(jù),看清情況然后在決議施行第三范式。
Rule 8:假如功能很要害,不要避開冗余數(shù)據(jù)
假如你急迫的思索到功能標準化問題,凡間狀況下需求銜接很多列表以及削減添加非標準化的列表以便來進步數(shù)據(jù)圖表功能。
Rule 9:數(shù)據(jù)多、冗雜
OLAP項目首要是為了處置數(shù)據(jù)繁復,例如,如圖所示,假設你想取得每個國度、每個用戶、每年的發(fā)賣額度。關于這種狀況,你可以創(chuàng)立一個實踐發(fā)賣列表條目(sales fact table)。
Rule 10:設計name value table列表
明值表意味著它有一些鍵,這些鍵被其他數(shù)據(jù)聯(lián)系關系著。如圖所示,我們需求弄清晰currency table (錢幣列)和country table(國度列),圖中鍵入值(數(shù)字局部)顯示的就是我們所需求的數(shù)據(jù)。
經(jīng)過創(chuàng)立鍵入值(Type)來顯示出分歧區(qū)域的數(shù)據(jù)。
Rule 11:無限制構(gòu)造數(shù)據(jù),自界說PK和FK
我們會常常碰著一些無限父子分級構(gòu)造的數(shù)據(jù)。例如:思索到一個多條理的營銷方案,個中一個發(fā)賣人員可以指導多個發(fā)賣人員。在這種狀況下,你可以運用自界說的主鍵和設置外鍵來協(xié)助你完成一致。
您可以依據(jù)本身的項目需求選擇分歧的數(shù)據(jù)處置辦法。如下所示:三種慣例范式。
- 1如何玩轉(zhuǎn)數(shù)據(jù)庫設計
- 2網(wǎng)站建設之后,維護才是重中之重
- 3玩具租賃如何走出困境
- 4萬網(wǎng)云服務器,優(yōu)惠啦!!!
- 5PHP Google的translate API代碼
- 6最新動態(tài)-久途遷新址
- 7網(wǎng)貸平臺主要運營模式主要有兩類---傳統(tǒng)P2P模式
- 8PHP/MYSQL 查詢大數(shù)據(jù)/遍歷表
- 9企業(yè)網(wǎng)站的優(yōu)化現(xiàn)狀
- 10Windows Azure 網(wǎng)站上運行 CakePHP
- 11租賃網(wǎng)站功能介紹
- 12企業(yè)做網(wǎng)站有沒有用?
- 13PHP 5中垃圾回收算法的演化
- 14有關,PHP.ini 性能優(yōu)化
- 15企業(yè)四網(wǎng)合一網(wǎng)站升級版1
- 16網(wǎng)站建設之搜索功能強化升級標準
- 17JavaScript cookie詳解
- 18企業(yè)如何定位自己的企業(yè)網(wǎng)站目標
- 19企業(yè)網(wǎng)站與其他網(wǎng)站有什么區(qū)別和差異呢!
- 20網(wǎng)站建設和營銷帶來的經(jīng)濟效益
- 21泛普軟件-U2ME網(wǎng)站設計方案計劃表
- 22評估企業(yè)站做的好壞的方法
- 23企業(yè)建站要寫簡潔的代碼
- 24玩具租賃商城系統(tǒng)需求3
- 25ecshop的數(shù)據(jù)字典
- 26如何讓您的網(wǎng)站盈利中發(fā)揮到極致
- 27如何使自己的企業(yè)網(wǎng)站和同行業(yè)的網(wǎng)站不類似沖突
- 28如何用PHP模擬QQ登錄
- 29關于編碼最佳應用實踐
- 30世界看到你-----微信公眾平臺
成都公司:成都市成華區(qū)建設南路160號1層9號
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務大廈18樓