Tải bản đầy đủ (.pdf) (75 trang)

Luận văn phụ thuộc hàm xấp xỉ kiểu tương quan hàm số và ứng dụng để phát hiện phần tử ngoại lai

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.93 MB, 75 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC SƢ PHẠM HÀ NỘI 2
======

NGUYỄN LÊ HỒNG NHẬT

PHỤ THUỘC HÀM XẤP XỈ
KIỂU TƢƠNG QUAN HÀM SỐ VÀ ỨNG DỤNG
ĐỂ PHÁT HIỆN PHẦN TỬ NGOẠI LAI

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

HÀ NỘI, 2018


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC SƢ PHẠM HÀ NỘI 2
======

NGUYỄN LÊ HỒNG NHẬT

PHỤ THUỘC HÀM XẤP XỈ
KIỂU TƢƠNG QUAN HÀM SỐ VÀ ỨNG DỤNG
ĐỂ PHÁT HIỆN PHẦN TỬ NGOẠI LAI
Chuyên ngành: Khoa học máy tính
Mã số: 8 48 01 01

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Ngƣời hƣớng dẫn khoa học: TS. LÊ VĂN PHÙNG

HÀ NỘI, 2018




i

LỜI CẢM ƠN
Tôi xin cảm ơn các thầy cô Trƣờng Đại học Sƣ phạm Hà Nội 2, các bạn
học viên lớp Cao học khoa học máy tính, đồng nghiệp và gia đình đã tạo điều
kiện, giúp đỡ cũng nhƣ luôn động viên tôi trong quá trình học tập và hoàn
thành luận văn.
Xin cảm ơn các thầy cô giảng dạy trực tiếp đã giúp đỡ, truyền đạt cho
tôi nhiều kiến thức bổ ích cho công tác thực tiễn của bản thân.
Đặc biệt tôi xin chân thành cảm ơn Tiến sỹ Lê Văn Phùng đã luôn chỉ
bảo, hƣớng dẫn, giúp đỡ tôi trong suốt quá trình hoàn thành luận văn này.
Trong quá trình thực hiện luận văn, không thể tránh khỏi những khiếm
khuyết, xin chân thành cảm ơn những ý kiến đóng góp quý báu của các thầy
cô, các anh chị và các bạn.
Một lần nữa tôi xin trân trọng cảm ơn!
Hà Nội, ngày

tháng

năm 2018

Học viên

Nguyễn Lê Hồng Nhật


ii


LỜI CAM ĐOAN
Tôi xin cam đoan luận văn này do tôi tự nghiên cứu, tìm hiểu và tổng
hợp từ nhiều nguồn tài liệu khác nhau. Luận văn tốt nghiệp là kết quả của quá
trình học tập, nghiên cứu và thực hiện hoàn toàn nghiêm túc, trung thực của
bản thân. Tất cả các tài liệu tham khảo đều có xuất xứ rõ ràng và đƣợc trích
dẫn hợp pháp.
Tôi xin hoàn toàn chịu trách nhiệm về nội dung và sự trung thực trong
luận văn tốt nghiệp Thạc sĩ của mình.
Hà Nội, ngày

tháng

năm 2018

Học viên

Nguyễn Lê Hồng Nhật


iii

MỤC LỤC
MỞ ĐẦU ........................................................................................................... 1
1. Lý do chọn đề tài ........................................................................................... 1
2. Mục đích nghiên cứu ..................................................................................... 3
3. Đối tƣợng nghiên cứu.................................................................................... 3
4. Dự kiến đóng góp mới .................................................................................. 3
5. Nhiệm vụ nghiên cứu .................................................................................... 3
6. Giới hạn phạm vi nghiên cứu ........................................................................ 3
7. Phƣơng pháp nghiên cứu............................................................................... 4

8. Bố cục luận văn ............................................................................................. 4
CHƢƠNG 1: TỔNG QUAN VỀ PHỤ THUỘC HÀM VÀ PHẦN TỬ
NGOẠI LAI ...................................................................................................... 5
1.1. Khái quát về phụ thuộc hàm ...................................................................... 5
1.1.1. Khái quát về mô hình dữ liệu quan hệ .................................................... 5
1.1.2. Phụ thuộc hàm, khóa, hệ tiên đề Armstrong ........................................... 6
1.1.3. Các dạng phụ thuộc hàm đặc biệt ......................................................... 10
1.1.4. Phụ thuộc đa trị và phụ thuộc kết nối.................................................... 12
1.1.5. Phụ thuộc mạnh và phụ thuộc yếu ........................................................ 17
1.1.6. Phụ thuộc hàm mờ................................................................................. 19
1.1.7. Mô tả tƣơng đƣơng của học các họ các thuộc hàm.............................. 20
1.2. Khái quát về Phần tử ngoại lai ................................................................. 21
1.2.1. Khái niệm về phần tử ngoại lai ............................................................. 22
1.2.2. Mối quan hệ giữa phần tử ngoại lai với khai phá dữ liệu ..................... 24
1.2.3. Mô hình phát hiện các phần tử ngoại lai trong CSDL quan hệ ............ 25
1.2.4. Phân loại các phần tử ngoại lai trong CSDL quan hệ ........................... 26
1.2.5. Mô hình phát hiện phần tử ngoại lai dựa theo luật đối với CSDL quan
hệ ..................................................................................................................... 27


iv

