當前位置:首頁 » 數據倉庫 » 資料庫性別欄位不宜採用
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

資料庫性別欄位不宜採用

發布時間: 2022-05-19 12:39:32

⑴ 常用的數據凈化方法

1、刪除缺失值

當樣本數很多的時候,並且出現缺失值的樣本在整個的樣本的比例相對較小,這種情況下,我們可以使用最簡單有效的方法處理缺失值的情況。那就是將出現有缺失值的樣本直接丟棄。這是一種很常用的策略。

2、均值填補法

根據缺失值的屬性相關系數最大的那個屬性把數據分成幾個組,然後分別計算每個組的均值,把這些均值放入到缺失的數值裡面就可以了。

3、熱卡填補法

對於一個包含缺失值的變數,熱卡填充法的做法是:在資料庫中找到一個與它最相似的對象,然後用這個相似對象的值來進行填充。不同的問題可能會選用不同的標准來對相似進行判定。最常見的是使用相關系數矩陣來確定哪個變數(如變數Y)與缺失值所在變數(如變數X)最相關。然後把所有變數按Y的取值大小進行排序。那麼變數X的缺失值就可以用排在缺失值前的那個個案的數據來代替了。

還有類似於最近距離決定填補法、回歸填補法、多重填補方法、K-最近鄰法、有序最近鄰法、基於貝葉斯的方法等。

異常值通常被稱為「離群點」,對於異常值的處理,通常使用的方法有下面幾種:

1、簡單的統計分析

拿到數據後可以對數據進行一個簡單的描述性統計分析,譬如最大最小值可以用來判斷這個變數的取值是否超過了合理的范圍,如客戶的年齡為-20歲或200歲,顯然是不合常理的,為異常值。

2、3∂原則

如果數據服從正態分布,在3∂原則下,異常值為一組測定值中與平均值的偏差超過3倍標准差的值。如果數據服從正態分布,距離平均值3∂之外的值出現的概率為P(|x-u| > 3∂) <= 0.003,屬於極個別的小概率事件。如果數據不服從正態分布,也可以用遠離平均值的多少倍標准差來描述。

3、箱型圖分析

箱型圖提供了識別異常值的一個標准:如果一個值小於QL01.5IQR或大於OU-1.5IQR的值,則被稱為異常值。QL為下四分位數,表示全部觀察值中有四分之一的數據取值比它小;QU為上四分位數,表示全部觀察值中有四分之一的數據取值比它大;IQR為四分位數間距,是上四分位數QU與下四分位數QL的差值,包含了全部觀察值的一半。箱型圖判斷異常值的方法以四分位數和四分位距為基礎,四分位數具有魯棒性:25%的數據可以變得任意遠並且不會干擾四分位數,所以異常值不能對這個標准施加影響。因此箱型圖識別異常值比較客觀,在識別異常值時有一定的優越性。

4、基於模型檢測

首先建立一個數據模型,異常是那些同模型不能完美擬合的對象;如果模型是簇的集合,則異常是不顯著屬於任何簇的對象;在使用回歸模型時,異常是相對遠離預測值的對象

優缺點:1.有堅實的統計學理論基礎,當存在充分的數據和所用的檢驗類型的知識時,這些檢驗可能非常有效;2.對於多元數據,可用的選擇少一些,並且對於高維數據,這些檢測可能性很差。

5、基於距離

通常可以在對象之間定義鄰近性度量,異常對象是那些遠離其他對象的對象

優缺點:1.簡單;2.缺點:基於鄰近度的方法需要O(m2)時間,大數據集不適用;3.該方法對參數的選擇也是敏感的;4.不能處理具有不同密度區域的數據集,因為它使用全局閾值,不能考慮這種密度的變化。

6、基於密度

當一個點的局部密度顯著低於它的大部分近鄰時才將其分類為離群點。適合非均勻分布的數據。

優缺點:1.給出了對象是離群點的定量度量,並且即使數據具有不同的區域也能夠很好的處理;2.與基於距離的方法一樣,這些方法必然具有O(m2)的時間復雜度。對於低維數據使用特定的數據結構可以達到O(mlogm);3.參數選擇困難。雖然演算法通過觀察不同的k值,取得最大離群點得分來處理該問題,但是,仍然需要選擇這些值的上下界。

7、基於聚類:

基於聚類的離群點:一個對象是基於聚類的離群點,如果該對象不強屬於任何簇。離群點對初始聚類的影響:如果通過聚類檢測離群點,則由於離群點影響聚類,存在一個問題:結構是否有效。為了處理該問題,可以使用如下方法:對象聚類,刪除離群點,對象再次聚類(這個不能保證產生最優結果)。

優缺點:1.基於線性和接近線性復雜度(k均值)的聚類技術來發現離群點可能是高度有效的;2.簇的定義通常是離群點的補,因此可能同時發現簇和離群點;3.產生的離群點集和它們的得分可能非常依賴所用的簇的個數和數據中離群點的存在性;4.聚類演算法產生的簇的質量對該演算法產生的離群點的質量影響非常大。

噪音,是被測量變數的隨機誤差或方差。對於噪音的處理,通常有下面的兩種方法:

1、分箱法

分箱方法通過考察數據的「近鄰」(即,周圍的值)來光滑有序數據值。這些有序的值被分布到一些「桶」或箱中。由於分箱方法考察近鄰的值,因此它進行局部光滑。

用箱均值光滑:箱中每一個值被箱中的平均值替換。

用箱中位數平滑:箱中的每一個值被箱中的中位數替換。

用箱邊界平滑:箱中的最大和最小值同樣被視為邊界。箱中的每一個值被最近的邊界值替換。

一般而言,寬度越大,光滑效果越明顯。箱也可以是等寬的,其中每個箱值的區間范圍是個常量。分箱也可以作為一種離散化技術使用.

2、回歸法

可以用一個函數擬合數據來光滑數據。線性回歸涉及找出擬合兩個屬性(或變數)的「最佳」直線,使得一個屬性能夠預測另一個。多線性回歸是線性回歸的擴展,它涉及多於兩個屬性,並且數據擬合到一個多維面。使用回歸,找出適合數據的數學方程式,能夠幫助消除雜訊。

⑵ 索引有什麼優缺點

優點:

1、大大加快數據的檢索速度;

2、創建唯一性索引,保證資料庫表中每一行數據的唯一性;

3、加速表和表之間的連接;

4、在使用分組和排序子句進行數據檢索時,可以顯著減少查詢中分組和排序的時間。

缺點:

1、索引需要佔物理空間。

2、當對表中的數據進行增加、刪除和修改的時候,索引也要動態的維護,降低了數據的維護速度。

(2)資料庫性別欄位不宜採用擴展閱讀:

發展歷史:

索引最早出現於西方,主要是中世紀歐洲宗教著作的索引。18世紀以後西方開始有主題索引,至19世紀末,內容分析索引被廣泛使用。中國的索引出現較晚。一般認為,明末傅山所編的《兩漢書姓名韻》是現存最早的人名索引。清代乾嘉時期,章學誠曾力倡編纂群書綜合索引。

20世紀20年代,隨著西方索引理論與編制技術的傳入,中國現代意義上的索引編制與研究才蓬勃展開 。1930年錢亞新發表《索引和索引法》,1932年洪業發表《引得說》,標志著具有中國特色的現代索引理論、技術已迅速發展起來。

20世紀50年代,計算機技術被運用於索引編制 。此後,機編索引的大量出現,使索引編制理論、技術、索引載體形式發生了深刻變革。

sql標准中沒有涉及索引,但商用關系資料庫管理系統一般都支持索引機制,只是不同的關系資料庫管理系統支持的索引類型不盡相同。

索引已經成為關系資料庫非常重要的部分。它們被用作包含所關心數據的表指針。通過一個索引,能從表中直接找到一個特定的記錄,而不必連續順序掃描這個表,一次一個地去查找。對於大的表,索引是必要的。沒有索引,要想得到一個結果要等好幾個小時、好幾天,而不是幾秒鍾。

⑶ Oracle資料庫中如何選擇合適的索引類型

憑借字典的目錄,我們可以非常迅速的找到我們所需要的條目。資料庫也是如此。憑借Oracle資料庫的索引,相關語句可以迅速的定位記錄的位置,而不必去定位整個表。 雖然說,在表中是否創建索引,不會影響到Oracle資料庫的使用,也不會影響資料庫語句的使用。這就好像即使字典沒有目錄的話,用戶仍然可以使用它一樣。可是,若字典沒有目錄,那麼可想而知,用戶要查某個條目的話,其不得不翻遍整本字典。資料庫也是如此。若沒有建立相關索引的話,則資料庫在查詢記錄的時候,不得不去查詢整個表。當表中的記錄比較多的時候,其查詢效率就會很低。所以,合適的索引,是提高資料庫運行效率的一個很好的工具。 不過,並不是說表上的索引越多越好。過之而不及。故在資料庫設計過程中,還是需要為表選擇一些合適的索引。寧缺勿濫,這是建立索引時的一個遵循標准。在理論上,雖然一個表可以設置無限的索引。但是,資料庫管理員需要知道,表中的索引越多,維護索引所需要的開銷也就越大。每當數據表中記錄有增加、刪除、更新變化的時候,資料庫系統都需要對所有索引進行更新。故資料庫表中的索引絕對不是多多益善。具體來說,在索引建立上,筆者對大家有如下建議。 建議一:在基數小的欄位上要善於使用點陣圖索引。 基數是點陣圖索引中的一個基本的定義,它是指資料庫表中某個欄位內容中不重復的數值。如在員工信息表中的性別欄位,一般就只有男跟女兩個值,所以,其基數為2;婚姻狀況欄位的話,則其只有已婚、未婚、離婚三種狀態,其基數就為3;民族一覽內也是只有有限的幾個值。 對於要查詢基數小的欄位,如現在用戶想查找所有婚姻狀況為「已婚」的「女性」時,利用點陣圖索引可以提高查詢的效率。這主要是因為標准索引是通過在索引中保存排序過的索引列以及對應的ROWID來實現的。若我們在基數小的列上建立標准索引的話,則其會返回大量的記錄。 而當我們在創建點陣圖索引的時候,在Oracle會對整個表進行掃描,並且會為索引列的每個取值建立一個點陣圖。若內容相同,則在點陣圖上會以一個相同的數字表示。此時,若這個欄位的基數比較小的話,則若需要實現對整個欄位的查詢的話,效率就會非常的高。因為此時,資料庫只要點陣圖中數字相同的內容找出來即可。 除了在數據表某列基數比較小的情況下,採用點陣圖索引外,我們往往在一些特殊的情況下,也會建議採用點陣圖索引。最常見的情況是,在Where限制條件中,若我們多次採用AND或者OR條件時,也建議採用點陣圖索引。因為當一個查詢飲用了一些部署了點陣圖索引的列的時候,這些點陣圖可以很方便的與AND或者Or 運算符操作結合以快速的找出用戶所需要的記錄。 但是,這里要注意,不是在條件語句中包含運算符的時候,採用點陣圖索引都能夠提供比較高的效率。一般來說,只有AND 或者OR運算符的時候,點陣圖索引才會比較具有優勢。若此時用戶採用大於號或者不等於號作為條件語句中的限制條件的時候,則往往採用標准索引具有更大的優勢。 所以,筆者在資料庫設置中,一般只有在三種情況下才採用點陣圖索引。一是列的基數比較小,而有可能需要根據這些欄位的內容查找相關的記錄;二是在條件語句中,用到了AND或者OR運算符的時候。除了這兩種情況外,最好能夠採用其他適合的索引。第三種情況是,需要用到NULL作為查詢的限制條件。因為標准查詢一般情況下,會忽略所有的NULL值列。也就是說,若需要查詢「所有沒有身份證號碼」的員工的信息的時候,標准索引並不能夠起到加速查詢速度的作用。此時,就需要採用點陣圖索引。因為點陣圖索引會記錄相關的NULL值列信息。 建議二:創建索引的一些限制條件。 並不說,表或者列建立的索引越多越好。相反,索引建的越多,有時會反而會影響資料庫運行的整體性能。所以,在建立索引的時候,仍然會有一些限制條件。 一是不要對一些記錄內容比較少的表建立索引。在一個應用系統設計的時候,如設計一個ERP系統的資料庫,其雖然有幾千張表。但是,並不是每張表都有大量記錄的。相反,其中有近一半左右的數據表,可能其存儲的數據不會超過百條。如員工登陸帳戶密碼表、企業部門信息表等等。對於這些記錄內容比較少的表,我們建立最好不要為其建立索引。無論是表上的,還是欄位上,都不要建立索引。 二是若表中的內容比較大,但是,這個表基本上不怎麼查詢的時候,則只需要在表上建立索引即可;而不需要在欄位上建立索引。如現在在ERP系統中,有一張表是「AD_Table」。其存儲的是這個資料庫中相關表的信息。這張表只有在資料庫設計的時候才會用到。故這張表中的記錄雖然比較多,但是由於用戶用的比較少,所以,一般沒有必要為這張表建立列級別上的索引。而直接用表索引來代替。 三是在一些NULL欄位上,要根據實際情況來判斷是否要建立索引。如現在有一張人事檔案的表格,其上面有兩個欄位,分別為「身份證號碼」與「地區」。有時會為了某個原因,企業需要所有員工都在系統中登記他們的身份證號碼,以方便他們辦工資卡、社會保險等等。所以人事管理可能需要經常的查詢系統,看看有沒有沒有身份證號碼的員工信息。此時,就需要利用條件「IS NULL」來查詢我們所需要的記錄。故為了提高查詢效率,若某個記錄可能為空,並且經常需要以NULL為條件進行查詢的時候,則最好給這個欄位添加一個索引,並且最好建立點陣圖索引。相反,若雖然可能會以NULL這個條件作為查詢的限制語句,但是,用的不是很多的時候,則就沒有必要為其建立索引。 建議三:多表連接查詢的索引設計。 如現在有一個人事管理系統。人事經理想知道員工的社保繳納情況。他需要知道員工的姓名、職務、戶籍性質(農民戶口跟居民戶口費用不一樣)、繳納的情況等等。但是,這些信息包含在不同的表中。因為為了提高資料庫的性能,在表中存儲的可能只是某些序號,而不是具體的內容。如在社保表中,存儲的是員工對應的編號,而不是員工的名字。所以,要得到這份報表的話,就可能需要關聯員工基本信息表、公司組織結構表等表格,才能夠查詢到用戶所需要的內容。 為此,就需要利用Join語句,把這些表格關聯起來。為了提高資料庫的查詢效率,這些用來關聯的欄位,最好能夠建立索引。這可以顯著的提高查詢的速度。 建議四:在表的更新速度與查詢速度之間尋求一個平衡點。 眾所周知,索引本身並不影響資料庫的使用,其主要是為了提高資料庫的查詢效率。但是,由於當資料庫的表中的數據更新的時候,包括記錄的增加、刪除、更改等等,都會對雖有的索引進行更新。 很明顯,索引雖然可以提高查詢速度。但是,也會對一些表的更新操作產生不良的影響。當在表中建立的索引越多,這個不利影響也會越大。故資料庫管理員在設置索引的時候,還需要注意,在這兩個之間需要一個均衡點。 按照一般的理論來說,當某個表多數用來查詢、更新相對來說比較上的話,則要多多採用索引。相反,當某個表記錄更新居主導,查詢相對來說比較少的話,則不要建立太多的索引,避免對更新的速度差生不利影響。

