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

Phân tích thiết kế hệ thống - Chương 11 ppsx

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 (878.29 KB, 8 trang )


Tài liệu Phân Tích Thiết Kế Hệ Thống


89
Chương 11 .
SỰ CHUẨN HÓA
(NORMALISATION)

I GIỚI THIỆU
Một csdl còn dư thừa dữ liệu sẽ gây trở ngại cho việc cập nhật dữ liệu. Chuẩn hóa csdl là hoạt động tạo
ra một csdl không còn dư thừa dữ liệu, một csdl đạt tối thiểu dạng chuẩn 3. Trong các giai đoạn phân
tích thiết kế hệ thống, hoạt động chuẩn hóa nằm trong giai đoạn thiết kế csdl (xem hình)

II PHỤ THUỘC HÀM (FUNCTIONAL DEPENDENCY)
1
Phụ thuộc hàm
Thuộc tính Y trong quan hệ phụ thuộc hàm vào thuộc tính X (hay X
1
, X
2
, ) của cùng quan hệ, nếu ứng với
giá trò của X chỉ có 1 giá trò của Y
.
Ký hiệu
: X→Y hay X
1
,X
2
→Y
Ta nói Thuộc tính Y phụ thuộc hàm vào thuộc tính X hay giá trò của X xác đònh duy nhất một giá trò của


Y hay Y được xác đònh bởi X.
Ví dụ: Trong hệ csdl HỌC VIÊN, thuộc tính
tên học viên phụ thuộc hàm vào mã học viên
2
Phụ thuộc hàm đầy đủ
Thuộc tính Y trong quan hệ phụ thuộc hàm đầy đủ vào thuộc tính X (X
1
, X
2
, ) của cùng quan hệ,
nếu nó phụ thuộc hàm vào X và không phụ thuộc hàm vào một phần của X
.

Tài liệu Phân Tích Thiết Kế Hệ Thống


90
Ví dụ: Trong vấn đề Trường Cao Đẳng Cộng Đồng Núi Xanh trước đây ta đã có qui tắc quản lý:
Mỗi HỌC VIÊN có thể ghi danh vào học một hay nhiều MÔN HỌC.
Mỗi MÔN HỌC có thể được ghi danh bởi một hay nhiều HỌC VIÊN.

Mã học viên, mã môn học
→ ngày nhập học
III CÁC DẠNG CHUẨN
1
Ví dụ
Công ty Kim khí Đai ốc và Bù lon (NBHC) có nhiều cửa hàng hoạt động với tên riêng. Bảng tồn kho
của Cửa hàng Kim khí Mặt nam (một trong các cửa hàng của Công ty NBHC) có dạng như sau:
CÔNG TY KIM KHÍ ĐAI ỐC VÀ BÙ LON DANH SÁCH TỒN KHO
Mã cửa hàng: M515

Tên cửa hàng: Cửa hàng kim khí mặt nam

hàng
mô tả hàng mã nhà
cung cấp
tên nhà cung
cấp
đòa chỉ nhà
cung cấp
lượng
tồn
đơn
giá
thành
tiền
3241 Bù lon 2 cm 34513 Acme Bolt Co
45 Hay Street
123 $0.50 $61.50
3541 Ốc 5 cm 34513 Acme Bolt Co
45 Hay Street
546 $0.70 $382.20
4325 Vòng đệm 30 mm 57913 Washer Co
7 Blacktown Road
567 $0.12 $68.04
5678 Đai ốc 8 mm 34513 Acme Bolt Co
45 Hay Street
342 $0.17 $58.14
1478 Đinh ốc 40 mm 00972 Best Fasteners
281 Pilbara Way
1267 $0.09 $114.03

4327 Vòng đệm 40 mm 57913 Washer Co
7 Blacktown Road
165 $0.15 $24.75





Tổng cộng $708.66
Qui tắc quản lý:
1.
Bảng Tồn kho của Cửa hàng Kim khí Mặt nam là mẫu tiêu biểu cho tất cả cửa hàng
2.
Mỗi nhà cung cấp cung cấp nhiều mặt hàng, nhưng một mặt hàng chỉ được cung cấp bởi một nhà
cung cấp
3.
Một mặt hàng được lưu trữ ở nhiều cửa hàng. Ví dụ mặt hàng mã số 3241 được lưu trữ trong cửa
hàng M515 nhưng nó cũng được lưu trữ trong cửa hàng M516 và M517.
4.
Lượng tồn là số lượng tồn của một mặt hàng của một cửa hàng.
5.
Đơn giá của một mặt hàng là đơn giá chung cho tất cả các cửa hàng