1.2.6. Ứng dụng của các phần tử ngoại lai ...................................................... 30
CHƢƠNG 2: PHỤ THUỘC HÀM XẤP XỈ KIỂU TƢƠNG QUAN HÀM
SỐ .................................................................................................................... 31
2.1. Khái quát về phụ thuộc hàm xấp xỉ......................................................... 31
2.1.1. Khái niệm về PTH xấp xỉ ...................................................................... 31
2.1.2. Các độ đo xấp xỉ .................................................................................... 32
2.2. Độ đo khoảng cách ................................................................................... 35
2.2.1. Khoảng cách giữa hai bộ giá trị trên tập thuộc tính .............................. 35

2.2.2. Một số tính chất của hàm khoảng cách ................................................. 35
2.3. Phụ thuộc hàm xấp xỉ loại 2 ..................................................................... 36
2.3.1. Định nghĩa ............................................................................................. 36
2.3.2. Ví dụ ...................................................................................................... 36
2.4. Một số tính chất của Phụ thuộc hàm xấp xỉ loại 2 ................................... 37
2.5. Điều kiện để quan hệ phụ thuộc hàm xấp xỉ loại 2 và thuật toán kiểm
tra ..................................................................................................................... 38
2.5.1. Khái niệm hệ xấp xỉ mức  của quan hệ r .......................................... 38
2.5.2. Điều kiện để quan hệ phụ thuộc hàm xấp xỉ loại 2 ............................... 39
2.5.3. Thuật toán kiểm tra quan hệ phụ thuộc hàm xấp xỉ loại 2 .................... 40
2.6. Phần tử ngoại lai đối với phụ thuộc hàm ................................................. 41
2.6.1. Khái niệm phần tử ngoại lai đối với phụ thuộc hàm ............................. 41
2.6.2. Định lý nhận biết cặp ngoại lai đối với phụ thuộc hàm ........................ 42
2.6.3. Phần tử ngoại lai đối với các dạng phụ thuộc hàm đặc biệt ................. 43
2.6.4. Phần tử ngoại lai đối với dạng phụ thuôc hàm xấp xỉ loại 1 ................ 45
2.7. Phần tử ngoại lai đối với phụ thuộc hàm xấp xỉ loại 2 ............................ 45
2.7.1. Định nghĩa Phần tử ngoại lai đối với phụ thuộc hàm xấp xỉ loại 2 ...... 45
2.7.2. Định lý nhận biết cặp ngoại lai đối với phụ thuộc hàm xấp xỉ loại 2 ... 45


v

2.7.3. Thuật toán xác định các cặp ngoại lai đối với phụ thuộc hàm xấp xỉ
loại 2 ................................................................................................................ 46
2.8. Kết luận chƣơng ....................................................................................... 47
CHƢƠNG 3:ỨNG DỤNG PHỤ THUỘC HÀM XẤP XỈ KIỂU TƢƠNG
QUAN HÀM SỐ ĐỂ PHÁT HIỆN PHẦN TỬ NGOẠI LAI ........................ 48
3.1. Bài toán minh họa phát hiện dữ liệu sai sót về doanh thu trong doanh
nghiệp .............................................................................................................. 48
3.2. Vấn đề chọn ngƣỡng và thuật toán .......................................................... 48

3.3. Sơ đồ tính toán và phân tích kết quả ........................................................ 50
3.3.1. Sơ đồ tính toán50
kết quả ............................................................................................................. 51
3.4. Một số giao diện chính của chƣơng trình................................................. 52
3.5. Kết luận chƣơng: Đánh giá kết quả đạt đƣợc và hạn chế của chƣơng
trình thử nghiệm .............................................................................................. 61
KẾT LUẬN VÀ KIẾN NGHỊ......................................................................... 62
TÀI LIỆU THAM KHẢO ............................................................................... 64


vi

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

TỪ VIẾT
TẮT

CSDL
FD
AFDs

TIẾNG ANH

TIẾNG VIỆT

Database

Cơ sở dữ liệu

Dependent Function


Phụ thuộc hàm

Approximate Functional
Dependencies

Phụ thuộc hàm xấp xỉ

Dual Dependency

Phụ thuộc đối ngẫu

Multi Valued Dependency

Phụ thuộc đa trị

Join Dependency

Phụ thuộc kết nối

EJD

Embedded Join Dependency

Phụ thuộc kết nối nhúng

SD

Strong Dependency


Phụ thuộc mạnh

WD

Weak Dependency

Phụ thuộc yếu

FFD

Fuzzy Functional Dependency Phụ thuộc hàm mờ

CPU

Central processing unit

DD
MVD
JD

Bộ vi xử lý

VAT

Thuế

NVL

Nguyên vật liệu


CNTT

Công nghệ thông tin

PTH

Phụ thuộc hàm


vii

DANH MỤC CÁC BẢNG
Bảng 1.1. Biểu diễn quan hệ r ........................................................................... 5
Bảng 1.2. Bảng thiết bị lƣu giữ thông tin về các mặt hàng ............................... 6
Bảng 1.3. Quan hệ THISINH ............................................................................ 7
Bảng 1.4. Bảng quan hệ BANHANG ............................................................. 10
Bảng 1.5. Quan hệ thỏa phụ thuộc đa trị ......................................................... 13
Bảng 1.6. Quan hệ thỏa phụ thuộc kết nối ...................................................... 15
Bảng 1.7. Bảng tƣơng ứng với phụ thuộc kết nối ........................................... 16
Bảng 1.8. Quan hệ DTNAM (Tên, Chiều cao, Cân nặng) .............................. 20
Bảng 2.1. Bảng dữ liệu quan hệ số.................................................................. 36
Bảng 3.1. Số liệu về doanh thu của một doanh nghiệp (input) ....................... 48
Bảng 3.2. DOANH THU 1 .............................................................................. 53
Bảng 3.3. DOANHTHU 2 ............................................................................... 54
Bảng 3.4. DOANH THU 3 .............................................................................. 57
Bảng 3.5. DOANH THU 4 .............................................................................. 58
Bảng 3.6. DOANH THU 5 .............................................................................. 59


