Chuyển mô hình E-R sang mô hình quan hệ

Một phần của tài liệu 165 xây DỰNG PHẦN mềm kế TOÁN DOANH THU bán HÀNG TẠI CÔNG TY TNHH BIỂN ĐÔNG (Trang 97)

Biểu diễn thực thể:

Tài khoản => DMTK (MaTK, TenTK, CapTK, TKCapTren) Kho => DMKHO (MaKho, TenKho)

Khách hàng => DMKH (MaKH, TenKH, SDT, DiaChi, Email, MaSoThue) Hàng hóa => DMHH (MaHH, TenHH, DVT, DonGia, MaLoai)

Loại hàng hóa =>DMLoai (MaLoai, TenLoai)

CKTM => CKTM (Sobang, MaHH, NgayHLuc, TyleCK)

Biểu diễn các mối quan hệ:

Nhập <PhieuNhap> (SoCT, NgayCT, TKNo, TKCo, MaKH, MaHH, MaKho, DienGiai, SoLuong, DVT, DonGia, ThanhTien, CTLQ)

Xuất <PhieuXuat> (SoCT, NgayCT, TKNo, TKCo, MaKH, MaKho, MaHH, SoLuong, DVT, DonGia, ThanhTien, DienGiai, CTLQ)

Bán <HDHH> (SoCT, NgayCT, MaKH, ThueSuat, SoLuong, DVT, DonGia, ThanhTien, TKNoThanhToan, TKCoDoanhThu, TKCoThue, TienThanhToan, TienDoanhThu, TienThue, CTLQ, HTTT, TKChietKhau, TyleCK, TienCK)

Giảm giá <PhieuGiamGia> (SoCT, NgayCT, MaKH, TKNo, TKCo, CTLQ, DienGiai, MaHH, SoLuong, DVT, DonGia, ThanhTien, TongTien)

Trả lại <HoaDonTraLai> (SoCT, NgayCT, MaKH, TKNo, TKCo, CTLQ, DienGiai, MaHH, SoLuong, DVT, DonGia, ThanhTien, TongTien)

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.

a. Chuẩn hóa PhieuNhap

PhieuNhap có các thuộc tính lặp là MaHH, SoLuong, DonGia,

ThanhTien nên chưa thỏa mãn chuẩn 1 NF. Tách PhieuNhap ra làm 2 lược đồ quan hệ:

PhieuNhap (SoCT, NgayCT, TKNo, TKCo, MaKH, MaKho, DienGiai, CTLQ)

CTPhieuNhap (SoCT, MaHH, SoLuong, DVT, DonGia, ThanhTien

b. Chuẩn hóa PhieuXuat

PhieuXuat có các thuộc tính lặp là MaHH, SoLuong, DonGia,

ThanhTien nên chưa thỏa mãn chuẩn 1 NF. Tách PhieuXuat ra làm 2 lược đồ quan hệ:

PhieuXuat (SoCT, NgayCT, TKNo, TKCo, MaKH, MaKho, DienGiai, CTLQ)

CTPhieuXuat (SoCT, MaHH, SoLuong, DVT, DonGia, ThanhTien)

c. Chuẩn hóa HDHH

HDHH có các thuộc tính trùng lặp là (MaHH, SoLuong, DonGia, ThanhTien) nên chưa thỏa mãn chuẩn 1 NF. Tách HDHH ra làm 2 lược đồ quan hệ:

HDHH (SoCT, NgayCT, MaKH, ThueSuat, TKNoThanhToan, TKCoDoanhThu, TKCoThue, TKChietKhau, TienCK, TienThanhToan, TienDoanhThu, TienThue, HTTT, CTLQ)

CTHoaDon (SoCT, MaHH, SoLuong, DVT, DonGia, ThanhTien)

d. Chuẩn hóa PhieuGiamGia

PhieuGiamGia có các thuộc tính lặp là MaHH, SoLuong, DonGia nên chưa thỏa mãn chuẩn 1 NF. Tách PhieuGiamGia ra làm 2 lược đồ quan hệ:

PhieuGiamGia (SoCT, NgayCT, MaKH, TKNo, TKCo, CTLQ, DienGiai)

CTPhieuGiamGia (SoCT, MaHH, SoLuong, DVT, DonGia, ThanhTien)

e. Chuẩn hóa HoaDonTraLai

HoaDonTraLai có các thuộc tính lặp là MaHH, SoLuong, DonGia, ThanhTien nên chưa thỏa mãn chuẩn 1 NF. Tách HoaDonTraLai ra làm 2 lược đồ quan hệ:

HoaDonTraLai (SoCT, NgayCT, MaKH, TKNo, TKCo, CTLQ, DienGiai)

CTHoaDonTraLai (SoCT, MaHH, SoLuong, DVT, DonGia, ThanhTien)

 Tất cả các quan hệ đã thỏa mãn chuẩn BCNF

3.2.2. Thiết kế cơ sở dữ liệu vật lý

Từ biểu đồ mô hình quan hệ, áp dụng vào thực tế của hệ thống ta giữ lại các quan hệ: DMKH, DMHH, DMTK, DMLoai, HDHH, DMKHO, CTHoaDon, CKTM, PhieuNhap, PhieuXuat, CTPhieuNhap, CTPhieuXuat, PhieuGiamGia, CTPhieuGiamGia, HoaDonTraLai, CTHoaDonTraLai

Sử dụng hệ quản trị cơ sở dữ liệu Microsoft SQL Server Management. Mã của các bảng được đặt tên theo quy tắc chung là các kí tự chữ cài sẽ viết tắt cho đối tượng được thể hiện. Dựa vào kết quả chuẩn hóa trên và tình hình thực tế yêu cầu. Ta có cơ sở dẽ liệu vật lý được thiết kế như sau:

Bảng 3.3: Cơ sở vật lý danh mục tài khoản

DMTK

Tên trường Kiểu Ý nghĩa Ràng buộc

MaTK Nvarchar(10) Mã tài khoản Khóa chính

TenTK Nvarchar(50) Tên tài khoản

CapTK Int Cấp tài khoản

TKCapTren Nvarchar(10) Tài khoản cấp trên

- Quy tắc mã hóa: MaTK được viết theo số hiệu TK trong Bảng danh mục hệ thống tài khoản kế toán doanh nghiệp ban hành theo thông tư 200- 22/12/2014 của Bộ Tài Chính.

DMKH

Tên trường Kiểu Ý nghĩa Ràng buộc

MaKH Nvarchar(10) Mã khách hàng Khóa chính TenKH Nvarchar(150) Tên khách hàng

SDT Nvarchar(12) Số điện thoại

DiaChi Nvarchar(200) Địa chỉ

Email Nvarchar(120) Email

MaSoThue Nvarchar(15) Mã số thuế

Bảng 3.5: Cơ sở vật lý danh mục hàng hóa

DMHH

Tên trường Kiểu Ý nghĩa Ràng buộc

MaHH Nvarchar(10) Mã hàng hóa Khóa chính

TenHH Nvarchar(120) Tên hàng hóa

DVT Nvarchar(10) Đơn vị tính

DonGia Numeric(18,0) Đơn giá

MaLoai Nvarchar(10) Mã Loại Khóa thường

Bảng 3.6: Cơ sở vật lý danh mục loại

DMLoai

Tên trường Kiểu Ý nghĩa Ràng buộc

MaLoai Nvarchar(10) Mã loại Khóa chính

TenLoai Nvarchar(120) Tên loại

Bảng 3.7: Cơ sở vật lý danh mục kho

DMKHO

Tên trường Kiểu Ý nghĩa Ràng buộc

MaKho Nvarchar(10) Mã kho Khóa chính

TenKho Nvarchar(120) Tên kho

Bảng 3.8: Cơ sở vật lý phiếu nhập

Tên trường Kiểu Ý nghĩa Ràng buộc

SoCT Nvarchar(10) Số phiếu Khóa chính

NgayCT Datetime Ngày phiếu

TKNo Nvarchar(10) Tài khoản nợ Khóa thường

TKCo Nvarchar(10) Tài khoản có Khóa thường

MaKH Nvarchar(10) Mã khách hàng Khóa thường

MaKho Nvarchar(10) Mã kho Khóa thường

DienGiai Nvarchar(250) Diễn giải

CTLQ Nvarchar(50) Chứng từ liên quan

Bảng 3.9: Cơ sở vật lý phiếu xuất

PhieuXuat

Tên trường Kiểu Ý nghĩa Ràng buộc

SoCT Nvarchar(10) Số phiếu Khóa chính

NgayCT Datetime Ngày phiếu

TKNo Nvarchar(10) Tài khoản nợ Khóa thường

TKCo Nvarchar(10) Tài khoản có Khóa thường

MaKH Nvarchar(10) Mã khách hàng Khóa thường

MaKho Nvarchar(10) Mã kho Khóa thường

DienGiai Nvarchar(250) Diễn giải

CTLQ Nvarchar(50) Chứng từ lq

Bảng 3.10: Bảng cơ sở vật lý danh mục chi tiết phiếu nhập

CTPhieuNhap

Tên trường Kiểu Ý nghĩa Ràng buộc

SoCT Nvarchar(10) Số phiếu Khóa thường

MaHH Nvarchar(10) Mã hàng hóa Khóa thường

DVT Nvarchar(10) Đơn vị tính

SoLuong Numeric(18,0) Số lượng Dongia Numeric(18,0) Đơn giá ThanhTien Numeric(18,0) Thành tiền

Bảng 3.11: Cơ sở vật lý chi tiết phiếu xuất

Tên trường Kiểu Ý nghĩa Ràng buộc

SoCT Nvarchar(10) Số phiếu Khóa thường

MaHH Nvarchar(10) Mã hàng hóa Khóa thường

DVT Nvarchar(10) Đơn vị tính

SoLuong Numeric(18,0) Số lượng DonGia Numeric(18,0) Đơn giá ThanhTien Numeric(18,0) Thành tiền

Bảng 3.12: Cơ sở vật lý hóa đơn hàng hóa

HDHH

Tên trường Kiểu Ý nghĩa Ràng buộc

SoCT Nvarchar(10) Số hóa đơn Khóa chính

NgayCT Datetime Ngày hóa đơn

MaKH Nvarchar(10) Mã khách hàng Khóa thường

TKNoThanhToan Nvarchar(10) TK ghi nợ thanh toán

Khóa thường TKCoDoanhThu Nvarchar(10) TK ghi có doanh thu Khóa thường TKCoThue Nvarchar(10) TK ghi có thuế Khóa thường TKChietKhau Nvarchar(10) TK chiết khấu Khóa thường TyleCK Nvarchar(10) Tỷ lệ chiết khấu

TienCK Numeric(18,0) Tiền chiết khấu TienThanhToan Numeric(18,0) Tiền thanh toán TienDoanhThu Numeric(18,0) Tiền doanh thu ThueSuat Nvarchar(10) Thuế suất TienThue Numeric(18,0) Tiền thuế

HTTT Nvarchar(50) HTTT

DienGiai Nvarchar(10) Diễn giải

Bảng 3.13: Cơ sở vật lý chi tiết hóa đơn

CTHoaDon

Tên trường Kiểu Ý nghĩa Ràng buộc

SoCT Nvarchar(10) Số hóa đơn Khóa thường

DVT Nvarchar(10) Đơn vị tính SoLuong Numeric(18,0) Số lượng

DonGia Numeric(18,0) Đơn giá

ThanhTien Numeric(18,0) Thành tiền

Bảng 3.14: Cơ sở vật lý chiết khấu thương mại

CKTM

Tên trường Kiểu Ý nghĩa Ràng buộc

Sobang Nvarchar(10) Số bảng Khóa chính

MaHH Nvarchar(10) Mã hàng hóa Khóa thường NgayHLuc Datetime Ngày hiệu lực

TyleCK Numeric(10,2) Tỷ lệ chiết khấu TienCK Numeric(10,2) Tiền chiết khấu

Bảng 3.15: Cơ sở vật lý giảm giá

PhieuGiamGia

Tên trường Kiểu Ý nghĩa Ràng buộc

SoCT Nvarchar(10) Số phiếu Khóa chính

NgayCT Datetime Ngày phiếu

MaKH Nvarchar(10) Mã khách hàng Khóa thường TKNo Nvarchar(10) Tài khoản nợ

TKCo Nvarchar(10) Tài khoản có Khóa thường

DienGiai Nvarchar(250) Diễn giải CTLQ Nvarchar(50) Chứng từ lq

Bảng 3.16: Cơ sở vật lý chi tiết giảm giá

CTGiamGia

Tên trường Kiểu Ý nghĩa Ràng buộc

SoCT Nvarchar(10) Số phiếu Khóa thường

MaHH Nvarchar(10) Mã hàng hóa Khóa thường

DVT Nvarchar(10) Đơn vị tính

SoLuong Numeric(18,0) Số lượng

DonGia Numeric(18,0) Đơn giá

ThanhTien Numeric(18,0) Thành tiền

Bảng 3.17: Cơ sở vật lý hoá đơn trả lại

HoaDonTraLai

Tên trường Kiểu Ý nghĩa Ràng buộc

SoCT Nvarchar(10) Số phiếu Khóa chính

NgayCT Datetime Ngày lập

MaKH Nvarchar(10) Mã khách hàng Khóa thường

TKNo Nvarchar(10) TK ghi nợ

TKNoThue Nvarchar(10) TK ghi nợ thuế

TKCo Nvarchar(10) TK ghi có

DienGiai Nvarchar(250) Diễn giải

Bảng 3.18: Cơ sở vật lý chi tiết hoá đơn trả lại

CTHoaDonTraLai

Tên trường Kiểu Ý nghĩa Ràng buộc

SoCT Nvarchar(10) Số phiếu Khóa thường

MaHH Nvarchar(10) Mã hàng hoá Khóa thường

SoLuong Nvarchar(10) Số lượng

DVT Numeric Đơn vị tính

DonGia Numeric(18,0) Đơn giá ThanhTien Numeric(18,0) Thành tiền

3.2.3. Xác định luồng hệ thống

Xác định luồng hệ thống nhằm phân định công việc giữa người và máy, các kho dữ liệu liên quan đến tiến trình máy làm được thay thế bằng các File tương ứng.

 Luồng hệ thống cho biểu đồ luồng dữ liệu mức 1 “Cập nhật thông tin tiền xử lý”

Hình 3.11: Luồng hệ thống cho biểu đồ dữ liệu mức 1 “Cập nhật thông tin tiền xử lý”

Hình 3.12: Luồng hệ thống cho biểu đồ dữ liệu mức 1 “Hạch toán tăng doanh thu”

 Luồng hệ thống cho biểu đồ luồng dữ liệu mức 1 “Hạch toán giảm doanh thu”

Hình 3.13: Luồng hệ thống cho biểu đồ dữ liệu mức 1 “Giảm doanh thu”

Hình 3.14: Luồng hệ thống cho biểu đồ dữ liệu mức 1 “Lập sổ kế toán”

Hình 3.15: Luồng hệ thống cho biểu đồ dữ liệu mức 1 “Lập báo cáo kế toán”

3.3. Xây dựng phần mềm kế toán doanh thu bán hàng tại Công ty TNHH Biển Đông

Một phần của tài liệu 165 xây DỰNG PHẦN mềm kế TOÁN DOANH THU bán HÀNG TẠI CÔNG TY TNHH BIỂN ĐÔNG (Trang 97)