Tài liệu Phân Tích Thiết Kế Hệ Thống


91
6. Tổng cộng là tổng của cột thành tiền
7.
Mã cửa hàng, mã hàng, mã nhà cung cấp là thuộc tính nhận diện của cửa hàng, hàng, nhà cung cấp

Ta thực hiện các bước chuẩn hóa quan hệ của ví dụ công ty NBHC theo các bước sau:
Hình 10.5 - Các bước thực hiện để đưa các quan hệ về dạng chuẩn 3
QUAN HỆ KHÔNG CHUẨN
QUAN HỆ DẠNG CHUẨN 1
- Loại bỏ các thuộc tính tổng hợp (thuộc tính có giá trò là kết quả tính toán từ các giá trò khác)
- Xác đònh khóa chính
- Chuyển thuộc tính lặp lại thành thuộc tính của quan hệ riêng
QUAN HỆ DẠNG CHUẨN 2
- Chỉ thực hiện khi khóa chính gồm nhiều thuộc tính.
- Thuộc tính không khóa phải phụ thuộc hàm đầy đủ và khóa chính
- Chuyển thuộc tính chỉ phụ thuộc vào một phần khóa chính thành thuộc tính của quan hệ riêng
QUAN HỆ DẠNG CHUẨN 3
- Chuyển thuộc tính không khóa phụ thuộc bắc cầu vào khóa chính thành thuộc tính của quan hệ

2 Dạng chuẩn một (first normal form)
Đònh nghóa: Thuộc tính A là lặp lại (repeating group of attribute) nếu ứng với một giá trò khóa chính có
nhiều giá trò của thuộc tính A.
MẶT HÀNG
Mã hàng Mô tả Đơn giábán
1003 Tụ điện

0.68
0.67
0.65
1007 Đầu nối

2.00
2.10
1.90
BẢNG DỮ LIỆU KHÔNG ĐẠT DẠNG CHUẨN 1

Trong quan hệ MẶT HÀNG trên, thuộc tính
đơn giá bán là thuộc tính lặp lại (đôi khi còn gọi là thuộc
tính đa giá trò:
multi value attribute) .
Đònh nghóa
: Một quan hệ R ở dạng chuẩn một nếu nó không có thuộc tính lặp lại.
Cách chuẩn hóa
: Một quan hệ R không ở dạng chuẩn 1 được chuẩn hóa bằng cách chuyển thuộc tính lặp
lại vào quan hệ riêng.

i.
Chuyển tất cả thuộc tính vào một quan hệ:
T
ỒN KHO (mã cửa hàng, tên cửa hàng, mã hàng, mô tả mặt hàng, mã nhà cung cấp, tên nhà cung cấp,
đòa chỉ, lượng tồn, đơn giá, thành tiền, tổng cộng)
ii.
Loại bỏ các thuộc tính tổng hợp
T
ỒN KHO (mã cửa hàng, tên cửa hàng, mã hàng, mô tả mặt hàng, mã nhà cung cấp, tên nhà cung cấp,
đòa chỉ, lượng tồn, đơn giá)
iii.
Xác đònh khóa chính (chọn ngẫu nhiên một khóa chính như mã cửa hàng)
T
ỒN KHO (mã cửa hàng, tên cửa hàng, mã hàng, mô tả mặt hàng, mã nhà cung cấp, tên nhà cung cấp,
đòa chỉ, lượng tồn, đơn giá)
Ta thấy ứng với giá trò mã cửa hàng “M515” thì có nhiều giá trò lặp lại của các thuộc tính: mã
hàng, mô tả mặt hàng, mã nhà cung cấp, tên nhà cung cấp, đòa chỉ, lượng tồn, đơn giá. Thuộc
tính lặp lại này đòi hỏi phải chuyển qua quan hệ riêng. Khóa chính của quan hệ mới này

Tài liệu Phân Tích Thiết Kế Hệ Thống



