1. Khái niệm mã hoá
Mã là tên viết tắt gắn cho một đối tượng nào đó hay nói cách khác mỗi đối tượng cần có tên và vấn đề đặt ra là ta sẽ đặt tên cho đối tượng như thế nào. Trong mỗi đối tượng gồm nhiều thuộc tính khác nhau thì yêu cầu mã hoá cho các thuộc tính cũng là yêu cầu cần thiết. Ngoài ra mã hoá (mã hóa dữ liệu) còn là hình thức chuẩn hoá dữ liệu để phân loại dữ liệu lưu trữ và tìm kiếm có hiệu quả và bảo mật dữ liệu đặc biệt trong các hệ thống thông tin xử lý bằng máy tính.
Một số Ví dụ về mã hoá:
– Khi ta cần xác định một công dân thì số chứng minh thư hoặc số hộ chiếu là mã của công dân đó.
– Khi cần xác định xe ô tô hay xe máy thì biển số xe là mã của xe đó.
2. Chất lượng và yêu cầu đối với mã hoá dữ liệu
Trong thực tế ta gặp rất nhiều đối tượng cần mã hoá như mã hoá ngành nghề cần đào tạo, mã hoá các bệnh, mã số điện thoại, mã thẻ sinh viên, thẻ bảo hiểm y tế,. Chúng ta có nhiều phương pháp mã khác nhau. Do vậy cần xác định một số tiêu chí để đánh giá chất lượng của việc mã hoá:
– Mã hoá không được nhập nhằng: Thể hiện ánh xạ 1-1 giữa mã hoá và giải mã mỗi đối tượng được xác định rõ ràng và duy nhất với một mã nhất định.
– Thích ứng với phương thức sử dụng: Việc mã hoá có thể tiến hành bằng thủ công nên cần phải rễ hiểu, dễ giải mã, và việc mã hoá bằng máy đòi hỏi cú pháp chặt chẽ.
– Có khả năng mở rộng mã:
+ Thêm phía cuối (sau) của các mã đã có
+ Xen mã mới vào giữa các mã đã có, thường mã xen phải dùng phương pháp cóc nhảy, nhảy đều đặn dựa vào thống kê để tránh tình trạng “bùng nổ ” mã.
– Mã phải ngắn gọn làm giảm kích cỡ của mã, đây cũng là mục tiêu của mã hoá. Tuy nhiên điều này đôi khi mâu thuẫn với khái niệm mở rộng mã sau này.
– Mã có tính gợi ý: Thể hiện tính ngữ nghĩa của mã. Đôi khi tính gợi ý là yêu cầu đối với mã công khai, và làm cho việc mã hoá thuận tiện dễ dàng.
– Cách mã cần xác định sao cho tối thiểu hoá sai sót khi mã và giảm tính dư thừa của mã.
3. Các kiểu mã hoá
– Mã hoá liên tiếp (Serial Coding):
Ta dùng các số nguyên liên tiếp 000,001, 002… để mã hoá. Phương pháp này thường để đánh số thứ tự trong danh sách các đối tượng.
+ Ưu điểm: Không nhập nhằng, đơn giản, thêm phía sau.
+ Khuyết điểm: Không xen được, thiếu tình gợi ý vì cần phải có bảng tương ứng và không phân theo nhóm
– Mã hoá theo lát (lớp):
Sử dụng các số nguyên như mã hoá liên tiếp nhưng phân ra theo lát( lớp) cho từng loại đối tượng, trong mỗi lát dùng mã liên tiếp.
Ví dụ: Mã hoá các đối tượng là các hàng ngũ kim
Vùng 1: 0001 – 0999 để mã hóa các hàng ngũ kim bé, trong đó:
001 – 0099 để mã hóa các loại vít
0100 – 0299 để mã hóa các loại êcu
0300 – 0499 để mã hóa các loại bulong
0500 – 0599 để mã hóa các loại đinh
…
Vùng 2: 1000 – 1999 để mã hóa các chi tiết kim loại, trong đó
1000 – 1099 để mã hóa các loại sắt chữ U
…
+ Ưu điểm: Không nhập nhằng, đơn giản, có thể mở rộng và xen thêm được.
+ Nhược điểm: vẫn phải dùng bảng tương ứng.
– Mã phân đoạn:
Bản thân mã được phân thành nhiều đoạn mỗi đoạn mang một ý nghĩa riêng.
Ví dụ: Số đăng kí xe máy: Biển số xe của ông X là 29 F6 6956 là biển xe đăng kí tại Hà Nội (mã tỉnh là 29).
+ Ưu điểm: Không nhập nhằng, mở rộng ,xen thêm được và được dùng khá phổ biến,
loại mã này cho phép thiết lập các phương thức kiểm tra gián tiếp đối với mã của các đối tượng bằng cách trích rút các đoạn mã để kiểm tra.
+ Nhược điểm: Mã quá dài nên thủ tục mã nặng nề, không cố định và vẫn có thể bị bão hoà mã.
– Mã phân cấp: Các đối tượng được mã hoá theo chế độ phân cấp các chi tiết nhỏ dần. Một hình ảnh khá quen thuộc của mã hoá phân cấp là đánh số chương, tiết, mục trong một quyển sách.
Bài 1
1.1
1.2
Bài 2
2. 1
2.1.1
2.2.2
2.2
+ Ưu điểm: Các ưu điểm tương tự như mã hoá phân đoạn, ngoài ra việc tìm kiếm mã dễ dàng.
+ Khuyết điểm: Tương nhự như các nhược điểm của mã phân đoạn.
– Mã diễn nghĩa:
Bằng cách gán một tên ngắn gọn nhưng hiểu được cho một đối tượng.
Ví dụ : Đội bóng các nước tham gia giải Tiger cup được mã bằng cách lấy ba kí tự đầu như sau:
VIE: Việt Nam, THA: Thailand, SIN: Singapore, IND: indonesia, MAL : Malaysia.
+ Ưu điểm: Tiện dùng cho sử lý bằng thủ công.
+ Khuyết điểm: Không giải mã được bằng máy tính.
4. Các chú ý khi lựa chọn sự mã hoá
Như đã nêu ở trên, có nhiều phương pháp mã hoá khác nhau, có thể sử dụng một kiểu mã nào đó, cũng có thể sử dụng kết hợp nhiều kiểu để đạt chất lượng mã tốt nhất.
Việc lựa chọn mã hoá cần dựa vào các yếu tố sau:
– Nghiên cứu việc sử dụng mã sau này.
– Nghiên cứu số lượng đối tượng được mã hoá để lường trước được sự phát triển.
– Nghiên cứu sự phân bố thống kê các đối tượng để phân bố theo lớp.
– Tìm xem đã có những mã nào được dùng trước đó cho các đối tượng này để kế thừa.
– Thỏa thuận với người dùng cách mã.
– Thử nghiệm trước khi dùng chính thức để chỉnh lý kịp thời.