Chương 9: TÍNH BẮT BUỘC, KHƠNG BẮT BUỘC TRONG MỐI KẾT HỢP

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 99)

I NGỮ NGHĨEA MỐI KẾT HỢP

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:

KHÁCH HAØNG ĐƠN ĐẶT HAØNG

Hình 5.1- Mơ hình ER về khách hàng và đơn đặt hàng 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

Mơ hình này diễn tả qui tắc quản lý:

 Mỗi KHÁCH HAØNG đặt một hay nhiều ĐƠN ĐẶT HAØNG

 Mỗi ĐƠN ĐẶT HAØNG được đặt bởi một KHÁCH HAØNG

và mơ hình này cĩ mơ hình thực thể thể hiện sau:

Ace 4WD Supplies Big Rock Excavation Pty Ltd HAL Computer Equipment Outback Tours (Inc)

01348 01349 12457 26734

Hình 5.2 - Mơ hình thực thể thể hiện về khách hàng và đơn đặt hàng mà họ đặt

KHÁCH HAØNG ĐƠN ĐẶT HAØNG

26735 26737 26739 26742

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:

Ace 4WD Supplies Big Rock Excavation Pty Ltd HAL Computer Equipment Outback Tours (Inc)

01348 01351 12457 26734

Hình 5.4 - Mơ hình thực thể thể hiện về khách hàng và đơn đặt hàng mà họ đặt

KHÁCH HAØNG ĐƠN ĐẶT HAØNG

26735 26737 26739 26742

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 HAØNG cĩ thể đặt một hay nhiều

ĐƠN ĐẶT HAØNG

 Mỗi ĐƠN ĐẶT HAØNG phải được đặt bởi một

KHÁCH HAØ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 HAØNG ĐƠN ĐẶT HAØ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àng 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 HAØNG là (1,1), cịn bản số ở phía tập thực thể ĐƠN ĐẶT HAØNG là (0,M)

II PHIẾU MỐI KẾT HỢP

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:

ĐƠN HAØNG KHÁCH HAØNG số đơn hàng ... được đặt bởi mã khách hàng... đặt DỊNG ĐƠN HAØNG MẶT HAØNG chứa thuộc về kê được kê bởi

số đơn hàng số thứ tự

...

mã hàng ...

Mơ hình này diễn tả 6 qui tắc quản lý:

+ Mỗi KHÁCH HAØNG cĩ thể đặt một hay nhiều ĐƠN HAØNG

+ Mỗi ĐƠN HAØNG phải được đặt bởi một KHÁCH HAØNG

+ Mỗi ĐƠN HAØNG phải chứa một hay nhiều DỊNG ĐƠN HAØNG

+ Mỗi DỊNG ĐƠN HAØNG phải thuộc về một ĐƠN HAØNG

+ Mỗi DỊNG ĐƠN HAØNG phải kê một MẶT HAØNG

+ Mỗi MẶT HAØNG cĩ thể được kê bởi một hay nhiều DỊNG ĐƠN HAØ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 HAØNG Cĩ thể Đặt Khơng hay

nhiều

ĐƠN HAØNG

ĐƠN HAØNG Phải Được đặt

bởi

Một KHÁCH HAØNG

ĐƠN HAØNG Phải chứa Một hay nhiều DỊNG ĐƠN

HAØNG

DỊNG ĐƠN

HAØNG

Phải Thuộc về Một ĐƠN HAØNG

DỊNG ĐƠN

HAØNG Phải kê một HAØNG

HAØNG Cĩ thể Được kê

bởi Khơngnhiều hay DỊNGHAØNG ĐƠN

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 HAØNG ĐƠN ĐẶT HAØNG

tính khơng 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.

A B

tính khơng bắt buộc ở bên cạnh bản số mối quan hệ bên một sẽ ảnh hưởng đến khĩa ngoại a khĩa chính a ... khĩa chính b ... khĩa ngoại a

Để 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í Ngồ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 dị 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 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 nhân viên tên nhân viên ngày tham

gia dự ánmã dự ánmã 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

Cấp dưỡng và hậu cần Thiết kế thiết bị khoan Cơng trình bệ khoan Cơng trình đường ống Helga Carmen Carlos Fritz

Hình 5.8 - Mơ hình thực thể thể hiện của vấn đề OPCL

DỰ ÁN NHÂN VIÊN

Mirek Ted Mario Jane

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 NHAØ cĩ thể cĩ một HỒ BƠI Mỗi HỒ BƠI phải thuộc về một NHAØ Mơ hình ER của vấn đề này là:

HỒ BƠI NHAØ

Hình 5.9- Mơ hình ER của vấn nhà và hồ bơi thuộc về cĩ mã 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:

NHAØ(mã nhà, 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:

NHAØ(mã nhà, 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

NHAØ 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:

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 Được ghi danh bởi

Ghi danh vào 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)

PHIẾU GHI DANH (mã học viên, mã mơn học,)

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 BAØ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.

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 nghieä m

2.1) Based on the ER-diagram, which of the following are true?

CUSTOMER VIDEO MOVIE rents contain 1 M M 1

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?

CUSTOMER ITEM BUY ER Order-line order 1 M 1 M 1 M M 1 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 C B

1 1

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

Chương 10 : TẬP THỰC THỂ CHA VÀ TẬP THỰC THỂ CON

(SUPERTYPES AND SUBTYPES)

I TẬP THỰC THỂ PHỤ THUỘC (DEPENDENT ENTITY, ID-DEPENDENT ENTITY)

Trong thực tế, cĩ các thực thể trong một tập thực thể lại tồn tại phụ thuộc vào sự tồn tại của các thực thể trong tập thực thể khác. Ta gọi tập thực thể này là tập thực thể phụ thuộc, cịn tập thể mà chúng phụ thuộc vào là tập thực thể cha.

Mơ hình ER của tập thực thể phụ thuộc phải cĩ tính chất sau:

Thuộc tính nhận diện của tập thực thể phụ thuộc gồm một thuộc tính nhận diện của tập thực thể cha kết hợp với một thuộc tính khác dùng để nhận diện thực thể đĩ trong các giá trị nhận diện cha.

Ví duï Hãng hàng khơng quốc tế cung cấp các tuyến bay đến nhiều địa

điểm trên thế giới. Các tuyến bay được lên lịch cho một khoảng thời gian như từ 1/3/1995 đến 31/10/1995. Tất cả các tuyến bay đều cĩ sân bay đi và đến ví dụ tuyến bay cĩ thể từ sân bay Sydney đến sân bay Frankfurt. Mỗi tuyến bay đều cĩ giờ khởi hành và giờ đến. Giờ khởi hành là giờ khởi hành của một ngày cụ thể, ví dụ như nếu tuyến bay phục vụ theo tuần thì giờ khởi hành là của các ngày 01/03/95, 08/03/95, 15/03/95 …

Ta cĩ mơ hình ER như sau:

TUY ẾN BAY CHUY ẾN BAY

Hình 6.1- Mơ hình ER của vấn hãng hàng khơng quốc tế thuộc về

mã tuyến bay sân bay khởi hành sân bay đến số lần dừng kỳ khởi hành giờ khởi hành thời gian bay giờ đến loại máy bay

mã tuyến bay ngày khởi hành số hành khách khối lượng hàng giờ khởi hành thực giờ đến thực số máy bay Tập thực thể phụ thuộc (được nhận biết thơng qua thuộc tính nhận

diện) Tập thực thể cha (vì cĩ khĩa ngoại là một phần của khĩa chính của tập thực thể khác)

 Tập thực thể CHUYẾN BAY là tập thực thể phụ thuộc. CHUYẾN BAY chỉ tồn tại trong TUYẾN BAY  Khĩa chính của tập thực thể CHUYẾN BAY là sự

kết hợp giữa khĩa chính của tập thực thể TUYẾN BAY và thuộc tính ngày khởi hành của chuyến bay.

 Mối kết hợp trên được gọi là mối kết hợp phụ thuộc nhận diện (ID-dependent relationship)

 Dữ liệu của TUYẾN BAY chỉ tồn tại trong một khoảng thời gian, đây là tính chất tạm thời của dữ liệu, chúng ảnh hưởng đến mơ hình dữ liệu như thế nào sẽ được đề cập trong chương sau.

TUYẾN BAY(mã tuyến bay, sân bay khởi hành, ...,loại máy bay)

CHUYẾN BAY(mã tuyến bay, ngày khởi hành, số hành khách, ..., số máy bay)

Để làm rõ hơn khái niệm tập thực thể phụ thuộc (dependent entity) , ta hãy xem mơ hình ER của vấn đề nhân viên và phịng ban.

PHỊNG BAN NHÂN VIÊN

Mơ hình ER của vấn đề nhân viên và phịng ban thuộc về cĩ mã phịng ban tên phịng ban mã phịng ban số thứ tự họ và tên ngày sinh

Bản số kết nối của mơ hình này hồn tồn giống với mơ hình hãng hàng khơng quốc tế nhưng nếu ta xem nhân viên là tập thực thể phụ thuộc thì khi một phịng ban bị giải thể dẫn tới tồn bộ nhân viên trong phịng ban đĩ bị giải thể theo. Điều này khơng đúng với thực tế là nhân viên cĩ thể chuyển sang phịng ban khác làm việc. Với mơ hình trên việc chuyển này sẽ làm thay đổi giá trị khĩa chính của quan hệ NHÂN VIÊN làm mất tính ổn định của khĩa chính.

PHỊNG BAN NHÂN VIÊN

phịng ban tên phịng ban phịng mã ban số thứ tự họ và tên ngày sinh KH Phịng kế

hoạch KH 1 Nguyễn Văn Hùng

TC Phịng tổ

chức KH 2 Trần Mạnh Tiến

KT Phịng kỹ

thuật KH 3 Nguyễn Kim

TC 1 Nguyễn Diện

TC 2 Phạm Chương

KT 1 Nguyễn Hải

Vậy mơ hình đúng của vấn đề nhân viên và phịng ban là:

PHỊNG BAN NHÂN VIÊN

Mơ hình ER của vấn đề nhân viên và phịng ban thuộc về

mã phịng ban

tên phịng ban mã nhân viên họ và tên ngày sinh

II THUỘC TÍNH HAY TẬP THỰC THỂ

Văn phịng chính phủ mong muốn thiết lập một cơ sở dữ liệu về các cơng ty bán sỉ trong cơng nghệ thời trang. Những cơng ty này cĩ các cửa hàng ở nhiều thành phố khác nhau. Vấn đề được đặt ra là:

Ta cĩ nên mơ hình khái niệm thành phố (nơi các cửa hàng đang kinh

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 99)