Bàn về tính chuẩn hóa trong các cơ sở dữ liệu hiện có - Pdf 39

Lĩnh vực Công nghệ thông tin
Bàn về tính chuẩn hóa trong các cơ sở dữ liệu hiện có
TS.Phan Đăng Cầu
Khoa Công nghệ thông tin I
Tóm tắt:
Chuẩn hóa là một khái niệm khá quan trọng trong lý thuyết cơ sở dữ liệu quan hệ và là một
trong những yêu cầu cần đợc đảm bảo khi xây dựng một cơ sở dữ liệu (CSDL). Nói một cách
trực quan thì tính chuẩn hóa bảo đảm cho CSDL loại trừ đợc tính không nhất quán và tránh
đợc sự d thừa dữ liệu. Tuy nhiên nếu khảo sát một số CSDL hiện có ở Việt nam, ta có thể
thấy rằng có khá nhiều trờng hợp tính chuẩn hóa bị vi phạm, nếu ta hiểu tính chuẩn hóa
đúng nh lý thuyết đã định nghĩa. Tuy nhiên, vì bản thân tác giả không phải là chuyên gia về
lý thuyết CSDL nên mục đích bài viết này không nhằm phê phán thực tế đó mà ngợc lại,
thông qua một số kinh nghiệm thực tế đã trải qua, tác giả muốn thuyết phục các nhà lý
thuyết và bạn đọc rằng, thực ra trong thực tế tính chuẩn hóa nên đợc hiểu một cách mềm dẻo
hơn: CSDL phải đợc bảo đảm chuẩn hóa trong thao tác và xử lý, nhng về hình thức có thể
không chuẩn hóa ở mức nào đó. Thí dụ trong một bảng dữ liệu mà có sự lặp lại của tên tỉnh
thì không nhất thiết chỉ có mã tỉnh xuất hiện nh tính chuẩn hóa đòi hỏi, mà có thể có đồng
thời cả mã tỉnh và tên tỉnh. Trong một số trờng hợp khi CSDL đợc bảo trì trong một môi tr-
ờng mà độ an toàn không cao thì đôi khi sự d thừa có thể trở thành những thông tin có ích
giúp ta hiệu chỉnh và khôi phục dữ liệu. Nếu ví von một cách hình ảnh thì việc làm này cũng
giống nh khi ta sắp lên đờng đi đến một nơi mà mọi thứ không dễ mua thì nên có thêm một số
đồ dự phòng thiết yếu, thí dụ nên mang thêm một chiếc lốp xe, cho dù các lốp xe đang dùng
còn rất tốt.
1. Khái niệm chuẩn hóa trong CSDL
Trong mục này chúng tôi trình bày sơ lợc một số khái niệm cơ bản liên quan đến tính chuẩn
hóa trong CSDL quan hệ.
1.1. Khái niệm thực thể
Thực thể là một đối tợng cụ thể tồn tại trong thế giới thực. Đối tợng này có thể là vật chất
nhìn thấy đợc và có thể tiếp xúc đợc bằng tay nh con ngời, hạt cát, mặt hàng; nhng cũng có
thể là khái niệm trừu tợng nh dự án, kế hoạch...
1.2. Định nghĩa quan hệ

x D
2
x ... x D
n
Ta cũng có thể viết
R = {(d
1
,d
2
,...,d
n
) / d
i
D
i
, i = 1,2,...,n}
Học viện Công nghệ BCVT
Hội nghị Khoa học lần thứ 5
Các phần tử t = (d
1
,d
2
,...,d
n
) R đôi khi đợc gọi là các bộ, khi cài đặt trên máy tính thì đợc
gọi là các bản ghi (record). Phần tử thứ i của t tơng ứng với thuộc tính A
i
và đợc ký hiệu
là t.A
i

