Chương 1 2: SỰ CHUẨN HĨA

Một phần của tài liệu Giáo trình Phân tích thiết Kế Hệ Thống (Trang 127)

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)

Hình 10.1 - Chuẩn hĩa csdl trong các bước PTTKHT THIẾT KẾ HỆ THỐNG

(SY STEMS DESIGN )

THỰC HIỆN VAØ VẬN HAØNH HỆ THỐNG

(SY STEMS IMPLEMENTATION AND OPERATION )

1. Thiết kế giao diện con người (designing the human interface) 2. Thiết kế cơ sở dữ liệu (designing database)

a) Thiết kế csdl logic (designing logical database) - Biến đổi mơ hình ER thành mơ hình quan hệ - Kiểm tra yêu cầu chức năng

-Chuẩn hĩa cơ sở dữ liệu

b) Thiết kế csdl vật lý (designing physical database)

- Chuyển các quan hệ đạt chuẩn thành các đặc tả tập tin máy tính

II PHỤ THUỘC HAØ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 X1, X2,..) 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 X1,X2→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 (X1, X2,..) 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.

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.

HỌC VIÊN MƠN HỌC mã học viên tên học viên địa chỉ ngày sinh số điện thoại mã mơn học tên mơn học thời lượng

Hình 3.10 - Mơ hình ER và mơ hình quan hệ của vấn đề Trường Cao Đẳng Cộng Đồng Núi Xanh ghi nhận đào tạo về

thuộc về BIÊN NHẬN mã học viên mã mơn học ngày nhập học cĩ

được ghi nhận đào tạo bởi Mơ hình ER

Mơ hình quan hệ

HỌC VIÊN (mã học viên, tên học viên, địa chỉ, ngày sinh, số điện thoại) MƠN HỌC (mã mơn học, tên mơn học, thời lượng)

BIÊN NHẬN (mã học viên, mã mơn học, ngày nhập học)

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 VAØ 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

ma õ ng mơ tả hàng nhà mã cung cấp tên nhà

cung cấp nhà cung địa chỉ

cấp lượ ng tồ n đơn gia ù thàn h tiền 324

1 Bù lon 2 cm 34513 Acme Bolt Co

45 Hay Street 123 $0.5 0 $61.50 354 1 Ốc 5 cm 34513 Acme Bolt Co 45 Hay Street 546 $0.7 0 $382.20 432 5 Vịng đệm 30 mm 57913 Washer Co 7 Blacktown Road 567 $0.1 2 $68.04 567

8 Đai ốc 8 mm 34513 Acme Bolt Co

45 Hay Street 342 $0.1

7 $58.14 147

8 Đinh ốc 40 mm 00972 Best Fasteners

281 Pilbara Way 126 7 $0.09 $114.03 432 7 Vịng đệm 40 mm 57913 Washer Co 7 Blacktown Road 165 $0.1 5 $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 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

- L oạ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 tố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 HAØNG

hàng Mơ tả Đơn giábán

1003 Tụ điện 0.680.67 0.65 1007 Đầu nối 2.002.10 1.90

BẢNG DỮ LIỆU KHƠNG ĐẠT DẠNG CHUẨN 1

Trong quan hệ MẶT HAØ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)

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 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à khố chính của các thuộc tính lặp lại.

TỒN KHO

ch tên ch mã hàng mơ tả mã ncc tên ncc địa chỉ lượng tồn đơn giá

M51

5 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 M51

6 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 M51

7 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 HAØ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 khố 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 HAØ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

Hình 10.6 - Các phụ thuộc hàm của quan hệ hàm

TỒN KHO (mãhàng, cửa hàmãng, mơhàng, tả cung cấmã nhàp, cung cấtên nhàp, địa chỉcung cấ nhàp lươngtồn đơn giá)

CỬA HAØ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 HAØ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

Hình 10.7 - Phụ thuộc hàm cĩ tính bắc cầu

MẶT HAØNG( mã hàng, mơ tả hàng, mã nhà cung cấp, tên nhà cung cấp, địa chỉ nhà cung cấp đơn giá)

CỬA HAØ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 HAØNG (mã hàng, mơ tả mặt hàng, mã nhà cung cấp, đơn giá) NHAØ 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 HAØ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} Xi là tập con

của tập TG:

Xi TNXi (TNXi)

+

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ãhàng, cửa 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 } F1={mã cửa hàng -> tên cửa hàng } CỬA HAØNG ={mã cửa hàng, tên cửa hàng} K1 = {mã cửa hàng} F1 ={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ỉ}

Q2 ={mã cửa hàng, mã hàng, mơ tả mặt hàng,....} K2 = {mã cửa hàng, mã hàng }

F3 ={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ỉ, ...} Q3 ={mã cửa hàng, mã hàng, mơ tả mặt hàng,....} K3 = {mã hàng} F4 ={mã cửa hàng, mã hàng -> lượng tồn } Q4 ={mã cửa hàng, mã hàng, mơ tả mặt hàng,....} K4 = {mã cửa hàng, mã hàng }

F5 ={mã hàng -> mơ tả mặt hàng,đơn giá, mã nhà cung cấp} Q5 ={mã cửa hàng, mơ tả mặt hàng, đơn giá, mã nhà cung cấp} K5 = {mã hàng }

F6 ={mã nhà cung cấp -> tên nhà cung cấp, địa chỉ} Q6 ={mã nhà cung cấp, tên nhà cung cấp, địa chỉ} K6 = {mã nhà cung cấp}

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: Aù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 HAØNG, HAØNG, NHAØ CUNG CẤP.

Bước 2: Vẽ mơ hình ER và gắn các thuộc tính nhận diện

Hình 10.9 - Mơ hình ER sơ khởi của vấn đề WMC CỬA HAØNG mã cửa hàng NHAØ CUNG CẤP mã nhà cung cấp HAØNG mã hàng

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 HAØNG và CỬA HAØNG là mối kết hợp nhiều nhiều và mối kết hợp giữa HAØNG và NHAØ CUNG CẤP là mối kết hợp một nhiều.

Hình 10.10 - Mơ hình ER cĩ mối quan hệ của vấn đề WMC CỬA HAØNG mã cửa hàng NHAØ CUNG CẤP mã nhà cung cấp HAØNG mã hàng

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ể HAØNG và CỬA HAØ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

Hình 10.10 - Mơ hình ER cĩ tập kết hợp của vấn đề WMC CỬA HAØNG

mã cửa hàng tên cửa hàng

NHAØ CUNG CẤP mã nhà cung cấp tên nhà cung cấp địa chỉ MẶT HAØNG mã hàng mơ tả mặt hàng đơn giá TỒN KHO mã cửa hàng mã hàng lượng tồn cĩ thuộc về kê tồn cĩ cung cấp

được cung cấp bởi

Bước 5: Aù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 HAØNG(mã cửa hàng, tên cửa hàng)

MẶT HAØ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)

NHAØ CUNG CẤP (mã nhà cung cấp, tên nhà cung cấp, địa chỉ)

Bước 6: Aù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 BAØ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.

Ma õ số Ma õ NC C Nhà CC Mơ tả cửa hàn g Cửa hàng Giá khởi điểm Tỉ sua át Giá trị đị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 Colchest

er 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 Colchest

er Lathe 1800BC MEC Mechanical Shop 9900 10% 990 KW Kewdale

6785 T07 Tektronic

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

TAØ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)

TAØ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

TAØ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ệ TAØI SẢN đạt dạng chuẩn 1.

3) Khĩa quan hệ TAØI SẢN chỉ gồm một thuộc tính nên đạt dạng chuẩn 2

4) Trong quan hệ TAØ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

TAØI SẢN(mã số, mã NCC, mơ tả tài sản, mã loại cửa hàng, mã địa điểm)

NHAØ CUNG CẤP(mã NCC, tên nhà CC)

LOẠI CỬA HAØ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 TAØ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ể TAØI SẢN, NHAØ CUNG CẤP, LOẠI CỬA HAØNG, ĐỊA ĐIỂM, DANH MỤC TAØ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 NHAØ CUNG CẤP, LOẠI CỬA HAØ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.

trách nhiệm máy bay loại máy bay Cấu tạo máy bay Dịch vụ phục vụ nhà chế tạo Tên nhà chế tạo Nươ ùc Mã cơ sở Tên sở Ban g TR 003 C130 Hercules Transpor

t LO Lockheed USA RI Richmond NSW

SR 007 UH-1 Iroquois SAR BE Bell USA PE Pearce WA

Một phần của tài liệu Giáo trình Phân tích thiết Kế Hệ Thống (Trang 127)

Tải bản đầy đủ (PDF)

(167 trang)