viii


DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 1.1. Sơ đồ phát hiện phần tử ngoại lai dựa theo luật trong CSDL quan hệ
......................................................................................................................... 29
Hình 3.1 Sơ đồ tính toán ................................................................................. 51
Hình 3.2. Giao diện chính của chƣơng trình ................................................... 52
Hình 3.3. Màn hình nhập dữ liệu của DOANHTHU 1 ................................... 53
Hình 3.4. Kết quả của DOANHTHU 1 ........................................................... 54
Hình 3.5. Kết quả của DOANHTHU 2 (𝛿=0.01) ............................................ 55
Hình 3.6. Kết quả của DOANHTHU 2 (𝛿=0.02) ............................................ 55
Hình 3.7. Kết quả của DOANHTHU 2 (𝛿=0.03) ............................................ 56
Hình 3.8. Kết quả của DOANHTHU 2 (𝛿=0.148) .......................................... 56
Hình 3.9. Kết quả của DOANHTHU 3 ........................................................... 57
Hình 3.10. Kết quả của DOANHTHU 4 ......................................................... 58
Hình 3.11. Kết quả của DOANHTHU 5 (𝛿=0.01) .......................................... 59
Hình 3.12. Kết quả của DOANHTHU 5 (𝛿=0.02) .......................................... 60
Hình 3.13. Kết quả của DOANHTHU 5 (𝛿=0.021) ........................................ 60


1

MỞ ĐẦU
1. Lý do chọn đề tài
Cơ sở dữ liệu (CSDL) là một trong lĩnh vực đƣợc tập trung nghiên cứu
và phát triển công nghệ thông tin (CNTT), nhằm giải quyết các bài toán quản
lý, tìm kiếm thông tin trong những hệ thống lớn, đa dạng, phức tạp cho nhiều
ngƣời sử dụng trên máy tính điện tử. Mô hình dữ liệu quan hệ đặt trọng điểm
hàng đầu không phải là khai thác các tiềm năng của máy mà sự mô tả trực
quan dữ liệu theo quan điểm của ngƣời dùng, cung cấp một mô hình dữ liệu
đơn giản, trong sáng, chặt chẽ, dễ hiểu và tạo khả năng tự động hoá thiết kế

CSDL quan hệ. Có thể nói lý thuyết thiết kế và cài đặt CSDL, nhất là mô hình
dữ liệu quan hệ, đặc biệt là mối tƣơng quan giữa các dữ liệu, tiêu biểu nhƣ
phụ thuộc hàm đã phát triển ở mức độ cao và đạt đƣợc những kết quả sâu sắc.
Thế kỷ XXI đƣợc xem là một thể kỷ của CNTT. Các công nghệ khám
phá tri thức đƣợc áp dụng rộng rãi trong nhiều lĩnh vực và đem lại những
thành tựu vô cùng to lớn. Nhƣng các công nghệ khám phá tri thức thƣờng
nhằm mục đích tìm kiếm, khám phá các dạng và mẫu thƣờng gặp. Chủ yếu
tập trung vào các hƣớng: Tìm kiếm các luật kết hợp, nhận dạng và phân lớp
mẫu….. Còn lĩnh vực khám phá phần tử ngoại lai chƣa có đƣợc sự quan tâm,
đầu tƣ và phát triển ở trong và ngoài nƣớc.
Ngƣời ta nhận thấy rằng có rất nhiều tri thức còn tiềm ẩn trong dữ liệu,
vấn đề đặt ra là làm thế nào để khai thác đƣợc thông tin và khai thác một cách
có hiệu quả. Còn lĩnh vực khám phá phần tử ngoại lai mới bƣớc đầu đƣợc
thực sự quan tâm nghiên cứu. Mặc dù nó đƣợc ứng dụng trong nhiều lĩnh vực
trong cuộc sống: nhƣ phát hiện những thẻ bất thƣờng trong hệ thống ngân
hàng, những tuyến đƣờng bất ổn không hợp lý trong giao thông, ứng dụng
trong hệ thống an ninh, dự báo thời tiết, trong thị trƣờng chứng khoán, trong


2

lĩnh vực thể thao, y tế, giáo dục,…. Tuy nhiên, với số lƣợng dữ liệu đƣợc tập
trung và lƣu trữ trong cơ sở dữ liệu ngày càng lớn thì việc tìm kiếm các ngoại
lệ hoặc các phần tử ngoại lai trở nên cấp thiết hơn nhiều.
Khái niệm phụ thuộc hàm (PTH) đóng một vai trò rất quan trọng trong
lý thuyết CSDL quan hệ. Các PTH rất hữu ích trong việc phân tích và thiết kế
CSDL quan hệ nhƣ xác định khóa, xác định các dạng chuẩn, các vấn đề về
nhất quán dữ liệu,... Tuy nhiên trong thực tế do có một số giá trị dữ liệu
không chính xác hoặc một số ngoại lệ nào đó làm cho các PTH không thỏa.
Sự phụ thuộc tuyệt đối này dƣờng nhƣ quá nghiêm ngặt khi ta hình dung tới