S U sao cho không có hai phần tử nào của R trùng nhau trên S. Viết một cách hình thức
ta có: x,y R xy x.Sy.S
Ta thấy rằng nếu S là siêu khóa thì mọi S', sao cho S S' U , cũng là siêu khóa.
Nếu K là siêu khóa, nhng bất kỳ tập con thực sự nào của nó đều không phải là siêu khóa thì
K đợc gọi là khóa.
1.4. Phụ thuộc hàm
Phụ thuộc hàm là một khái niệm cơ bản đợc xây dựng để mô tả các ràng buộc dữ liệu trong
một cơ sở dữ liệu.
Phụ thuộc hàm trên một quan hệ
Cho tập thuộc tính U và X, Y là các tập con của U. R là một quan hệ trên U. Ta nói
rằng Y phụ thuộc hàm vào X, ký hiệu là X Y, trên R nếu với mọi phần tử p, q của
R mà chúng bằng nhau trên tập X thì cũng bằng nhau trên Y. Ta có thể diễn đạt điều này
bằng các ký hiệu toán học nh sau: p, q R, p.X=q.X p.Y = q.Y
Phụ thuộc hàm trên lợc đồ quan hệ
Cho lợc đồ quan hệ U = {A
1
, A
2
, ... A
n
}. Ta nói rằng Y phụ thuộc hàm vào X trên lợc đồ
quan hệ U , nếu X Y trên mọi quan hệ R trên U. Nếu sử dụng ký hiệu ta có:
R(U), p, q R ,p.X=q.X p.Y = q.Y
Nếu có một tập phụ thuộc hàm F trên một lợc đồ quan hệ U thì ta nói rằng có một sơ đồ
quan hệ W = <U,F>.
Học viện Công nghệ BCVT
Lĩnh vực Công nghệ thông tin
1.5. Chuẩn hóa lợc đồ quan hệ
Dạng chuẩn 1NF (First Normal Form)
Một lợc đồ U (hoặc một sơ đồ quan hệ W = <U,F>) ở dạng chuẩn 1NF nếu các miền

những CSDL chúng tôi có dịp bảo trì hoặc tham gia xây dựng.
2.1. CSDL ngời hồi hơng Việt nam
Đầu những năm 90 chúng tôi có dịp làm việc trong dự án trợ giúp ngời hồi hơng Việt nam
của Cộng đồng châu Âu (EC). Một trong những công việc của chúng tôi là bảo trì CSDL ngời
hồi hơng Việt nam. CSDL này do Cao ủy Liên hợp quốc về ngời tị nạn ở Hồng Công cung
cấp. CSDL gồm nhiều bảng, trong đó bảng quan trọng nhất là RETURNEE.DBF chứa danh
sách những ngời hồi hơng. Danh sách này đợc cập nhật thờng xuyên. Cho đến khi kết thúc dự
Học viện Công nghệ BCVT
Hội nghị Khoa học lần thứ 5
án thì tổng số ngời hồi hơng khoảng 120 nghìn ngời. Tệp RETURNEE.DBF có nhiều trờng,
ví dụ số cao ủy gồm 12 ký tự, họ tên, mã tỉnh, mã huyện, tên tỉnh, tên huyện, làng xã...Dễ
thấy rằng các trờng tên tỉnh và tên huyện là d thừa vì trong tệp này đã có mã tỉnh, mã huyện,
đồng thời có các tệp danh sách tỉnh, danh sách huyện. Tệp này có khóa là số cao ủy. Nh vậy
ta có thể thấy là tên tỉnh phụ thuộc hàm vào mã tỉnh, tên huyện phụ thợc hàm vào mã tỉnh và
mã huyện. Nh vậy CSDL này không thỏa tính chuẩn hóa 3NF. Vào đầu những năm 90 cấu
hình của các máy vi tính còn rất thấp: đĩa cứng chỉ khoảng 40 M, bộ nhớ trong 1 M. Nh vậy
với tệp hàng trăm nghìn bản ghi thì sự d thừa là rất đáng kể. Ban đầu bản thân chúng tôi cũng
thấy rằng thiết kế nh vậy là không hợp lý. Tuy nhiên về sau trong quá trình bảo trì, chúng tôi
nhận ra rằng có lúc dữ liệu d thừa lại trở thành những thông tin có ích giúp chúng tôi hiệu
chỉnh số liệu. Hàng tháng khi nhận số liệu mới chúng tôi phải kiểm tra kỹ trớc khi cập nhật.
Nhiều lúc xảy ra trờng hợp có ngời trong danh sách mới thực ra đã có trong danh sách cũ,
nhng chỉ vì có một số sai sót trong mã cao uỷ hay mã tỉnh, mã huyện. Lúc này nếu kiểm tra
bằng mắt có thể dễ dàng phát hiện ra sai sót nhờ vào thông tin d thừa. Mã tỉnh, mã huyện là
các con số không có tính gợi nhớ: 01 là Hà nội, 02 là Hải Phòng, 03 là Tp HCM... Nếu chỉ
căn cứ vào mã số thì chỉ cần một chút sai sót thì có thể chuyển một ngời từ Hà Nội sang tỉnh
khác. Còn nếu có thêm thông tin tên tỉnh thì rất khó có thể xẩy ra sai sót tơng tự. Thật vậy,
nếu không phải là cố tình thì rất khó bằng một vài cú gõ nhầm để chuyển từ "Hà Nội" thành
"Hải Phòng".
2.2. Chơng trình quản lý đào tạo ngời hồi hơng Việt nam
Cũng vào những năm 90 chúng tôi viết phần mềm quản lý đào tạo cho dự án ngời hồi hơng

