2.3.1 Làm sạch dữ liệu mức đơn nguồn
2.3.1.1 2.3.1.1. Đơn nguồn – mức lược đồ (Schema level)
Chất lượng nguồn dữ liệu phụ thuộc rất lớn vào mức độ được tổ chức bởi lược đồ (schema) và các ràng buộc toàn vẹn. Với những nguồn không có lược đồ (vd: các files), có rất ít ràng buộc cho các dữ liệu được đưa vào lưu trữ. Do đó mà khả năng xuất hiện lỗi và sự thiếu nhất quán ở mức cao.
Các vấn đề ở mức lược đồ chủ yếu là do thiếu sự hợp lý về các ràng buộc toàn vẹn. Loại này hầu như là xảy ra do những thiếu sót trong khi thiết kế CSDL nguồn. Nếu bảng nguồn không có ràng buộc khóa chính mà chỉ có đinh danh bản ghi duy nhất. khi đó có thể xảy ra trường hợp mà 2 bản ghi tham chiếu đến hai đối tượng trong thế giới thực mà chúng lại có cùng một định danh. Nếu thiếu ràng buộc Check, một cột có thể chứa giá trị ngoài dải cho phép (vd : nhiều hơn 2 giá trị về giới tình). Nếu ràng buộc Not-Null không tồn tại, một bản ghi có thể bị thiếu giá trị với thuộc tính mà bất buộc phải có. Nếu lược đồ nguồn không có ràng buộc tham chiếu (reference), ta có thể có các bản ghi trong một bảng mà tham chiếu đến các bản ghi không tồn tại trong một bảng khác.
Mức vi
phạm Vấn đề vi phạm Dữ liệu lỗi Ghi chú
Thuộc tính
Giá trị không hợp
lệ Bdate=30.13.70
Giá trị nằm ngoài dải cho phép
Một bản ghi
Sự phụ thuộc giữa
các thuộc tính bị vi Age =21,bdate =12.02.86
Có thể xác định tuồi : Age=(ngày hiện tại -
Data Quality (chất lượng dữ liệu) Single-Source (mức đơn nguồn) Multi-Source (mức đa nguồn) Schema Level (mức lược đồ) Instance Level (mức thể hiện) Schema Level (mức lược đồ) Instance Level (mức thể hiện)
Giữa các bản ghi Vi phạm tính duy nhất Emp1=(name=“John Smith”,SNN=“123456”) Emp1=(name =“Perter Miller”,SNN=“123456”) Tính duy nhất của SNN(Social Security Number) bị vi phạm. Nguồn Vi phạm tính toàn vẹn tham chiếu Emp=(name =“John Smith”,deptno=127) Phòng được tham chiếu đến (127) không được định nghĩa trước đó.
Bảng 1. Ví dụ về bài toán đơn nguồn - mức lược đồ
2.3.1.2 Đơn nguồn – mức thể hiện hay mức bản ghi (Instance level hay
record level)
Loại này liên quan đến các lỗi và sự không nhất quán xảy ra tại thời điểm nhập dữ liệu vào hệ thống nguồn. Các lỗi này không thể ngăn được ở mức lược đồ. Điển hình như :
Lỗi chính tả : gây nên bởi sự thiếu hoàn hảo của phần mềm nhận dạng kí tự ( OCR - Optical Character Recognition ) hoặc có thể do các lỗi in ấn, lỗi ngữ âm.
Các giá trị mặc định cho các thuộc tính bắt buộc có.
Không nhất quán.
Các giá trị sai trường., có nghĩa là giá trị đúng nhưng đặt sai thuộc tính (Vd : Country = “Hà Nội”).
Trùng lặp bản ghi : có nhiều hơn một bản ghi đề cập đến cùng một đối tượng trong thế giới thực.
Mức vi
phạm Vấn đề vi phạm Dữ liệu lỗi Ghi chú
Thuộc tính
Lỗi chính tả City = “Liipzig” Thường sinh ra do in ấn hoặc do ngữ âm Nhiều giá trị cùng
thuộc tính
Name = “J.Smith 12.02.70 New York”
Nhiều giá trị cùng được đưa vào trong một trường có định dạng tự do của một bản ghi Các giá trị sai
trường City = “England”
Giá trị đúng nhưng đặt nhầm trường trong một bản ghi
Một bản ghi Sự phụ thuộc giữa các thuộc tính bị vi phạm City = “Redmond” , Zip = 77777
City và mã Zip phải phù hợp nhau
Giữa các bản ghi
Đổi chỗ từ Name1 = “J. Smith” Name2 = “Miller P.” Thường dùng trong một trường có định dạng tự do Trùng lặp bản ghi Emp1= (“John Smith”,…), Emp2=(“J.Smith”,…) Cùng một đối tượng nhưng được thể hiện 2 lần do nhập dữ liệu bị lỗi. Các bản ghi mâu thuẫn nhau Emp1=(name =“John Smith”,bdate=12.02.70) Emp1=(name =“John Smith”,bdate=12.12.70) Cùng một thực thể trong thế giới thực nhưng được thể hiện bởi các giá trị khác nhau.
Nguồn Lỗi tham chiếu Emp=(name =“John
Smith”,deptno=17)
Phòng tham chiếu đến (17) đã được định nghĩa trước nhưng giá trị sai
Bảng 2. Ví dụ về bài toán đơn nguồn – mức thể hiện
2.3.2 Làm sạch dữ liệu mức đa nguồn
Các vấn đề trong mức đơn nguồn càng trở nên trầm trọng khi có nhiều nguồn được tích hợp. Mỗi nguồn có thể chứa dữ liệu bẩn và dữ liệu trong các nguồn có thể được thể hiên khác nhau, chúng chồng chéo hoặc mâu thuẫn nhau. Đó là do các nguồn được phát triển , triển khai và duy trì độc lập để phục vụ cho các nhu cầu riêng biệt. Đây là kết quả của sự không đồng nhất ở mức cao trong các hệ thống quản lý dữ liệu, các mô hình dữ liệu, các bản thiết kế lược đồ và các nguồn dữ liệu thực.
2.3.2.1 Đa nguồn – mức lược đồ
Ở mức lược đồ, sự khác nhau về mô hình dữ liệu và thiết kế lược đồ là do bước dịch và tích hợp lược đồ. Những vấn đề chính xuất hiện khi thiết kế lược đồ là xung đột tên và xung đột cấu trúc.
Xung đột tên trong các trường hợp như : Đồng âm – nghĩa là tên giống nhau dùng cho các đối tượng khác nhau (hymonyms). Đồng nghĩa – câc tên khác nhau nhưng cùng chỉ một đối tượng (synonyms).
Xung đột cấu trúc xảy ra trong nhiều trường hợp khác nhau. Chúng là những thể hiện khác nhau của cùng một đối tượng trong các nguồn khác nhau.Thể hiện trong thuộc tính, cấu trúc các thành phần, kiểu dữ liệu, các ràng buộc toàn vẹn khác nhau…
2.3.2.2 Đa nguồn – mức thể hiện hay mức bản ghi.
Ở mức thể hiện, có nhiều xung đột xảy ra . Chúng bao gồm tất cả những vấn đề xảy ra trong đơn nguồn. Và lại có thể xảy ra ở đa nguồn do các thể hiện khác nhau trong các nguồn khác nhau (ví dụ : trùng lặp bản ghi, mâu thuẫn giữa các bản ghi…). Ngoài ra có một số vấn đề khác như :
Các thể hiện khác nhau kiểu dữ liệu đối với cùng một thuộc tính (Tiền tệ có thể là Dollar hoặc Euro).
Các ràng buộc khác nhau : vidu : Sex= {M, F}, Sex= {0,1}…
Các mức kết tập khác nhau ( vidu : thống kê bán hàng theo một sản phẩm hoặc theo một nhóm sản phấm). Hoặc các điểm thời gian khác nhau, có thể là theo ngày, theo tháng hoặc theo năm ( vidu : thống kê bán hàng của ngày hôm qua cho nguồn 1 so với thống kê bán hàng của tuần trước cho nguồn 2)…
Dư thừa dữ liệu, trùng lặp bản ghi.