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

Nghiên cứu phần tử ngoại lai đối với các dạng chuẩn trong CSDL quan hệ (LV01981)

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 (1.41 MB, 66 trang )

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

NGUYỄN KHẮC HIẾU

NGHIÊN CỨU PHẦN TỬ NGOẠI LAI
ĐỐI VỚI CÁC DẠNG CHUẨN TRONG
CSDL QUAN HỆ

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

HÀ NỘI, 2016


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

NGUYỄN KHẮC HIẾU

NGHIÊN CỨU PHẦN TỬ NGOẠI LAI
ĐỐI VỚI CÁC DẠNG CHUẨN TRONG
CSDL QUAN HỆ
Chuyên ngành: Khoa học máy tính
Mã số: 60 48 01 01

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

Người hướng dẫn khoa học: TS. Lê Văn Phùng

HÀ NỘI, 2016



i

LỜI CẢM ƠN

Tôi xin gửi lời cảm ơn chân thành và sâu sắc đến thầy giáo TS. Lê Văn
Phùng, người thầy đã tận tình hướng dẫn và tạo mọi điều kiện để tôi có thể
hoàn thành luận văn này.
Tôi xin gửi lời cảm ơn đến Ban giám hiệu trường THPT Mê Linh và
các thầy cô trong trường đã tạo điều kiện để tôi có được những dữ liệu thực tế
góp phần vào sự hoàn thiện của luận văn.
Xin gửi lời cảm ơn đến các bạn đồng môn và những bạn bè thân thiết
đã đồng hành cùng tôi trong suốt quá trình hoàn thành luận văn này.

Hà Nội, ngày 08 tháng 07 năm 2016
Học viên

Nguyễn Khắc Hiếu


ii

LỜI CAM ĐOAN

Tôi xin cam đoan rằng số liệu và kết quả nghiên cứu trong luận văn này
là trung thực và không trùng lặp với các đề tài khác. Tôi cũng xin cam đoan
rằng mọi sự giúp đỡ cho việc thực hiện luận văn này đã được cảm ơn và các
thông tin trích dẫn trong luận văn đã được chỉ rõ nguồn gốc.

Hà Nội, ngày 08 tháng 07 năm 2016

Học viên

Nguyễn Khắc Hiếu


iii

MỤC LỤC
LỜI CẢM ƠN ................................................................................................. i
LỜI CAM ĐOAN .......................................................................................... ii
BẢNG KÍ HIỆU CÁC CHỮ VIẾT TẮT ........................................................ v
DANH MỤC CÁC BẢNG ............................................................................ vi
DANH MỤC CÁC HÌNH VẼ ...................................................................... vii
MỞ ĐẦU .................................................................................................... viii
CHƯƠNG 1 ................................................................................................... 1
TỔNG QUAN VỀ PHÁT HIỆN PHẦN TỬ NGOẠI LAI.............................. 1
ĐỐI VỚI CÁC DẠNG CHUẨN TRONG CSDL QUAN HỆ......................... 1
1.1.

Các dạng chuẩn trong CSDL quan hệ ............................................. 1

1.1.1.
1.1.2.
1.2.

Khái quát về CSDL quan hệ...................................................... 1
Các dạng chuẩn của mô hình CSDL quan hệ ............................ 8

Tổng quan về phát hiện phần tử ngoại lai ..................................... 16


1.2.1.

Khái niệm về phần tử ngoại lai ............................................... 16

1.2.2. Các phương pháp xác định phần tử ngoại lai ........................... 17
CHƯƠNG 2 ................................................................................................. 19
THUẬT TOÁN XÁC ĐỊNH PHẦN TỬ NGOẠI LAI ................................. 19
ĐỐI VỚI CÁC DẠNG CHUẨN .................................................................. 19
2.1. Khái niệm về phát hiện phần tử ngoại lai đối với chuẩn trong CSDL
quan hệ ..................................................................................................... 19
2.2. Phân loại các phần tử ngoại lai trong CSDL quan hệ .................... 20
2.3. Mô hình phát hiện phần tử ngoại lai dựa theo luật đối với CSDL
quan hệ ..................................................................................................... 20
2.4. Các thuật toán phát hiện phần tử ngoại lai đối với các dạng chuẩn 23
2.4.1.

Đối với dạng chuẩn 2NF ......................................................... 23

2.4.2.
2.4.3.

Đối với dạng chuẩn 3NF ......................................................... 25
Đối với dạng chuẩn BCNF ...................................................... 26