tài khoản tiền mặt, 4141 là Quỹ đầu t phát triển, 1131 Tiền Việt nam đang chuyển...nghĩa là
khó nhầm từ tài khoản này sang tài khoản khác. Do vậy đối với các tài khoản thì chúng tôi
cho rằng không cần có thêm thông tin phụ trợ nh tên tài khoản chẳng hạn. Và nh thế trong
tệp QLCT.DBF chỉ có các mã tài khoản mà không có trờng tên tài khoản. CSDL nh thế này
cũng không thỏa tính chuẩn hóa. Chúng tôi chấp nhận sự d thừa dữ liệu để có sự an toàn cao
hơn.
3. Một số nhận xét về các CSDL không thỏa tính chuẩn hoá trong thực tế
Một CSDL chuẩn hóa sẽ bảo đảm đợc tính nhất quán dữ liệu và tránh đợc sự d thừa thông tin.
Trong các ví dụ chúng tôi nêu ra trên đây thì rõ ràng có hiện tợng d thừa dữ liệu. Tuy nhiên
tính nhất quán thì vẫn đợc bảo đảm. Trong các CSDL này các trờng đợc thêm vào chỉ có tác
dụng nh thông tin dự phòng. Khi truy xuất thông tin để làm các báo cáo thì các trờng này
không tham gia. Ví dụ trong một danh sách nhân sự có cả mã tỉnh và tên tỉnh thì khi làm báo
cáo ta chỉ lấy mã tỉnh từ tệp danh sách nhân sự, còn tên tỉnh sẽ đợc lấy từ tệp danh sách tỉnh
bên ngoài, vì vậy sẽ tránh đợc hiện tợng không nhất quán trong tên tỉnh (Trong danh sách
hàng ngàn ngời với hàng ngàn tên tỉnh thì dễ có sự không nhất quán). Hay khi nhập số liệu
cũng vậy, ngời sử dụng không cần nhập các trờng phụ trợ mà các trờng này sẽ đợc tự động
nhập thông tin. Vậy ta có thể nói rằng tuy về hình thức các CSDL đã nêu không chuẩn hóa
nhng về mặt thao tác thì vẫn bảo đảm tính chuẩn hóa. Ngày nay dung lợng các thiết bị
nhớ đã tăng lên đáng kể. Việc chấp nhận d thừa dữ liệu để tăng độ an toàn theo chúng tôi
nghĩ là có ích và nên làm trong một số trờng hợp.
Khi nào thì cần thêm các trờng dự phòng?
Đối với các trờng mà chỉ một sự thay đổi nhỏ có thể làm sai lệch hoàn toàn ý nghĩa của trờng
đó, ví dụ đang là mã công ty này trở thành mã công ty khác, mã công trình này thành mã
công trình khác... thì nên thêm trờng dự phòng.
4. Kết luận
Trong nhiều năm cố gắng áp dụng những kiến thức lý thuyết đã học vào công việc thực tế, tôi
cảm thấy câu nói nổi tiếng của Gớt thật chí lý "Mọi lý thuyết đều là màu xám, chỉ có cây đời
là mãi mãi xanh tơi". Cho dù các tính toán lý thuyết có đợc thực hiện cẩn thận và chính xác
đến đâu thì nó vẫn phải đợc kiểm nghiệm bằng thực tế. Chính vì vậy khi đánh giá các vấn dề
thực tế trong nhiều trờng hợp chúng ta không nên chỉ dựa hoàn toàn vào các tiêu chuẩn lý


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status