92
thường là khóa hợp (khóa có trên một thuộc tính) là hợp của khóa chính của quan hệ nguồn và khoá
chính của các thuộc tính lặp lại.
TỒN KHO
mãch tên ch mã hàng mô tả mã ncc tên ncc đòa chỉ lượng tồn đơn giá
M515 chkkmn 3241 Bù lon 2cm 34513 Acme bolt co 45 123 0.50
3541 Ốc 5cm 34513 Acme bolt co 45 546 0.70
4325 Vòng 57913 Washer co 7 567 0.12
5678 Đai ốc 34513 Acme bolt co 45 342 0.17
1478 Đinh ốc 00972 Best fastener 281 1267 0.09
4327 Vòng 57913 Washer co 7 165 24.75
M516 chkkmb 3241 Bù lon 2cm 34513 Acme bolt co 45 20 0.50
4325 Vòng 57913 Washer co 7 30 0.12
1478 Đinh ốc 00972 Best fastener 281 60 0.09
M517 chkkmt 3541 Bù lon 2cm 34513 Acme bolt co 45 100 0.70

iv. Chuyển thuộc tính lặp lại thành quan hệ riêng
CỬA HÀNG(mã cửa hàng
,tên cửa hàng)
TỒN KHO (mã cửa hàng,mã hàng
,mô tả mặt hàng,mã nhà cung cấp,tên nhà cung cấp,đòa chỉ,lượng tồn,
đơn giá)
3 Dạng chuẩn hai (second normal form)
Đònh nghóa: Một quan hệ R ở dạng chuẩn 2 nếu nó ở dạng chuẩn 1 và mỗi thuộc tính không khóa phụ
thuộc hàm đầy đủ vào khóa quan hệ (không phụ thuộc vào một phần khoá quan hệ)
Cách chuẩn hóa
: Một quan hệ R không ở dạng chuẩn 2 được chuẩn hóa bằng cách chuyển thuộc tính phụ
thuộc vào một phần khóa vào quan hệ riêng.


Quan hệ CỬA HÀNG đương nhiên đạt dạng chuẩn 2 vì khóa chính chỉ gồm một thuộc tính
Quan hệ TỒN KHO có khóa chính gồm hai thuộc tính nên ta phải kiểm tra sự phụ thuộc hàm của các
thuộc tính

CỬA HÀNG(mã cửa hàng
, tên cửa hàng)
TỒN KHO (mã cửa hàng, mã hàng
, lượng tồn)
MẶT HÀNG (mã hàng
, mô tả mặt hàng, mã nhà cung cấp, tên nhà cung cấp, đòa chỉ, đơn giá)
4 Dạng chuẩn ba (third normal form)
Đònh nghóa: Một quan hệ R ở dạng chuẩn 3 nếu nó ở dạng chuẩn 2 và không có sự phụ thuộc hàm giữa
các thuộc tính không khóa
.
Cách chuẩn hóa: Một quan hệ R không ở dạng chuẩn 3 được chuẩn hóa bằng cách chuyển thuộc tính phụ
thuộc vào thuộc tính không khóa vào quan hệ riêng

Tài liệu Phân Tích Thiết Kế Hệ Thống


93

CỬA HÀNG(mã cửa hàng
, tên cửa hàng)
TỒN KHO (mã cửa hàng, mã hàng
, lượng tồn)
MẶT HÀNG (mã hàng
, mô tả mặt hàng, mã nhà cung cấp, đơn giá)
NHÀ CUNG CẤP (mã nhà cung cấp

, tên nhà cung cấp, đòa chỉ)
IV CHUẨN HÓA THEO LÝ THUYẾT CSDL
Lược đồ quan hệ Q = CỬA HÀNG (mã cửa hàng, tên cửa hàng, mã hàng, mô tả mặt hàng, mã nhà cung
cấp, tên nhà cung cấp, đòa chỉ, lượng tồn, đơn giá) có tập phụ thuộc hàm:
F = {mã cửa hàng → tên cửa hàng;
mã cửa hàng, mã hàng
→ lượng tồn;
mã hàng
→ mô tả mặt hàng, đơn giá, mã nhà cung cấp, tên nhà cung cấp, đòa chỉ;
mã nhà cung cấp
→ tên nhà cung cấp, đòa chỉ
}
TN = {
mã cửa hàng, mã hàng} TG = {mã nhà cung cấp} X
i
là tập con của tập TG:

