B ij =Σk ƒk j Γk i C Σk Σj’ ≠j ƒk j’ uk
1.5 Quan ly danh
Quan ly danh
muc
Danh muc doi tac
Danh muc mat hang Danh muc tai khoan
Danh muc ngan hang Chu doanh nghiep
III.Thiết kế
Trong quá trình phân tích chỉ nêu ra các thông tin dữ liệu và cách sử xử lý dữ liệu. Đầu vào của quá trình thiết kế là các đặc tả yêu cầu đã đợc xây dựng trong quá trình phân tích, bao gồm:
-Mô hình thực thể liên kết. -Mô hình phân cấp chức năng. -Các tài liệu hỗ trợ.
1.Thiết kế các bảng dữ liệu.
Công việc thiết kế các bảng dữ liệu dựa trên các thực thể đã tạo ra ở phần phân tích. Các quy tắc để chuyển các thực thể này thành các bảng dữ liệu nh sau:
Thực thể ( entity ) Bảng dữ liệu ( table )
Thuộc tính ( artribute ) ->Colum ( cột ) trong bảng dữ liệu Quan hệ ( relationship ) ->Foreign key colum
UID ( unique identifer ) -> Primary key
Domain ->Domain
Trong đó UID có thể là một thuộc tính, một tập hợp các thuộc tính, tổ hợp nhiều quan hệ, tổ hợp nhiều thuộc tính trong quan hệ sao cho nó xác định duy nhất mỗi thể hiện của một thuộc tính. Ngoài ra các thuộc tính của thực thể đợc định nghĩa khiểu nh varchar2(n), number(n), number(n,s), char(n) . . . mô tả trong sơ dồ thực thể.
2.Mô tả các chức năng:
Hệ thống tài chính kế toán đợc nghiên cứu và chia làm bốn chức năng chính nh mô hình dới đây theo:
-Quản lý bảng danh mục. -Xử lý chứng từ gốc. -Kiểm tra và lu trữ.
-Chuyển sổ nhật ký tổng quát sang sổ cái. -Tạo báo cáo
III.Mô tả thiết kế hệ cơ sở dữ liệu phân tán cho hệ thông kế toán tài chính.
Để phục vụ cho thiết kế một hệ cơ sở dữ liệu phân tán cho hệ thông kế toán tài chính, luận văn này dùng lý thuết đã trình bày ở các chơng trớc làm tiêu chuẩn. Do đó thông thờng thiết kế một hệ cơ sở dữ liệu phân tán cần phải làm các công việc sau:
+Thiết kế cơ sở dữ liệu phân tán: làm các công việc phân đoạn, cấp phát, tối u cấp phát đoạn.
+Dịch các câu hỏi đáp tổng thể về cơ sở dữ liệu thành câu hỏi đáp về các đoạn để từng phần của hệ thống chỉ làm việc trên các đoạn.
+Tối u hoá chiến lợc truy cập. +Quản trị các giao tác phân tán. +Điều khiển tơng tranh.
Chuyển sổ nhật ký tổng quát sang sổ cái Hoạt động tài chính kế toán Quản lý bảng danh mục Xử lý chứng từ gốc
Tạo báo cáo Kiểm tra và lư u trữ
Quản lý danh mục đối tác Quản lý danh mục mặt hàng Quản lý danh mục ngân hàng Quản lý danh mục tài khoản Nhập hoá đơn mua
Nhập hoá đơn bán Nhập chúng từ đầu tư Nhập phiếu thu chi
Nhập chứng từ ngân hàng
Báo cáo lợi nhuận
Báo cáo về vốn chủ sở hữu Báo cáo cân đối
+Quản trị cơ sở dữ liệu phân tán.
Hệ thống kế toán tài chính này thiết kế dựa trên cơ sở dữ liệu ORACLE, công cụ để kết nối cơ sở dữ liệu, hệ quản trị cơ sở dữ liệu... đã có sẵn. Vì vậy công việc thiết kế còn lại chỉ là thiết kế cơ sở dữ liệu phân tán và quản trị cơ sở dữ liệu phân tán.
Hệ thống hoạt động khi có các nghiệp vụ kinh tế phát sinh, nhân viên trong công ty sẽ cập nhật dữ liệu vào cơ sở dữ liệu địa phơng ở vị trí đó. Trong cơ sở dữ liệu này có các phần sau:
Quản lý danh mục đối tác. Quản lý danh mục mặt hàng. Quản lý danh mục ngân hàng. Quản lý danh mục tài khoản.
Hệ thống các hoá đơn, chứng từ đợc lu trữ để xử lý.
Có thể xem nh đây là nhóm các ngời sử dụng hệ thống có cùng tính chất công việc là cập nhật thông tin.
Công việc kế toán tài chính sử dụng thông tin từ nhóm làm việc trên để thông kê và xử lý thông tin. Nh vậy công việc kế toán tài chính cần các bản sao của cơ sở dữ liệu ở nhóm cập nhật dữ liệu để tạo ra sổ nhật ký tổng quát, sổ cái và các báo cáo. Nhóm làm công việc kế toán tài chính có các quyền cập nhật,xem và sửa thông tin Hơn nữa khi các báo cáo đợc tạo ra cũng cần cơ sở dữ liệu để lu trữ. Hai nhóm ngời sử dụng thông tin của các báo cáo là nhóm lãnh đạo công ty và nhóm ngời ngoài công ty. Nhóm lãnh đạo công ty có quyền xem và sửa thông tin của các báo cáo.
Vì vậy công việc còn lại bao gồm:
Xác định yêu cầu thiết kế hệ thống kế toán:
Công việc xác định yêu cầu của hệ thống có nhiều yếu tố tác động và có thể có nhiều mâu thuẫn nhau cho nên những yêu cầu đa ra sau đây đối với hệ thống cơ sở dữ liệu phân tán cũng cha có thể gọi là đầu đủ:
-Thông tin cập nhật nhanh nhất.
-Trả lời yêu cầu của khách hàng cũng nh các giao dịch trong khoảng thời gian ngắn nhất.
-Thông tin để hỗ trợ cho công việc giao dịch (thông tin về ngân hàng, khách hàng.. ) có thời gian đáp ứng nhỏ nhất để tiện lợi cho việc giao dịch và bán hàng.
-Hệ thống làm việc phải thoả mãn sao cho giá cả của dịch vụ giảm.
-Quá trình tạo ra báo cáo nhanh, đúng kỳ hạn. Thông tin của báo cáo chính xác.
-Giá cả để xây dựng hệ thống nhỏ nhất.
Trên cơ sở các yêu cầu, vị trí của các cơ sở dữ liệu đợc đặt nh sau.
1.Lựa chọn vị trí đặt cơ sở dữ liệu và phân nhóm ngời sử dụng
Đánh gía vị trí đặt cơ sở dữ liệu theo một số tiêu chuẩn sao cho vị trí đặt cơ sở dữ liệu tiện lợi nhất:
+Tần xuất sử dụng cơ sở dữ liệu. +Số lần liên kết cơ sở dữ liệu.
+Các tham chiếu đến cơ sở dữ liệu để cập nhật, đọc hay thay đổi.
Dựa trên các tiêu chuẩn trên và tính chất của hệ thông tin tài chính kế toán có thể lựa chọn hệ thống theo hai nhóm chính tơng đơng với hai cơ sở dữ liệu:
Cơ sở dữ liệu 1: là nhóm ngời cập nhật thông tin vào hệ thống. Cơ sở dữ liêu của nhóm này đặt tại vị trí nhóm làm việc. Do yêu cầu của công việc, giữa các nhóm có thể lấy một số phần thông tin của nhau theo quyền. Theo yêu cầu phát triển hệ thống có thể mở rộng nhiều cơ sở dữ liệu có cấu trúc và nhiệm vụ giống nh cơ sở dữ liệu 1.
Cơ sở dữ liệu trung tâm: gồm có hai nhóm là lãnh đạo công ty, nhóm ngời ngoài công ty và nhóm kế toán tài chính. Nhóm kế toán tài chính có các quyền cập nhật, sửa đổi, ghi và quản lý cơ sở dữ liệu riêng là sổ nhật kí tổng quát, các báo cáo và bản sao lặp lại thông tin cơ sở dữ liệu của nhóm 1. Nhóm ngời ngoài công ty dùng cơ sở dữ liệu này ở phần báo cáo và chỉ có quyền duy nhất là xem. Nhóm lãnh đạo có thể đọc tất cả thông tin trng cơ sở dữ liệu này nhng chỉ có thêm quyền sửa đối với phần báo cáo.
Theo cách thiết kế này hệ thống sẽ dễ thay đổi khi phát triển thêm nhiều điểm kinh doanh.
ở sơ đồ thiết kế trên mỗi nhóm ngời có quyền chỉ cập nhật tơng ứng với một cơ sở dữ liệu. Và cơ sở dữ liệu này có một bản sao tại cơ sở dữ liệu trung tâm, mỗi bản sao này đợc làm cập nhật ( update ) theo chu kỳ sau khoản thời gian tơng đối lớn nh tuần, tháng. Hệ thống này có thể có nhiều cơ sở dữ liệu tại nhiều nơi và chỉ có một cơ sở dữ liệu trung tâm. Tuy nhiên nhân viên ở các nhóm có cơ sở dữ liệu đều có thể phân quyền lẫn nhau theo nguyên tắc.
Phân quyền ngời sử dụng dữ liệu: R: quyền đọc
W: quyền ghi U: cập nhật
D: Quyền xoá
Cơ sở dữ liệu trung tâm
Nhóm kế toán tài chính
Bản sao cơ sở dữ liệu 1... n
Nhóm làm việc Cơ sở dữ liệu 1 Nhóm lãnh đạo Nhóm ngoài hệ thống Nhóm làm việc Cơ sở dữ liệu 2 Nhóm làm việc Cơ sở dữ liệu n • • •
Thực thể Nhóm lãnh đạo Nhóm làm việc Nhóm kế toán Nhóm ngoài hệ thống DAU_TU RWU R R R RUT_VON RWU R R R HOA_DON_MUA R WRU R . DONG_HOA_DON_MUA R WRD R . HOA_DON_BAN R WRD R . DONG_HOA_DON_BAN R WRD R . DANH_MUC_NGAN_HANG R WRD R . DANH_MUC_DOI_TAC R WRD R . DOI_TAC_NGAN_HANG R WRD R . TAI_KHOAN_O_NH R WRD R . CHUNG_TU_NGAN_HANG R WRD R . PHIEU_THU_CHI R WRD R . DANH_MUC_NGAN_HANG R WRD R . MAT_HANG_VA_DOI_TAC R WRD R . NHOM_HANG R WRD R . SO_NHAT_KI_TONG_QUAT RWD . WRU R SO_CAI RWD . WRU R BAO_CAO RWD . WRU R DONG_BAO_CAO RWD . WRU R
Trong cơ sở dữ liệu, mỗi thực thể trong cơ sở dữ liệu là một bảng dữ liệu vật lý và các bảng vật lý này đợc cơ sở dữ liệu ORACLE quản lý và ngôn ngữ SQL trong DELPHI sẽ quản lý việc cập nhật cơ sở dữ liệu này theo quyền.
Sơ đồ trên mô tả thiết kế hai cơ sở dữ liệu điển hình của hệ thống kế toán tài chính. Trong hai cơ sở dữ liệu có mô tả các thành phần của cơ sở dữ liệu.
V.sơ đồ chức năng của chơng trình: Chơng trình có giao diện menu thiết kế nh sau:
Quản trị hệ thống
-trao quyền: chức năng này chỉ có ngời quản trị hệ thống đợc sử dụng để
trao những quyền tơng ứng khi thêm có ngời tham gia vào hệ thống. Danh mục đối tác Danh mục ngân hàng Danh mục tài khoản Bản sao của các DB Danh mục ngân hàng Hoá đơn và chứng từ. Sổ nhật ký tổng quát Cơ sở dữ liêu x Sổ cái Các báo cáo Cơ sở dữ liệu trung tâm
-Rút quyền: chức năng này để ngời quản trị hệ thống huỷ bỏ các quyền của một ngời sử dụng trong hệ thống.
-Thoát khỏi chơng trình
Đ
ăng ký hệ thống
-Đăng ký đối tác: lu trữ thông tin về các đối tác có giao dịch với công ty. -Đăng ký ngân hàng: lu thông tin về các ngân hàng mà công ty có tài khoản và tiền gửi ở ngân hàng đó.
-Đăng ký hàng hoá: lu thông tin về các loại hàng hoá mà công ty mua bán. -Đăng ký tài khoản: trong một ngân hàng, công ty có thể có nhiều tài khoản, nên chức năng này lu thông tin về các tài khoản.
Nhập dữ liệu
-Nhập chứng từ đầu t: lu thông tin về hoạt động đầu t của chủ sở hữu vào
tài sản của công ty.
-Nhập chứng từ rút vốn: lu thông tin về hoạt động rút vốn của chủ sở hữu từ tài sản của công ty.
-Nhập hoá đơn mua: nhập thông tin mua hàng của công ty. -Nhập hoá đơn bán: nhập thông tin bán hàng cho khách hàng.
-Nhập phiếu thu chi: nhập phiếu thu chi của công ty đối với các khoản thu chi.
-Nhập chứng từ ngâp hàng: nhập thông tin về việc giao dịch của công ty qua ngân hàng và tài khoản.
Xử lý
-Chuyển sổ: xử lý chuyển thông tin về các tài khoản và số tiền sang sổ cái đề lập báo cáo.
-Tạo báo cáo theo tháng: báo cáo lợi nhuân, báo cáo về vốn, báo cáo cân đối.
-Tạo báo cáo theo năm: báo cáo lu chuyển tiền mặt.
Xem báo cáo
-Báo cáo lợi nhuận
-Báo cáo cân đối tài sản -Báo cáo lu chuyển tiền mặt
Trợ giúp
-Nội dung. -Tác giả
Mỗi phần của menu tơng đơng một công việc của từng nhóm ngời trong hệ
thống. Ngời sử dụng khi làm việc trong hệ thống cần phải đợc đăng ký qua ngời quản trị hệ thống trên cơ sở các quyền và tính chất công việc của ngời đó. Ngời quản trị hệ thống kế toán tài chính có tất cả các quyền và chịu trách nhiệm giám sát hệ thống hoạt động.
DELPHI hỗ trợ cơ chế quản lý ngời sử dụng thông qua ngôn ngữ SQL gồm các công việc nh: toàn vẹn dữ liệu, điều khiển tơng tranh, xác định luật làm việc, quyền truy cập dữ liệu, thiết kế giao diện client/server.
Quản lý hệ thống Trao quyền Rút quyền
Thoát khỏi chương trình
Đăng ký hệ thống
Đăng ký đối tác: Đăng ký ngân hàng Đăng ký hàng hoá Đăng ký tài khoản
Xử lý Chuyển sổ
Tạo báo cáo theo tháng Tạo báo cáo theo ăm Xem báo cáo
Báo cáo lợi nhuận
Báo cáo về vốn chủ sở hữu Báo cáo cân đối tài sản Báo cáo lưu chuyển tiền mặt Trợ giúp
Nội dung Tác giả Nhập dữ liệu
Nhập chứng từ đầu tư Nhập hoá đơn mua Nhập hoá đơn bán Nhập phiếu thu chi
Tài liệu tham khảo
1.Nhập môn cơ sở dữ liệu quan hệ - Lê Tiến Vơng- 1996. Nhà xuất bản
khoa học và kỹ thuật
2.DElPHI 2 - Deverlopment guide -Vier Pacheco Steve Teixeira. Borland technical Tem.
3.Principle of accounting. Americal
4.Distributed Database ( Principle and systems) Stefano Ceri - Giuseppee Pelagatti -1985.
Phụ lục: Chơng trình trên delphi
unit delphi_ketoan; interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Menus; type Tke_toan = class(TForm) MainMenu1: TMainMenu; Nhpdliu1: TMenuItem; Toboco1: TMenuItem; Bocochitit1: TMenuItem; Bocotnghp1: TMenuItem; Bocovcngnviitc1: TMenuItem; Bocovtingingnhng1: TMenuItem; Bc_loinhuan: TMenuItem; bcvevon: TMenuItem; Bccandoi: TMenuItem; Bbclchuyen: TMenuItem; Trgip1: TMenuItem; tacgia: TMenuItem; N3: TMenuItem; Chs1: TMenuItem; Hthng1: TMenuItem;
N4: TMenuItem; thoat: TMenuItem; N6: TMenuItem; Xl1: TMenuItem; rutquyen: TMenuItem; xemsonktq: TMenuItem; N7: TMenuItem; xemsocai: TMenuItem; Traoquyn1: TMenuItem; dangki: TMenuItem; dmdoitac: TMenuItem; dmnganhang: TMenuItem; dmhanghoa: TMenuItem; dmtaikhoan: TMenuItem; dautu: TMenuItem; rutvon: TMenuItem; N5: TMenuItem; hdmua: TMenuItem; hdban: TMenuItem; pthuchi: TMenuItem; N8: TMenuItem; ctnganhang: TMenuItem; N1: TMenuItem; Tobocotheothng1: TMenuItem; Tobocotheonm1: TMenuItem;
procedure dautuClick(Sender: TObject); procedure tacgiaClick(Sender: TObject); procedure rutvonClick(Sender: TObject); procedure dmdoitacClick(Sender: TObject); procedure dmnganhangClick(Sender: TObject); procedure dmhanghoaClick(Sender: TObject); procedure dmtaikhoanClick(Sender: TObject); procedure xemsonktqClick(Sender: TObject); procedure xemsocaiClick(Sender: TObject);
procedure Nhpdanhmchngho1Click(Sender: TObject); procedure tdautuClick(Sender: TObject);
procedure trutvonClick(Sender: TObject); procedure hdmuaClick(Sender: TObject); procedure hdbanClick(Sender: TObject); procedure pthuchiClick(Sender: TObject); procedure ctnganhangClick(Sender: TObject); procedure Bc_loinhuanClick(Sender: TObject); procedure bcvevonClick(Sender: TObject); procedure BccandoiClick(Sender: TObject); procedure BbclchuyenClick(Sender: TObject); procedure Tobocotheothng1Click(Sender: TObject); procedure Tobocotheonm1Click(Sender: TObject); private
{ Private declarations } public
end; var
ke_toan: Tke_toan; implementation
uses rutvon, about, dautu, dmdoitac, dmnganhang, hdmua , hdban,
dmhanghoa, dmtaikhoan, Unitnktq, Unitsocai, thuchi, psnganhang, hoi_tt1,
hoi_tt2, hoi_tt3, hoi_tt4, lapbcth, lapbcnam ; {$R *.DFM}
procedure Tke_toan.thoatClick(Sender: TObject); begin
close; end;
procedure Tke_toan.dautuClick(Sender: TObject); begin
dautu := TMenuItem.Create(dau_tu); dau_tu.Show;
end;
procedure Tke_toan.tacgiaClick(Sender: TObject); begin
tacgia := TMenuItem.Create(thong_tin); thong_tin.Show;
end;
procedure Tke_toan.rutvonClick(Sender: TObject); begin
rutvon := TMenuItem.Create(rut_von); rut_von.Show;
end;
procedure Tke_toan.dmdoitacClick(Sender: TObject); begin
dmdoitac := TMenuItem.Create(doi_tac); doi_tac.Show;
end;
procedure Tke_toan.dmnganhangClick(Sender: TObject); begin
dmnganhang := TMenuItem.Create(ngan_hang); ngan_hang.Show;
end;
procedure Tke_toan.dmhanghoaClick(Sender: TObject); begin
dmhanghoa := TMenuItem.Create(pshang_hoa); pshang_hoa.Show;
end;
procedure Tke_toan.dmtaikhoanClick(Sender: TObject); begin
dmtaikhoan := TMenuItem.Create(tai_khoan); tai_khoan.Show;
end;
procedure Tke_toan.xemsonktqClick(Sender: TObject); begin
xemsonktq := TMenuItem.Create(nk_tq); nk_tq.Show;
procedure Tke_toan.xemsocaiClick(Sender: TObject); begin
xemsocai := TMenuItem.Create(so_cai); so_cai.Show;
end;
procedure Tke_toan.Nhpdanhmchngho1Click(Sender: TObject); begin
dmhanghoa := TMenuItem.Create(pshang_hoa); pshang_hoa.Show;
end;
procedure Tke_toan.tdautuClick(Sender: TObject); begin
dautu := TMenuItem.Create(dau_tu); dau_tu.Show;
end;
procedure Tke_toan.trutvonClick(Sender: TObject); begin
rutvon := TMenuItem.Create(rut_von); rut_von.Show;
end;
procedure Tke_toan.hdmuaClick(Sender: TObject); begin
hdmua := TMenuItem.Create(hd_mua); hd_mua.Show;
end;
procedure Tke_toan.hdbanClick(Sender: TObject); begin
hdban := TMenuItem.Create(pshd_ban); pshd_ban.Show;
end;
procedure Tke_toan.pthuchiClick(Sender: TObject); begin
pthuchi := TMenuItem.Create(phieu_thu_chi); phieu_thu_chi.Show;
end;
procedure Tke_toan.ctnganhangClick(Sender: TObject); begin
ctnganhang := TMenuItem.Create( ps_nh); ps_nh.Show;
end;
procedure Tke_toan.Bc_loinhuanClick(Sender: TObject); begin
bc_loinhuan:=TmenuItem.create(hoitt1); hoitt1.show;
end;
procedure Tke_toan.bcvevonClick(Sender: TObject); begin
bcvevon:=TmenuItem.create(hoitt2); hoitt2.show;
procedure Tke_toan.BccandoiClick(Sender: TObject); begin
bccandoi:=TmenuItem.Create(hoitt3); hoitt3.show;
end;
procedure Tke_toan.BbclchuyenClick(Sender: TObject); begin
bbclchuyen:=TmenuItem.create(hoitt4); hoitt4.show;
end;
procedure Tke_toan.Tobocotheothng1Click(Sender: TObject); begin
Tobocotheothng1:=TmenuItem.create(bcthang); bcthang.show;
end;
procedure Tke_toan.Tobocotheonm1Click(Sender: TObject); begin
tobocotheonm1:=TmenuItem.create(lbc_nam); lbc_nam.show;
end; end.