CHƯƠNG 4 PHÂN TÍCH Ý NIỆM DỮ LIỆU
III. C ÁC CÔNG Cụ BIểU DIễN PTH CHO MÔ HÌNH E−A
III.4. Chuyển đổi giữa mô hình dữ liệu và đồ thị PTH
Làm thế nào để chuyển đổi một đồ thị PTH thành mô hình thực thể - kết hợp ? III.4.1.PTH có nguồn là dữ liệu sơ cấp
Nếu PTH có nguồn là dữ liệu sơ cấp thì xây dựng thực thể có khoá là nguồn của PTH đã cho. Ví dụ : SốĐĐH là khoá của thực thể ĐĐH-KH
III.4.2.PTH sơ cấp giữa khoá và các dữ liệu sơ cấp
Nếu là PTH sơ cấp giữa khoá và các dữ liệu sơ cấp thì xây dựng thực thể có các thuộc tính là các dữ liệu sơ cấp và khoá của thực thể là nguồn của PTH đã cho.
Ví dụ :
Thực thể : ĐĐH-KH SẢNPHẨM
Khoá : SốHĐặtHg MãKH
Các thuộc tính : MãKH NgàyĐặtHg GiáTiền
SLCó SLBáoĐộng SLSX Chỉ dẫnHg
SLCó SLBáoĐộng SLSX NgàyCó GiáĐơnVị SốHĐĐặtHg
Giải thích :
MãHàng SốHĐGiaoHg
MãKH + Tháng NơiBánHg
NgàyGiao MãKH NgàyĐặtHg GiáTiền SLĐặt
NgàyBán GiáNơiBán SLBán HạnGiaoHg
MãKH
TênKH DSNăm-1 ĐịaChỉKH ĐiệnThKH
DSốTháng
Tháng
TênTháng
PTH sơ cấp và trực tiếp PTH
PTH không hoàn toàn
PTH không hoàn toàn tương hỗ
PTH giữa các khoá
PTH không sơ cấp +
III.4.3.PTH sơ cấp giữa các khoá
Nếu là PTH sơ cấp giữa các khoá thì tạo ra một kết hợp phân cấp (CIF).
Ví dụ : PTH giữa các khoá : SốHĐặtHg ⎯→ MãKH được chuyển thành :
Hình 4.59 Kết hợp phân cấp
Kết hợp “Được yêu cầu bởi ⁄ Đã yêu cầu” là phân cấp vì rằng bản số cực đại bên trái bằng 1 và bản số bên phải bằng n. Một đơn đặt hàng chỉ có thể được yêu cầu bởi một và chỉ một khách hàng, bản số (1−1), trong khi đó, một khách hàng có thể yêu cầu nhiều đơn đặt hàng, bản số cực đại sẽ là n.
Khách hàng có thể đã yêu cầu tối thiểu 1 hoặc 0 đơn đặt hàng. Ở đây, với mỗi xử lý, CSDL đặt giá trị 0 cho mỗi dữ liệu liên quan đến việc quản lý đơn đặt hàng và nơi bán hàng. Ngược lại, giá trị của mỗi dữ liệu thuộc các thực thể KHHÀNG và SẢNPHẨM được chép lại từ xử lý trước đó.
Như vậy, một khách hàng dù có mặt trong CSDL nhưng có thể vẫn chưa yêu cầu một đơn đặt hàng nào. Điều này giải thích vì sao bản số tốt thiểu là 0.
III.4.4.PTH không sơ cấp
Với các PTH loại vế trái ghép này, xây dựng kết hợp không phân cấp (CIM). Các thành phần khoá chỉ ra các thực thể liên quan.
Ví dụ : MãKH + Tháng → DSốTháng được chuyển thành :
Hình 4.60 Kết hợp không phân cấp
Kết hợp “Đã mua hàng” là không phân cấp vì bản số cực đại của cả hai đều bằng n. Bản số 0−n (KHHÀNG) chỉ ra rằng một khách hàng có thể không có doanh số tháng, nếu khách hàng này chưa yêu cầu một đơn đặt hàng nào. Ngược lại, khách hàng này có thể có doanh số tháng tuỳ theo số tháng đã trải qua từ khi bắt đầu xuất hiện trong CSDL. Bản số 1−n (THÁNG) chỉ ra rằng với một tháng đã cho, có ít nhất một khách hàng đã yêu cầu một hoặc nhiều đơn đặt hàng.
THÁNG
KHHÀNG 0−n 1−n Đã mua hàng
DSốTháng
KHHÀNG ĐĐH-KH
1−1 0−n Được yêu cầu bởi ⁄ Đã yêu cầu
CIF
Mô hình thực thể - kết hợp cho nhà máy đóng hộp DanaFood như sau :
Hình 4.61 Mô hình ý niệm dữ liệu của DanaFood
Bài tập chương 4
1. Công ty bảo hiểm tài sãn BAVICO
Công ty bảo hiểm tài sãn BAVICO bảo hiểm các loại bất động sản như nhà, cửa hàng, garage, kho bãi... Để xây dựng HTTT, công ty cần những thông tin sau :
Tên, họ, địa chỉ và điện thoại của chủ sỡ hữu.
Tên, tình trạng và địa chỉ bất động sản của chủ sỡ hữu.
Ví dụ ông Trần Văn A ngụ tại ..., điện thoại... có một căn nhà cấp 2 tại ...
Yêu cầu :
1. Xây dựng mô hình thực thể - kết hợp biểu diễn các thực thể, các thuộc tính, các khoá, các kết hợp và kiểu của kết hợp, các bản số tương ứng về sở hữu.
2. Tương tự câu a) nhưng về quan hệ thuê bất động sản (vẽ trên cùng một mô hình). Ví dụ ông Trần Văn A ngụ tại ..., điện thoại... thuê (để hành nghề) cửa hàng ăn uống bình dân tại tại ...
1 − 1 1 − 1
0 − n 0 − n
Đã mua hàng DSốTháng KHHÀNG
MãKH TênKH ĐĩaChỉKH DSốNăm-1
0 − 1 0 − 1 0 − 1 0 − 1
0 − n 1 − n THÁNG
SốTháng TênTháng
1 − 1 0 − n
0 − n 1 − 1
GIAOHÀNG SốPhiếu NgàyGiao
SẢNPHẨM MãSP TênSP GiáĐơnVị
SLCó SLBáoĐộng ĐĐH-KH
SốĐĐH NgàyĐH
SLĐặt SốTiền GhiChúKH
NƠIBÁN NơiBánSố.
NgàyBán GiáBán
SLBán HạnGiaoHg
Giải thích : là các CIF.
Món ăn dự thi :
− Tên món ăn (bò lúc lắc, sôt vang thỏ, ốc hấp gừng, ...)
− Kiểu (khai vị, món chính, tráng miệng, ...) Thực phẩm dùng để làm món ăn :
− Loại (thịt, cá, rau, bột, ...)
− Tên thực phẩm (gà công nghiệp, chim bồ câu, bò, ...)
− Đặc điểm (tươi, ướp lạnh, hun khói, ...)
Tên, họ, địa chỉ, cửa hàng đang hành nghề ... của mỗi người đầu bếp dự thi.
Với mỗi món ăn, mỗi đầu bếp dự thi có cách chuẩn bị riêng. Ví dụ cùng làm món Trứng Vương miện, ông A dùng 6 quả trứng và 200 gram mỡ lợn, nhưng ông B lại chỉ dùng 5 quả trứng và 150 gram beure.
Chú ý : Mỗi món ăn phải nấu cho nhiều người ăn, không làm cho một người.
Mỗi đầu bếp khong làm tất cả các món ăn dự thi.
Yêu cầu : Xây dựng mô hình thực thể - kết hợp cho HTTT vừa nêu.