một quan hệ có hàng nghìn bộ, trong khi đó chỉ có khoảng vài bộ vi phạm
PTH. Bỏ qua các PTH này sẽ làm mất tính chất phụ thuộc vốn có giữa các
thuộc tính. Vì vậy các nhà nghiên cứu đã mở rộng khái niệm PTH thành PTH
xấp xỉ theo một cách thức, một nghĩa nào đó; các PTH xấp xỉ (Approximate
Functional Dependencies - AFDs) này cho phép có một số lƣợng “lỗi” nhất
định của các bộ dữ liệu đối với PTH. Một PTH xấp xỉ là một PTH hầu nhƣ
đúng trên một quan hệ r (đa số các bộ thỏa mãn điều kiện PTH). Để xác định
PTH xấp xỉ ngƣời ta cần xác định đƣợc tỷ số giữa số lƣợng các bộ không thỏa
mãn PTH với tổng số các bộ có trong quan hệ.
Một trƣờng hợp xấp xỉ khác là có những nhóm thuộc tính mặc dù giữa
chúng không có PTH theo kiểu bằng nhau tuyệt đối (theo các định nghĩa PTH
thông thƣờng) mà có sự PTH theo kiểu tƣơng quan hàm số (tuyến tính hoặc
phi tuyến). Trƣờng hợp này xảy ra khá nhiều và liên quan đến nhiều bài toán
thực tế. Ví dụ, giữa hàng hóa và đơn giá, giữa doanh thu và chi phí,…
Do tính hấp dẫn và tính thời sự của khai phá dữ liệu, đặc biệt là phát
hiện phần tử ngoại lai trong CSDL quan hệ, tôi đã chọn đề tài “Phụ thuộc
hàm xấp xỉ kiểu tương quan hàm số và ứng dụng để phát hiện phần tử
ngoại lai” là luận văn thạc sỹ của mình. Trong đó nghiên cứu vận dụng kiến


3

thức nghiên cứu này vào việc hỗ trợ phát hiện các dữ liệu sai sót trong báo
cáo về doanh thu trong doanh nghiệp.
2. Mục đích nghiên cứu (Các kết quả cần đạt đƣợc)
- Phát hiện phần tử ngoại lai đối với phụ thuộc hàm xấp xỉ kiểu tƣơng
quan hàm số trong CSDL quan hệ.
- Hỗ trợ phát hiện dữ liệu sai sót về doanh thu trong doanh nghiệp.
3. Đối tƣợng nghiên cứu
- Đối tƣợng nghiên cứu: Phần tử ngoại lai đối với phụ thuộc hàm xấp xỉ

kiểu tƣơng quan hàm số trong CSDL quan hệ.
4. Dự kiến đóng góp mới
Dự kiến kết quả đạt đƣợc:
- Xác định phần tử ngoại lai đối với phụ thuộc hàm xấp xỉ trong CSDL
quan hệ.
- Xây dựng đƣợc một chƣơng trình demo quản lý báo cáo về doanh thu
trong doanh nghiệp nhờ ứng dụng việc xác định phần tử ngoại lai đối với phụ
thuộc hàm xấp xỉ kiểu tƣơng quan hàm số trong CSDL quan hệ.
5. Nhiệm vụ nghiên cứu
- Tìm hiểu về phần tử ngoại lai, phụ thuộc hàm, phụ thuộc hàm xấp xỉ
kiểu tƣơng quan hàm số trong CSDL quan hệ.
- Tìm hiểu phần tử ngoại lai đối với phụ thuộc hàm xấp xỉ kiểu tƣơng
quan hàm số trong CSDL quan hệ.
- Ứng dụng phụ thuộc hàm xấp xỉ kiểu tƣơng quan hàm số để phát hiện
phần tử ngoại lai hỗ trợ phát hiện dữ liệu sai sót về doanh thu trong doanh
nghiệp.
6. Giới hạn phạm vi nghiên cứu
- Phạm vi nghiên cứu: Phần tử ngoại lai trong phụ thuộc hàm xấp xỉ
trong CSDL quan hệ.


4

7. Phƣơng pháp nghiên cứu
- Kết hợp lý thuyết với đánh giá thực nghiệm.
- Thu thập tài liệu, phân tích, suy luận, tổng hợp, đánh giá.
- Phân tích bài toán và ứng dụng và chọn lọc thuật toán thử nghiệm
thích hợp.
8. Bố cục luận văn
- Mở đầu

- Chƣơng 1: Tổng quan về phụ thuộc hàm và phần tử ngoại lai
- Chƣơng 2: Phụ thuộc hàm xấp xỉ kiểu tƣơng quan hàm số
- Chƣơng 3: Ứng dụng phụ thuộc hàm xấp xỉ kiểu tƣơng quan hàm số để phát
hiện phần tử ngoại lai
- Kết luận và Kiến nghị
- Tài liệu tham khảo


5

CHƢƠNG 1
TỔNG QUAN VỀ PHỤ THUỘC HÀM
VÀ PHẦN TỬ NGOẠI LAI
1.1. Khái quát về phụ thuộc hàm
1.1.1. Khái quát về mô hình dữ liệu quan hệ
Định nghĩa Quan hệ
Cho R={a1,a2,..,an} là một tập hữu hạn, không rỗng các thuộc tính.
Mỗi thuộc tính ai có một miền giá trị là Dai. Khi đó r – một tập các bộ
{h1,h2,..,hm} đƣợc gọi là một quan hệ trên R, với hj (j =1, 2,..,m) là một hàm:

Dai

h j: R 

ai  R
sao cho: hj ( ai )  Dai
Có thể biểu diễn quan hệ r ở dạng bảng:
Bảng 1.1. Biểu diễn quan hệ r
a1


a2

...............

an

h1

h1 (a1)

h1 (a2)

...............

h1 (an)

h2

h2 (a1)

h2 (a2)

...............

h2 (an)

.............
hm

hm (a1)


hm (a2)

...............

hm (an)

Nhận xét:
- Định nghĩa này là quan trọng. Toàn bộ lý thuyết cơ sở dữ liệu dựa trên
định nghĩa này. Nó đƣợc coi là hạt nhân của cơ sở dữ liệu quan hệ.


6

- Vì h1, h2,.., hm là các thành phần trong tập hợp quan hệ trong r. Trong mô
hình quan hệ, không chấp nhận hai bản ghi trùng nhau trong một file dữ
liệu.
Ví dụ :
Để lƣu giữ thông tin về các mặt hàng, cần sử dụng bảng THIẾT BỊ nhƣ sau:
Bảng 1.2. Bảng thiết bị lưu giữ thông tin về các mặt hàng
Mã thiết bị

Tên thiết bị

Mô tả

Đơn giá

Kho


CPUSK478P30

Bộ vi xử lý

Pentium IV 3.0C GHz

240

A

pentium 4

(Box/512Kb/Bus800)

Bo mạch chủ

VIA chipset/SK478/ Bus533

54

B

Pentium 4

VGA/Sound/NIC onboard,

ASUSP4V533MX

support DDRAM, Huper
threading có AGP mở rộng

VGA8

Card màn hình

VGA 8Mb (2X) Ati

10

C

HDDQ30

ổ đĩa cứng

Maxtor Quantum 30Gb

53

D

5400rpm

Khi viết R(a1,a2,…,an) ta có một lƣợc đồ quan hệ R.
1.1.2. Phụ thuộc hàm, khóa, hệ tiên đề Armstrong
Khái niệm về phụ thuộc hàm trong một quan hệ là rất quan trọng trong
việc thiết kế mô hình dữ liệu. Năm 1970 E.F Codd đã mô tả phụ thuộc hàm
trong mô hình dữ liệu quan hệ, nhằm giải quyết việc phân rã không mất thông
tin.
Định nghĩa phụ thuộc hàm
Cho R = { a1, a2,.., an } là tập các thuộc tính, r = { h1, h2,.., hm } là một

quan hệ trên R, và A, B  R (A, B là tập cột hay tập thuộc tính). Khi đó ta nói
A xác định hàm cho B hay B phụ thuộc hàm vào A trong r
f

( ký pháp A  B ) nếu:


7

(  hi, hj r) (( a  A ) ( hi(a) = hj(a))  ( b  B ) ( hi(b) = hj(b) ))
nghĩa là đối số trùng nhau thì hàm có cùng giá trị
Ngƣời ta còn viết (A, B) hay A  B thay cho A

r
B

Lúc đó tập hợp tất cả (A,B) nhƣ thế xác định một họ f trên R.
Nhận xét:
- Ta có thể thấy rằng B mà phụ thuộc hàm vào A, nếu hai dòng bất kỳ
mà các giá trị của tập thuộc tính A mà bằng nhau từng cặp một, thì kéo theo
các giá trị trên tập thuộc tính B cũng phải bằng nhau từng cặp một.
Ví dụ:
Bảng 1.3. Quan hệ THISINH
SBD

HOTEN

PĐ711001 Nguyễn Thái Bình

DIACHI


TINH

KHUVỰC

12 Bản Nhàn

Lạng Sơn

0

PĐ711002

Trần Nam Ninh

3 Kim Mã

Hà Nội

3

PĐ711003

Lê Thanh Hoa

53 Hội Bà Trƣng

Hà Nội

3


PĐ711004

Vũ Thúy Hồng

89 Đồng Đăng

Lạng Sơn

0

PĐ711005

Phạm Nhƣ Em

40 Trần hƣng đạo

Hải Dƣơng

2

Trong quan hệ THISINH, dựa vào định nghĩa phụ thuộc hàm của quan hệ ta
có:
{ TINH }  { KHUVUC }
{ SBD }  { HOTEN, DIACHI, TINH, KHUVUC }
Ý nghĩa: Khái niệm phụ thuộc hàm miêu tả một loại ràng buộc (phụ
thuộc dữ liệu) xảy ra tự nhiên nhất giữa các tập thuộc tính.
Gọi F là tập xác định các phụ thuộc hàm đối với lƣợc đồ quan hệ R và
X Y là một phụ thuộc hàm. X, Y  R. Nói rằng X  Y được suy diễn logic
từ F nếu mối quan hệ r trên R đều thoả mãn phụ thuộc hàm của F thì cũng



8

thoả mãn X Y. Chẳng hạn F ={A  B, B  C} thì A  C suy ra từ F.
Gọi F+ là bao đóng(closure) của F, tức là tập tất cả các phụ thuộc hàm đƣợc
suy diễn logic từ F. Nếu F =F+ thì F là họ đầy đủ(full family) của các phụ
thuộc hàm.
Để có thể xác định khoá của một lƣợc đồ quan hệ và các suy diễn logic
giữa các phụ thuộc hàm cần thiết phải tính đƣợc F+ từ F. Do đó đòi hỏi phải
có các hệ tiên đề. Tập các quy tắc của hệ tiên đề đƣợc Armstrong (1974) đƣa
ra, thƣờng đƣợc gọi là hệ tiên đề Armstrong.
Hệ tiên đề Armstrong
Cho R = {a1,...,an} là tập các thuộc tính.
X, Y, Z  R. Hệ tiên đề Armstrong bao gồm 3 tính chất cơ bản sau:
 A1 (phản xạ) : Nếu Y  X thì X  Y
 A2 (tăng trƣởng): Nếu Z  R và X  Y thì XZ  YZ.