X
i

TN∪X
i
(TN∪X
i
)
+

Siêu khóa Khóa

mã cửa hàng,

mã hàng
Q
+
mã cửa hàng,
mã hàng
mã cửa hàng,
mã hàng
mã nhà cung cấp mã cửa hàng,
mã hàng,
mã nhà cung cấp
Q
+
mã cửa hàng,
mã hàng,
mã nhà cung cấp


F={mã cửa hàng -> tên cửa hàng; mã cửa hàng, mã hàng ->
lượng tồn; mã hàng -> mô tả mặt hàng, đơn giá, mã nhà cung
cấp, tên nhà cung cấp, đòa chỉ; mã nhà cung cấp -> tên nhà
cung cấp, đòa chỉ}
Q={mã cửa hàng, tên cửa hàng, mã hàng, mô tả mặt hàng, }
K = {mã cửa hàng, mã hàng }
F
1
={mã cửa hàng -> tên cửa hàng}
CỬA HÀNG ={mã cửa hàng, tên cửa hàng}
K
1
= {mã cửa hàng}

F
1
={mã cửa hàng, mã hàng -> lượng tồn; mã hàng -> mô tả
mặt hàng,đơn giá, mã nhà cung cấp, tên nhà cung cấp, đòa chỉ;
mã nhà cung cấp -> tên nhà cung cấp, đòa chỉ}
Q
2
={mã cửa hàng, mã hàng, mô tả mặt hàng, }
K
2
= {mã cửa hàng, mã hàng }
F
3
={mã hàng -> mô tả mặt hàng,đơn giá, mã nhà cung cấp,
tên nhà cung cấp, đòa chỉ; mã nhà cung cấp -> tên nhà cung
cấp, đòa chỉ, }
Q
3
={mã cửa hàng, mã hàng, mô tả mặt hàng, }
K
3
= {mã hàng}
F
4
={mã cửa hàng, mã hàng -> lượng tồn}
Q
4
={mã cửa hàng, mã hàng, mô tả mặt
hàng, }
K

4
= {mã cửa hàng, mã hàng }
F
5
={mã hàng -> mô tả mặt hàng,đơn giá, mã nhà cung cấp}
Q
5
={mã cửa hàng, mô tả mặt hàng, đơn giá, mã nhà cung cấp}
K
5
= {mã hàng }
F
6
={mã nhà cung cấp -> tên nhà cung cấp, đòa chỉ}
Q
6
={mã nhà cung cấp, tên nhà cung cấp, đòa chỉ}
K
6
= {mã nhà cung cấp}


Tài liệu Phân Tích Thiết Kế Hệ Thống


94
V TIẾP CẬN THEO MÔ HÌNH ER
Để xây dựng mô hình quan hệ cho vấn đề NBHC, thay vì tiếp cận bằng cách áp dụng các luật chuẩn
hóa (cách tiếp cận từ dưới lên theo bottom-up approach), ta tiếp cận theo mô hình ER qua các bước sau
(cách tiếp cận từ trên xuống the top down approach):

Bước 1: p dụng cách phân tích biểu mẫu đã đề cập ở chương 4, từ biểu mẫu Bảng tồn kho của NBHC,
ta nhận diện được các tập thực thể CỬA HÀNG, HÀNG, NHÀ CUNG CẤP.
Bước 2: Vẽ mô hình ER và gắn các thuộc tính nhận diện

Bước 3: Xác đònh các mối kết hợp giữa các tập thực thể. Căn cứ vào qui tắc quản lý, ta có mối kết hợp
giữa HÀNG và CỬA HÀNG là mối kết hợp nhiều nhiều và mối kết hợp giữa HÀNG và NHÀ
CUNG CẤP là mối kết hợp một nhiều.

Bước 4: Mối kết hợp nhiều nhiều được giải quyết bằng cách thêm tập thực thể kết hợp TỒN KHO làm
trung gian kết nối giữa hai tập thực thể HÀNG và CỬA HÀNG. Thuộc tính lượng tồn chỉ phù
hợp với tập thực thể kết hợp TỒN KHO

