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

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

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


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


55
Chương 6 .
TÍNH BẮT BUỘC, KHÔNG BẮT BUỘC TRONG MỐI KẾT HP
(RELATIONSHIP OPTIONALITY)
I NGỮ NGHĨEA MỐI KẾT HP
Trong chương này ta bổ sung thêm ngữ nghóa (qui tắc quản lý) vào mối kết hợp và biểu diễn chúng
trong mô hình ER. Mô hình ER như vậy được gọi là mô hình thực thể kết hợp mở rộng (
Extended Entity
Relationship
).
1 Tính không bắt buộc của mối kết hợp
Trước đây, chúng ta vẫn ngầm hiểu mọi thực thể đều tham gia vào mối kết hợp như mô hình ER sau:

Mô hình này diễn tả qui tắc quản lý:
¾ Mỗi KHÁCH HÀNG đặt một hay nhiều ĐƠN ĐẶT HÀNG
¾ Mỗi ĐƠN ĐẶT HÀNG được đặt bởi một KHÁCH HÀNG
và mô hình này có mô hình thực thể thể hiện sau:

Mô hình trên cho thấy một đơn đặt hàng bất kỳ phải thuộc về một khách hàng và một khách hàng bất
kỳ phải có đặt một đơn đặt hàng. Nhưng trên thực tế có khách hàng có đơn đặt hàng, có khách hàng
không có đơn đặt hàng do một trong các lý do sau:
o Khách hàng mới
o Khách hàng sẽ đặt hàng trong tương lai.
o Khách hàng nằm trong chiến dòch quảng cáo.
như mô hình thực thể thể hiện sau:

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




56

Mô hình trên cho thấy kháh hàng Ace 4WD Supplies không có đơn đặt hàng.
Vậy để diễn tả tình trạng có khách hàng không có đơn đặt hàng, qui tắc quản lý trước đây được sửa
thành:
¾ Mỗi KHÁCH HÀNG có thể đặt một hay nhiều ĐƠN ĐẶT HÀNG
¾ Mỗi ĐƠN ĐẶT HÀNG phải được đặt bởi một KHÁCH HÀNG
Và mô hình ER tương ứng được sửa đổi bằng cách bổ sung thêm tính bắt buộc hay không bắt buộc vào
mối kết hợp:
KHÁCH
HÀNG
ĐƠN ĐẶT
HÀNG
Hình 5.3 - Mô hình ER có sửa đổi của vấn đề khách hàng và đơn
đặt hàn
g
mà họ đặ
t
được đặt
bởi
đặ
t
mã khách
hàng
tên
đòa chỉ
số đơn
hàng

ngày đơn
hàng
phải
(tính bắt buộc)
có thể
(tính không bắt
buộc)

Bản số nhỏ nhất (minimum cardinality), bản số lớn nhất (maximum cardinality): Từ nay về sau, bản số
của mối kết hợp được hiểu có cả tính bắt buộc (
mandatory) hay không bắt buộc (arbitrary, optional) của
mối kết hợp. Bản số trước đây ta vẫn hiểu là là bản số lớn nhất, còn tính bắt buộc hay không bắt buộc
của mối kết hợp là bản số nhỏ nhất. Như vậy bản số của mối kết hợp được ký hiệu gồm các dạng sau
(0,M), (1,M), (0,1), (1,1). Với ví dụ trên bản số ở phía tập thực thể KHÁCH HÀNG là (1,1), còn bản số
ở phía tập thực thể ĐƠN ĐẶT HÀNG là (0,M)
II PHIẾU MỐI KẾT HP
Ta bổ sung tính bắt buộc, không bắt buộc vào mô hình ER của hình 4.5 ta được mô hình:

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


57

Mô hình này diễn tả 6 qui tắc quản lý:
+ Mỗi KHÁCH HÀNG có thể đặt một hay nhiều ĐƠN HÀNG
+ Mỗi ĐƠN HÀNG phải được đặt bởi một KHÁCH HÀNG
+ Mỗi ĐƠN HÀNG phải chứa một hay nhiều DÒNG ĐƠN HÀNG
+ Mỗi DÒNG ĐƠN HÀNG phải thuộc về một ĐƠN HÀNG
+ Mỗi DÒNG ĐƠN HÀNG phải kê một MẶT HÀNG
+ Mỗi MẶT HÀNG có thể được kê bởi một hay nhiều DÒNG ĐƠN HÀNG