⑷ 把資料庫裡面性別的值1和2修改為男和女,是這樣寫sql語句的嗎為什麼會錯的呢

當然不是這樣,亂用;
修改當然是用update 了 ,怎麼修改數據還用 select
如下:
update Student set sex ='男' where sex=1
update Student set sex ='女' where sex=2
分開寫條理又清楚,又易懂。

⑸ SQL性別欄位不宜選擇什麼

不宜選擇0和1 因為很多時候0 1 是有特殊用途的

⑹ 資料庫Access用性別欄位是否型,選項組控制項做性別選擇為什麼在窗體視圖中出現的值是數值而不是男女

需要進行轉換,存放是以減少空間佔用,便於操作為基礎。
祝好運,望採納。

⑺ 資料庫中,性別男女的欄位類型怎麼定義啊



個人拙見。
最好的存儲方式是CHAR,性別值很少,固定長度存儲,且比較時速度較快。使用數值表示還不是需要轉換。
採用 0,1.2等數字表示
利:佔用空間少
弊:只有熟悉相關背景才知道具體含義;需要轉換。
採用m,f,n 等表示
利:簡潔明了
弊:字元看你採用固定字元存儲還是可變字元存儲。如果可變的話,比較相對較慢

⑻ 性別欄位最適合選擇什麼類型

最適合用枚舉字元型。
1、性別欄位取值為「男」或者「女」,由於漢字佔用兩個欄位,所以欄位長度不能小於2。
考慮到復雜情況,如未知,男轉女等特殊情況。也可以用普通字元串。

2、只有「男」「女」兩個取值時,也可以使用布爾型。
3、如果為了使表達更簡單,數據結構更易懂,還可以用邏輯型。

⑼ 用asp做的頁面取oracle的資料庫時性別顯示1和0 不能顯示男,女

你取出數據後你判斷一下,如果是1(就顯示為男),0(就顯示為女)

你不用建立一個單獨的表,我的意思是,在一個表裡,比如有一個欄位(xb)(類型是char(2)),你在這個欄位中用1表示為男,0表示為女,在存數據時,如果是男的,就把xb欄位響應的行置為1,女的就置為0,讀數據時,查詢時,那你就設置一個變數,如果結果為1,這個變數就為"男",如果結果為0,這個變數就為"女",然後輸出這個變數.

⑽ 「學生」表的性別欄位在表中定義為什麼類型

定義為文本類型。
在表格中,性別的男女是文本內容,所以應該定義為文本。
Excel在用公式表達式進行計算時,常常會用到單元格區域的引用,而遇到比較復雜的公式引用,就會大大降低公式表達式的可讀性。為此給特定的單元格區域定義一個欄位名,就會大大增加公式的可讀性,而且調用方便。