CHƯƠNG 3. ỨNG DỤNG TÌM PHẦN TỬ NGOẠI LAI ĐỐI VỚI DẠNG
CHUẨN VÀO BÀI TOÁN NHẬP ĐIỂM TRONG TRƯỜNG THPT MÊ
LINH ............................................................................................................ 28
3.1. Mô tả bài toán và yêu cầu ............................................................. 28



iv

3.1.1.

Đặt vấn đề ............................................................................... 28

3.1.2.

Mô tả bài toán và yêu cầu ....................................................... 28

3.2. Phân tích thiết kế bài toán ứng dụng (input, output, hệ thống xử lý,
giao diện) ................................................................................................. 29
3.2.1.

Liệt kê các chức năng ............................................................. 29

3.2.2.

Phân tích hệ thống .................................................................. 30

3.3. Cài đặt và thử nghiệm thuật toán phát hiện phần tử ngoại lai đối với
dạng chuẩn 3NF để hỗ trợ nhập điểm trong trường THPT Mê Linh ......... 36
3.3.1.

Cài đặt môi trường thử nghiệm ............................................... 36

3.3.2.

Một số giao diện chính trong chương trình ............................. 36


3.3.3.
3.3.4.

Thử nghiệm chương trình ....................................................... 43
Đánh giá kết quả thử nghiệm .................................................. 52

KẾT LUẬN.................................................................................................. 53
TÀI LIỆU THAM KHẢO ............................................................................ 54


v

BẢNG KÍ HIỆU CÁC CHỮ VIẾT TẮT

Từ viết tắt

Tiếng Anh

Nghĩa tiếng Việt

CSDL

Cơ sở dữ liệu

THPT

Trung học phổ thông


vi


DANH MỤC CÁC BẢNG
Bảng 1.1. Biểu diễn quan hệ r ........................................................................ 1
Bảng 1.2. Bảng thiết bị lưu giữ thông tin về các mặt hàng.............................. 2
Bảng 1.3. Bảng xét quan hệ THISINH ........................................................... 4
Bảng 1.4. Bảng quan hệ BANHANG ............................................................. 7
Bảng 1.5. Xét quan hệ về trình độ ngoại ngữ .................................................. 9
Bảng 2.1. Bảng quan hệ r ............................................................................. 25
Bảng 2.2. Bảng quan hệ r sau khi sửa giá trị t4(B) = 3 .................................. 26
Bảng 2.3. Bảng quan hệ r sau khi sửa giá trị t4(D) = 3 .................................. 27


vii

DANH MỤC CÁC HÌNH VẼ
Hình 1.1. Hình phân lớp các dạng chuẩn ...................................................... 11
Hình 1.2. Phần tử ngoại lai trong tập điểm có tọa độ (x,y) trên mặt phẳng có
giá trị tung độ y nhỏ hơn hẳn các phần tử khác của tập hợp.......................... 16
Hình 2.1. Sơ đồ phát hiện phần tử ngoại lai dựa theo luật trong CSDL quan hệ
..................................................................................................................... 23
Hình 3.1. Biểu đồ Use Case cho actor giáo viên ........................................... 30
Hình 3.3. Trang đăng nhập vào hệ thống quản trị ......................................... 37
Hình 3.4. Giao diện trang chủ admin ............................................................ 37
Hình 3.5. Trang thông tin giáo viên .............................................................. 38
Hình 3.6. Trang thông tin lớp học................................................................. 38
Hình 3.7. Trang thông tin học sinh ............................................................... 39
Hình 3.8. Trang thông tin môn học ............................................................... 39
Hình 3.9. Phân lớp và môn học cho giáo viên............................................... 40
Hình 3.10. Trang đăng nhập vào hệ thống nhập điểm ................................... 41
Hình 3.11. Tạo công việc mới ...................................................................... 41

Hình 3.12. Nhập điểm môn học .................................................................... 42
Hình 3.13. Điểm sau khi nhập đầy đủ ........................................................... 42
Hình 3.14. Bảng điểm của học sinh theo lớp ................................................ 43
Hình 3.15. Xem và in bảng điểm của học sinh.............................................. 43
Hình 3.16. File dữ liệu excel ........................................................................ 47
Hình 3.17. Chọn file điểm nhập sẵn từ excel ................................................ 48
Hình 3.18. Chương trình tìm thấy phần tử ngoại lai sau khi kiểm tra file nhập
vào ............................................................................................................... 48
Hình 3.19. Hiển thị các bước chạy của thuật toán sau khi tìm thấy phần tử
ngoại lai ....................................................................................................... 49
Hình 3.20. Kết quả đúng sau khi đã thay giá trị t4(Lý) = 4 bằng t4(Lý) = 8 ... 50
Hình 3.21. Kết quả báo cáo đúng sau khi phát hiện phần tử ngoại lai ........... 50
Hình 3.22. Hiển thị các bước chạy của thuật toán kiểm tra ngoại lai ............ 51