Bước 5: p dụng các qui tắc biến đổi ở chương 3 để chuyển mô hình ER thành mô hình quan hệ
CỬA HÀNG(mã cửa hàng
, tên cửa hàng)
MẶT HÀNG (mã hàng
, mô tả mặt hàng, mã nhà cung cấp, đơn giá)
TỒN KHO (mã cửa hàng, mã hàng
, lượng tồn)
NHÀ CUNG CẤP (mã nhà cung cấp
, tên nhà cung cấp, đòa chỉ)
Bước 6: p dụng các qui tắc chuẩn hóa để đưa các quan hệ ở bước 5 về dạng chuẩn ba.
VI BÀI TẬP
1
10.1
Từ bảng dữ liệu sau, hãy xây dựng một quan hệ không chuẩn rồi chuẩn hóa nó đạt chuẩn 1, chuẩn 2
cuối cùng là chuẩn 3. Sử dụng các qui tắc quản lý mà bạn luận ra từ bảng dữ liệu. Nếu được hãy
phát biểu một vài điều ràng buộc giả đònh.

Tài liệu Phân Tích Thiết Kế Hệ Thống



95

số

NCC
Nhà CC Mô tả Mã cửa
hàng
Cửa hàng Giá khởi
điểm
Tỉ
suất
Giá trò Mã đòa
diểm
Đòa điểm
202 L02 Lincoln Welder 400 Amp FAB Fabrication Shop 2760 20% 552 WE Welshpool
296 SCI Schoettel Deepwater Barge PEH P&e Hire 221000 10% 22100 VI Varanus 1s
328 C03 Colchester Lathe 1500 BC MEC Mechanical Shop 8750 10% 875 KW Kewdale
419 F11 Fluke Multimeter ELE Electrical Shop 430 20% 86 BE Belmont
790 L02 Lincoln Welder 400 Amp FAB Fabrication Shop 2760 20% 552 WE Welshpool
987 M01 Mitutoyo Micrometer MEC Mechanical Shop 440 5% 22 KW Kewdale
1290 AS1 Allstar Satcom 2000 PEH P&E Hire 7200 30% 2160 TH Thailand
1333 L02 Lincoln Welder 300 Amp MEC Mechanical Shop 2440 15% 366 KW Kewdale
5693 C03 Colchester Lathe 1800BC MEC Mechanical Shop 9900 10% 990 KW Kewdale
6785 T07 Tektronics Oscilloscope ELE Electrical Shop 5700 10% 570 BE Belmont
6788 L02 Lincoln Welder 400 Amp PEH P&E Hire 2760 20 552 KW Kewdale

1)
Từ bảng dữ liệu trên ta có quan hệ không chuẩn sau:

TÀI SẢN(mã số, mã NCC, tên nhà CC, mô tả tài sản, mã loại cửa hàng, tên loại cửa hàng, giá khởi
điểm, tỉ suất, giá trò, mã đòa điểm, tên đòa điểm)
Thuộc tính
giá trò = giá khởi điểm * tỉ suất là thuộc tính tổng hợp
TÀI SẢN(mã số, mã NCC, tên nhà CC, mô tả tài sản, mã loại cửa hàng, tên loại cửa hàng, giá khởi
điểm, tỉ suất, mã đòa điểm, tên đòa điểm)
Chọn mã số làm khóa chính
TÀI SẢN(mã số
, mã NCC, tên nhà CC, mô tả tài sản, mã loại cửa hàng, tên loại cửa hàng, giá khởi
điểm, tỉ suất, mã đòa điểm, tên đòa điểm)
2)
ng với mỗi giá trò khóa chính không có giá trò lặp lại nên quan hệ TÀI SẢN đạt dạng chuẩn 1.
3)
Khóa quan hệ TÀI SẢN chỉ gồm một thuộc tính nên đạt dạng chuẩn 2
4)
Trong quan hệ TÀI SẢN có sự phụ thuộc giữa các thuộc tính không khóa như sau:
Mã NCC
→ tên nhà CC
Mã loại cửa hàng
→ tên loại cửa hàng
Mô tả tài sản
→ giá khởi điểm, mô tả tài sản-> tỉ suất
Mã đòa điểm
→ tên đòa điểm
Ta chuyển các
thuộc tính này vào quan hệ riêng
TÀI SẢN(mã số
, mã NCC, mô tả tài sản, mã loại cửa hàng, mã đòa điểm)
NHÀ CUNG CẤP(mã NCC
, tên nhà CC)

