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

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

Đang tải... (xem toàn văn)

Thông tin tài liệu

http://www.ebook.edu.vn 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: http://www.ebook.edu.vn 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: http://www.ebook.edu.vn 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. http://www.ebook.edu.vn 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 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 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: http://www.ebook.edu.vn 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 ù 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: 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: http://www.ebook.edu.vn 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. http://www.ebook.edu.vn 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? http://www.ebook.edu.vn 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 . http://www.ebook.edu.vn 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. http://www.ebook.edu.vn 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. 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

Ngày đăng: 05/08/2014, 14:20

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan