PDA

View Full Version : Quan hệ nhiều nhiều sản phẩm và hóa đơn



sonC0609k
29-02-2008, 21:01
em xem nhiều mô hình ERD thì thấy là
quan hệ sản phẩm và hóa đơn thì là quan hệ nhiều nhiều tức là
_ 1 hóa đơn có thể ghi nhiều sản phẩm
_1 sản phẩm có thể có mặt trên nhiều hóa đơn

bảng hóa đơn có khóa chính là trường mã hóa đơn(MHD)
bảng sản phẩm có khóa chính là trường mã sản phẩm(MSP)

trên mô hình diagram thì không biểu thị được mối quan hệ này nên giữa hai bảng này phải sinh ra 1 bảng trung gian em đặt tên là [chi tiết hóa đơn] bảng này gồm 2 khóa ngoại hợp thành 1 khóa tổ hợp là mã hóa đơn và mã sản phẩm
bảng [ chi tiết] này gồm 2 khóa là(MHD,MSP)

ví dụ
MHD / bảng hóa đơn của em có các bản ghi từ 1-10 (được rằng buộc identyti)
MSP /bảng sản phẩm cũng vậy

vậy thì các giá trị trên bảng [chi tiết] kia em sẽ phải nhập vào nó ra sao

bác nào giúp em với , em cám ơn nhiều

Zephyr
01-03-2008, 12:18
vd:
Hóa đơn 1: có 3 sản phẩm A,B,C. Bạn phải thêm 3 records vào bảng chi tiết: 1,A; 1,B; 1,C;.
Hóa đơn 2: có 4 sản phẩm A,C,D,E. Bạn phải thêm 4 records vào bảng chi tiết: 2,A; 2,C; 2,D; 2,E;.

Clear!

sonC0609k
01-03-2008, 12:49
nhưng MSP ở đây là từng sản phẩm 1
thí dụ kho nhà em có 3 cái xe máy
em nhập vào MSP là từ 1 đến 3
xong em bán cái xe có MSP là 1 cho ai đó, em viết cho nó cái hóa đơn có mã số MHD=1 , thì bây giờ em ko thể viết bán cái xe có MSP=1 vào tờ MHD=2 nữa

còn theo như anh nói thì dù đã bán chiếc xe MSP=1 và ghi MHD=1 rồi thì vẫn có thể ghi MSP=1 và ghi MHD =2

có lẽ em hiểu sai anh giải thích rõ ràng chút được không?

nguyenvuhoang
01-03-2008, 21:00
nói như zepphyr là hoàn toàn chính xác vì nó dảm bảo được điều kiện khóa nogài (bao gồm MHD va MSP) không bao giờ trùng nhau. Chú ý khóa ở đầy được kết hợp gữa MSP và MHD. Híc 9 năm rùi mới có dịp ôn lại kiến thức phân tích thiết kế hệ thông

tin.truc22
02-03-2008, 16:04
Bạn đưa cái ERD đó lên để mình xem với được không. Môn này tiếng anh kêu là Dâtbase Design hả?

duongdragonxxx
04-03-2008, 23:04
1/ 1 sản phẩm có thể được mua bởi nhiều người. Nếu hết sản phẩm thì kô thể bán
2/ Mỗi lần khách hàng có thể mua cùng 1 lúc nhiều sản phẩm trong 1 hóa đơn

Phát sinh bảng
orderDetails
- OrderID
- ProductID
- Price
- Quantity
...
Làm thế nào để nhận biết còn sản phẩm hay kô để bán cho khách hàng thì trong tầng business fải check chuyện này. Nếu còn thì mới cho phép bán (kô thể lập hóa đơn với số lượng âm).

uyenchi
05-03-2008, 23:28
nhưng MSP ở đây là từng sản phẩm 1
thí dụ kho nhà em có 3 cái xe máy
em nhập vào MSP là từ 1 đến 3
xong em bán cái xe có MSP là 1 cho ai đó, em viết cho nó cái hóa đơn có mã số MHD=1 , thì bây giờ em ko thể viết bán cái xe có MSP=1 vào tờ MHD=2 nữa

còn theo như anh nói thì dù đã bán chiếc xe MSP=1 và ghi MHD=1 rồi thì vẫn có thể ghi MSP=1 và ghi MHD =2

có lẽ em hiểu sai anh giải thích rõ ràng chút được không?

3 xe gắn máy cùng loại thì chỉ 1 mã hàng thôi em nhé.

Ví dụ: Cửa hàng xe gắn máy có
Future Neo MS là: FNE
MAX II có MS là MAX
WAVE ALPHA MS là WAA

Nhập về:
3 chiếc FNE
5 chiếc WAA
10 chiếc MAX

Bán cho ông A 2 FNE và 2WAA thì xuất hóa đơn
MSHD: 012007 với chi tiết HĐ
+ FNE : 2
+ WAA: 2

Bán cho bà B 5 chiếc MAX và 2 chiếc WAA
MSHD: 022007 với chi tiết HĐ
+ MAX: 5
+ WAA: 2

==> như vậy trong mỗi HD đều có nhiều mã số xe và mỗi loại xe có thể thuộc về nhiều HĐ rồi đó. Phù phù, môn này gọi là CƠ SỞ DỮ LIỆU hay tuyệt cú mèo.