LOẠI CỬA HÀNG(mã loại cửa hàng
, tên loại cửa hàng)
ĐỊA ĐIỂM(mã đòa điểm
, tên đòa điểm)
DANH MỤC TÀI SẢN(mô tả tài sản
, giá khởi điểm, tỉ suất)
5)
Từ bảng dữ liệu ta luận ra các điều sau:
o Các tập thực thể TÀI SẢN, NHÀ CUNG CẤP, LOẠI CỬA HÀNG, ĐỊA ĐIỂM, DANH
MỤC TÀI SẢN
o Giá trò = giá khởi điểm x tỉ suất
o Mã NCC, mã loại cửa hàng, mã đòa điểm là khóa thuộc tính nhận diện của NHÀ CUNG
CẤP, LOẠI CỬA HÀNG, ĐỊA ĐIỂM
2 10.2
Từ bảng dữ liệu sau, hãy xây dựng một quan hệ không chuẩn rồi chuẩn hóa nó đạt chuẩn 1, chuẩn 2
cuối cùng là chuẩn 3. Sử dụng các qui tắc quản lý mà bạn luận ra từ bảng dữ liệu. Nếu được hãy phát
biểu một vài điều ràng buộc giả đònh.

Tài liệu Phân Tích Thiết Kế Hệ Thống


96
mã trách
nhiệm
Mã máy
bay
Mã loại
máy bay
Cấu tạo
máy bay

Dòch vụ
phục vụ
Mã nhà
chế tạo
Tên nhà
chế tạo
Nước Mã cơ
sở
Tên cơ
sở
Bang
TR 003 C130 Hercules Transport LO Lockheed USA RI Richmond NSW
SR 007 UH-1 Iroquois SAR BE Bell USA PE Pearce WA
TR 009 C130 Hercules Transport LO Lockheed USA RI Richmond NSW
T 026 A331B Macchi Trainer AM AerMacchi Italy PE Pearce WA

1) Từ bảng dữ liệu trên ta có quan hệ không chuẩn sau:
TRÁCH NHIỆM(mã trách nhiệm, mã máy bay, mã loại máy bay, cấu tạo máy bay, dòch vụ phục vụ,
mã nhà chế tạo, tên nhà chế tạo, nước, mã cơ sở, tên cơ sở, bang)
Chọn
mã máy bay làm khóa chính
TRÁCH NHIỆM(mã trách nhiệm, mã máy bay, mã loại máy bay, cấu tạo máy bay, dòch vụ phục vụ,
mã nhà chế tạo, tên nhà chế tạo, nước, mã cơ sở, tên cơ sở, bang)
2)
Trong quan hệ TRÁCH NHIỆM, ứng với mỗi giá trò khóa chính không có giá trò lặp lại nên
chúng đạt dạng chuẩn 1
3)
Khóa quan hệ TRÁCH NHIỆM chỉ gồm một thuộc tính nên đương nhiên chúng đạt dạng chuẩn
2
4)

Trong quan hệ TRÁCH NHIỆM có sự phụ thuộc giữa các thuộc tính không khóa như sau:
Mã loại máy bay-> cấu tạo máy bay, dòch vụ phục vụ, mã nhà chế tạo, mã cơ sở, bang
mã nhà chế tạo->tên nhà chế tạo, nước
mã cơ sở->tên cơ sở, bang
Ta chuyển các
thuộc tính này vào quan hệ riêng
TRÁCH NHIỆM(mã máy bay, mã trách nhiệm, mã loại máy bay)
LOẠI MÁY BAY(mã loại máy bay, cấu tạo máy bay, dòch vụ phục vụ, mã nhà chế tạo, mã cơ sở)
NHÀ CHẾ TẠO(mã nhà chế tạo, tên nhà chế tạo, nước)
CƠ SỞ(mã cơ sở, tên cơ sở, bang).
3 Trắc nghiệm
1) The process of converting complex data structures into simple, stable data structures is referred to as
a) normalization b) process modeling c) structuring d) simplification

oOo

×