170 likes | 302 Views
2.4 數據有效性及數據校驗. 2.4.1 數據有效性. 數據有效性是指將數據與一系列標準或數值進行比較,從而保證數據值的合理性。. P.20. 表 2-2. 有效性檢查項目. 域完整性的檢查 欄長度的檢查 範圍檢查 格式檢查 檢查數位. 跟住會逐個睇…. 域完整性的檢查. 確認具備了所有必須的字段 例如「學生記錄」中應該有姓名、班別、學號、性別等資料。 又例如「出生日期」應該有年、月、日等資料。. 陳鐘耀. 欄長度的檢查. 確認每項數據都具有正確字串的長度。 例如「家用電話號碼」應有8位數字。
E N D
2.4.1 數據有效性 • 數據有效性是指將數據與一系列標準或數值進行比較,從而保證數據值的合理性。
P.20 表 2-2 有效性檢查項目 • 域完整性的檢查 • 欄長度的檢查 • 範圍檢查 • 格式檢查 • 檢查數位 跟住會逐個睇…
域完整性的檢查 • 確認具備了所有必須的字段 • 例如「學生記錄」中應該有姓名、班別、學號、性別等資料。 • 又例如「出生日期」應該有年、月、日等資料。 陳鐘耀
欄長度的檢查 • 確認每項數據都具有正確字串的長度。 • 例如「家用電話號碼」應有8位數字。 • 又例如「出生年份」是四位數字,不應有三位數(203)或五位數(19996)等。
範圍檢查 • 確認數據值在預先確定的範圍內。 • 例如「出生月份」為 1 至 12 之間的任何一個數,不應該有 13。 • 又例如「考試成績」只有 A 至 H 級,不應該有 K 級。
格式檢查 • 確認數據的類型符合指定的格式。 • 例如「身份證號碼」由一個英文字母加六個數目字,再加一個括號,內有一個英文字母或數目字。 • A123456(7)便符合以上身份證號碼的格式。 • 3456789(0)及123456A(9)均不符合以上身份證號碼的格式。
暫停一會! • 請完成以下作業: 網上練習2.1 http://hk.geocities.com/cmscit2003
檢查數位 • 為了進行自檢,通常會在實際數值之後加上一個檢查數位。 • 檢查數位根據某種數學公式計算出來,並且成為數值的一部分。 • 在香港身份證號碼的括號裡的數字或英文字母就是檢查數位,採用模 11 驗法。
甚麼是模11驗法? • 太複雜了! • 我們先看看所謂「模2驗法」,然後再研究「模11驗法」吧 。 Modulus 11
奇數? 甚麼是模2驗法? 偶數? • 例如224這個三位數 • 將它的三個數字相加(即2+2+4=8) • 如果總和可被2整除,我們就在後面加上(0); • 如果總和不能被2整除,我們就在後面加上(1)。 • 總之,括號內的數字要能令到所有數字加起來的總和能夠被2整除。 • 括號裡應填上甚麼才能令以下數字通過模2驗法?225(?) 435(?) 9237(?) • 括號裡只會有 0 和 1 ,你知道點解嗎?
有沒有模10驗法? • 將所有數字加起來,看看總和能否被10整除? • 我們可以在後面加上括號,內放一個小於10的數字,使新的總和能被10整除。 • 例如224這個三位數,我們可以加上(2)。 • 例如9999這個數,我們可以加上(4)。 • 例如5555這個數,我們可以加上(0)。 • 括號裡的數目字就叫做「檢查數位」。
模11驗法 • 現在不太複雜了! • 即檢查總和是否可以被11整除。 • 檢查數位就由0至10,因為10佔了兩個位,所以通常會用A或其他英文字母代替10。
P.20 2.4.2 2.4.2 模檢數 • 模檢數為算法的一種 • 用於檢查一個數字的有效性 • 之前提及的檢查數位可以檢查出部分輸入的錯,但是卻難以檢查這個錯誤: 「2456 錯誤輸入為 2465」 • 利用「加權」的方法,便可以檢查出以上的錯誤。
P.21 P.22 例子2-2 例子2-3 2.4.3 檢查數位 • 國際標準圖書編號(ISBN) 962-943-717-1檢查數位 • 香港身份證(HKID)號碼D288754(2) 檢查數位
請嘗試活動2.1 • 可在 http://hk.geocities.com/cmscit2003 選擇 練習與活動 再選 活動2.1 • 或在 Y:磁碟 開啟 HKIDno.xls
P.24 圖2-3 P.23 2.4.4 2.4.4 數據校驗 • 數據校驗是確保數據在轉換過程中沒有差誤。 • 例如檢查已輸入的數據與源文件是否一致。 • 方法: • 雙重輸入,即同一個人輸入數據兩次,然後做校驗 • 由兩個人獨立輸入,然後做校驗 • 一個人輸入,另一個人做校驗