Trong đó ký hiệu XZ là hợp của hai tập X và Z thay cho ký hiệu X 
Z.


: Nếu X  Y và Y  Z thì X  Z.

A3 (bắc cầu )

Nhận xét:
 Việc nghiên cứu phụ thuộc hàm không lệ thuộc vào các quan hệ
(bảng) cụ thể. Vì vậy, áp dụng đƣợc các công cụ toán nhằm sáng tỏ
cấu trúc logic của mô hình dữ liệu quan hệ
 Có nhiều quan hệ khác nhau nhƣng các họ đầy đủ các phụ thuộc

hàm của chúng lại nhƣ nhau
Ví dụ:
Cho r1, r2 là các quan hệ:

r1 =

A

B

A

B

0

0

0

0

1

1

r2 = 1

1



9

2

1

2

1

3

2

3

1

Có thể thấy rằng r1 và r2 khác nhau nhƣng Fr1 = Fr2 vì chỉ có A B
Định nghĩa Khoá
Giả sử r = { h1, h2,.., hm} là một quan hệ, s = < R, F > là một sơ đồ quan
hệ, trong đó R = {a1, a2,..., an} là tập các thuộc tính, F là tập xác định các phụ
thuộc hàm trên R. Gọi Y là một họ f trên R và A  R. Khi ấy A là một khoá
của r ( tƣơng ứng là một khoá của s, một khóa của Y) nếu:
A

f
r


R ( A  R  F+, (A, R) Y).

Nghĩa là A phải thoả mãn các tính chất sau đây:
Với bất kỳ hai bộ h1, h2  r đều tồn tại một thuộc tính a  A sao cho
h1(a)  h2(a). Nói cách khác, không tồn tại hai bộ mà có giá trị bằng nhau trên
mọi tập thuộc tính của A. Điều kiện này có thể viết t1(A)  t2(A). Do vậy, mỗi
giá trị của A xác định là duy nhất. Khi biết giá trị thuộc tính trong A sẽ biết
đƣợc các giá trị của thuộc tính khác.
Theo định nghĩa của E.F.Codd-[11]: Nếu có hai dòng bằng nhau trên
các giá trị của khoá A thì sẽ kéo theo bằng nhau trên tất cả các cột còn lại.
Nhƣ vậy sẽ có hai cột bằng nhau, điều này không thể có đƣợc và nếu có thì
đấy là dữ liệu nhầm lẫn.
Chúng ta gọi A ( A  R) là một khoá tối tiểu của r (tƣơng ứng của s,
của Y) nếu:
+ A là một khoá của r (s,Y) tức A  R
+ Bất kỳ một tập con thực sự của A không là khoá của r (s, Y) hay
không tồn tại A' tập con thực sự A'  A mà A'  R.
Nhận xét:


10

Khoá chính là hình ảnh của cột mã số hay số thứ tự (vì số thứ tự không
thể trùng nhau đƣợc).
Khóa đóng một vai trò rất quan trọng vì nhờ có nó ngƣời ta mới tìm
kiếm đƣợc (tìm kiếm bản ghi). Phép toán tìm kiếm bản ghi trong file dữ liệu
là phép toán quan trọng nhất vì chỉ sau khi tìm kiếm xong thì ngƣời ta mới
tiến hành loại bỏ bản ghi ấy hoặc bổ sung một bản ghi mới vào trƣớc hoặc sau
bản ghi mà ta đã tìm đƣợc.
Dù rằng dễ thấy A có thể chính bằng R nhƣng ngƣời ta vẫn phải đi tìm

khóa tối tiểu, tức là khóa nhỏ nhất mà không thể nhỏ hơn đƣợc nữa để việc so
sánh các giá trị khóa với nhau trong quá trình tìm kiếm bản ghi là nhanh nhất.
Một sơ đồ quan hệ có thể có nhiều khóa, thậm chí còn có nhiều khoá tối tiểu.
Ví dụ:
Bảng 1.4. Bảng quan hệ BANHANG
MÃHÀNG

TENHANG

SOLUONG (chiếc)

VT0001

Vô tuyến

1000

TL0002

Tủ lạnh

500

RA2012

Radio

2000

Trong bảng trên mã số mặt hàng (Mãhàng) là khoá. Mỗi giá trị mã hàng

đều xác định duy nhất một loại mặt hàng trong quan hệ BAN_HANG
Ký hiệu Kr , Ks , Ky là tập tất cả các khoá tối tiểu của r (s, Y).
1.1.3. Các dạng phụ thuộc hàm đặc biệt
1.1.3.1. Phụ thuộc đối ngẫu (Dual Dependency - DD)
Cho lược đồ quan hệ R(U). Ta nói rằng Y là phụ thuộc đối ngẫu vào X
hay X xác định đối ngẫu Y trong R (kí hiệu XD Y) nếu:
(ti, tj  R) ((xX) (ti(x) = tj(x))  (yY) (ti(y) = tj(y))) là thỏa mãn.


11

