Chuyển mô hình ER sang mô hình quan hệ

Một phần của tài liệu Phân tích và thiết kế hệ thống quản lý phần mềm kế toán bán hàng tại chi nhánh công ty cổ phần sông gianh tại từ liêm – hà nội (Trang 69 - 72)

- Phát triển luồng dữ liệu mức 0

3.1.4Chuyển mô hình ER sang mô hình quan hệ

Sơ đồ cấu trúc dữ liệu

HàngHóa: #Mahh, TênHàngHóa,

ĐịaBàn: #Mađb, TênĐịaBàn, NgườiPhụTrách Kho: #Makho, TênKho

NhânViên: #Manv, TênNhânViên, ChứcVụ

KháchHàng: #Mãkh, TênKháchHàng, Địachỉ…., Mãđb,

NgườiPhụTrách

Biểu diễn các mối quan hệ <BáoGiá>

=> BảngBáoGiá (Số, NgàyLập, NgàyÁpDụng, HàngHóa, GiáCả)

<ĐặtHàng>

=> HợpĐồng (Số, NgàyLập, BênA, ĐịaChỉA, SốĐiệnThoạiA,

MãSốThuếA, TàiKhoảnA, NgânHàngA, BênB, ĐịaChỉB, SốĐiệnThoạiB, HàngHóa, SốLượng, ĐơnGiá, ThànhTiền)

<Bán>

=> HóaĐơn (Số, NgàyLập, KháchHàng, HợpĐồng, ĐịaChỉ,

ĐịaBàn, DạngKháchHàng, HìnhThứcThanhToán, DiễnGiải, HàngHóa, ĐơnVịTính, SốLượng, ĐơnGiá, ThànhTiền, ThuêSuất, Thuế, TổngTiền)

<Xuất>

=> PhiếuXuấtKho (Số, NgàyLập, KháchHàng, ĐịaChỉ,

NgườiNhậnHàng, XuấtTạiKho, HợpĐồng, ChứngTừCơSở, HàngHóa, ĐơnVịTính, SốLượng, ĐơnGiá, ThànhTiền)

<Thu>

=> PhiếuThu (Số, NgàyLập, TênNgườiThanhToán, ĐịaChỉ, LýDo,

SốTiền, ChứngTừCơSở, TKNợ, TKCó)

=> PhiếuChi (Số, NgàyLập, TênNgườiNhận, ĐịaChỉ, LýDo, SốTiền, ChứngTừCơSở, TKNợ, TKCó)

<TrảLại>

=> PhiếuNhậpHàngTrảLại (Số, NgàyLập, KháchHàng, ĐịaChỉ,

HợpĐồng, ChứngTừCơSở, NhậpLạiKho, HàngHóa, ĐơnVịTính, SốLượng, ĐơnGiá, ThànhTiền)

Chuẩn hóa

Chuẩn hóa là quá trình chuyển một quan hệ có cấu trúc phức hợp thành các quan hệ có cấu trúc đơn giản hơn và bền vững hơn. Chuẩn hóa dữ liệu có thể xem như một quá trình phân tích các lược đồ quan hệ cho trước dựa trên các phụ thuộc hàm và các khóa chính của chúng để đạt đến các tính chất mong muốn như: cực tiểu sự dư thừa và cực tiểu các phép cập nhật bất thường.

Hiện nay đã có nhiều dạng chuẩn có thể loại bỏ dư thừa rất tốt như chuẩn 4, chuẩn 5, Boyce – Codd, nhưng các chuẩn này lại gây khó khăn cho người lập trình nên ta chỉ xét đến dạng chuẩn 3.

 Chuẩn hoá PhiếuXuất

PhiếuXuấtKho chứa thuộc tính lặp (HàngHóa, SốLượng, ĐơnGiá, ThànhTiền) nên chưa ở 1NF, tách phiếu xuất thành hai quan hệ.

PhiếuXuấtKho (Số, NgàyLập, KháchHàng, ĐịaChỉ, NgườiNhậnHàng, XuấtTạiKho, HợpĐồng, ChứngTừCơSở)

DòngPhiếuXuấtKho (Số, HàngHóa, ĐơnGiá, ĐơnVịTính, SốLượng, ThànhTiền) (adsbygoogle = window.adsbygoogle || []).push({});

 Chuẩn hoá PhiếuNhậpHàngTrảLại

PhiếuNhậpHàngTrảLại chứa thuộc tính lặp (HàngHóa, SốLượng, ĐơnGiá, ThànhTiền) nên chưa ở 1 NF, tách phiếu thành 2 quan hệ:

PhiếuNhậpHàngTrảLại (Số, NgàyLập, KháchHàng, ĐịaChỉ, HợpĐồng, ChứngTừCơSở, NhậpLạiKho)

DòngPhiếuNhậpHàngTrảLại (Số, HàngHóa, SốLượng, ĐơnVịTính, ĐơnGiá, ThànhTiền)

 Chuẩn hoá PhiếuThu

PhiếuThu chứa thuộc tính lặp (ChứngTừCơSở, SốTiền) nên chưa ở 1NF, tách phiếu thành 2 quan hệ

PhiếuThu (Số, NgàyLập, TênNgườiThanhToán, ĐịaChỉ, LýDo, TKNợ, TKCó)

DòngPhiếuThu (Số, ChứngTừCơSở, SốTiền)

 Chuẩn hoá PhiếuChi

PhiếuThu chứa thuộc tính lặp (ChứngTừCơSở, SốTiền) nên chưa ở 1NF, tách phiếu thành 2 quan hệ:

PhiếuChi (Số, NgàyLập, TênNgườiNhận, ĐịaChỉ, LýDo, TKNợ, TKCó)

DòngPhiềuChi (Số, ChứngTừCơSở, SốTiền)

 Chuẩn hoá HóaĐơn

HóaĐơn chứa thuộc tính lặp (HàngHóa, SốLượng, ĐơnGiá, ThànhTiền, ThuếSuất, Thuế, TổngTiền) nên chưa ở 1NF, tách phiếu nhập thành hai quan hệ.

HóaĐơn (Số, NgàyLập, KháchHàng, HợpĐồng, ĐịaChỉ, ĐịaBàn, DạngKháchHàng, HìnhThứcThanhToán, DiễnGiải)

DòngHóaĐơn (Số, HàngHóa, ĐơnVịTính, SốLượng, ĐơnGiá, ThànhTiền, ThuếSuất, Thuế, TổngTiền)

 Chuẩn hoá HợpĐồng

HợpĐồng chứa thuộc tính lặp (HàngHóa, SốLượng, ĐơnGiá, ThànhTiền) nên chưa ở 1NF, tách phiếu nhập thành hai quan hệ.

HợpĐồng (Số, NgàyLập, BênA, ĐịaChỉA, SốĐiệnThoạiA,

MãSốThuếA, TàiKhoảnA, NgânHàngA, BênB, ĐịaChỉB, SốĐiệnThoạiB) DòngHợpĐồng (Số, HàngHóa, SốLượng, ĐơnGiá, ThànhTiền)

Một phần của tài liệu Phân tích và thiết kế hệ thống quản lý phần mềm kế toán bán hàng tại chi nhánh công ty cổ phần sông gianh tại từ liêm – hà nội (Trang 69 - 72)