viii

MỞ ĐẦU
1. Lý do chọn đề tài
Gắn liền với sự phát triển của thế giới ngày nay không thể không kể
đến việc các ngành nghề có sự hỗ trợ đắc lực của hệ thống máy tính, chính vì
những nhu cầu phát triển của xã hội đã thúc đẩy ngành khoa học máy tính ra
đời và phát triển, khiến con người đi sâu vào nghiên cứu, tìm tòi khám phá.
Trong khoa học máy tính luôn có những công trình nghiên cứu mới đi sâu vào
việc làm thế nào để quản lí, khai thác các cơ sở dữ liệu (CSDL) một cách hiệu
quả và an toàn. Tuy nhiên, trong quá trình xử lí, khai thác các dữ liệu vẫn có
những CSDL không mong muốn tồn tại và phá vỡ những qui định hay các
chuẩn mà các bộ CSDL phải tuân theo. Trog thực tiễn, nhiều dữ liệu được
xem là hợp lệ nếu nó thỏa mãn các luật nào đó, nếu một trong các luật này bị
vi phạm thì xem là phần tử ngoại lai.

Xác định phần tử ngoại lai (outlier) trong tập hợp dữ liệu là một hướng
mới được quan tâm nghiên cứu và tỏ ra có nhiều ứng dụng thiết thực. Phần tử
ngoại lai trong CSDL gồm 2 loại: loại thứ nhất là các dữ liệu được thu thập
hoặc tạo sinh theo một quy luật khác với các dữ liệu khác và được xem là dữ
liệu sai hay dữ liệu không hợp lệ, loại thứ hai là dữ liệu hợp lệ nhưng có
những đặc điểm khác biệt so với đa số các dữ liệu khác. Vấn đề đặt ra là phát
triển các phần mềm để phát hiện tự động các phần tử có dấu hiệu khác biệt
trong CSDL cho phép các chuyên gia xác định xem cần loại bỏ nó ra khỏi
CSDL hay cần xử lý đặc biệt với các phần tử ngoại lai được phát hiện này.
Đến nay, ngoài các phương pháp xác định dữ liệu ngoại lai bằng phương pháp
thống kê, các tác giả đều xác định phần tử ngoại lai theo phương pháp so sánh
khoảng cách hay mức tương đồng giữa các dữ liệu.


ix

Trong luận văn này, chúng tôi sẽ xác định phần tử ngoại lai trong các
cơ sở dữ liệu quan hệ dựa theo những ràng buộc, luật mà các phần tử của file
dữ liệu quan hệ phải tuân theo (chẳng hạn thỏa mãn phụ thuộc hàm).
Với sự phát triển ngày càng nhanh của công nghệ, đặc biệt là công nghệ
khám phá tri thức trong CSDL đang là chủ đề nóng trong công nghệ thông tin
nên tôi đã chọn đề tài “Nghiên cứu phần tử ngoại lai đối với các dạng chuẩn
trong cơ sở dữ liệu quan hệ” là luận văn cao học của mình. Trong đó chủ yếu
nghiên cứu về phần tử ngoại lai đối với các dạng chuẩn trong CSDL quan hệ.
2. Mục đích nghiên cứu
- Tìm hiểu tổng quan về phần tử ngoại lai đối với các dạng chuẩn trong
CSDL quan hệ.
- Trên cơ sở các kiến thức đã thu thập và nghiên cứu, tổng hợp các kỹ thuật
để hướng đến ứng dụng vào bài toán nhập điểm trong trường THPT Mê
Linh.

3. Nhiệm vụ nghiên cứu
- Tổng quan phát hiện phần tử ngoại lai trong CSDL quan hệ.
- Tổng quan phát hiện phần tử ngoại lai đối với các dạng chuẩn trong CSDL
quan hệ.
- Ứng dụng tìm phần tử ngoại lai đối với bài toán nhập điểm trong trường
THPT Mê Linh.
4. Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu: Phần tử ngoại lai đối với các dạng chuẩn trong
CSDL quan hệ.
- Phạm vi nghiên cứu: Phần tử ngoại lai đối với các dạng chuẩn trong CSDL
quan hệ.
5. Phương pháp nghiên cứu
- Lý thuyết:


x

+ Sưu tập tài liệu, phân tích, tổng hợp các kết quả nghiên cứu về phần tử
ngoại lai đối với các dạng chuẩn trong CSDL quan hệ.
+ Phân tích bài toán ứng dụng và chọn lọc thuật toán thử nghiệm thích
hợp.
- Thực nghiệm: Xác định phần tử ngoại lai đối với các dạng chuẩn trong
CSDL quan hệ trong quá trình thử nghiệm chương trình nhập điểm trong
trường THPT Mê Linh.


1

CHƯƠNG 1
TỔNG QUAN VỀ PHÁT HIỆN PHẦN TỬ NGOẠI LAI

ĐỐI VỚI CÁC DẠNG CHUẨN TRONG CSDL QUAN HỆ

1.1.

Các dạng chuẩn trong CSDL quan hệ

1.1.1.

Khái quát về CSDL quan hệ

1.1.1.1. Quan hệ
Định nghĩa 1.1
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
[2]:



hj: R  Dai
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)


2

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ệ.
- 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ụ 1:
Để 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

Có thể quy định kích thước cho các thuộc tính (các trường) như sau:
Tên thuộc tính

Kiểu

Kích thước

Mã thiết bị

Ký tự

15


Tên thiết bị

Ký tự

30

Mô tả

Ký tự

100

Đơn giá

Số

5

Kho

Ký tự

2

Có nghĩa là chúng ta xác định miền giá trị cho các thuộc tính:
Mã thiết bị là một xâu ký tự có độ dài không quá 15
Tên thiết bị là một xâu ký tự có độ dài không quá 30


3


