http://www.ebook.edu.vn Tài liệu Phân Tích Thiết Kế Hệ Thống 63 Chương 7 . 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: ¾ 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. Mô hình quan hệ: 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. http://www.ebook.edu.vn Tài liệu Phân Tích Thiết Kế Hệ Thống 64 Bản số kết nối của mô hình này hoàn toà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 toà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 mã phòng ban tên phòng ban mã phòng 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à: 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 doanh) như một thuộc tính của tập thực thể CỬA HÀNG hay tạo chúng thành một tập thực thể THÀNH PHỐ http://www.ebook.edu.vn Tài liệu Phân Tích Thiết Kế Hệ Thống 65 CỬA HÀNG THÀNH PHỐ Hình 6.2 - Chọn một trong hai mô hình ER của vấn đề cửa hàng và thành phố mã cửa hàng tên cửa hàng mã thành phố tên thành phố CỬA HÀNG mã cửa hàng tên cửa hàng thành phố mô hình 2 mô hình 1 Những nguyên tắc sau giúp ta có chọn lựa thích hợp: 1. Nếu khái niệm thành phố có thuộc tính và ta quan tâm đến các thuộc tính này trong công tác quản lý thì chúng ta mô hình nó như một tập thực thể. 2. Nếu một cửa hàng có khả năng nằm trên nhiều thành phố thì chúng ta mô hình thành phố thành tập thực thể riêng. 3. Nếu khái niệm thành phố có quan hệ với một vài tập thực thể khác thì ta phải mô hình chúng thành tập thực thể riêng. Vì chỉ có tập thực thể mới có quan hệ với tập thực thể khác. 4. Nếu chúng ta có nhu cầu lưu trữ tất cả các thành phố mặc dù các cửa hàng chưa hiện diện ở tất cả thành phố thì chúng ta phải mô hình thành phố thành tập thực thể. 5. Nếu bốn nguyên tắc trên không có nguyên tắc nào áp dụng được thì ta mô hình thành phố như một thuộc tính của tập thực thể CỬA HÀNG. III TẬP THỰC THỂ CHA VÀ TẬP THỰC THỂ CON Trên thực tế chúng ta thường gặp các thực thể giống nhau từ 80% đến 90% như trong việc phân lớp các loại. Sự tương tự giữa chúng dẫn ta đến khái niệm tập thực thể cha và tập thực thể con. 1 Cái tổng quát và cái chuyên biệt Trước khi đi vào chi tiết, ta hãy xem ví dụ sau: Thuộc tính chung: Tất cả các thuyền: chiều dài, lực nước rẽ, trọng tải Thuộc tính riêng: Thuyền buồm: diện tích buồm, số cột Thuyền máy: số máy, công suất, loại nhiên liệu. Thuyền chèo: số mái chèo, có người điều khiển chính không Thuyền nâng: Số nâng, diện tích khoảng hở http://www.ebook.edu.vn Tài liệu Phân Tích Thiết Kế Hệ Thống 66 Mô hình trên diễn tả sự tương quan giữa cái tổng quát và cái chuyên biệt (IS-A relationship; Inheritance in a generalization hierarchy ). Trong mô hình dữ liệu, cái tổng quát được gọi là tập thực thể cha ( supertype) còn cái chuyên biệt là tập thực thể con (subtype) như THUYỀN là tập thực thể cha của tập tập thực thể con THUYỀN BUỒM. 2 Ký hiệu tập thực thể cha/con Ví dụ vấn đề lưu trữ chi tiết về nhân viên. Một công ty mong muốn lưu trữ lý lòch cá nhân về nhân viên của mình. Có hai loại nhân viên nhân viên toàn thời gian và nhân viên bán thời gian. Chi tiết lưu trữ về nhân viên bao gồm mã nhân viên, tên nhân viên, đòa chỉ, ngày sinh, ngày vào làm, chức vụ. Đối với nhân viên toàn thời gian, chúng ta cần lưu trữ về lương năm, thưởng năm Còn nhân viên bán thời gian, chúng ta lại cần lưu trữ về đơn giá giờ công, đơn giá giờ làm thêm Mô hình ER cho vấn đề nhân viên như sau: Hình 6.5 - Mô hình ER tập thực thể cha tập thực thể con của vấn đề nhân viên mã nhân viên tên nhân viên đòa chỉ ngày sinh ngày vào làm chức vụ NHÂN VIÊN NHÂN VIÊN TÒAN THỜI GIAN NHÂN VIÊN BÁN THỜI GIAN mã nhân viên lương năm thưởng năm mã nhân viên đơn giá giờ công đơn giá giờ làm thêm 1. Hình chữ nhật của tập thực thể cha NHÂN VIÊN sẽ chứa tất cả tập thực thể con NHÂN VIÊN TOÀN THỜI GIAN và NHÂN VIÊN BÁN THỜI GIAN 2. Những thuộc tính chung như tên nhân viên, đòa chỉ, ngày sinh, ngày vào làm, chức vụ. là thuộc tính của tập thực thể cha NHÂN VIÊN. Những thuộc tính này được hiểu cho tất cả các tập thực thể con. Thuộc tính của tập thực thể con là thuộc tính riêng chỉ được hiểu trong tập thực thể con đó. 3 Ýnghóa Ta mô hình thành tập thực thể cha/con nhằm diễn tả chính xác hơn qui tắc quản lý có liên quan đến cái tổng quát và cái chuyên biệt. 4 Cái tổng thể và cái thành phần Sơ đồ trên diễn tả cái tổng thể và cái thành phần về bản chất chúng hoàn toàn khác với cái tổng quát và cái chuyên biệt. Khi gặp sơ đồ này chúng ta không mô hình chúng thành tập thực thể cha/con. 5 Thuộc tính của các tập thực thể cha/con Từ vấn đề ta suy ra các thuộc tính của các tập thực thể là như sau: http://www.ebook.edu.vn Tài liệu Phân Tích Thiết Kế Hệ Thống 67 NHÂN VIÊN TOÀN THỜI GIAN: mã nhân viên, tên nhân viên, đòa chỉ, ngày sinh, ngaỳ vào làm, chức danh, lương năm, thưởng năm NHÂN VIÊN BÁN THỜI GIAN: mã nhân viên, tên nhân viên, đòa chỉ, ngày sinh, ngày vào làm, chức danh, đơn giá giờ công, đơn giá giờ trội Trong nhiều trường hợp, tập con có thể không có thuộc tính riêng nhưng vẫn phải mô hình chúng là tập thực thể vì: 1. Chúng diễn tả qui tắc quản lý chính xác hơn 2. Thuộc tính sẽ bộc lộ khi chúng ta tìm hiểu vấn đề kỹ hơn Giả sử nhân viên chia thành từng loại. Khái niệm loại nhân viên được mô hình thành tập thực thể với lý do: 1. Danh sách đầy đủ loại nhân viên được khai thác thướng xuyên. 2. Một loại mới có thể được ghi nhận nhưng chưa có thực thể nào thuộc loại này. Hình 6.8 - Vấn đề nhân viên và tập thực thể loại nhân viên mã nhân viên tên nhân viên đòa chỉ ngày sinh ngày vào làm chức vụ NHÂN VIÊN NHÂN VIÊN TÒAN THỜI GIAN NHÂN VIÊN BÁN THỜI GIAN mã nhân viên lương năm thưởng năm mã nhân viên đơn giá giờ công đơn giá giờ làm thêm LOẠI NHÂN VIÊN ma õ l oa ïi mô tả loại thuộc về co ù vừa là khóa chính vừa là khóa ngoại 6 Các tính chất của tập thực thể cha/con http://www.ebook.edu.vn Tài liệu Phân Tích Thiết Kế Hệ Thống 68 Hình 6.8 - Vấn đề nhân viên với các mối quan hệ mã nhân viên tên nhân viên đòa chỉ ngày sinh ngày vào làm chức vụ loại nhân viên NHÂN VIÊN NHÂN VIÊN TÒAN THỜI GIAN NHÂN VIÊN BÁN THỜI GIAN mã nhân viên lương năm thưởng năm mã nhân viên đơn giá giờ công đơn giá giờ làm thêm LOẠI NHÂN VIÊN ma õ l oa ïi mô tả loại thuộc về co ù XE CÔNG TY số đăng bộ cấu tạo kiểu dáng được cấp cho được cấp ¾ Sự tham gia vào mối kết hợp của tập thực thể con như hình 6.8 ¾ Các tập thưc thể con phải có tất cả thực thể mà tập thực thể cha có. ¾ Các tập thực thể con phải rời nhau, có tính loại trừ (exclusive). ¾ Tập thực thể con nhiều cấp http://www.ebook.edu.vn Tài liệu Phân Tích Thiết Kế Hệ Thống 69 Hình 6.10 - Mô hình ER của vấn đề tài sản ma õ t à i sản mô tả ngày mua giá trò TÀI SẢN TÀI SẢN CỐ ĐỊNH TRANG THIẾT BỊ mã tài sản loại công cụ mã tài sản số sê ri công suất CÔNG CỤ CẦM TAY CÔNG CỤ MÁY XE CÓ ĐỘNG CƠ mã tài sản kích thước hệ số khấu hao mã tài sản nơi sản xuất mã tài sản số đăng bộ kiểu dáng trọng tải số xi lanh hệ số khấu hao loại nhiên liệu LOẠI TÀI SẢN mã loại tên loại LOẠI TRANG THIẾT BỊ mã loại trang thiết bò tên loại trang thiết bò 7 Biến đổi tập thực thể cha/con thành quan hệ Có ba cách biến đổi sau: 1. Biến tập thực thể cha thành một quan hệ có tất cả thuộc tính chung và biến mỗi tập thực thể con thành một quan hệ có các thuộc tính riêng. NHÂN VIÊN(mã nhân viên , tên nhân viên, đòa chỉ, ngày sinh, ngày vào làm, chức danh) NHÂN VIÊN TOÀN THỜI GIAN(mã nhân viên , lương năm, tiền thưởng năm) NHÂN VIÊN BÁN THỜI GIAN(mã nhân viên, đơn giá giờ công, đơn giá giờ làm thêm) Mô hình quan hệ không diễn tả được qui tắc quản lý là một nhân viên hoặc là nhân viên toàn thời gian hoặc là nhân viên bán thời gian. Vậy khi cài đặt vào một hệ QTCSDL ta phải tạo các xử lý về ràng buộc này. 2. Biến mỗi tập thực thể con thành một quan hệ có thuộc tính chung và thuộc tính riêng của tập thực thể con. Không biến tập thực thể cha thành quan hệ NHÂN VIÊN TOÀN THỜI GIAN(mã nhân viên, , chức danh, lương năm, tiền thưởng năm) NHÂN VIÊN BÁN THỜI GIAN(mã nhân viên, , chức danh, đơn giá giờ công, đơn giá giờ làm thêm) Mô hình quan hệ tạo khả năng nhập một nhân viên vừa là nhân viên toàn thời gian vừa là nhân viên bán thời gian. Vậy khi cài đặt vào một hệ QTCSDL ta phải tạo các xử lý về ràng buộc này 3. Tạo một quan hệ có các thuộc tính của tập thực thể cha và tất cả các thuộc tính riêng của tất cả tập thực thể con. NHÂN VIÊN(mã nhân viên , , chức danh, loại nhân viên, lương năm, tiền thưởng năm, đơn giá giờ công, đơn giá giờ làm thêm) Khi cài đặt vào HQTCSDL ta phải xử lý ràng buộc để trống lương năm, tiền thưởng năm hoặc để trống đơn giá giờ công, đơn giá giờ làm thêm. Những khía cạnh sau giúp ta có quyết đònh thích hợp trong việc chọn lựa một trong ba mô hình quan hệ: o Dữ liệu nào được khai thác thường xuyên. http://www.ebook.edu.vn Tài liệu Phân Tích Thiết Kế Hệ Thống 70 o Thời gian đáp ứng của hệ thống. o Khả năng lưu trữ của hệ thống o Số lượng thuộc tính riêng của tập thực thể con o Khả năng thay đổi cấu trúc của csdl. Trong thực hành, cách 1 hay được chọn 8 Mô hình hóa các tập con giao nhau bằng vai trò Phòng Thương Mại. Văn phòng chính phủ DOT có trách nhiệm theo dõi các đơn vò xuấp nhập khẩu, mong muốn thiết lập một csdl theo dõi chi tiết về các công ty này. Về mô hình dữ liệu, công ty nhập khẩu và công ty xuất khẩu rất giống nhau vì chúng có nhiều thuộc tính chung và chi tiết khác biệt thì không quan trọng. Hình 6.11 - Mô hình ER của vấn đề DOT mã công ty tên đòa chỉ số điện thoại số fax số nhân viên CÔNG TY CÔNG TY NHẬP KHẨU mã công ty khối lượng xuất khẩu giá trò xuất khẩu giấy phép xuất khẩu mã công ty khối lượng nhập khẩu giá trò nhập khẩu kho nhập CÔNG TY XUẤT KHẨU phần giao Khi chuyển mô hình trên thành mô hình quan hệ chúng ta gặp phải các vấn đề xử lý sau: Dạng 1: Khi một công ty có cả chức năng nhập khẩu lẫn xuất khẩu thì khi thêm dữ liệu cho quan hệ CÔNG TY ta phải bảo đảm chỉ thêm một lần. Dạng 2: Khi thêm dữ liệu cho công ty vừa có chức năng nhập khẩu và chức năng xuất khẩu thì sẽ gây ra dư thừa dữ liệu. Dạng 3: Chỉ thích hợp cho công ty vừa có chức năng nhập khẩu lẫn chức năng xuất khẩu. Còn đối với công ty chỉ có một chức năng đòi hỏi ta phải để trống các cột thích hợp. Để tránh các vấn đề liên quan đến xử lý trên, chúng ta tách riêng các chi tiết về công ty với vai trò của nó như mô hình sau: Mô hình trên được hình thành theo các qui tắc sau: http://www.ebook.edu.vn Tài liệu Phân Tích Thiết Kế Hệ Thống 71 o Tên của tập thực thể diễn tả vai trò nên có từ VAI TRÒ như VAI TRÒ NHẬP KHẨU, VAI TRÒ XUẤT KHẨU. o Tên, bản số và tính không bắt buộc của mối kết hợp tương ứng được diễn tả như hình trên IV TẬP THỰC THỂ CHA, CON TRONG CÁC BƯỚC MÔ HÌNH HÓA DỮ LIỆU Hình 6.13 - Tập thực thể cha, con trong các bước 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ệ 5. V BÀI TẬP 6.1 Đôi khi, máy bay dân sự được phép hoạt động trong căn cứ không quân. Viên sỹ quan chỉ huy căn cứ không quân phía tây bắc mệnh lệnh phải ghi nhớ tất cả máy bay dân sự cũng như quân sự hoạt động trong căn cứ. Thông tin về năm sản xuất máy bay phải được ghi nhận. M ỗi chuyến bay được thực hiện bởi một máy bay. Đặc biệt, chi tiết về phi công (họ tên, đòa chỉ, số điện thoại), giờ khởi hành, giờ kết thúc phải được ghi nhớ trong các chuyến bay. Một phi công có thể lái trên các chuyến bay khác nhau và một chuyến bay có thể được lái bởi một phi công chính và một phi công phụ. Đối với máy bay dân sự, viên sỹ quan chỉ huy rất quan tâm đến số lượng ghế ngồi của máy bay, còn đối với máy bay quân sự họ lại quan tâm đến trọng tải của máy bay. Máy bay quân sự có thể được trang bò nhiều loại vũ khí khác nhau. Mỗi loại vũ khí phải có một tên. Mỗi vũ khí thuộc một lọai vũ khí được phân biệt bằng số sê ri và có ghi ngày sản xuất. Thời điểm lắp đặt một vũ khí trên máy bay phải được ghi nhận. Cùng một vũ khí có thể được lắp đặt cho nhiều máy bay ở các thời điểm khác nhau. Hãy thực hiện các yêu cầu sau: (a) Xây dựng mô hình ER. (b) Chuyển mô hình ER thành mô hình quan hệ. Thiết kế phần xử lý thông tin đáp ứng lại sự kiện lắp đặt vũ khí cho máy bay quân sự. oOo http://www.ebook.edu.vn Taứi lieọu Phaõn Tớch Thieỏt Keỏ Heọ Thoỏng 72 . hình quan hệ: o Dữ liệu nào được khai thác thường xuyên. http://www.ebook.edu.vn Tài liệu Phân Tích Thiết Kế Hệ Thống 70 o Thời gian đáp ứng của hệ thống. o Khả năng lưu trữ của hệ thống. http://www.ebook.edu.vn Tài liệu Phân Tích Thiết Kế Hệ Thống 63 Chương 7 . 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). http://www.ebook.edu.vn Tài liệu Phân Tích Thiết Kế Hệ Thống 69 Hình 6.10 - Mô hình ER của vấn đề tài sản ma õ t à i sản mô tả ngày mua giá trò TÀI SẢN TÀI SẢN CỐ ĐỊNH TRANG THIẾT BỊ mã tài sản