Phiếu mối kết hợp của mô hình trên có dạng sau:
Tập thực thể 1 Tính bắt buộc Quan hệ Bản số Tập thực thể 2
KHÁCH HÀNG Có thể Đặt Không hay nhiều ĐƠN HÀNG
ĐƠN HÀNG Phải Được đặt bởi Một KHÁCH HÀNG
ĐƠN HÀNG Phải chứa Một hay nhiều DÒNG ĐƠN HÀNG
DÒNG ĐƠN HÀNG Phải Thuộc về Một ĐƠN HÀNG
DÒNG ĐƠN HÀNG Phải kê một HÀNG
HÀNG Có thể Được kê bởi Không hay nhiều DÒNG ĐƠN HÀNG
Phiếu này được xây dựng nhằm mục đích trình bày cho người sử dụng về mối kết hợp của các thực thể
trong hệ thống. Người sử dụng là người nắm rõ vấn đề, thông qua phiếu quan hệ, họ sẽ giúp ta chỉnh
sửa những gì còn sai sót của mô hình dữ liệu.
III ẢNH HƯỞNG CỦA TÍNH KHÔNG BẮT BUỘC TRÊN KHÓA NGOẠI
KHÁCH
HÀNG
ĐƠN ĐẶT
HÀNG
tính khôn
g
bắt buộc ở bên
cạnh
bản số mối quan hệ bên
nhiều
nên không gây ảnh hưởng gì
cả

Tính không bắt buộc chỉ ảnh hưởng trên khóa ngoại khi nó ở bên cạnh bản số mối kết hợp bên một.
khóa ngoại của khóa chính bên một này sẽ không diễn tả được tính chất không bắt buộc này.

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



58

Để giải quyết vấn đề, người ta phải sử dụng một giá trò đặc biệt trên khóa ngoại. Ta hãy xem cách giải
quyết qua hai ví dụ sau:
1 Quan hệ một-nhiều
Ví du:ï Công ty TNHH Dầu khí Ngoài khơi hiện có các dự án khoan thăm dò đã triển khai vào các thời
điểm trước đây. Mỗi dự án được nhận diện thông qua mã dự án. Thông tin cần lưu trữ về dự án gồm tên
dự án, vò trí thăm dò, kinh phí. Khi đang triển khai, dự án có thể có một hay nhiều nhân viên tham gia
nhưng khi dự án chưa triển khai thì dự án không cần sự tham gia của bất kỳ nhân viên nào. Một nhân
viên có thể tham gia vào một dự án và cũng có thể không. Tại một thời điểm, một nhân viên chỉ tham
gia vào một dự án (giả sử ta chỉ quan tâm đến dự án hiện tại). Đối với mỗi nhân viên, công ty cần ghi
nhớ mã nhân viên, tên nhân viên, ngày tham gia vào dự án.
DỰ ÁN NHÂN VIÊN
Hình 5.7 - Mô hình ER của vấn đề
OPCL
tham gia
vào
được

tham

gia

bởi
mã dự án
tên dự án
vò trí thăm

kinh phí

mã nhân
viên
tên nhân
viên
ngày tham
gia

Mô hình ER trên được biến đổi thành mô hình quan hệ sau:
DỰ ÁN(mã dự án, tên dự án, vò trí thăm dò, kinh phí)
NHÂN VIÊN(mã nhân viên, tên nhân viên, ngày tham gia, mã dự án)
Trong mô hình trên ta phải sử dụng giá trò đặc biệt trên khóa ngoại
mã dự án để diễn tả nhân viên
tương ứng không tham gia vào bất kỳ dự án nào như dữ liệu ví dụ sau:
NHÂN VIÊN

DỰ ÁN
mã nhân viên tên nhân viên ngày tham gia mã dự án mã dự án tên dự án vò trí thăm dò kinh phí
001 Helga DA1 DA0 . . .
002 Carmen DA3 DA1 Cấp dưỡng và hậu cần
003 Carlos DA3 DA2 Thiết kế thiết bò khoan
004 Fritz DA0 DA3 Công trình bệ khoan
005 Mirek DA3 DA4 Công trìn đường ống
006 Ted DA2
007 Mario DA0
008 Jane DA2
Bảng dữ liệu trên có mô hình thực thể thể hiện tương ứng như sau:

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



59

Mô hình này cho thấy nhân viên mario và Fritz chưa được phân công tham gia vào bất kỳ dự án nào.
2 Quan hệ một-một
Bạn được yêu cầu phải xây dựng mô hình dữ liệu cho vấn đề lên danh sách nhà để bán của cơ quan môi
giới tài sản cố đònh. Người môi giới đặc biệt quan tâm đến nhà có hay không có hồ bơi. Qui tắc quản lý
là:
Mỗi NHÀ có thể có một HỒ BƠI
Mỗi HỒ BƠI phải thuộc về một NHÀ
Mô hình ER của vấn đề này là:
HỒ BƠINHÀ
Hình 5.9 - Mô hình ER của vấn nhà
và hồ bơ
i
thuộc
về
co
ù

nhà
loại
nhà
đòa chỉ
giá trò
mã hồ
bơi
loại hồ
bơi
chiều
dài


mô hình quan hệ tương ứng:
NHÀ(mã nha
ø, loại nhà, đòa chỉ, giá trò)
HỒ BƠI(mã hồ bơi
, loại hồ bơi, chiều dài, mã nhà )
Hay:
NHÀ(mã nha
ø, loại nhà, đòa chỉ, giá trò, mã hồ bơi)
HỒ BƠI(mã hồ bơi
, loại hồ bơi, chiều dài)
Mô hình quan hệ một được ưa thích hơn vì chúng ta không phải quan tâm đến giá trò đặc biệt.
Mô hình quan hệ hai phải sử dụng giá trò đặc biệt

NHÀ

HỒ BƠI
Mã nhà Mã hồ bơi

Mã hồ bơi …. Chiều dài
N01 … H01 H00 …. 0
N02 … H00 H01 … 50
Nhà N02 không có hồ bơi. H00 là giá trò đặc biệt
3 Quan hệ nhiều-nhiều
Giả sử vấn đề của trường Cao đẳng Cộng đồng Núi Xanh nhà trường khơng quan tâm đến ngày nhập học
của học viên. Ta có mơ hình sau:

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



60

HỌC VIÊN MÔN HỌC HOCVIENMON HOC
Mã hv ….

Mã mh ……

Mã hv Mã mh
99001 … MH01 …. 99001 MH01
99002 …. MH02 99001 MH02
99003 …. 99003 MH01
Học viên 99002 không ghi danh vào môn học nên không xuất hiện trong quan hệ HOCVIENMONHOC.
Tính không bắt buộc không ảnh hưởng đến bản số nhiều của mối kết hợp
IV TÍNH BẮT BUỘC, KHÔNG BẮT BUỘC TRONG CÁC BƯỚC MÔ HÌNH HÓA DỮ LIỆU
Hình 5.13 - Tính bắt buộc và không bắt buộc trong mô hình hóa
dữ liệu
DỮ LIỆU YÊU
CẦU
MÔ HÌNH DỮ
LIỆU
1. Nhận diện các tập thực thể và thuộc tính
nhận diện
2. Nhận diện mối quan hệ giữa các tập
thực thể
3. Gắn thuộc tính mô tả vào tập thực thể
4. Thêm tính bắt buộc không bắt buộc vào
mối quan hệ

V BÀI TẬP
1

Bài tập 5.1
FBNA là hãng hàng không phục vụ vận chuyển hành khách đến 15 đòa điểm khác nhau. Một số đòa
điểm được phục vụ thường xuyên còn một số được phục vụ theo mùa.

Mỗi chuyến bay của FBNA đều phải bay theo một tuyến bay nhất đònh. Ngày khởi hành, giờ khởi
hành, giờ đến của các chuyến bay phải được ghi nhận. Thông tin về tuyến bay có mã tuyến bay,
giờ khởi hành, thời gian bay, nơi bay đi và nơi bay đến.

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


61

Các phi công có thể bay trên các chuyến bay khác nhau nhưng hiển nhiên ở mỗi thời điểm chỉ có thể
bay trên một chuyến bay. Mỗi chuyến bay phải có tối thiểu một phi công nhưng một phi công không
phải lúc nào cũng làm nhiệm vụ phi công chính của chuyến bay. Họ tên, đòa chỉ, điện thoại liên lạc của
phi công phải được lưu trữ.

Ở mỗi chuyến bay, chi tiết về hành khách phải được ghi nhận như tên, đòa chỉ, điện thoại liên lạc và
trọng lượng hành lý.

Hãy thực hiện các yêu cầu sau:
(a)
Xây dựng mô hình ER. Sử dụng mô hình thực thể thể hiện ở nơi thích hợp
(b)
Chuyển mô hình ER thành mô hình quan hệ.
(c)
Lập phiếu mối kết hợp.
2 Trắc nghiệm
2.1) Based on the ER-diagram, which of the following are true?


A)
 One customer can rent multiple videos
B)
 There can be multiple videos of the same movie
C)
 There can be blank videos (i.e., video without movies)
2.2) ACME places oders with their suppliers using the following purchase oder form. A buyer (an
employee in the company) will fill the order form to order one or more items from a supplier. Each
such order is placed with a single supplier and can be for one or more items.
Based on the information, an E-R diagram is drawn below to represent the connectivity, cardinality,
and optionality of the relationships. (Note: In the ERD below, “order line” represents each line of
items in the order form.) If you want to map the above ER diagram into tables, how many tables do you
need?


Taứi lieọu Phaõn Tớch Thieỏt Keỏ Heọ Thoỏng


62
CUSTOMER
ITEM
BUYER
Order-lineorder
1
M
1
M
1
MM1



A) 4 B) 1 C) 3 D) 5 E) 2 F) 6
2.3) Given the following Entity-Relationship Diagram, what is the participation of A and B?
A BC
11


A)
Total A/Total B
B)
None of the above
C)
Partial A/Partial B
D)
Total A/Partial B
E)
Partial A/Total B
oOo

×