Hay nói một cách khác, Nếu hai bộ của quan hệ là bằng nhau trên ít
nhất một thuộc tính nào đó của X thì chúng sẽ bằng nhau tại ít nhất một thuộc
tính của Y.
Ta có hệ tiên đề sau cho phụ thuộc đối ngẫu:
D1: XD X
D2: XD Y và YD Z thì XD Z
D3: Nếu XD Y và Z  X, Y  T thì ZD T
D4: Nếu XD Y và ZD T thì XZD YT
Hệ tiên đề trên gọi là hệ tiên đề Amstrong với phụ thuộc đối ngẫu (Dtiên đề).
Hệ tiên đề này đã đƣợc chứng minh đúng đắn và đầy đủ với phụ thuộc
đối ngẫu. Có nghĩa là cho một tập phụ thuộc đối ngẫu D, tập tất cả các phụ
thuộc đối ngẫu suy dẫn logic đƣợc từ tập D (kí hiệu là D+) trùng với tập các
phụ thuộc đối ngẫu suy ra đƣợc từ tập D bằng cách dùng hệ D-tiên đề.
1.1.3.2. Phụ thuộc hàm dạng bằng nhau
Cho bảng dữ liệu r trên R = (A1,A2,...,An). Giả sử với Ap,Aq nào đó
thuộc R, mà với mọi ti r ta có: ti(Ap) = ti(Aq). Khi đó ta dễ thấy có phụ thuộc
hàm: ApAq (cũng đồng thời có AqAp). Chúng ta gọi các phụ thuộc hàm
dạng này là các phụ thuộc hàm dạng bằng nhau.
Các phụ thuộc hàm dạng này có trong các bảng dữ liệu đƣợc sinh ra

trong trƣờng hợp chúng ta kết nối (Join) hai hoặc nhiều bảng dữ liệu với nhau
(giữa bảng định mức, tiêu chuẩn với bảng thực tế phát sinh đƣợc cập nhật (Ví
dụ giữa bảng kê khai tỉ lệ thuế phải nộp của doanh nghiệp với bảng qui định
về thuế suất của Nhà nƣớc ban hành...)
1.1.3.3. Phụ thuộc hàm dạng tỉ lệ
Cho r là một bàng dữ liệu trên sơ đồ quan hệ (R,F). Giả sử có các
thuộc tính số: As, As1, As2,..,Ask  R và các số thực: p1, p2...pkvới pj ≤ l: j= 1...k


12



k

p
j 1

j

 1 ; Với mọi ti  r sao cho:

ti (As1) = p1 * ti(As)
ti (As2) = p2 * ti(As)
….
ti (Ask) = pk * ti(As)
Trong trường hợp này ta có phụ thuộc hàm:
As→As1As2...Ask. Ta gọi phụ thuộc hàm dạng này là phụ thuộc hàm
dạng tỉ lệ. Gọi pjlà tỉ lệ đối với thuộc tính Asj(j=1...k).
1.1.4. Phụ thuộc đa trị và phụ thuộc kết nối

1.1.4.1. Phụ thuộc đa trị (MultiValued Dependency - MVD)
Cho lƣợc đồ quan hệ R(U). X, Y  U, Z = R – XY.. Quan hệ R thỏa
mãn điều kiện X xác định đa trị Y hay Y phụ thuộc đa trị vào X (kí hiệu X
 Y) nếu với hai bộ bất kỳ t1, t2r, với t1[X] = t2[X] khi đó t3  r sao cho
t3[X] = t1[X], t3[Y] = t1[Y] và t3[Z] = t2[Z].
Hay nói một cách khác, X xác định đa trị Y nếu với mỗi giá trị của X
có một tập rỗng hoặc một tập các giá trị tƣơng ứng trên Y mà không liên quan
gì đến giá trị của các thuộc tính còn lại (các thuộc tính trên U - XY).
Gọi Y(X) = {y | (xy)  XYR}
Khi đó ta có X Y nếu Y(X) = Y(XZ).
Do tính đối xứng của t1 và t2 nên ta thấy rằng còn tồn tại bộ t4 thoả
mãn: t4[X] = t2[X], t4[Y] = t2[Y], t4[Z] = t1[Z].
Ta thấy ngay từ định nghĩa nếu X  Y thì X  Z.
Ví dụ : Cho lƣợc đồ quan hệ R trên tập thuộc tính U = {NguoiMua,
LoaiAo, CuaHang} thể hiện quan hệ một ngƣời mua loại áo ở một cửa hàng
nào đó
r là một thể hiện của lƣợc đồ nhƣ sau:


13

Bảng 1.5. Quan hệ thỏa phụ thuộc đa trị
Ngƣời mua

Loại áo

Cửa hàng

Hoa


Sơ mi

Thời trang 1

Hải

Sơ mi

Thời trang 2

Hoa

Sơ mi

Thời trang 2

Hải

Sơ mi

Thời trang 1

Có một ràng buộc: Nếu ngƣời nào mua từng mua mặt hàng gì thì ngƣời
đó sẽ mua mặt hàng đó tại mọi cửa hàng. Do đó ta có một phụ thuộc hàm thể
hiện ràng buộc ấy:
LoaiAo  Nguoimua
Và phụ thuộc hàm: LoaiAo  Cửa hàng cũng thể hiện ràng buộc đó.
Chú ý: X và Y có thể là tập rỗng, nếu Y =  thì X   đúng với
mọi quan hệ. Nếu X =  thì   Y thoả mãn trên một quan hệ khi và chỉ
khi tập giá trị trên tập thuộc tính Y là độc lập với các giá trị của những thuộc

tính còn lại trong quan hệ. Gọi r[YZ] là một quan hệ, Y  Z =  khi đó
  Y thoả trên r khi và chỉ khi r = r[Y] x r[Z] (tích đề các).
Kết quả trên cho thấy mối liên quan giữa phụ thuộc hàm (FD) và phụ
thuộc đa trị (MVD).
Giả sử X  Y là một phụ thuộc hàm thỏa mãn trên thể hiện r của quan
hệ R(U), khi đó X  Y là thỏa trên r. Có nghĩa là phụ thuộc hàm là trường
hợp riêng của phụ thuộc đa trị.
Mỗi phụ thuộc hàm đều là phụ thuộc đa trị, nhƣng ngƣợc lại thì không
đúng. Một phụ thuộc đa trị X  Y sẽ là một phụ thuộc hàm chỉ khi với mỗi
giá trị tại X thì tập giá trị tại Y tƣơng ứng nhiều nhất có một phần tử.


14

Thông thƣờng khi nghiên cứu hệ tiên đề cho phụ thuộc đa trị ngƣời ta
gộp cả các tiên đề cho các phụ thuộc hàm và xét hệ tiên đề chung của phụ
thuộc hàm (FD) và phụ thuộc đa trị (MVD):
A1 (Phản xạ cho FD): Nếu Y  X  U thì X  Y.
A2 (Tăng trƣởng cho FD): Nếu X  Y và Z  U thì XZ  YZ.
A3 (Bắc cầu cho FD): Nếu X  Y và Y  Z thì X  Z.
A4 (Luật bù cho MVD): Nếu X Y thì X  U\XY.
A5 (Luật tăng trƣởng cho MVD): Nếu X  Y và V  W thì
WX  VY.
A6 (Luật bắc cầu cho MVD): Nếu X  Y và Y Z thì
X Z-Y.
A7: Nếu X  Y thì X  Y.
A8: Nếu X  Y, Z  Y, W  U, W  Y và W  Z thì X  Z.
Hệ tiên đề trên gọi là hệ tiên đề Amstrong cho phụ thuộc hàm và phụ
thuộc đa trị.
Từ hệ tiên đề này có thể suy ra một số tính chất sau:

A9 (hợp): Nếu X Y và X Z thì X YZ.
A10 (giả bắc cầu cho MVD): Nếu X Y và WY  Z thì
WX  Z\WY
A11 (giả bắc cầu hỗn hợp): Nếu X Y và XY Z thì X  Z\Y.
A12 (tách): Nếu X  Y và Y Z thì X YZ và X Z\Y.
Hệ tiên đề này là đầy đủ và đúng đắn cho tập phụ thuộc hàm và phụ
thuộc đa trị. Có nghĩa là cho một tập các phụ thuộc hàm và phụ thuộc đa trị F,
tập tất cả các phụ thuộc hàm và phụ thuộc đa trị suy dẫn logic đƣợc từ tập M
(kí hiệu là M+) trùng với tập phụ thuộc hàm và phụ thuộc đa trị suy ra đƣợc từ
tập M bằng cách dùng hệ tiên đề trên.


15

1.1.4.2.Phụ thuộc kết nối (Join dependency – JD)
Cho R = {R1, R2, …, Rn} là tập các lược đồ quan hệ trên U. Một phụ
thuộc kết nối trên U là một mệnh đề có dạng *[ R1, …, Rn]. Trong đó, *[ R1,
…, Rn] là một thể hiện của r trên U, nếu r tách không mất mát thông tin thành
R1, R2, …, Rn. Nghĩa là, r =

 r    r   ...   r  .
R1

R2

Rn

Chúng ta

cũng có thể viết *[ R1, …, Rn] là *R.

Ta có các kết luận sau:
a.

r  mR(r)

b.

Ri(r) = Ri(mR(r))

c.

mR(mR(r)) = mR(r)

Điều kiện cần thiết để một quan hệ r(U) thoả phụ thuộc kết nối *[ R 1,
R2, …, Rn] là U = R1R2…Rn. Ta thấy phụ thuộc đa trị là trƣờng hợp đặc biệt
của phụ thuộc kết nối do X  Y thoả mãn *[XY, XZ] với Z = U – XY.
Một quan hệ r(U) thỏa phụ thuộc đa trị X  Y khi và chỉ khi có thể tách
không mất mát thông tin thành XY và XZ trong đó Z=U - XY. Điều kiện trên
tƣơng đƣơng với một phụ thuộc kết nối *[XY, XZ]. Nhìn theo chiều ngƣợc
lại thì một phụ thuộc kết nối *[R1, R2] là một phụ thuộc đa trị R1  R2 
R1. Có thể định nghĩa JD theo cách tƣơng tự nhƣ với phụ thuộc đa trị nhƣ sau:
Giả sử quan hệ r(U) thỏa mãn phụ thuộc kết nối *[ R1, R2, …, Rn], nếu r
chứa các bộ t1, t2, …, tn sao cho ti(Ri  Rj) = tj(Ri  Rj) với mọi i, j thì r phải
chứa một bộ t sao cho t(Ri) = ti(Ri) với 1  i  n.
Ví dụ: Cho quan hệ r(ABCDE) nhƣ hình dƣới đây thoả mãn JD
*[ABC, BD,CDE].
Bảng 1.6. Quan hệ thỏa phụ thuộc kết nối
r

(A


B

C

D

E)

t1

a

b

c

d

e

t2

a’

b

c’

d’


e’’

t3

a’’

b’

c

d’

e’


×