Quản lý mua bán hàng - Phần 3: Relationships

phatnq2002

Tích cực giảm cân...
Hội viên mới
Hôm nay tôi post tiếp phần 3 - Thiết lập quan hệ giữa các bảng

Các bạn vui lòng tải file đính kèm về để xem và đón góp ý kiến.

Nội dung trong file bao gồm:

Phần 1: Tóm tắt lý thuyết - dành cho các bạn mới làm quen Access nắm cơ bản phần nào về quan hệ

Phần 2: Thiết lập quan hệ dựa trên CSDL của ứng dụng của chúng ta.

Phần 2 chỉ thao tác cho 2 bảng ví dụ, các bảng còn lại các bạn sẽ thực hiện theo mẫu đề nghị ở trang cuối.

Mọi đóng góp thảo luận đang được chờ đợi.

Phần thiết kế giao diện sẽ được post tiếp vào ngày mai.
 

Đính kèm

muontennguoi

Member
Thành viên BQT
Super Moderators
Ðề: Quản lý mua bán hàng - Phần 3: Relationships





Nhận xét thứ 1:

Xem các quan hệ trong các ô màu đỏ ta thấy chúng :
- Có cùng chìều.
- Các table bên phải ô đỏ thứ 1 có cấu trúc rất giống nhau. Tình hình tương tự trong các ô đỏ khác.

Nếu ta gộp các table có cùng tính chất thành 1 thì sơ đồ quan hệ trở thành:



Như vậy ta có các table sau:

tblBANGGIA ---------tblDMHH---------tblNHAPXUATCHITIET---tblNHAPXUAT-----tblDMKHNCC ------tblTHUCHI--------tblTHUCHICHITIET


Khi đó ta cũng xem xét lại cách đặt tên field.
Ví dụ: trong tblNHAPXUAT đổi nhap_so, nhap_ngay thành so, ngay vì lúc này table dùng cho cả PX lẫn PN và chúng đều có số, ngày.
Trong tblNHAPXUAT sẽ phải thêm field LOẠI_CTỪ. Tương tự cho các table hợp khác.






Lưu ý:
  • Chỉ gộp (phép hợp) được khi đảm bảo sau đó có thể phân rã bảo tòan dữ liệu.
  • Nên tránh phân rã nếu lược đồ đã ở dạng chuẩn mong muốn.
  • Nên xem xét tổ hợp các lược đồ quan hệ con thành lược đồ lớn hơn nếu lược đồ lớn hơn vẫn đạt dạng chuẩn mong muốn
 

Đính kèm

phatnq2002

Tích cực giảm cân...
Hội viên mới
Ðề: Quản lý mua bán hàng - Phần 3: Relationships

Ý kiến của bác muontennguoi hữu ích cho bạn nào muốn gộp các bảng lại làm một như ở phần 2 - Thiết kế CSDL đã đề cập.

Các bạn có thể thiết kế theo đề nghị của tôi + theo ý kiến của bác muontennguoi, nhưng nhớ là 2 version khác nhau nhé. :441: Để tránh bị conflict.

Nhưng chỉ với bạn nào đã có một số vốn về Access và lập trình thì mới làm 2 cái cùng lúc nghen. Nếu không sẽ bị "tẩu hỏa nhập ma" đó.
 

Access2k

Member
Hội viên mới
Ðề: Quản lý mua bán hàng - Phần 3: Relationships

Như vậy cái RelationShip đã rõ ràng rồi!
- Sơ đồ như Phatnq đưa ra đã rất mạch lạc.
- Sơ đồ như muontennguoi đưa ra có gộp các bảng.

Về lý thuyết hoàn toàn có thể gộp các bảng lại như muontennguoi. Nhưng khi gộp lại sẽ mất công viết code thêm tí chút; ví dụ đặt 1 Field có lựa chọn 1: xuất 2: nhập ... lại nữa các label cho text box cũng phải đổi tên cho phù hợp nhập xuất thu chi (nếu làm Forrm Continuos thì không sao nếu làm Form DataSheet là mệt đấy). Chúng ta cứ chọn phương án ... "rời rạc" để đơn giản dễ hiểu.

Việc bổ sung table Giá và bỏ table loại hàng hoá: như vậy cũng có thể được. Khi nhập loại hàng hoá - là combobox không dùng NotInList. Thêm table loại hàng hoá nữa thì hay hơn - thuận tiện khi thống kê theo group.

Xong cái RelationShip hình như là chúng ta đã đi được 25% quãng đường thì phải!
 
Sửa lần cuối:

muontennguoi

Member
Thành viên BQT
Super Moderators
Ðề: Quản lý mua bán hàng - Phần 3: Relationships

Nhận xét 1b:

Tiếp theo bài trước.

Sau khi đã hợp các table Nhập, xuất thành tblNHAPXUAT và THU, CHI thành tblTHUCHI ta xếp chúng về 1 bên cho cùng chiều với nhau:





Nếu ta muốn hợp các table tblNHAPXUAT và tblTHUCHI về 1 tblCHUNGTUGOC mà ở đó sẽ lưu giữ những thông tin bắt buộc (và do đó luôn luôn phải có) của 1 chứng từ kế toán: [tên chứng từ], [số chứng từ], [ngày chứng từ], [tên người (nhận, giao, khách hàng, nhà cung cấp...)], [số tiền].

Chắc chắn bạn sẽ thêm các thông tin như là: năm ghi sổ, TK ghi Nợ, Có ...

Các thông tin chi tiết mã hàng, số lượng ... sẽ đưa ra lưu ở table chi tiết.

Hiển nhiên, 1 PX, PN hay Hóa đơn sẽ có nhiều dòng mã hàng.
Nhưng với PT, PC sẽ chỉ có duy nhất 1 dòng mã loại tiền.

Điều này không làm cho ta buộc phải tạo 2 table chi tiết riêng cho PT, PC và PN,PX riêng ra.
Đơn giản là PT, PC thì có 1 dòng chi tiết, còn PN, PX thì có 1 hoặc nhiều dòng chi tiết.

Tuy nhiên còn có vấn đề thể hiện mối quan hệ: PC này là trả tiền cho PN nào?

Mở 1 table lưu giữ mối tương quan ấy là table số 2 trong hình sau:
(table số 1 bây giờ sẽ là table tblCHUNGTUGOC).





Từ đó ta cũng có thể đưa tiếp các chứng từ khác như là hóa đơn đầu vào, hóa đơn đầu ra ... vào hệ thống cơ sở dữ liệu.
 

Đính kèm

muontennguoi

Member
Thành viên BQT
Super Moderators
Ðề: Quản lý mua bán hàng - Phần 3: Relationships

Nhận xét 1c (tiếp bài trước):

Sau khi gộp các table lưu giữ thông tin về các PN, PX, PT, PC, HĐ ... vào chung 1 table và đổi tên field cho dễ nhớ, ta có sơ đồ quan hệ:


Trong đó tblCTTHANHTOAN dùng khi DN cần theo dõi tuổi nợ, thanh toán theo từng hóa đơn, từng đơn hàng.
Khi đó tblCTTHANHTOAN thể hiện mỗi PN (hoặc hóa đơn bán ra) được thanh toán bởi những PC nào (hoặc PT nào).





Giả sử ta thiết kế data của kế toán theo hình thức Nhật Ký Chung thì quan hệ như sau:




Ghi chú:
- 1 định khỏan kế toán có thể cần 1 hoặc nhiều chứng từ gốc (Ví dụ: N156/C111 -> cần CTG là 1 PN + 1 PC).
- 1 chứng từ gốc đôi khi cũng có thể là cơ sở cho nhiều định khỏan (Ví dụ: 1 PC ta định khỏan kép N642,133/C111. Khi đó ta sẽ chẻ ra thành 2 định khỏan đơn là N642/C111 và N133/C111).
- Để giải quyết mối quan hệ 2 mặt đó và tránh quan hệ nhiều-nhiều ta cần thêm 1 table là tblthamchieuNKC.

-------

Hy vọng điều đó đã giải thích mối quan hệ giữa phân hệ kho hàng với data chung của hệ thống thông tin kế toán của DN.


Tất nhiên ngay bây giờ có thể chưa quan tâm đến sổ Nhật Ký Chung.
Tập trung lo phân hệ Kho Hàng + Thanh Toán trước.
 

Đính kèm

sh_0486

New Member
Hội viên mới
Ðề: Quản lý mua bán hàng - Phần 3: Relationships

__________________________________________________________
Rat may vi em duoc doc Bai nay
em dang lam ve CSDL ban hàng
em muon hoi chi tiet ve bai minh lam co duoc khong ah
ở bảng Khncc la minh gop ca khach hang va nhà cung cap vao phải không ah?
vậy sau truy vấn có khó không ah!Giup em duoc khong ah
em can gap wa
hix
em cảm ơn rất nhiều
 

CẨM NANG KẾ TOÁN TRƯỞNG


Liên hệ: 090.6969.247

KÊNH YOUTUBE DKT

Kỹ thuật giải trình thanh tra BHXH

Đăng ký kênh nhé cả nhà

SÁCH QUYẾT TOÁN THUẾ


Liên hệ: 090.6969.247

Top