-56-
HỖ TRỢ CHUẨN HÓA TRONG PHÂN THÍCH THIẾT KẾ
CƠ SỞ DỮ LIỆU LOGIC
Phạm Đức Mạnh
MSV: 0320204
Email:
Người hướng dẫn: TS. Lê Văn Phùng
1. Giới thiệu
Ngày nay không một tổ chức hay một đơn vị
nào là không có nhu cầu xây dựng các hệ thống
thông tin. Không chỉ nhu cầu xây các hệ thống
thông tin tăng lên mà độ phức tạp của chúng
cũng tăng lên không ngừng. Do đó quá trình
phân tích thiết kế hệ thống là quá trình rất quan
trọng là giai đoạn trung tâm đầu tiên trong chu
trình phát triến hệ thống.
Ngày nay đã có rất nhiều các công cụ phần
mềm được các nhà phân tích hệ thống sử dụng
nhằm trợ giúp và tự động hóa các hoạt động
của quá trình phát triển hệ thống. Nhờ vậy đã
nâng cao được năng suất và cải tiến chất lượng
tổng thể của hệ thống thông tin được xây dựng.
Việc chuẩn hoá cơ sở dữ liệu là công việc
hết sức quan trọng đối với quá trình phân tích
và thiết kế một hệ thống thông tin. Việc chuẩn
hoá dữ liệu sẽ làm tăng khả năng và giảm sơ
xuất trong các giai đoạn phát triển hệ thống sau
này. Thông thường việc chuẩn hoá này thường
được tiến hành một cách thủ công cho nên đôi
lúc gặp khó khăn nó chỉ thực hiện được đối với
những hệ thống có cơ sở dữ liệu đơn giản còn
đối với những hệ thống có cơ sở dữ liệu phức
tạp gồm nhiều thuộc tính nếu thực hiện bằng
phương pháp thủ công thì tốn nhiều công sức
và thời gian.
Trong đề tài này, tôi tập chung xây dựng
một công cụ hỗ trợ tự động hóa việc chuẩn hóa
dữ liệu trong quá trình phân tích thiết kế cơ sở
dữ liệu logic của hệ thống.
2. Cơ sở lý thuyết
Chuẩn hóa là quá trình chuyển một cấu trúc
dữ liệu phức tạp thành các cấu trúc dữ liệu tốt
và đơn giản hơn.
Chuẩn hóa dựa trên cơ sở phân tích các phụ
thuộc hàm là mối quan hệ cụ thể giữa hai thuộc
tính (hay nhóm thuộc tính) trong một quan hệ.
Chuẩn hóa thường được hoàn thành sau một
số bước, mỗi bước sẽ nhận được các quan hệ
tương ứng với mỗi dạng chuẩn. Dạng chuẩn
thường được hiểu là một trạng thái của quan hệ
có thể được xác định nhờ áp dụng các quy tắc
để phát hiện sự phụ thuộc hàm (mối quan hệ)
giữa các thuộc tính của quan hệ.
Có 3 dạng chuẩn có bản là :
- Chuẩn 1 : (First normal form : 1NF) :
Một quan hệ đạt chuẩn 1 nếu nó không
chứa các thuộc tính lặp.
- Chuẩn 2 : (Second normal form : 2NF) :
Một quan hệ đạt chuẩn 2 nếu nó đã ở
dạng chuẩn 1 và không tồn tại thuộc
tính ngoài khóa phụ thuộc vào một phần
của khóa.
- Chuẩn 3 : (Third normal form : 3NF) :
Một quan hệ đạt chuẩn 3 nếu nó đã ở
dạng chuẩn 2 và không tồn tại thuộc
tính ngoài khóa mà phụ thuộc bắc cầu
vào khóa.
Quá trình chuẩn hoá một quan hệ có thể mô
tả bằng sơ đồ sau :
3. Kỹ thuật chuẩn hóa
Để chuẩn hoá một lược đồ quan hệ, ta xét
lần lượt từng quan hệ và kiểm tra tính chuẩn
của nó. Muốn vậy ta phải xác định các phụ
thuộc hàm và khoá chính (khoá tối tiểu) của
quan hệ. Sau đó tiến hành kiểm tra các loại
chuẩn đối với từng quan hệ.
Sét quá trình chuẩn hóa một lược đồ quan hệ
trong đó :
Tách
phụ
thuộc
bộ
phận
QH có
nhóm
lặp
1NF 2NF 3NF
Tách
nhóm
lặp
Tách
phụ
thuộc
bắc
cầu
-57-
Đầu vào: là một lược đồ quan hệ, mỗi quan
hệ bao gồm
- Tập các thuộc tính (R)
- Tập các thuộc tính lặp (R*)
- Tập các phụ thuộc hàm (F)
Đầu ra: Tách lược đồ đưa về dạng chuẩn 3
Sử dụng các thuật toán tính bao đóng, thuật
toán tìm khóa lần lượt tách các quan hệ đưa về
dạng chuẩn 3. Thứ tự thực hiện như sau:
1) Tách thành chuẩn 1
Nếu quan hệ không là chuẩn 1 ta phân rã
quan hệ thành 2 quan hệ :
- QH1 : Các thuộc tính lặp và phần khóa xác
định chúng
- QH2 : Các thuộc tính còn lại và phần khóa
xác định phần này.
2) Tách thành chuẩn 2
Nếu quan hệ đã đạt chuẩn 1, không phải là
chuẩn 2 ta tiến hành phân rã thành 2 quan hệ:
- QH1: Các thuộc tính phụ thuộc vào môt
phần khóa chính và phần khóa chính xác định
chúng
- QH2: Các thuộc tính còn lại và khóa chính
3) Tách thành chuẩn 3
Nếu quan hệ đã đạt chuẩn 2, chưa là đạt
chuẩn 3 ta tiến hành phân rã thành 2 quan hệ:
- QH1: Các thuộc tính bắc cầu và thuộc
tính cầu.
- QH2: Các thuộc tính còn lại và thuộc
tính cầu.
4. Thực nghiệm
Tôi đã cài đặt hệ thống và tiến hành thực
nghiệm với bài toán chuẩn hóa như sau:
Input:
- Lược đồ quan hệ s = {R
1
, R
2
,…,R
n
}.
- R
i
= {a
1
, a
2
,…, a
n
} với a
i là
các thuộc
tính được mã hóa dưới dạng các ký tự.
- F: Tập các phụ thuộc hàm
Hệ thống cho kết quả là các quan hệ đã đạt
chuẩn các chuẩn 1,2,3 với kết quả khá khả
quan.
5. Kết luận
Trong khóa luận này, tôi đã xây dựng giải
pháp sử dụng các thuật toán tính khóa, tính bao
đóng, các qui tắc chuẩn hóa để xây dựng hệ
thống chuẩn hóa đưa một luợc đồ quan hệ về
dạng chuẩn 3.
Hệ thống thực hiện tốt đối với một số lược
đồ quan hệ đơn giản trong các bài toán quản lý
phổ biến.
Bên cạnh các kết quả đạt được còn có những
vấn đề chưa được khóa luận này giải quyết hay
đề cập đến. Trong thời gian tới tôi sẽ tiếp tục
nghiên cứu và hoàn thiện đề tài nhằm xây dưng
một cộng cụ chuẩn hóa dữ liệu hoàn chỉnh
hướng tới một ứng dụng thực tế hỗ trợ trong
quá trình phân tích thiết các kế hệ thống thông
tin.
Tài liệu tham khảo
[1] Lê Văn Phùng, “Phân tích thiết kế hệ
thống thông tin”, NXB Lao động – Xã hội
[2] Nguyến Văn Vỵ, “Giáo trình phân tích
thiết kế hệ thống thông tin”, NXB ĐH Quốc
Gia TP. Hồ Chí Minh
[3] Đào kiến Quốc, “Giáo trình phân tích
thiết kế hệ thống thông tin”, NXB ĐH Quốc
Gia Hà Nội