Mô tả là một xâu ký tự có độ dài không qúa 100
Đơn giá là một số nguyên không quá 5
Kho là một xâu ký tự không quá 2
Khi viết R(a1,a2,…,an) ta có một lược đồ quan hệ R.
1.1.1.2. Phụ thuộc hàm
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 1.2 (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 [2]
f

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

(  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ị
f
Người ta còn viết (A, B) hay A  B thay cho A

B
r

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.


4

Ví dụ 2: Xét quan hệ
Bảng 1.3. Bảng xét quan hệ THISINH
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.
1.1.1.3. Hệ tiên đề Armstrong
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
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 [2].


5

Để 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.
Định nghĩa 1.3

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.
 A3 (bắc cầu ) : Nếu X  Y và Y  Z thì X  Z.
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ụ 3: Cho r1, r2 là các quan hệ:
A B
A B
0 0
0 0
r1 = 1
1
r2= 1 1
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
1.1.1.4. Khóa của quan hệ, sơ đồ quan hệ, họ f
Định nghĩa 1.4 (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ụ


f


6

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

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 Codd: 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:

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.


7

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ụ 4: Ta có bảng quan hệ sau:
Bảng 1.4. Bảng quan hệ BANHANG
BANHANG
TENHANG

SOLUONG (chiếc)

VT0001

Vô tuyến

1000

TL0002


Tủ lạnh

500

RA2012

Radio

2000

MÃHÀNG

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.1.5. Hệ bằng nhau
Định nghĩa 1.5
Giả sử r = { h1, h2,.., hm } là một quan hệ trên R = { a1, a2,.., an }
Đặt Er = { Eij : 1  ij  | r | } trong đó Eij = {a  R: hi(a) = hj(a)}, | r | = m
Er được gọi là hệ bằng nhau của r [2]
Giả sử Mr = { AP (R) :  Eij = A,

Epq :A  Epq}

Khi đó Mr được gọi là tập bằng nhau cực đại của r .
Nhận xét:
Hệ bằng nhau và tập bằng nhau cực đại đóng một vai trò quan trọng
trong các thuật toán thiết kế cũng như mối quan hệ giữa các lớp quan hệ và
lớp các phụ thuộc hàm trong quá trình nghiên cứu cấu trúc logic của lớp các
phụ thuộc hàm.



8

Ví dụ 5:
Cho quan hệ r.
a1 a2

a3 a4

a5

1

1

0

1

0

1

0

0

3


0

3

1

1

3

1

5

1

0 3

0

E12= {a1,a3, a5}
E13= {a2}
Er =

E14= {a2,a3, a5}
E23= {a4}
E24= {a3,a4, a5}
E34= {a2,a4 }
{a1,a3, a5}


Mr =

{a2,a4 }
{a2,a3, a5}
{a3,a4, a5}

Vậy Mr là hệ bằng nhau cực đại của r.

1.1.2. Các dạng chuẩn của mô hình CSDL quan hệ
1.1.2.1. Các khái niệm cơ bản
 Định nghĩa 1.6 (Dạng chuẩn 1 - 1NF)


9

Giả sử r = {h1, h2,.., hm} là file dữ liệu trên tập cột R = {a1, a2,.., an}
Khi đó r là 1NF nếu các giá trị hi(aj) là sơ cấp với mọi i, j [2]
Khái niệm sơ cấp hiểu ở đây là giá trị hi(aj) (i = 1,...,m ; j = 1,...n ) không phân
chia được nữa.
Ví dụ 6: Xét quan hệ - Trình độ ngoại ngữ

Bảng 1.5. Xét quan hệ về trình độ ngoại ngữ
TDNN
MNS

HOTEN

NGOAINGU

A199001


Hoàng Diệu

Anh,Nhật

A199002

Quốc Trung

Anh, Trung

A199003

Chí Hiếu

Anh, Đức

A199004

Lan Anh

Anh

A199005
A199006

Phong Lan

Anh, Hàn


Bảo Quỳnh

Pháp, Nga, Anh

Có thể thấy rằng thuộc tính NGOAINGU còn có thể được chia nhỏ hơn
ra thành từng ngoại ngữ một và sau đó có thể phân thành hai bộ phận là tên
ngoại ngữ và trình độ ngoại ngữ. Do vậy quan hệ ngoại ngữ cha ở dạng chuẩn
1.
 Định nghĩa 1.7 (Dạng chuẩn 2 - 2NF)
Quan hệ r được gọi là dạng chuẩn 2 nếu:
- Quan hệ r là dạng chuẩn 1
- Với mọi khoá tối thiểu K:
A {a} Fr với A  K và a là thuộc tính thứ cấp [2].
 Định nghĩa 1.8 (Dạng chuẩn 3 - 3NF)
Quan hệ r là dạng chuẩn 3 nếu:
A {a} Fr đối với A mà A+ R, a  A, a  K [2]
Có nghĩa là:


10

- K là một khóa tối tiểu
- a là thuộc tính thứ cấp
- A không là khóa
- A  {a} không đúng trong r.

 Định nghĩa 1.9 (Dạng chuẩn Boyce-Codd - BCNF)
Quan hệ r = { h1, h2,..., hm} được gọi là dạng chuẩn Boyce - Codd nếu:
A  {a}  Fr , đối với những tập thuộc tính A mà A+ R, a  A [2].
Nhận xét:

Qua định nghĩa ta có thể thấy dạng chuẩn BCNF là 3NF và 3NF là
2NF. Chúng ta có thể đa ra các ví dụ chứng tỏ quan hệ là 2NF nhng không là
3NF và có quan hệ là 3NF nhng không là BCNF.
Nói cách khác là lớp các quan hệ BCNF là lớp con thực sự của lớp các
quan hệ 3NF và lớp các quan hệ 3NF này lại là lớp con thực sự của lớp các
quan hệ 2NF.
Đối với s = < R, F > thì các dạng chuẩn 2NF, 3NF, BCNF trong đó ta
thay Fr = F+.
Chú ý: Đối với sơ đồ quan hệ chúng ta không có dạng chuẩn 1NF.
Ví dụ 7: Cho s = < R, F > là sơ đồ quan hệ, với R = (a1, a2, a3, a4)
F = { { a1} {a2},{ a3}  {a4},{ a2}  {a1, a3, a4}}
Dễ thấy a1, a2 là các khóa tối tiểu của s, a3, a4 là thuộc tính thứ cấp. Do đó, s là
2NF, nhng không là 3NF.
Ví dụ 8: Cho t = < R, F > là sơ đồ quan hệ, với R = (a1, a2, a3)
F = { { a1, a2} { a3},{ a3} {a2}}
Ta nhận thấy { a1, a2} là một khóa tối tiểu của t. Hiển nhiên t là 3NF. Vì có
{a3} {a2}, a3 không thuộc khoá, a2 cơ bản, nên t không là BCNF.


11

Như vậy việc phân lớp các dạng chuẩn có thể được thể hiện qua hình
vẽ sau:

BCNF

3NF
2NF
1NF
Hình 1.1. Hình phân lớp các dạng chuẩn


1.1.2.2. Dạng chuẩn 2NF
Bây giờ chúng ta nêu ra loại phụ thuộc hàm đặc biệt, mà phụ thuộc dữ
liệu này đóng vai trò quan trọng trong dạng chuẩn 2
Định nghĩa 1.10 (phụ thuộc hoàn toàn, phụ thuộc bộ phận)
Một phụ thuộc hàm A  B đợc gọi là sơ cấp nếu không tồn tại một tập
hợp A'  A sao cho A'  B. Trong trờng hợp này ta cũng nói B phụ thuộc
hoàn toàn vào A. Nh vậy nếu A là một thuộc tính sơ cấp thì phụ thuộc hàm A


12

 B cũng là sơ cấp. Trong trờng hợp ngợc lại, ta nói B phụ thuộc bộ phận
vào A.
Định lý 1.1
Cho r là một quan hệ trên R. Khi đó r là 2NF khi và chỉ khi
- r là 1NF
- Mỗi thuộc tính thứ cấp của r đều phụ thuộc hoàn toàn vào mọi khóa
tối tiểu.
Vì sơ đồ quan hệ không có dạng chuẩn 1NF, từ định nghĩa 2 ta có
mệnh đề sau
Định lý 1.2
Cho s là một sơ đồ quan hệ trên R. Khi đó s là 2NF khi và chỉ khi mọi
thuộc tính thứ cấp của s đều phụ thuộc hoàn toàn vào khóa tối tiểu bất kỳ.
Có thể thấy, bản chất dạng chuẩn 2NF là loại bỏ các phụ thuộc bộ phận
giữa các thuộc tính thứ cấp với các khóa tối tiểu.
1.1.2.3. Dạng chuẩn 3NF
Trong mục này có khái niệm quan trọng mô tả dạng 3NF.
Định nghĩa 1.11
Một phụ thuộc hàm A  C được gọi là trực tiếp nếu không có B ( B 

A và B  C ) sao cho A  B và B  C (tức là B không phụ thuộc hàm vào A
hoặc C không phụ thuộc hàm vào B). Trong trờng hợp nếu có B nh vậy thì B
đợc gọi là tập thuộc tính bắc cầu và A  C là phụ thuộc bắc cầu.
Định lý 1.3
Giả sử r = { h1, h2,.., hm} là một quan hệ trên R = {a1, a2,..., an}. Khi ấy
r ở dạng chuẩn 3NF nếu và chỉ nếu:
- Quan hệ r đã ở dạng chuẩn 2NF.
- Không có thuộc tính thứ cấp nào của r phụ thuộc bắc cầu vào một
khoá tối tiểu.


13

Định lý 1.4
Giả sử s là một sơ đồ quan hệ trên R. Khi đó s là 3 NF nếu và chỉ nếu
- s là 2NF
- Mọi thuộc tính thứ cấp của s phụ thuộc trực tiếp vào mỗi khoá tối
tiểu.
Trong dạng chuẩn 3NF chúng ta loại bỏ các phụ thuộc bộ phận, phụ thuộc bắc
cầu giữa các thuộc tính thứ cấp với các khoá tối tiểu.
1.1.2.4. Dạng chuẩn BCNF
Định lý 1.5
Giả sử r là một quan hệ trên R. Khi đó r là BCNF nếu và chỉ nếu với
mọi B  Mr, a  B thì {B - a}r+ = B - a, ở đây Mr là hệ bằng nhau cực đại của
quan hệ r.
Giả sử A  B là một phụ thuộc hàm. Chúng ta gọi phụ thuộc hàm này
là tầm thường nếu B  A. Ngợc lại trong trờng hợp này, chúng ta gọi nó là
phụ thuộc hàm không tầm thường.
Định lý 1.6
Giả sử s = < R, F >là một sơ đồ quan hệ trên R. Khi đó s là BCNF nếu

và chỉ nếu với mọi AB F và AB không tầm thường thì A+ = R.
1.1.2.5. Các thuật toán
Thuật toán 1 (kiểm tra một quan hệ r có là BCNF hay không)
Input:r = { h1, h2,.., hm} là một quan hệ trên R = {a1, a2,..., an}.
Output: r có phải là BCNF hay không ?
Phương pháp:
Bước 1:
Từ r ta xây dựng tập Er:
Er = { Eij : 1  i < j  m }
Trong đó Eij = { a  R : hi(a) = hj (a) }


×