Luận văn Quản lý việc bán thuốc cho cửa hàng tân dược

Tài liệu Luận văn Quản lý việc bán thuốc cho cửa hàng tân dược: LUẬN VĂN: Quản lý việc bán thuốc cho cửa hàng tân dược Lời nói đầu Ngày nay cùng với sự phát triển về mọi mặt của xã hội, ngành công nghệ thông tin đã trở thành một nhu cầu không thể thiếu trong đời sống con người .Đó là một khoa học kỹ thuật xây dựng trên những hệ thống xử lý dữ liệu tinh xảo(Data processing system). Vì vậy nền khoa học máy tính ngày nay đang giữ một vị trí trung tâm trong hầu hết các lĩnh vực của xã hội . Nó phát triển một cách nhanh chóng và có nhiều bước nhảy vọt . Tại Việt Nam ngành công nghệ thông tin mới thâm nhập vào nhưng cũng đã phát triển rất nhanh để sớm hoà nhập vào thế giới về công nghệ thông tin , theo dự kiến ở Việt Nam đến năm 2005 tất cả các doanh nghiệp , công sở v v... , đều phải sử dụng nền khoa học công nghệ thông tin. Trong các lĩnh vực quản lý , việc xử lý một khối lượng lớn các luồng thông tin vào ra một cách chính xác , nhanh chóng đã trở thành một vấn đề không nhỏ đối với nhà quản lý . Cách thức xử lý thông ti...

pdf86 trang | Chia sẻ: haohao | Lượt xem: 1275 | Lượt tải: 4download
Bạn đang xem trước 20 trang mẫu tài liệu Luận văn Quản lý việc bán thuốc cho cửa hàng tân dược, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
LUẬN VĂN: Quản lý việc bán thuốc cho cửa hàng tân dược Lời nói đầu Ngày nay cùng với sự phát triển về mọi mặt của xã hội, ngành công nghệ thông tin đã trở thành một nhu cầu không thể thiếu trong đời sống con người .Đó là một khoa học kỹ thuật xây dựng trên những hệ thống xử lý dữ liệu tinh xảo(Data processing system). Vì vậy nền khoa học máy tính ngày nay đang giữ một vị trí trung tâm trong hầu hết các lĩnh vực của xã hội . Nó phát triển một cách nhanh chóng và có nhiều bước nhảy vọt . Tại Việt Nam ngành công nghệ thông tin mới thâm nhập vào nhưng cũng đã phát triển rất nhanh để sớm hoà nhập vào thế giới về công nghệ thông tin , theo dự kiến ở Việt Nam đến năm 2005 tất cả các doanh nghiệp , công sở v v... , đều phải sử dụng nền khoa học công nghệ thông tin. Trong các lĩnh vực quản lý , việc xử lý một khối lượng lớn các luồng thông tin vào ra một cách chính xác , nhanh chóng đã trở thành một vấn đề không nhỏ đối với nhà quản lý . Cách thức xử lý thông tin dựa trên kinh nghiệm và phương pháp thủ công không còn phù hợp nữa, cần có một phương pháp mới hiệu quả hơn Việc tin học hoá các lĩnh vực quản lý đã thực sự là một cuộc cách mạng . Nó đã làm giảm bớt rất nhiều công sức của các nhà quản lý trong việc xử lý thông tin và ra quyết định một cách chính xác. Việc xử lý, tra cứu và tìm kiếm thông tin nhanh đơn giản hiệu quả chỉ trong vài giây một điều mà trước kia không nhà quản lý nào giám mơ ước tới . Tin học hoá giúp tránh được thất lạc dữ liệu tự động hệ thống hoá và cụ thể hoá các thông tin theo nhu cầu cuả con người . Vào những năm 1980, máy tính để bàn đã nổi lên, thay thế cho các máy tính lớn đắt giá . Mỗi máy tính để bàn đều có khả năng tích hợp mọi thiết bị ngoại vi và phần mềm để hoàn thành một số công việc cụ thể , song việc chuyển giao dữ liệu giữa các hệ thống đòi hỏi phải có sự can thiệp chủ lực của con người thông qua các đĩa mềm . Với đà phát triển của công nghệ máy tính , các quản trị viên máy tính các chuyên viên tiếp thị , người dùng và các thiết kế viên bắt đầu thấy rõ các ưu điểm của việc dùng chung dữ liệu, phần cứng và một nhóm các máy tính tuy riêng lẻ song mang lại tính hợp tác . Các hệ điều hành mạng máy tính đầu tiên như (Novell NetWare và Microsoft Lan Manager ) đã được thiết kế dưới dạng các trình cài thêm vào các hệ điều hành vi tính . Giờ đây dòng hệ điều hành máy tính mới như Microsoft Windows 95/98 và Win dows NT, đã gộp một hệ tích hợp đầy đủ các dịch vụ mạng . Việc tích hợp các dịch vụ mạng vào trong các hệ điều hành vi tính và sự bùng nổ của mạng toàn cầu – Internet-đã tạo ra một động lực mạnh mẽ thúc đẩy mọi người “giao kết ” với nhau .Mạng máy tính đã trở thành một phương tiện để truyền bá thông tin . Muốn hiểu rõ các điểm phức tạp của tiến trình truyền thông dữ liệu và hoà mạng máy tính , bạn phải có một nền tảng vững chắc về thuật ngữ và khái niệm về mạng . Những tiến bộ cực kỳ nhanh chóng của kỹ thuật tính toán và mạng làm cho các thông tin về những sự kiện nổi bật được truyền đi nhanh chóng đến hàng tỷ người trên khắp thế giới nhờ vào mạng truyền thông (Internet) điều mà công nghệ thông tin truyền thống không thể làm được . Trong các lĩnh vực của xã hội quản lý việc bán thuốc cho cửa hàng tân dược là một vấn đề hết sức phức tạp không chỉ cho ngành dược của nước ta mà cả trên toàn thế giới . Với khả năng lưu trữ thông tin ngày càng lớn tạo nên một kho thông tin đồ sộ có thể lưu trữ hàng trăm ngìn mặt hàng thuốc khác nhau với nhiều chủng loại và mẫu mã ... Hơn thế nữa với tốc độ truy xuất , tìm kiếm dữ liệu thông tin nhanh chóng , chính xác máy tính đã trở thành công cụ đắc lực giúp đỡ cho con người ngày càng nhiều. Ngày nay với sự phát triển mạnh mẽ của nền kinh tế , sự giao lưu buôn bán giữa người với người , sự trao đổi hàng hoá phát triển lớn nhiều mặt hàng nhiều nguồn hàng khác nhau dẫn đến sự phức tạp về hệ thống quản lý quá trình trao đổi đó . Vì vậy việc áp dụng tin học đưa máy tính vào việc trợ giúp quản lý và trao đổi thông tin rất cần thiết . Nó giúp cho người quản lý xử lý nhanh một khối lượng lớn các thông tin , tra cứu và tìm kiếm một cách nhanh chóng , tiết kiệm được nhiều thời gian và công sức . Nhờ đó đạt được hiệu quả kinh tế cao, tránh mất mát và nhầm lẫn các thông tin về thuốc và tìm ra những loại thuốc có hiệu quả trong kinh doanh. Từ những mong muốn áp dụng công nghệ thông tin vào quản lý và những yêu cầu cấp thiết đặt ra trong công việc cần có phương pháp phù hợp tạo bề thế cho ngành này phát triển mạnh mẽ nên Em đã thực hiện đề tài này để một phần nào đóng góp cho công việc quản lý nói riêng và trong nền phát triển kinh tế nói chung có những bước tiến mới hoà nhập cùng thế giới . “Quản lý việc bán thuốc cho cửa hàng tân dược ” với các chức năng nhập , lưu trữ , xử lý thông tin về quá trình xuất nhập thuốc nhằm nâng cao hiệu quả hoạt động của cửa hàng . Là một đề tài mang tính thực tiễn cao , phù hợp với nền kinh tế thị trường , luôn luôn nắm bắt kịp thời những thông tin mới về các loại thuốc mới cũng như các loại thuốc bán chạy và các loại thuốc không bán được để phục vụ tốt nhu cầu của người tiêu dùng . Hiện nay hầu hết các cửa hàng bán thuốc trên địa bàn Hà Nội các công việc nhập , xuất , kiểm tra hàng tồn hàng hết hạn sử dụng , hàng hỏng do yếu tố tự nhiên và tổng hợp hàng đều thực hiện một cách thủ công nên không tránh khỏi sự nhầm lẫn dẫn đến việc kinh doanh tiến triển chậm . Do vậy Em đã chọn đề tài này phần nào đưa ra những nhận xét đánh giá tổng thể và từ đó đưa ra hệ thống mới có nhiều chức năng áp dụng cho công tác quản lý dựa trên sự hỗ trợ của máy tính . Qua đó đưa hệ thống quản lý việc bán thuốc cho các cửa hàng hoà nhập vào thế giới thông qua mạng toàn cầu trên những trang Website giới thiệu về sản phẩm thuốc mới của mình . Hệ thống quản lý sẽ được xây dựng trên ngôn ngữ Visual Basic – một ngôn ngữ lập trình mạnh , hiện đại và đang được sử dụng rất rộng rãi , đem lại hiệu quả cao. Luận văn được xây dựng phần mềm trợ giúp quản lý việc bán thuốc cho cửa hàng tân dược gồm 4 phần. Phần I :lý thuyết về cơ sở dữ liệu Phần II : Phân tích thiết kế hệ thống trợ giúp quản lý việc bán thuốc cho cửa hàng tân dược . Biểu đồ luồng dữ liệu mức khung cảnh (Context Data Folow Diagram). Biểu đồ luồng dữ liệu mức đỉnh (Top Level Data Folow Diagram). Biểu đồ luồng dữ mức dưới đỉnh (Levelling Data Diagram). Mô hình thực thể E - R Phần III : Các cơ sở chức năng. Chương này thiết kế hệ thống , sơ đồ tổ chức hệ thống tổng thể các file dữ liệu của hệ thống , các giao diện, modul của các tiến trình xử lý, các Form chương trình và phần chú giải Phần IV : Tổng hợp kết luận . Đánh giá , nhận xét và phương hướng phát triển của chương trình quản lý. Phần I Lý Thuyết về cơ sơ dữ liệu Chương 1 khái quát về cơ sở dữ liệu 1.1. Khái niệm cơ bản về hệ quản trị cơ sở dữ liệu Cơ sở dữ liệu bao gồm các thông tin được lưu trữ trong máy theo một quy định nào đó. Phần chương trình để có thể xử lý, thay đổi dữ liệu là một bộ diễn dịch với ngôn ngữ bậc cao nhằm giúp người sử dụng có thể dùng được hệ thống mà không cần quan tâm đến thuật toán chi tiết hoặc biểu diễn dữ liệu trong máy. 1.2. Kiến trúc một hệ cơ sở dữ liệu Một cơ sở dữ liệu được phân làm nhiều mức khác nhau. Ta có thể phân thành một cơ sở dữ liệu đơn giản và một hệ phần mềm QTCSDL. Phần CSDL vật lý: Là các tệp dữ liệu theo một cấu trúc nào đó được lưu trên các thiết bị nhớ thứ cấp (như đĩa từ, băng từ...). Phần CSDL mức khái niệm: Là một sự biểu diễn trừu tượng của CSDL vật lý. Các khung nhìn: Là cách nhìn, là quan niệm của từng người sử dụng đối với CSDL mức khái niệm. Sự khác nhau giữa khung nhìn và mức khái niệm thực chất là không lớn. . . . . Hình 1 – Sơ đồ kiến trúc một hệ CSDL Thể hiện (instance). Khi CSDL đã được thiết kế, người ta thường quan tâm đến “bộ khung” hay còn gọi là “mẫu” của CSDL. Dữ liệu hiện có trong CSDL gọi là thể hiện của CSDL, khi dữ liệu thay đổi trong một chu kỳ thời gian nào đó thì “bộ khung” của CSDL vẫn không thay đổi. Lược đồ(Scheme). Thường “bộ khung” nêu trên bao gồm một số danh mục, hoặc chỉ tiêu hoặc một số kiểu của các thực thể trong CSDL. Giữa các thực thể có thể có mối quan hệ nào đó với nhau. Người ta sử dụng thuật ngữ “lược đồ” để thay thế cho khái niệm “bộ khung”. Lược đồ khái niệm là bộ khung của CSDL khái niệm, còn lược đồ vật lý dùng cho bộ khung của CSDL mức vật lý, khung nhìn được gọi là lược đồ con. Cơ sở dữ liệu vật lý: User Khung User User Khung Khung CSDL mức khái CSDL mức vật lý Mức thấp nhất của kiến trúc một hệ CSDL vật lý. CSDL vật lý có thể được xem là tổ chức ở nhiều mức khác nhau như bản ghi (record) và tệp (file). Lược đồ khái niệm và mô hình dữ liệu. Lược đồ khái niệm là sự biểu diễn thế giới thực bằng một loạt ngôn ngữ phù hợp. QTCSDL cung cấp ngôn ngữ định nghĩa dữ liệu để xác định lược đồ khái niệm. Đây là ngôn ngữ bậc cao có khả năng mô tả lược đồ dữ liệu bằng cách biểu diễn của mô hình dữ liệu. Hiện có nhiều loại mô hình dữ liệu. Ba loại mô hình cơ bản đang được sử dụng là: Mô hình phân cấp(hierachical model): Mô hình dữ liệu là một cây, trong đó các nút biểu diễn các tập thực thể, giữa nút con và nút cha được liên hệ theo một mối quan hệ xác định. Mô hình lưới(Network model):Mô hình được biểu diễn là một đồ thị có hướng. Mô hình quan hệ(Relational model): Mô hình này dựa trên cơ sở khái niệm lý thuyết tập hợp các quan hệ, tức là tâp các k-bộ với k cố định.Tính độc lập dữ liệu Tính độc lập dữ liệu là tính bất biến các hệ ứng dụng ứng với các thay đổi trong cấu trúc truy nhập và chiến lược truy nhập. Chương 2 Mô hình cơ sở dữ liệu quan hệ 2.1. Các khái niệm cơ bản Khái niệm toán học của mô hình quan hệ là quan hệ hiểu theo nghĩa lý thuyết tập hợp: Là tập con của tích Đề - Các của các miền. Miền(domain) là một tập các giá trị. Ví dụ: Tập các số nguyên, tập các xâu ký tự tạo thành tên người trong tiếng anh có độ dài không quá 30 ký tự, tập hai số {0,1} là một miền... Gọi D1, D2, ..., Dn là n miền. Tích Đề – Các của n miền là D1xD2x..xDn là tập tất cả n- bộ(n-tuples v1, v2, ...,vn) sao cho viDi với i=1...n, v.v Ví dụ: n=2,D1={0,1}, D2={a,b,c} khi đó D1xD2 = {(0,a),(0,b),(0,c),(1,a),(1,b),(1,c)} Quan hệ: Quan hệ là một tập con của tích Đề – Các của một hoặc nhiều miền. Như vậy mối quan hệ có thể là vô hạn. Người ta giả thiết rằng, mối quan hệ là một tập hữu hạn. Mỗi hàng của quan hệ gọi là bộ. Quan hệ là tập con của tích Đề – Các D1xD2x...xDn gọi là quan hệ n - ngôi. Khi đó mỗi bộ của quan hệ có n thành phần (n cột). Các cột của quan hệ gọi là thuộc tính (attributes).Vậy người ta định nghĩa quan hệ như sau: Định nghĩa 2.1: Gọi R={A1,...,An} là một tập hữu hạn các thuộc tính, mỗi thuộc tính Ai với i=1,..,n có miền giá trị tương ứng là dom(AI). Quan hệ trên tập thuộc tính R=(A1,..,An) là tập con của tích Đề Các r  dom(A1)x..xdom(A2) Khi đó ký hiệu là r(R) hoặc r(A1,...,An) Ví dụ: Quan hệ NHAN_VIEN bao gồm các thuộc tính HO_TEN, NAM_SINH, NOI_LAM_VIEC và LUONG là quan hệ 4 ngôi NHAN_VIEN ( Ho_ten Nam_sinh Noi_lam_viec Luong) T1 Le Van A 1960 Vien CNTT 425 T2 Hoang Thi B 1970 Truong DHBK 390 T3 Le Van Son 1945 Vien CNTT 425 T1= (Le Van A, 1960, Vien CNTT, 425) là một quan hệ NHAN_VIEN 2.2. Khoá Khoá(key) của một quan hệ r trên tập thuộc tính R=(A1,...,An) là tập con K  {A1,..,An} thoả mãn các tính chất sau đây: Với hai bộ t1, t2  r đều tồn tại một thuộc tính AK sao cho t1(A)  t2(A). Nói một cách khác, không tồn tại hai bộ mà có giá trị bằng nhau trên mọi thuộc tính của K. Điều kiện này có thể viết t1(K)  t2(K). Do đó mỗi giá trị của K là xác định duy nhất. Trong lược đồ quan hệ có thể có rất nhiều khoá. Việc tìm tất cả các khoá của lược đồ quan hệ là rất khó khăn. Để có thể định nghĩa khoá ta cần lưu ý rằng, nếu K’ là khoá của quan hệ r(A1,...,An) thì K’KR, K cũng là khoá của r, nghĩa là bất kỳ t1 ,t2 r từ t1(K’)  t2(K’) luôn có t1(K) t2 (K). Định nghĩa 2.2: Khoá của quan hệ r trên tập thuộc tính R={A1,...,An} là tập con KR sao cho bất kỳ hai bộ khác nhau t1, t2  r luôn thoả mãn t1(K)  t2(K) bất kỳ tập con thực sự K' K nào đó đều không có tính đó. Tập K là siêu khoá của quan hệ r nếu K là khoá của quan hệ r. Ví dụ: Quan hệ HANG_HOA. HANG_HOA( MSMH TEN_HANG SO_LUONG) 10101 Sắt phi 6 1000 10102 Sắt phi 8 2000 20001 Xi măng 1000 Trong đó mã số mặt hàng (MSMH) là khoá. Mỗi giá trị MSMH đều xác định duy nhất một mặt hàng trong quan hệ HANG_HOA. 2.3. Các phép tính trên CSDL quan hệ 2.3.1 Phép chèn Phép chen thêm một bộ vào quan hệ R={A1,…,An} có dạng r= r  t INSERT (r; A1=d1, A2=d2,...,An=dn) Trong đó Ai với i=1,.., n là tên các thuộc tính dI  dom(Ai) là các giá trị thuộc miền giá trị tương ứng của thuộc tính Ai. Ví dụ: Thêm một bộ t4=(Vũ Văn Tần,1960,trường ĐHBK, 425) vào quan hệ NHAN_VIEN. INSERT(NHAN_VIEN; HO_TEN=Vu Van Tan, NAM_SINH= 1960, NOI_LAM_VIEC=truong ĐHBK, LUONG=425) Nếu xem thứ tự các trường là cố định, khi đó có thể biểu diễn phép chèn dưới dạng tường minh như sau: INSERT(r; d1, d2,..., dn) Mục đích của phép chèn là thêm một bộ phận vào một quan hệ nhất định. Kết quả của phép tính có thể gây nên một số sai sót với những lý do sau đây: Bộ mới được thêm vào là không phù hợp với lược đồ quan hệ cho trước. Một số giá trị của một số thuộc tính nằm ngoài miền giá trị của thuộc tính đó. Giá trị khoá của bộ mới có thể là giá trị đã cho trong quan hệ đang lưu trữ. Do vậy, tuỳ từng hệ cụ thể có những cách khắc phục riêng. 2.3.2. Phép loại bỏ (del) Phép loại bỏ (del) là phép xoá một bộ ra khỏi quan hệ cho trước. Phép loại bỏ có dạng như sau: r = r - t DEL (r; A1=d1, A2=d2,...,An=dn) hoặc DEL(r, d1, d2,..., dn) Ví dụ: Cần loại bỏ bộ t1 khỏi quan hệ NHAN_VIEN DEL(NHAN_VIEN; Le Van A, 1960, Vien CNTT, 425) Tuy nhiên không phải lúc nào phép loại bỏ cũng cần đầy đủ thông tin về cả bộ cần loại. Nếu có giá trị về bộ đó tại các thuộc tính khoá K={B1, B2,...,BI} khi đó phép loại bỏ chỉ cần viết: DEL( r; B1=e1, B2=e2,...,BI=eI) Ví dụ: Cần loại bỏ sắt phi 6 ra khỏi quan hệ HANG_HOA, khi đó chỉ cần viết: DEL( HANG_HOA; MSMH = 10101). 2.3.3. Phép thay đổi (CH) Gọi tập {C1,...,Cp)  {A1,..An} là tập các thuộc tính mà tại đó các giá trị của bộ cần thay đổi ,khi đó phép thay đổi có dạng: R = r \ t U t’ CH(r; A1= d1,,, A2=D2,.., An= Dn; C1 = e1, C2 = e2 ,..., Cp = ep) Nếu K ={B1,.., Bm} là khoá của quan hệ khi đó chỉ cần viết: CH(r; B1=d1, B2=d2, ..., Bm= dm, C1= e1, C2= e2,..., Cp= ep). Ví dụ: Cần thay đổi số lượng của sắt phi 8 trong quan hệ HANG_HOA còn 150 tấn. Khi đó phép thay đổi có dạng: CH(HANG_HOA; MSMH= 10102; SOLUONG= 150). Phép thay đổi là phép rất tính thuận lợi, hay dùng. Cũng có thể không dùng phép thay đổi mà dùng tổ hợp của phép loại bỏ và phép chèn một bộ mới. Do vậy những sai sót của phép thay đổi cũng sẽ xảy ra tương tự như phép chèn và phép loại bỏ Chương 3 Lý thuyết thiết kế cơ sở dữ liệu quan hệ 3.1. Phụ thuộc hàm Khái niệm về phụ thuộc hàm(trong một quan hệ) là một quan niệm có tầm quan trọng hết sức đối với việc thiết kế mô hình dữ liệu. Năm 1970 EF Codd đã mô tả phụ thuộc hàm trong mô hình dữ liệu quan hệ, nhằm giải quyết việc phân rã không tổn thất thông tin.Sau đây là khái niệm một cách hình thức. Định nghĩa 3.1: Cho R(U) là một lược đồ quan hệ với U={A1,..., An} là tập thuộc tính X vàY là tập con của U. Nói rằng XY(X xác định hàm Y hay Y phụ thuộc hàm vào X) nếu r là một quan hệ xác định trên R(U) sao cho bất kỳ hai bộ t1, t2  r mà t1[X]= t2[X] thì t1[Y]= t2[Y] Phụ thuộc hàm ký hiệu là FD Nếu Y phụ thuộc hàm vào Y ( X-> Y) thì với mỗi giá trị của X tương ứng với mỗi một giá trị duy nhất của Y . Hay nói cách khác , Tồn tại một hàm (ánh xạ) từ tập hợp những giá trị của X đến tập hợp những giá trị của Y Chú ý: Phụ thuộc hàm chỉ xét các phụ thuộc hàm thoả mãn cho mọi quan hệ trên lược đồ tương ưng của nó. Không thể xem xét một phụ thuộc hàm thoả một quan hệ r đặc biệt(ví dụ quan hệ rỗng) của lược đồ R rồi sau đó quy nạp rằng phụ thuộc đó là thoả trên R. Ví dụ: Trong quan hệ S của hãng cung ứng, một trong số các thuộc tính SNAME, STATUS, CITY đều phụ thuộc hàm vào thuộc tính S. Mỗi giá trị S tồn tại vừa đúng một giá trị tương ứng đối với từng thuộc tính SNAME, STATUS và CITY. Khi đó có thể viết: S  SNAME, S  STATUS, S  CITY Ví dụ : Trong một hoá đơn bao gồm các thuộc tính “ số hóa đơn “ , “tên khách hàng “, mã sản phẩm “, “ tổng giá trị sản phẩm “.. ta thấy “số hoá đơn “-> “ tên khách hàng “ “ số hoá đơn “, ‘ mã sản phẩm” -> “ tổng giá trỉ sản phẩm “; 3.1.1. Hệ tiên đề cho phụ thuộc hàm Gọi F là tập tất cả các phụ thuộc hàm đối với lược đồ quan hệ R(U) và XY là một phụ thuộc hàm, X,Y U. Nói rằng X Y được suy diễn logic từ F nếu mối quan hện r trên R(U) đều thoả các phụ thuộc hàm của F thì cũng thoả XY. Chẳng hạn F={AB, B C] thì A C suy ra từ F. Gọi F+ là bao đóng của F, tức là tất cả các phụ thuộc hàm được suy diễn logic từ F. Nếu F =F+ thì F là họ đầy đủ của các phụ thuộc hàm. Để có thể xác định khoá của một lược đồ quan hệ và các suy diễn logic giữa các phụ thuộc hàm cần thiết phải tính được F+ từ F. Do đó đòi hỏi phải có các hệ tiền đề. Tập các quy tắc của hệ tiên đề được Armstrong đưa ra và được gọi là hệ tiên đề Armstrong. Gọi R(U) là lược đồ quan hệ U={A1,...,An} là tập các thuộc tính X, Y, Z, W  R. Hệ tiên đề Armstrong bao gồm: Phản xạ: Nếu Y X thì XY Tăng trưởng: Nếu ZU và XY thì XZYZ trong đó ký hiệu XZ là hợp của hai tập X và Y thay cho ký hiệu X  Y Bắc cầu: Nếu X Y và Y Z thì X Z * Bổ đề 3.1 Hệ tiền đề Armstrong là đúng. Có nghĩa F là tập các phụ thuộc hàm đúng trên quan hệ r. Nếu XY là một phụ thuộc hàm được suy diễn từ F nhờ hệ tiên đề Armstrong thì XY là đúng trên quan hệ r *Bổ đề 3.2 Luật hợp: Nếu XY và XZ thì XYZ Luật tựa bắc cầu:Nếu XY và WYZ thì XWZ Luật tách: Nếu XY và XY thì XZ 3.1.2: Sơ đồ quan hệ Chúng ta gọi sơ đồ quan hệ (SDQH) s là một cặp , ở đây R là tập các thuộc tính và F là tập các phụ thuộc hàm trên R. Ký hiệu F+ là tập tất cả các phụ thuộc hàm dẫn xuất từ F bằng việc áp dụng các quy tắc trong hệ tiên đề Armstrong Đặt A+={a: A{a}} F+. A+ được gọi là bao đóng của A trên s Có thể thấy rằng ABF+ nếu và chỉ nếu B  A+ Tương tự chúng ta có thể đặt Ar +={a: A{a}}. Ar + được gọi là bao đóng của A trên r. Theo định nghĩa trên chúng ta thấy nếu s= là sơ đồ quan hệ thì có quan hệ r trên R sao cho Fr=F +. Quan hệ r như vậy chúng ta gọi là quan hệ Armstrong của s Thuật toán tính bao đóng Việc tính toán bao đóng F+ của tập các phụ thuộc hàm trong trường hợp tổng quát là rất khó khăn và tốn kém thời gian bởi vì các tập phụ thuộc hàm thuộc F+ rất lớn cho dù F có thể là nhỏ. Chẳng hạn F={AB1, AB2,...,ABn}. F + khi đó cũng được tính cả những phụ thuộc hàm AB với Y {B1,...,Bn}. Như vậy sẽ có 2 n tập con Y.Nhưng việc tính X+, bao đóng của tập thuộc tính X lại không khó. Theo bổ đề 3.3 việc kiểm tra (XY) F+ không khó hơn việc tính X+. Tính bao đóng X+ sẽ được thể hiện qua bao đóng sau: Thuật toán: Tính bao đóng của tập các thuộc tính đối với một tập các phụ thuộc hàm. Vào: Tập U hữu hạn các thuộc tính, Tập các phụ thuộc hàm F trên U và X  U Ra: X+, bao đóng của X đối với F Phương pháp: Tính liên tiếp các thuộc tính X0,...,Xn theo quy tắc X0=X Xi+1=XI A sao cho (YZ)F, A Z, Y Xi Vì rằng X=X0 ...U, U là hữu hạn cho nên sẽ tồn tại một chỉ số i nào đó mà Xi=Xi+1 khi đó X+ = Xi 3.1.3.Phủ của tập các phụ thuộc hàm Gọi F và G là tập các phụ thuộc hàm. Nói rằng F và G là tương đương nếu F+= G+. Nếu F và G là tương đương đôi khi còn nói F phủ G(và G phủ F). Nếu tồn tại một phụ thuộc hàm YZ mà thuộc F mà không thuộc G+ thì chắc chắn F+  G+. Nếu mỗi phụ thuộc hàm F cũng thuộc G+ thì mỗi phụ thuộc hàm VW thuộc F+ cũng thuộc G+ Để kiểm tra mỗi phụ thuộc G là phụ thuộc F+ quá trình làm hoàn toàn tương tự. Do đó F và G là tương đương khi và chỉ khi mỗi phụ thuộc hàm F là thuộc G+ và mỗi phụ thuộc G là thuộc F+. Bổ đề 3.4 Mỗi các phụ thuộc hàm F đều được phủ bằng tập các phụ thuộc hàm G mà vế phải các phụ thuộc hàm đó không quá một thuộc tính Định lý 3.2: Mỗi tập phụ thuộc hàm F đều tương đương với một tập F+ tối tiểu. 3.2. Phép tách các lược đồ quan hệ Phép tách lược đồ quan hệ R{A1,...,An}là việc thay thế lược đồ quan hệ R bằng các tập lược đồ {R1,...,Rk}, trong đó Ri  R, i=1,...,k và R=R1R2....Rk. ở đây không đòi hỏi các lược đồ Ri phải là phân biệt. Mục tiêu của phép tách chủ yếu là loại bỏ các dị thường dữ liệu gây ra. Ví dụ: Cho lược đồ quan hệ ngừơi cung cấp. S(SMANE,AĐ,PRO,PRICE) Và giả sử có các phụ thuộc hàm: SNAME  ADD; SNAME, PRO  PRICE Lược đồ S có thể được thay thế bằng hai lược đồ khác. S1(SNAME,ADD) và S2(SNAME, PRO, PRICE) Kết nối không mất mát thông tin. Nếu R là lược đồ quan hệ được tách thành các lược đồ con R1, R2,...,RK và D là tập các phụ thuộc dữ liệu, nói rằng phép tách là tách – kết nối không mất mát thông tin đối với D nếu với mỗi quan hệ r trên R thoả D: r = R1(r)* R2(r)*...*Rk(r) tức là r được tạo nên từ phép kết nối tự nhiên của các hình chiếu của nó trên các Ri, i =1,...,k Sau đây là một số tính chất của kết nối không mất mát thông tin. Tập các lược đồ: = (R1,..,Rk) được thay thế cho lược đồ R. Gọi m là ánh xạ xác định nhờ m(r)=* Ri(r), có nghĩa là m(r) là kết nối của các phép chiếu của r trên các lược đồ con trong . Điều kiện để kết nối không mất mát thông tin đối với D được biểu diễn như sau: Với mọi r thoả D, r = m(r) Bổ đề 3.5 Gọi R là lược đồ quan hệ = (R1,...,Rk) là phép tách của R, r là quan hệ trên R và ri =Ri(r) thì : r  m(r) Nếu s= m(r) thì Ri(s) = ri m(m(r)) = m(r) Trong trường hợp tách hai lược đồ con ta sẽ có định lý sau: Định lý: Nếu =(R1,R2) là một phép tách của R và F là tập phụ thuộc hàm thì là tách không mất mát thông tin đối với F khi và chỉ khi R1R2  R1 R2 hoặc R1R2  R2 R1 3.3. Chuẩn hoá lược đồ quan hệ Chuẩn hoá là quan hệ trong đó mỗi miền của thuộc tính chỉ chứa những giá trị nguyên tố tức là không phân nhỏ được nữa và do đó mỗi giá trị trong quan hệ cũng là nguyên tố. Quan hệ có chứa các miền giá trị là không nguyên tố gọi là quan hệ chuẩn hoá. Một quan hệ chuẩn hoá có thể thành một hoặc nhiều quan hệ chuẩn hoá khác và không làm mất mát thông tin. Vi dụ Trước : S PRO P QTY 1 100 1 2 3 200 300 100 200 400 500 2 3 4 2 5 1 Hình 2: Quan hệ không chuẩn hoá Sau S P QTY 1 1 1 2 2 3 3 100 200 300 100 200 400 500 1 2 1 4 2 5 1 Hình 3: Quan hệ chuẩn hoá Trước khi mô tả chi tiết các dạng chuẩn hoá cần thiết đưa ra một khái niệm sau đây. Cho một lược đồ quan hệ R trên tập thuộc tính U={A1,..,An}. Thuộc tính AU được gọi là thuộc tính khoá nếu A là thành phụ thuộc một khoá nào đó của R, ngược lại A được gọi là thuộc tính không khoá. Định nghĩa: Cho lược đồ quan hệ R(U) trên tập thuộc tính U={A1,..,Ak}. X và Y là hai tập thuộc tính khác nhau X  U và Y  U. Y là phụ thuộc hàm đầy đủ vào X nếu Y là phụ thuộc hàm vào X nhưng không phụ vào bất kỳ một tập hợp con thực sự nào của X. Trong lý thuyết ban đầu Codd đưa ra có ba dạng chuẩn của quan hệ : Dạng không chuẩn hoá  Dạng chuẩn thứ nhất (First Normal Form, viết tắt là 1NF)  Dạng chuẩn thứ hai (2NF)  Dạng chuẩn thứ ba( 3NF) 3.3.1. Dạng chuẩn 1NF(First Normal Form) Dạng chuẩn 1NF chỉ áp dụng cho file dữ liệu chứ không áp dụng cho sơ đồ quan hệ hay nói cách khác chỉ liên quan đến dữ liệu chứ không liên quan đến cấu trúc. Cụ thể là: Định nghĩa 1 NF: Một lược đồ quan hệ R được gọi là dạng chuẩn một (1NF) nếu và chỉ nếu toàn bộ các miền có mặt trong R đều chỉ chứa các giá trị nguyên tố. Chúng ta có thể thấy rằng một thực thể hay một quan hệ ở dạng chuẩn 1 nếu tất cả giá trị các thuộc tính của nó là sơ cấp. Tức là không phân chia nhỏ hơn nữa. 3.3.2.Dạng chuẩn thứ 2 (2NF) Định nghĩa 2NF: Lược đồ quan hệ R ở dạng chuẩn thứ hai nếu nó ở dạng chuẩn thứ nhất và nếu mỗi thuộc tính không khoá của R là phụ thuộc hàm đầy đủ vào khoá chính. Như vậy dạng chuẩn hai đòi hỏi một lược đồ quan hệ R trước tiên phải là dạng chuẩn 1NF và mọi thuộc tính thứ cấp đều phụ thuộc hàm hoàn toàn vào bất kỳ một khoá tối tiểu nào, như vậy tính chất của dạng chuẩn hai phụ thuộc vào 3 yếu tố:  Khoá tối tiểu  Thuộc tính thứ cấp  Phụ thuộc hàm hoàn toàn Trong ví dụ trên thực thể Bán hàng là 1NF ta thấy đối với mọi khoá chính{Ngàytháng,mãhàng,} cá thuộc tính Tổng và Thanh Toán phụ thuộc hàm vào thuộc tính ngày tháng , các thuộc tính tên hàng , đơn giá phụ thuộc hàm vào thuộc tính mã hàng , ngày tháng , mã hàng là thuộc tính của khoá chính . Do đó dẫn đến trùng lặp dữ liệu . Thực thể bán hàng không là 2NF . phải tách nó ra làm 3 thực thể riêng 3.3.3. Dạng chuẩn thứ 3(3NF) Định nghĩa phụ thuộc bắc cầu Để trình bày 3NF của các quan hệ ,ở đây chúng ta đưa thêm vào khái niệm về phụ thuộc bắc cầu Cho một lược đồ quan hệ R(U); X là một tập con các thuộc tính XU, A là một thuộc tính thuộc U. A được gọi là phụ thuộc bắc cầu vào X trên R nếu tồn tại một tập con Y của R sao cho XY, YA nhưng Y X(không xác định hàm) với AXY Chúng ta có thể hiện tính bắc cầu qua sơ đồ : Qua sơ đồ có thể thấy rằng A có thể xác định hàm Y. Trong trường hợp A -> Y thì được gọi là tính bắc cầu chặt. Định nghĩa dạng chuẩn thứ 3(3NF) Lược đồ quan hệ R là ở dạng chuẩn thứ 3(3NF) nếu nó là 2 NF và mỗi thuộc tính không khoá của R là không phụ thuộc hàm bắc cầu vào khoá chính. Ví dụ : cho lược đồ quan hệ R(SAIP) với các phụ thuộc hàm SI -> P và S -> A. R là không ở 3NF, thậm chí không ở 2NF. Giả sử X=SI, Y=S . A là thuộc tính không khoá vì chỉ có một khoá là SI . Vì X->Y và Y-> A, nhưng lại có Y->X tức là S-> Y là không thoả . Chú ý rằng trong trường hợp này X-> Y và Y->A không chỉ thoả trên R mà là những phụ thuộc đã cho. Điều đó là đủ để nói rằng X->Y, Y->A suy ra từ tập các phụ thuộc hàm. Như vậy A là phụ thuộc vào khoá bắc cầu vào khoá chính SI Ví dụ : cho lược đồ quan hệ R(CSZ) với các phụ thuộc hàm CS-> Z, Z-> C . Trong lược đồ mọi thuộc tính đều là thuộc tính khoá . Do vậy R là ở 3NF . Ví dụ : cho lược đồ R(SIDM) và các phụ thuộc hàm SI-> D, SD-> M ở đây chỉ có một khoá chính là SI. Rõ ràng rằng R ở 2NF nhưng không phải ở 3NF. 3.3.4.Dạng Chuẩn Boye-Codd Định nghĩa : Lược đồ quan hệ R với tập các phụ thuộc hàm đuợc gọi là ở dạng chuẩn Boey- Codd (Boey-Codd Normal Form, BCNF) nếu X-> A thoả trên R , A -> X thì X là một khoá của R. Ví dụ : Cho lược đồ quan hệ R(CRS) với các phụ hàm CS-> Z, Z-> C. Nhìn vào ví dụ trên , chúng ta nhận thấy rõ ràng R không là ở BCNF mà là ở 3NF vì rằng Z->C nhưng không phải là khoá của R . Từ ví dụ này chúng ta thấy rằng một lược đồ quan hệ có thể có 3NF nhưng không là BCNF. Do đó mỗi lược đồ ở BCNF là 3NF. Để khảng định một điều đó chúng ta có các định lý sau : Định lý Nếu một lược đồ quan hệ R với tập phụ thuộc hàm F là ở BCNF thì nó là ở 3NF. Phần II Phân tích thiết kế hệ thống trợ giúp quản lý việc bán thuốc cho cửa hàng tân dược . Chương 1 Luồng thông tin vào ra của hệ thống. 1.1.Hệ thống thông tin vào Thông tin về thuốc như tên thuốc : mẫu mã, giá cả, chất lượng thuốc, hạn sử dụng, số lượng,công dụng nước sản xuất, hãng sản xuất Thông tin về nhà cung cấp : mã nhà cung cấp, tên nhà cung cấp, địa chỉ, điện thoại công nợ Thông tin về khách hàng : mã khách hàng, tên khách hàng, địa chỉ khách hàng điện thoại, công nợ 1.2. Hệ thống xử lý thông tin Thông tin đưa vào phải được sắp xếp, phân loại dạng thuốc, loại thuốc Thông tin được đưa vào phải qua khâu xử lý như : tính toán giá cả lãi xuất ,lợi nhuận theo quý theo năm... Tính toán nhưng thuốc quá hạn sử dụng ,hàng tồn từ đó biết được số thuốc có trong cửa hàng, để đưa ra kết luận chính xác. 1.3. Hệ thống thông tin ra Thông tin về thuốc được truyền bá sâu rộng bằng nhiều hình thức khác nhau(VD mở cuộc hội thảo giới thiệu về thuốc mới, in ra giấy tài liệu gửi đến cho khách hàng, dưới dạng báo cáo ra file hoặc ra màn hình, hoạc thông qua mạng máy tính để thông tin đến được với người dùng Đầu ra của luồng dữ liệu này có thể đưa vào các luồng dữ liệu khác. Các biểu mẫu báo cáo : Tồn kho, thuốc quá hạn, thuốc hư hỏng, lãi suất giá, số lượng thuốc đang có trong ngày. mục chức năng cơ bản của hệ thống Phải đáp ứng được những yêu cầu của người sử dụng, hệ thống phải xử lý các thông tin nhanh, hiệu quả và độ chính xác cao, dễ sử dụng, dễ hiểu,nhằm khắc phục được những nhược điểm của quá trình quản lý bằng thủ công Chương 2 Các chức năng cơ bản của hệ thống Các chức năng chính. Gồm 5 chức năng chính: - Quản lý thuốc - Quản lý hoá đơn - Quản lý nhà cung cấp - Quản lý khách hàng - Tra cứu và tìm kiếm - Tổng hợp Các chức năng trên được phân rã như sau: 2.1. Quản lý thuốc Chức năng này có tác dụng quản lý chặt chẽ thông tin về thuốc như mã số thuốc, tên thuốc, loại thuốc, số lượng, công dụng. Huỷ những loại thuốc hỏng , thuốc hết hạn sử dụng và sửa chữa thông tin cần thay đổi về thuốc, thêm các loại thuốc, thêm các loại thuốc mới, kiểm tra, phân loại thuốc và lưu vào kho. Quản lý về quá trình bán thuốc của hàng, nhận đơn hàng từ phía khách hàng, kiểm tra đơn hàng, tiếp nhận các thông tin phản hồi từ phía khách hàng, lập danh sách đơn hàng và phân loại khách hàng. 2.2. Quản lý hoá đơn Chức năng quản lý hoá đơn có tác dụng cho biết thông tin về mã hoá đơn, mã thuốc, mã nhà cung cấp, số lượng, ngày xuất nhập, đơn giá, thành tiền, số tiền đã thanh toán, số tiền còn lại mà từ đó người quản lý truy cập được các thông tin cần thiết. như số tiền còn nợ của nhà cung cấp, khách hàng 2.3. Quản lý nhà cung cấp Quản lý : mã nhà cung cấp, tên nhà cùng cấp, địa chỉ , điện thoại, số tiền mà cửa hàng còn nợ lại nhà cung cấp, các đơn hàng và cung cấp các thông tin về thuốc. 2.4. Quản lý khách hàng Quản lý : mã khách hàng, tên khách hàng, địa chỉ, điện thoại, số tiền mà khách hàng còn nợ lại nhà cửa hàng, các đơn hàng và cung cấp các thông tin về thuốc. 2.5.Tra cứu và tìm kiếm. Làm nhiệm vụ tra cứu và tìm kiếm những yêu cầu của người quản lý đưa ra (khách hàng,loại thuốc) 2.6. Tổng hợp Tổng hợp về số lượng nhập, xuất bán, khách hàng, lãi xuất theo từng tháng, quý năm. Chương 3 Phân tích chi tiết về các chức của hệ thống quản lý việc bán thuốc cho cửa hàng tân dược 3.1. Quá trình nhập thuốc Cửa hàng gửi đơn đặt hàng đến cho nhà cung cấp, nhà cung cấp chuyển thuốc đến cho cửa hàng.Thuốc nhận được từ nhà cung cấp phải được kiểm tra cho khớp với đơn đặt hàng sau đó phân loại theo từng loại thuốc, dạng thuốc, nước sản xuất, số lượng, nơi sản xuất và đánh mã số thuốc cho phù hợp với công tác quản lý của cửa hàng rồi đưa vào kho thuốc. Từ đó người quản lý lấy thông tin, nội dung liên quan đến thuốc để đưa vào cơ sở dữ liệu cho máy quản lý. Khi cần có sự thay đổi thông tin về thuốc do cập nhật sai hoặc bổ xung người quản lý cửa hàng chỉ cần tìm đến mã số thuốc đó rồi sửa đổi và cập nhật lại . Quá trình kiểm tra và sắp xếp lại kho để loại ra những mặt hàng quá hạn sử dụng hoặc hư hỏng do nguyên nhân khách quan gây nên để có biện pháp xử lý kịp thời. 3.2. Quá trình xuất bán của hàng Quá trình này được thực hiện thông qua người bán hàng để biết được lượng thông tin về khách hàng và mối quan hệ của khách hàng với cửa hàng. Số lượng khách mua và số lượng thuốc khách đặt với cửa hàng theo số lượng mà người quản lý có thể phân loại ra thành khách mua buôn và khách mua lẻ, người tiêu dùng. 3.3. Chức năng quản lý nhà cung cấp Chức năng này nói về quy trình hoạt động của cửa hàng với nhà cung cấp có mối quan hệ ràng buộc lẫn nhau khi thì đứng ở vai trò người mua khi thì đứng ở vai trò người bán, ở đây ta xét vai trò của nhà cung cấp là nhà sản xuất thuốc vì ở đây chỉ xét đến chức năng bán thuốc, quản lý mã nhà cung cấp, tên nhà cung cấp,địa chỉ điện thoại, công nợ 3.4. Chức năng quản lý khách hàng Đối với chức năng khách hàng họ không chỉ hoạt động ở dưới dạng là người mua hàng của cửa hàng mà họ còn có thể là một cửa hàng cấp dưới và lại có chức năng cung cấp hàng cho khách hàng cấp dưới nữa.Khi bán hàng cửa hàng chỉ cần quan tâm đến tên khách hàng,địa chỉ khách hàng,điện thoại, công nợ và chúng được đặt một mã chung gọi là mã khách hàng.Chức năng này có thể thêm ,sửa,xoá và in danh sách khách hàng. 3.5. Chức năng quản lý hoá đơn Chức năng này chính là chức năng thể hiện sự giao dịch mua bán của cửa hàng.Tại đây người quản lý có thể tìm kiếm hay tra cứu một cách nhanh chóng các thông tin về thuốcvà các công việc đặt ra của người quản lý. Chức năng này còn được phân ra làm hai loại hoá đơn, hoá đơn xuất, hoá đơn nhập, mỗi hoá đơn đều có các chức năng và nhiệm vụ riêng. 3.6. Chức năng tra cứu và tìm kiếm Chức năng này có khả năng tìm kiếm và tra cứu thông qua 3 chức năng nhỏ : trường tìm kiếm, điều kiện tìm kiếm, phương thức tìm kiếm. Đối với chức năng trường tìm kiếm : chương trình sẽ cho ra một danh sách các trường như : mã thuốc, tên thuốc, hạn dùng ,lãi xuất từ đó người sử dụng có thể chọn bất cứ trường gì tuỳ theo yêu cầu cụ thể Chức năng tiếp theo là điều kiện tìm kiến : chương trình sẽ cho phép người dùng tìm kiếm theo những điều kiện logic như “ >= ”, “<= ”, “=” (lớn hơn hoặc bằng, nhỏ hơn hoặc bằng, bằng ) người sử dụng có thể chọn bất cứ điều kiện gì tuỳ theo yêu cầu cụ thể Cuối cùng là phương thức tìm kiếm : người dùng có thể nhập vào những điều kiện tổng quát nào đó để tìm ra những thông tin theo yêu cầu 3.7. Chức năng tổng hợp Thực hiện các công việc về thống kê hoá đơn ,báo cáo số lượng thuốc,báo cáo lãi xuất, trong cửa hàng(bán,nhập), thuốc hỏng, hết hạn sử dụng, lãi xuất . 3.8. Biểu đồ phân cấp chức năng Hàng tồn Quản lý việc bán thuốc cho cửa hàng thuốc tân dược Q/lý thuốc Q/ lý NCC và khách Q/lý hoá đơn Tìm kiếm Tổng hợp Nhập xuất Thêm Sửa đổi Huỷ bỏ Nhập xuất Thêm Sửa đổi Huỷ bỏ Hoá Đơn N/X Thêm Sửa đổi Huỷ bỏ Đ/K tìm P/thức Trường tìm Thống kê Báo cáo Trong quá trình thêm “mới được” thực hiện khi muốn nhập :một loại thuốc, nhà cung cấp, khách hàng ,hoá đơn mới, nếu quả trình nhập dữ liệu có sai sót thì ta có thẻ sửa dữ liệu thông qua chức năng “sửa đổi”. Khi một nhà cung cấp, một khách hàng thôi không hoạt động mua bán với cửa hàng nữa thì ta có thể xoá nhà cung cấp, khách hàng đó khỏi cơ sở dữ liệu thông qua chức năng “huỷ bỏ” chức năng này cũng xoá các hoá đơn nhập, xuất khi quá thời gian quy định Chức năng tổng hợp được dùng để thống kê thuốc, lãi xuất,nhà cung cấp ,khách hàng lãi xuất theo tháng quý năm Phần III Các cơ sở chức năng. Chương 1 biểu đồ luồng dữ liệu ( data flow diagram dfd) 1.1. mức khung cảnh Đây là mô hình hệ thống ở mức tống quát nhất ta xem cả hệ thống như một chức năng.Tại mức này hệ thống chỉ có duy nhất một chức năng. Các tác nhân ngoài và các luồng dữ liệu vào ra từ tác nhân ngoài đến hệ thống được xác định Trong biểu đồ chức năng chính là chức năng quản lý bán thuốc các tác nhân ngoài hệ thống là thuốc , nhà cung cấp NCC và khách hàng Quản lý bán thuốc Thuốc Đơn hàng Nhận hàng Giao hàng Đơn hàng Trả tiền Thu tiền Thông tin về thuốc Trả lại hoá đơn Giao hàng Khiếu lại giao hàng Quá trình quản lý bán thuốc nhận “Đơn hàng” từ nhà cung cấp và khách hàng để biết được yêu cầu của khách hàng và nhà cung cấp sau đó xử lý, tính toán và “Giao hàng ” đối với khách hàng và “nhận hàng” đối với nhà cung cấp .Từ đó “trả tiền” cho nhà cung cấp và “thu tiền” đối với khách hàng. Nếu cửa hàng nhận đơn từ phía nhà cung cấp và khách hàng mà đơn không phù hợp với yêu cầu thì “trả lại hoá đơn” không đúng đó cho nhà cung cấp và khách hàng, ngược lại nếu cửa hàng giao không đúng với yêu cấu thì khách hàng có thể “khiếu lại” giao hàng với cửa hàng 1.2.bld mức đỉnh Biểu đồ này chỉ rõ quá trình làm việc của hệ thồng các luồng dữ liệu biểu thị cho chức năng của hệ thống. Các kho dữ liệu biểu thị là các tệp tin lưu trữ lâu dài Trả hoá đơn NCC và khách hàng Hoá đơn Trả tiền Đối chiếu H o á đ ơ n k h ô n g k h ớ p G i a o h à n g k h ô n g D a n h s á c h đ ơ n h à n g Thuốc Phân loại C u n g ứ n g t h u ố c Gửi Hoá đơn Thanh toán Trả hoá Hoá đơn Lưu Hoá Ds thuốc Kho thuốc Dự trù 1.3.bld dưới mức đỉnh Biểu đồ này được phân rã ra từ biểu đồ mức đỉnh các chức năng được phân rã một cách chi tiết hơn những dữ liệu ra vào được bảo toàn , ở đây các chức năng được định nghĩa riêng từng biểu đồ 1.3.1 biểu đồ chức năng quản lý thuốc NCC và khách hàng Phân loại thuốc Đối chiểu Xử lý đơn Đ ơ n D a n h s á c h t h u ố c D ự Thuốc Huỷ thuốc In D/S đơn hàng Sửa chữa Cung cấp thuốc Không khớp Lưu thuốc Kho thuốc Đơn hàng 1.3.2 biểu đồ quản lý hoá đơn NCC và khách hàng Hoá đơn Trả tiền Đối chiếu G i a o h à n g k h ô n g H o á đ ơ n k h ô n g k h ớ p Huỷ hoá đơn In hoá đơn Thêm hoá đơn Hoá đơn Thanh toán Hoá đơn Đối chiếu Danh sách đơn hàng Đây là chức năng giao tiếp chính của hệ thống nó mang mọi thông tin về quá trình giao dịch mua bán của hàng và từ đây người quản lý cũng có thể truy cập hệ thống một cách dễ dàng. Có nghĩa là mọi giao dịch mua bán của hàng đều thông qua hoá đơn đối chiếu kiểm tra hoá đơn in, thêm, sửa 1.3.3 biểu đồ chức năng tra cứu Quản lý NCC và khách hàng Tra cứu tìm Yêu cầu Trả lời yêu cầu Hoá đơn Kho thuốc Chương 2 Mô hình thực thế liên kết E-r(Entity-relatioship) 2.1. Mục đích Mục đích của việc xây dựng mô hình thực thể liên kết là thiết kế cơ sở dữ liệu cho hệ thống quản lý việc bán thuốc cho cửa hàng tân dược .Hệ thống được xây dựng sẽ lưu giữ thông tin, xử lý và sử dụng dữ liệu trong hệ thống cơ sở dữ liệu được thiết kế, quá trình thiết kế sẽ tối ưu trong việc phân tách các file dữ liệu sao cho việc lưu giữ là ít nhất nhưng lại có thể truy cập dễ dàng nhất.Cách bố trí file dữ liệu logic sẽ trả lời được các câu hỏi đề ra của hệ thống như yêu cầu thông tin của một đối tượng, tiến hành thu thập, thống kê dữ liệu theo tiêu trí nào đó trong hệ thống. Quá trình thiết kế dựa rất nhiều vào những khái niệm và những kiến thức cơ bản về mô hình dữ liệu ,khái niệm về phụ thuộc hàm,khoá hoặc các kết nối logic. 2. 2. phân tách các thực thể chính trong hệ thống Dựa vào các hoạt động cụ thể của hệ thống quản lý việc bán thuốc ở cửa hàng tân dược, dựa vào các hoá đơn chứng từ giao dịch hàng ngày và đặc thù của việc bán thuốc ở cửa hàng tân dược, dựa vào biểu đồ luồng dữ liệu đã được phân tích ở trên ta thấy rõ ràng đối tượng cần quan tâm của hệ thống “Quản lý NCC” và “thuốc”. Trong đó có thể gọi cơ sở dữ liệu của hệ thống quản lý việc bán thuốc của cửa hàng tân dược là: “Quản lý NCC”và “Thuốc”.Các thuộc tính dễ thấy của hai thực thể là: “Quản lý NCC”: mã NCC,tên NCC ,địa chỉ NCC,điện thoại . “Thuốc”: mã số thuốc,tên thuốc,mã NCC, mã loại thuốc,số lượng,đơn giá,hạn sử dụng,nước sản xuất,công dụng. Với thực thể “Khách hàng” và “Thuốc”. Trong cơ sở dữ liệu của hệ thống quản lý việc bán thuốc ở cửa hàng tân dược có thực thể “Khách hàng” và “Thuốc” Các thuộc tính dễ thấy của hai thực thể là: “Khách hàng”:mã KH,tên KH,địa chỉ, điện thoại. “Thuốc”:mã số thuốc,tên thuốc, mã KH,mã loại thuốc ,số lượng,hàm lượng,đơn giá,hạn sử dụng,nước sản xuất,công dụng. Đối với NCC và khách hàng tên cũng như địa chỉ của NCC và khách hàng không thể dùng để biết được thông tin về NCC hay khách hàng trong hệ thống quản lý của cửa hàng tân dược mà chính là mã của NCC và mã khách hàng. Phụ thuộc hàm lượng đưa ra như sau: [Mã KH]->[Tên khách hàng,địa chỉ,điện thoại ] Khoá chính đối với hai thực thể trên là mã NCC và mã khách hàng, đó cũng chính là mã mà cửa hàng dùng để quản lý NCC và các khách hàng của mình. Đối với thuốc,mã thuốc được xác định là khoá chính cho thực thể “Thuốc”.Từ mã thuốc mà người quản lý cửa hàng có thể xác định được các thông tin về thuốc như mã thuốc,tên thuốc,mãNCC và mã khách hàng,mã loại thuốc,số lượng thuốc ,hạn sử dụng , đơn giá ,nước sản xuất,công dụng. Phụ thuộc hàm được đưa ra như sau: [Mã thuốc] -> [Tên thuốc,mã loại thuốc,mã khách hàng…] Về cơ bản hai thực thể trên là đủ cho việc quản lý của cửa hàng .Nhưng đối với cửa hàng,thực thể hoá đơn là thực thể giao dịch của cửa hàng “Hoá đơn ” hay gọi là thực thể cơ bản.Thông thường các thông tin về nhà cung cấp thuốc thường dược ghi ngay trên hộp thuốc,vỉ thuốc và được mô tả trong các thuộc tính. Các thực thể sau khi đã được đưa về các dạng chuẩn sao cho phù hợp với thực tế, tối ưu trong việc lưu giữ và tra cứu. Đối với thuốc,mỗi loại thuốc có thể có rất nhiều thuốc khác nhau và thông thường người quản lý cửa hàng cất giữ và kiểm tra thuốc theo từng mã loại thuốc. Nếu đối với mỗi loại thuốc mà ta đều phải lặp đi lặp lại các thuộc tính mô tả đó sẽ rất lãng phí bộ nhớ,làm cho các file giữ liệu rất cồng kềnh. Chính vì thế, thay vì lưu trữ trong thông tin về thuốc.Các thông tin cụ thể về loại thuốc như tên thuốc sẽ được lưu trữ vào một file “Loại thuốc” và file có khoá chính là mã loại thuốc. 2.3. Mối liên hệ giữ các thực thể Quan hệ giữa thực thể “Loại thuốc” và thực thể “Thuốc” là mối quan hệ 1-N:Mỗi loại thuốc thông thường chỉ thuộc về một loại thuốc và ngược lại mỗi loại thuốc có rất nhiều thuốc liên quan. Quan hệ giữa thực thể “Thuốc” và “NCC” là mối quan hệ N-N.Mỗi loại thuốc có thể có nhiều NCC ngược lại một NCC có thể cung cấp nhiều loại thuốc khác nhau. Có thể tách mối quan hệ này thành các mối quan hệ 1-N thông qua một thực thể trung gian là “Hoá đơn”.Thực thể này được mô tả như một quá trình giao dịch giữa cửa hàng với NCC và được miêu tả như sau: Như vậy mối quan hệ giữa thuốc và hoá đơn là mối quan hệ 1-N. Một hoá đơn có thể ghi nhiều loại thuốc khác nhau ,ngược lại một loại thuốc chỉ có thể được ghi trong một hoá đó được miêu tả như sau Như vậy mối quan hệ giữa hoá đơn và nhà cung cấp là mối quan hệ N-1. Một hoá đơn có thể ghi nhiều nhà cung cấp ,ngược lại một nhà cung cấp chỉ có thể ghi trong một hoá đó Loại thuốc Thuốc Thuốc Nhà cung cấp Hoá đơn nhà cung cấp Thuốc Thuốc Hoá đơn Quan hệ giữa thực thể “Thuốc” và “Khách hàng” là mối quan hệ N-N.Mỗi thuốc có thể có nhiều khách hàng ngược lại một khách hàng có thể mua nhiều loại thuốc khác nhau cùng một lúc. Có thể tách mối quan hệ này thành các mối quan hệ 1-N thông qua một thực thể trung gian là “Hoá đơn”.Thực thể này được mô tả như một quá trình giao dịch giữa cửa hàng với NCC và được miêu tả như sau: Tương tự như nhà cung cấp mối quan hệ giữa hoá đơn và khách hàng là mối quan hệ N-1. Một hoá đơn có thể ghi nhiều khách hàng, ngược lại một khách hàng chỉ có thể ghi trong một hoá đó và được miêu tả như sau Quan hệ giữa thực thể “Loại thuốc” và thực thể “Dạng thuốc” là mối quan hệ 1- N.Một loại thuốc có thể có nhiều dạng thuốc nhưng một dạng thuốc chỉ thuộc về một loại thuốc đó.Mối quan hệ được miêu tả như sau: 2.4.Mô hình tổng thể của liên kết E-R Thuốc Khách hàng Hoá đơn Khách hàng Thuốc Loại thuốc Dạng thuốc Hoá đơn Khách hàng Hoá đơn nhà cung cấp Các thuộc tính của thực thể được liên kết qua mô hình thực thể liên kết, trong đó các thuốc tính được gạch chân là các thuốc tính khoá chính của các thuộc tính tương ứng chứa nó và các thuộc tính gạch chân nét đứt là thuộc tính kháo ngoại Nhà cung cấp Thuốc Khách hàng Loại thuốc Dạng thuốc Hoá đơn Mã thuốc Tên thuốc mã loại thuốc mã NCC Hạn dùng mã loại thuốc Công dụng mã dạng thuốc Nước sx Tên loại thuốc Mã NCC Tên NCC Địa chỉ Điện thoại Công nợ Mã dạng thuốc Tên dạng Mã khách Tên khách Địa chỉ Điện thoại Mã NCC ,khách hàng mã hoá đơn mã thuốc số lượng đơn giá thành tiền đã thanh toàn còn lại ngày viết người giao người nhận chương 3 thiết kế hệ thống chương trình 3.1. Mục đích Phần này chỉ rõ phân định ranh giới thực hiện bởi máy tính và thủ công dựa vào các nguyên lý và phân tích ở phần trước để cụ thể hoá được hệ thống quản lý các cửa hàng bán thuốc ở Hà Nội hiện nay. Đưa ra mô hình phân tích tổng thể,phân tích các hệ thống con máy tính (khu vực trong biểu đồ luồng dữ liệu được xử lý bằng máy tính). *Giai đoạn thiết kế: 3.1.1.Thiết kế dữ liệu . Phần này đặc biệt quan tâm tới các dữ liệu đầu vào và đầu ra của hệ thống.Đó là luồng dữ liệu thông tin chính để duy trì hoạt động của cửa hàng thuốc.Dựa vào việc phân tích các thực thể của hệ thống và các dữ liệu vào ra thiết kế file dữ liệu sao cho chúng được bố trí hợp lý và logic. 3.1.2 Thiết kế kiến trúc chương trình: Nêu lên cách tổ chức dùng để kiểm soát một số các thành phần của phần mềm hệ thống. 3.1.3.Thiết kế các thủ tục Đưa ra mô hình chung của việc thiết kế, bước thực hiện các procedure,modul cho các chương trình hệ thống. 3.1.4. Thiết kế giao diện Phần này liên quan đến hình thức, định dạng, thiết lập, trình bày các thông tin trên màn hình. Nếu thiết kế tốt phần này sẽ làm giảm độ phức tạp của việc ghép nối chương trình với môi trường bên ngoài và người sử dụng chương trình thuận tiện và dễ dàng. 3.1.5.Thiết kế mẫu thử Dùng để kiểm soát tính đúng đắn của hệ thống. 3.1.6 Lựa chọn ngôn ngữ cài đặt hệ thống sao cho phù hợp nhất. 3.2. Thiết kế dữ liệu vào ra và các file giữ liệu: 3.2.1. Dữ liệu thông tin vào: Dữ liệu thông tin vào cho hệ thống quản việc bán thuốc cho cửa hàng tân dược được lấy từ hoá đơn bán hàng, những thông tin về thuốc, khách hàng, NCC, loại thuốc… và những thủ tục cần thiết cho việc giao dịch của cửa hàng. Ví dụ : Cửa hàng phải có đơn đặt hàng đối với nhà sản xuất hoặc hợp đồng mua bán được kí giữa nhà sản xuất với cửa hàng, khách hàng mua hàng của cửa hàng phải có hoá đơn thanh toán. Các thông tin lưu trữ để đối chiếu được lấy từ hoá đơn đặt mua thuốc từ nhà sản xuất … và các đơn đặt hàng của cửa hàng. *Cụ thể thông tin vào việc quản lý thuốc như sau: +Mã số thuốc +Tên thuốc +Mã NCC và khách hàng +Mã loại thuốc +Số lượng +Hàm lượng +Nước sản xuất +Hạn sử dụng +Công dụng *Thông tin đầu vào cho việc quản lý NCC: + Mã NCC +Tên NCC +Địa chỉ +Điện thoại +Công nợ *Thông tin đầu vào cho việc quản lý các hoá đơn nhập: +Mã hoá đơn +Mã số thuốc +Mã NCC +Số lượng nhập +Giá nhập +Đơn vị tính +Ngày nhập +Người giao +Người nhận +Thành tiền +Đã thanh toàn +Còn lại *Thông tin đầu vào cho việc quản lý các hoá đơn xuất: +Mã hoá đơn +Mã số thuốc +Mã khách hàng +Số lượng +Đơn vị tính +Giá xuất +Ngày xuất +Người giao +Người nhận +Thành tiền +Đã thanh toàn +Còn lại *Thông tin đầu vào cho việc quản lý khách hàng: +Mã KH +Tên KH +Địa chỉ +Điện thoại +Công nợ *Thông tin đầu vào cho việc quản lý loại thuốc: +Mã loại thuốc +Tên loại thuốc +Mã dạng thuốc *Thông tin đầu vào cho việc quản lý dạng thuốc: +Mã dạng thuốc +Tên dạng thuốc 3.2.2.Dữ liệu thông tin ra Hệ thống các luồng dữ liệu ra bao gồm: + Các đơn đặt hàng, các hoá đơn thanh toán, các biểu báo cáo thống kê tổng hợp về số lượng thuốc hiện có trong cửa hàng cũng như số lượng thuốc bán được trong thời gian mà người quản lý muốn tổng hợp thống kê. + Các biểu báo cáo tổng hợp thống kê theo số lượng và chủng loại thuốc hiện có trong cửa hàng. + Tổng hợp thống kê số lượng hàng hỏng hàng hết hạn sử dụng trong cửa hàng.Lên danh sách khách nợ, lập những đơn hàng mới.Báo cáo quá trình hoạt động của cửa hàng. + In ra các hoá đơn bán hàng, các phiếu thu. + Đưa ra kết quả của việc tra cứu và tìm kiếm. Thiết kế file dữ liệu, phần này nêu rõ cụ thể hoá các file để lưu giữ đầy đủ các thông tin về cơ sở dữ liệu của hệ thống quản lý của cửa hàng bán thuốc.Bảng dữ liệu , phạm vi của các trường được lưu giữ cụ thể hoá như sau: a, Bảng “Thuốc”. STT Tên trường Kiểu Độ rộng Ghi chú 1. Masothuoc Text 10 Mã số thuốc(khoá chính) 2. Tenthuoc Text 20 Tên thuốc 3. Maloaithuoc Text 10 Mã loại thuốc(khoá ngoại) 4. MaNCC Text 10 Mã NCC(khoá ngoại) 5. Soluong Integer Số lượng 6. Nuocsanxuat Number Nước sản xuất 7. Hansudung Date 10 Hạn sử dụng 8. Congdung Text 20 Công dụng 9. Hamluong Text 20 Hàm lượng B,Bảng NCC. ST T Tên trường Kiểu Độ rộng Ghi chú 1 MaNCC Text 10 Mã NCC(khoá chính) 2 TenNCC Text 25 Tên NCC 3 Diachi Text 25 Địa chỉ 4 Dienthoai Text 10 Điện thoại 5 Congno Number Công nợ c.Bảng “Khách hàng”. STT Tên trường Kiểu Độ rộng Ghi chú 1. MaKH Text 10 Mã KH(khoá chính) 2. TenKH Text 25 Tên KH 3. Diachi Text 25 Địa chỉ 4. Dienthoai Text 10 Điện thoại 5 Congno Number Công nợ d.Bảng “Hoá đơn xuất”. STT Tên trường Kiểu Độ rộng Ghi chú 1. Mahoadon Text 10 Mã hoá đơn(khoá chính) 2. MaKH Text 10 Mã KH(khoá ngoại) 3. Ngayxuat Text 10 Ngày xuất 4. Giaxuat Text 25 Giá xuất 5 Soluong Integer Số lượng 6 Masothuoc Text 10 Mã số thuốc(khoá ngoại) 7 Donvitinh Text 10 Đơn vị tính 8 Thànhtien Number Thanh tiền 9 Dathanhtoan Number Dathanhtoan 10 Nvgiao text 15 Nhân viên giao 11 Nnhan text 15 Nhân viên nhận 12 Conlai Number Còn lại E.Bảng “Hoá đơn nhập”. STT Tên trường Kiểu Độ rộng Ghi chú 1. Mahoadon Text 10 Mã hoá đơn(khoá chính) 2. MaNCC Text 10 Mã NCC(khoá ngoại) 3. Ngaynhap Text 10 Ngày nhập 4 Gianhap Text 25 Giá nhập 5. Soluong Integer Số lượng 6. Masothuoc Text 10 Mã số lượng(khoá ngoại) 7. Donvitinh 10 Đơn vị tính 8 Thànhtien Number Thanh tiền 9 Dathanhtoan Number Dathanhtoan 10 Nvgiao text 15 Nhân viên giao 11 Nnhan text 15 Nhân viên nhận 12 Conlai Number Còn lại G.Bảng “Loại thuốc”. STT Tên trường Kiểu Độ rộng Ghi chú 1. Maloaithuoc Text 10 Mã loại thuốc(khoá chính) 2. Tendangthuoc Text 20 Tên dạng thuốc 3. Madangthuoc Text 10 Mã dạng thuốc(khoá ngoại) H.Bảng “Dạng thuốc”. STT Tên trường Kiểu Độ rộng Ghi chú 1. Madangthuoc Text 10 Mã loại thuốc(khoá chính) 2. Tendangthuoc Text 25 Tên dạng thuốc Trong đó các thuốc tính được gạch chân là các thuốc tinh khoá chính các thuộc và các thuộc tính gạch chân nét đứt là thuộc tính kháo ngoại 3.3. Thiết kế cấu trúc chương trình Phần này mô tả sự phân cấp chức năng trong chương trình từ trên xuống dưới của cửa hàng bán thuốc tân dược. Hệ thống của chương trình nàyđược phân thành 3 cấp: +Cấp 1:Cấp này mô tả tổng thể toàn bộ mô hình quản lý việc bán thuốc của cửa hàng tân dược. +Cấp 2:được phân rã từ cấp 1,trong cấp này mô tả các chức năng chính của hệ thống quản lý việc bán thuốc. -Quản lý thuốc -Quản lý NCC -Quản lý khách hàng -Quản lý hoá đơn -Tra cứu và tìm kiếm -Tổng hợp +Cấp 3:Được phân rã từ cấp 2, cấp này mô tả cụ thể chi tiết cụ thể các công việc của bài toán. 3.4. Thiết kế modul chương trình. Mô tả cụ thể: Modul quản lý thuốc. Modul này phân rã từ hệ thống quản lý việc bán thuốc cho cửa hàng tân dược từ đây lại được phân giã thành các modul thực hiện các công việc cụ thể của hệ thống như:nhập thuốc, phân loại thuốc, gửi đơn thuốc, kiểm tra, sửa chữa hay huỷ bỏ thuốc. Khi nhập thuốc mới về sẽ tiến hành phân loại đánh mã số theo cho từng loại thuốc theo quy định cuả cửa hàng. Nếu xảy ra một số trường hợp cần sửa đổi hay huỷ bỏ các thông tin về thuốc thì chức năng sửa đổi sẽ dựa vào mã của thuốc để tìm đến các thông tin liên quan và thực hiện công việc. Modul này phân giã từ hệ thống quản lý việc bán thuốc cho cửa hàng tân dược có nhiệm vụ thực hiện các công việc như sau:kiểm tra hoá đơn, địa chỉ khách hàng, số tiền thanh toán, thêm bớt khách hàng và xoá bỏ khách hàng. Modul quản lý NCC và khách hàng: Modul này phân giã từ hệ thống quản lý việc bán thuốc cho cửa hàng tân dược.Modul này thực hiện công việc giao dịch hàng ngày của cửa hàng đối với khách hàng. Người bán hàng đưa ra những thông tin về các sản phẩm cho khách hàng biết và tìm hiểu rồi giải thích cho họ về những thắc mắc mà họ nêu ra đồng thời cũng tiếp thu các ý kiến phản ánh của khách hàng nhằm nâng cao chất lượng phục vụ của cửa hàng đối với khách hàng đồng thời quản lý các thông tin về nhà cung cấp như :tên NCC,địa chỉ,điện thoại. Chức năng lập hoá đơn và kiểm tra hoá đơn để gửi đến cho khách hàng. Chức năng theo dõi công nợ của khách hàng phải thường xuyên và sử lý những khách nợ đọng quá lâu. Modul quản lý loại thuốc: Có chức năng phân loại các dạng thuốc,thêm sửa các loại thuốc. Mô hình quan hệ các thực thể liên kết Chương4 Các form chương trình 4.1. form chính Form này được khới động ngay sau khi gọi chạy trương trình form này chứa toàn bộ các chức năng của toàn hệ thống , từ đây ta có thể thực hiên các công việc quản lý thông các menu chọn 4.2. form dạng thuốc Khi cửa hàng nhận thuốc từ nhà cung cấp về, phân loại và nhập mã dạng thuốc cho dạng thuốc đó nếu dạng thuốc đó chưa có trong danh mục dạng thuốc, nếu dạng thuốc đó đã co trong danh mục dạng thuốc thì chương trính sẽ thông báo đã có dạng thuốc này Private Sub cmddong_Click() Unload frmdangthuoc End Sub Private Sub cmdsua_Click() Adodt.Recordset.Update End Sub Private Sub cmdthem_Click() txtma.SetFocus Adodt.Recordset.AddNew End Sub Private Sub cmdxoa_Click() If (MsgBox("Bạn có muốn xoá bản ghi này không", 36, "Cửa số xoá dữ liệu") = vbYes) Then Adodt.Recordset.Delete If (Adodt.Recordset.EOF = False) Then Adodt.Recordset.MoveNext Else MsgBox "bạn đã xoá hết các trường" End If End If End Sub Private Sub Command1_Click() If Adodt.Recordset.EOF Then MsgBox "bạn đã ở bản ghi cuối" Else Adodt.Recordset.MoveFirst End If End Sub Private Sub Command2_Click(Index As Integer) If Adodt.Recordset.BOF Then MsgBox "bạn đã ở cuối file ! " Else Adodt.Recordset.MovePrevious End If End Sub Private Sub Command3_Click(Index As Integer) If Adodt.Recordset.EOF Then MsgBox "bạn đã chọn đầu file" Else Adodt.Recordset.MoveNext End If End Sub Private Sub Command4_Click(Index As Integer) Adodt.Recordset.MoveLast End Sub 4.3.Form loại thuốc Cũng tương tự như dạng thuốc ta cũng phải phân loại cho loại thuốc đó bằng cách nhập mã loại thuốc, tên loại ,và chọn mã dạng thuốc trong hộp combo để chon Nếu không biết mã dạng thuốc thì người quản lý có thể chọn nút lệnh “dạng thuốc” khi đó chương trình sẽ chạy form dạng thuốc từ đó ta có thể biết được mã dạng thuốc cho loại thuốc đó Mã chương trình loại thuốc Private Sub cmđangt_Click() frmdangthuoc.Show End Sub Private Sub cmddong_Click() Unload frmloaithuoc End Sub Private Sub cmdsua_Click() Adodt.Recordset.Edit End Sub Private Sub cmdthem_Click() txtma.Enabled = True txtten.Enabled = True Data1.Recordset.AddNew End Sub Private Sub cmdtim_Click() cmdtim.Enabled = True Data1.Recordset.Edit End Sub Private Sub cmdxoa_Click() If (MsgBox("Bạn có muốn xoá bản ghi này không", 36, "Cửa số xoá dữ liệu") = vbYes) Then Data1.Recordset.Delete Data1.Recordset.MoveNext End If End Sub Private Sub Command1_Click() Data1.Recordset.MoveFirst End Sub Private Sub Command4_Click() Data1.Recordset.MoveLast End Sub Private Sub Command3_Click() Data1.Recordset.MoveNext End Sub Private Sub Command2_Click() Data1.Recordset.MovePrevious End Sub Private Sub DataGrid1_Click() DataGrid1.AllowAddNew = False DataGrid1.AllowUpdate = False End Sub Private Sub DBCombo1_Change() Dim rs As Recordset Dim db As Database Dim str As String If DBCombo1.Text "" Then Set db = OpenDatabase(Data1.DatabaseName) str = "select* from dthuoc where madthuoc=" + """" + DBCombo1.Text + """" Set rs = db.OpenRecordset(str) Lbldt.Caption = rs.Fields("tendthuoc") rs.Close db.Close End If End Sub Private Sub Form_Load() txtma.Enabled = False txtten.Enabled = False End Sub 4.4. form khách hàng Khi một khách hàng đến hoạt động mua bán với cửa hàng thì chương trình phải quản lý mọi thông tin về khách hàng đó để thuận tiện cho việc liên lạc và để quản lý khách hàng đó và công nợ mà khách hàng còn nợ lại cửa hàng Mã chương trình form quản lý khách hàng Mã Private Sub cmddong_Click() End End Sub Private Sub cmdluu_Click() Adokh.Recordset.Update End Sub Private Sub cmdthem_Click() txtmancc.SetFocus Adokh.Recordset.AddNew End Sub Private Sub cmdxoa_Click() If (MsgBox("Bạn có muốn xoá bản ghi này không", 36, "Cửa số xoá dữ liệu") = vbYes) Then Adokh.Recordset.Delete Adokh.Recordset.MoveNext End If End Sub Private Sub Command1_Click() Adokh.Recordset.MoveFirst End Sub Private Sub Command2_Click(Index As Integer) Adokh.Recordset.MovePrevious End Sub Private Sub Command3_Click(Index As Integer) Adokh.Recordset.MoveNext End Sub Private Sub Command4_Click(Index As Integer) Adokh.Recordset.MoveLast End Sub 4.5. form quản lý hoá đơn nhập Trong hoá đơn nhập bao gồm : mã hoá đơn trong hộp text ,chọn mã thuốc trong hộp combo nếu không biết mã thuốc người quản lý có thể chọn nút thuốc khi đó chương trình sẽ chạy form quản lý thuốc từ đó ta có thể biết được mã thuốc cần nhập đối với nhà cung cấp cũng tương tự ta chọn mã nhà cung cấp trong hộp combo nếu không biết mã nhà cung cấp ta có thể bấm nút nhà cung cấp chương trình sẽ chạy form quản lý nhà cung cấp từ đó ta biết được các thông tin về nhà cung cấp Đôi với trường thành tiên và còn lại thì không phải nhập chương trình sẽ tự tính theo công thức như sau THANH_TIEN = SO_LUONG * DON_GIA CON_LAI = THANH_TIEN - DA_THANH_TOAN Private Sub cmddong_Click() End End Sub Private Sub cmdsua_Click() datqlt.Recordset.Edit End Sub Private Sub cmdncc_Click() Frmncc.Show End Sub Private Sub cmdthem_Click() Dim tong As Integer Dim dg, sl As Integer Adothuoc.Recordset.AddNew End Sub Private Sub cmdthoat_Click() Unload frmnhap End Sub Private Sub cmdxoa_Click() If (MsgBox("Bạn có muốn xoá bản ghi này không", 36, "Cửa số xoá dữ liệu") = vbYes) Then Adothuoc.Recordset.Delete Adothuoc.Recordset.MoveNext End If End Sub Private Sub DBdt_Change() Dim rs As Recordset Dim db As Database Dim str As String If DBdt.Text "" Then Set db = OpenDatabase(Dtadt.DatabaseName) str = "select * from dthuoc where madthuoc=" + """" + DBdt.Text + """" Set rs = db.OpenRecordset(str) Lbldt.Caption = rs.Fields("tendthuoc") rs.Close db.Close End If End Sub Private Sub Command1_Click() Adothuoc.Recordset.MoveNext End Sub Private Sub Command2_Click() Adothuoc.Recordset.MovePrevious End Sub Private Sub DBlt_Change() Dim rs As Recordset Dim db As Database Dim str As String If DBlt.Text "" Then Set db = OpenDatabase(Dtalt.DatabaseName) str = "select * from loaithuoc where maloaithuoc=" + """" + DBlt.Text + """" Set rs = db.OpenRecordset(str) Lbllt.Caption = rs.Fields("tenloaithuoc") rs.Close db.Close End If End Sub 4.6. form quản lý hoá đơn xuất 4.7. Form quản lý nhà cung cấp Private Sub cmddong_Click() Unload Frmncc End Sub Private Sub cmdluu_Click() Adoncc.Recordset.Update End Sub Private Sub cmdthem_Click() txtmancc.SetFocus Adoncc.Recordset.AddNew End Sub Private Sub cmdxoa_Click() If (MsgBox("Bạn có muốn xoá bản ghi này không", 36, "Cửa số xoá dữ liệu") = vbYes) Then Adoncc.Recordset.Delete Adoncc.Recordset.MoveNext End If End Sub Private Sub Command1_Click() Adoncc.Recordset.MoveFirst End Sub Private Sub Command2_Click(Index As Integer) Adoncc.Recordset.MovePrevious End Sub Private Sub Command3_Click(Index As Integer) Adoncc.Recordset.MoveNext End Sub Private Sub Command4_Click(Index As Integer) Adoncc.Recordset.MoveLast End Sub Private Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single) End Sub 4.8. Form nhập thuốc Private Sub cmdluu_Click() Data1.Recordset.Edit Data1.Recordset.Update End Sub Private Sub cmdmaloait_Click() Form1.Show End Sub Private Sub cmdthem_Click() txtmat.SetFocus Data1.Recordset.AddNew End Sub Private Sub cmdthoat_Click() Unload Me End Sub Private Sub cmdxoa_Click() If (MsgBox("Bạn có muốn xoá bản ghi này không", 36, "Cửa số xoá dữ liệu") = vbYes) Then Data1.Recordset.Delete Data1.Recordset.MoveNext End If End Sub 4.9. form tìm kiếm nhà cung cấp Khi cần biết thông tin về nhà cung cấp nào đó ta có thể tìm kiếm chi tiêt thông tin về cung cấp đó thông qua form tìm kiếm 4.10.form tìm kiếm thông tin khách hàng * Các biểu mẫu báo cáo Chức năng này thực hiện các công việc tổng hợp và thông kê theo các tiêu chí như bao cáo danh sách nhà cung cấp, khách hàng, mã thuốc, dạng thuốc, các hoá đơn nhập xuất in ra dưới dạng danh sách ra màn hình từ đó người quản lý có thể biết được tình hình kinh doanh của cửa hàng, số công nợ của khách hàng, số tiền mà cửa hàng còn nợ nhà cung cấp . Báo cáo tổng hợp nhà cung cấp từ báo cáo ta có thể biết được thông tin về nhà cung và biết được số công nợ mà cửa hàng còn nợ nhà cung cấp từ đó lên kế hoạch trả nợ và thu nợ cho cửa hàng Bảng thống kê các loại thuốc Bảng thông kê các dạng thuốc Bảng thông kê nhà cung cấp Lựa chọn hệ cơ sở dữ liệu và ngôn ngữ cài đặt chương trình Phần cơ dữ liệu của chương trình quản lý việc bán thuốc cho cửa hàng tân dược được thiết kế trên hệ quản trị cơ sở dữ liệu Microsoft Access. Đây là hệ quản trị dữ liệu trên môi trường Windows, trong đó có sẵn các công cụ hữu hiệu và tiện lợi để tự động nảy sinh chương trình cho hầu hết các bài toán về quản lý. Đây là một công cụ quản trị cơ sở dữ liệu mạnh được đánh giá cao trên máy PC hiện nay, nó có tính linh hoạt và rất dễ sử dụng. Sơ lược về cơ sở dữ liệu của Mcrosoft Access Hiện nay Microsoft Access đã trở thành một sản phẩm phần mềm mạnh, dễ dàng , đơn giản khi làm việc.Khả năng của phần mềm này là cho chúng ta quyền kiểm soát hoàn toàn cơ sở dữ liệu khi làm việc. Mcrosoft Access cung cấp cho chúng ta sáu đối tượng công cụ là : Bảng (Table) , Truy vấn (Query), mẫu biểu (Form) , báo biểu (Report), Macro và đơn thể (Module) . Bảng có cấu trúc tương tự như một tệp DPF của Foxpro được dùng để lưu trữ dữ liệu của cơ sở dữ liệu (CSDL) . Một cơ sở dữ liệu gồm nhiều bảng quan hệ với nhau. Truy vấn là công cụ mạnh của Access dùng để tổng hợp, sắp xếp, tìm kiếm dữ liệu trên các bảng. Một biểu thường dùng để tổ chức cập nhật dữ liệu cho các bảng và thiết kế giao diện chương trình. Tuy có thể nhập dữ liệu trực tiếp vào các bảng nhưng mẫu biểu sẽ cung cấp nhiều khả năng nhập liệu tiện lợi như : Nhận dữ liệu từ một danh sách,nhận các hình ảnh,nhập dữ liệu đồng thời trên nhiều bảng. Mẫu biểu còn cho phép nhập các giá trị riêng lẻ (không liên quan đến bảng từ các bàn phím). Mẫu biểu còn có một khả năng quan trọng khác là tổ chức giao diện chương trình dưới dạng một bảng nút lệnh hoặc một hệ thống Menu. Báo biểu là công cụ tuyệt vời phục vụ công việc in ấn,nó cho các khả năng : In dữ liệu dưới dạng bảng. In dữ liệu dưới dạng biểu. Sắp xếp dữ liệu trước khi in. Sắp xếp và phân nhóm dữ liệu tới 10 cấp . Cho phép thực hiện các phép toán để nhận dữ liệu tổng hợp trên mỗi nhóm. Ngoài ra ,dữ liệu tổng hợp nhận được trên các nhóm lại có thể đưa vào các công thức để nhận được sự so sánh,đối chiếu trên các nhóm và trên toàn báo cáo. In dữ liệu của nhiều bảng có trên báo cáo . Cũng cần nói thêm việc chon Font chữ, cỡ chữ, kiểu in và việc trình bày trên báo cáo được tiến hành rất đơn giản. Macro bao gồm một dãy các hành động (Action) dùng để tự động hoá một loạt các thao tác. Macro thường dùng với mẫu biểu để tổ chức giao diện chương trình . Phần IV Tổng hợp đánh giá và kết luận Chương 1 Đánh giá các kết quả đạt được Hệ thống đã đáp ứng được phần nào công việc của nhà quản lý và việc bán thuốc của cửa hàng trở nên đơn giản hơn giảm bớt được các chức năng hoạt động thủ công. Thay vào đó là công việc của máy tính thực hiện như tra cứu, tổng hợp báo cáo, tính toán lãi xuất của cửa hàng,..., đã được hoàn thiện và áp dụng hoàn toàn trong quản lý tự động, khả năng làm việc nhanh chóng mang hiệu quả cao và độ chính xác lớn trong công việc. Hệ thống cập nhật thông tin về thuốc mới một cách nhanh chóng, tự động phân loại thuốc theo vần hay theo nước sản xuất đáp ứng nhu cầu người quản lý, khả năng tra cứu và tìm kiếm nhanh khi cần tìm một loại thuốc nào đó quá hạn sử dụng. Quá trình thay đổi các thông tin về thuốc theo yêu cầu của người tiêu dùng, xoá, chỉnh sửa nhanh chóng. Các luồng thông tin lưu chuyển trong hệ thống được kiểm soát chặt chẽ. Hệ thống thiết kế có tính logic nên khi có sự thay đổi trong chương trình thì hệ thống sẽ tự động điều chỉnh các dữ liệu liên quan cho phù hợp với yêu cầu của hệ thống. Các dữ liệu trong hệ thống được thiết kế mang tính chuẩn hoá cao.Không gian lưu trữ thông tin trong máy tính được tối ưu và truy xuất đầy đủ các dữ liệu. Khả năng về thị trường của cửa hàng được mở rộng thông qua mạng máy tính(Internet,...). Người tiêu dùng có thể mua hàng ở bất kỳ cửa hàng nào mà họ muốn thông qua mạng. Họ có thể tìm hiểu thông tin về các loại thuốc. Chương trình này được xây dựng và thiết kế trên hệ quản trị cơ sở ACCESS và ngôn ngữ lập trình VISUAL BASIC hiện đại và đa năng. Có được những đặc tính, ưu điểm sau : + Trực quan dễ sử dụng. + Đáp ứng được nhu cầu quản lý của người sử dụng, xác định rõ quyền hạn của người sử dụng. + Hỗ trợ đắc lực cho người quản lý, hay các nhân viên trong quá trình làm việc, bỏ qua hầu hết các công vệi bàn giấy. + Việc nhập dữ liệu được thực hiện một cách nhanh chóng, dễ dàng nhờ sự tự động kiểm tra dữ liệu vào ra. + Việc tra cứu tài liệu đựơc nhanh chóng và thuận tiện đáp ứng nhu cầu của người tiêu dùng. + Các tổng hợp báo cáo được kết xuất nhanh chóng kịp thời giúp cho việc quản lý nắm giữ các thông tin của cửa hàng thuốc. Sau một thời gian nghiên cứu và tìm hiểu đến nay bài tập tốt nghiệp của em đã được hoàn thành. Về mặt cơ bản bài tập đã phân tích, thiết kế hầu như đầy đủ cơ sở dữ liệu của hệ thống quản lý việc bán thuốc ở cửa hàng tân dược .Tuy nhiên một số vấn đề chưa được đưa vào phân tích. Với sự hạn chế về thời gian cùng với kiến thức và khả năng lập trình của tác giả, chương trình không tránh khỏi những thiếu sót. Cụ thể hạn chế mà tác giả nhận thấy của chương trình là : -Chương trình có tính chuyên nghiệp chưa cao. Chưa giải quyết được hết những vấn đề nảy sinh trong quá trình quản lý. Chương 2 Phương hướng phát triển chương trình: Phát triển chương trình chạy trên mạng máy tính, đây là hướng phát triển đầu tiên của chương trình, vì trong thực tế cơ sở dữ liệu trên mạng có ý nghĩa lớn hơn nhiều trên các máy đơn lẻ. Từ đó cung cấp thêm chức năng tra cứu tài liệu thông tin qua trang Web site giới thiệu về thuốc. Chức năng này cho phép độc giả tra cứu dữ liệu từ xa, sử dụng các phần mềm để truy cập vào các trang Web của cửa hàng. Quản lý các đơn đặt hàng và hoá đơn mua các mặt hàng thuốc của cửa hàng. Chuẩn hoá chương trình theo chuẩn quốc tế nhằm liên kết các cửa hàng thuốc để chia sẻ các nguồn lực tài nguyên của nhau. Đây là một chương trình ứng dụng thực tế lớn và phức tạp, cần có một nhóm các chuyên gia cùng thực hiện. Vì vậy trong khuôn khổ khoá luận này chỉ có thể đưa ra những chức năng cơ bản, mô phỏng một phần nhỏ yêu cầu của thực tế. Rất mong nhận được sự đóng góp ý kiến của các thầycô giáo và bạn bè để chương trình được tiếp tục hoàn thiện, đáp ứng một cách tốt nhất cho côngtác quản lý của cửa hàng bán thuốc. Kết luận Việc xây dựng hệ thống quản lý thông tin bằng máy tính phục vụ cho công tác quản lý việc bán thuốc cho cửa hàng tân dược là một bài toán thực tế và được áp dụng trong phạm vi rộng rãi. Đề tài này chỉ mang tính cục bộ tuy nhiên hệ thống đã cơ bản xây dựng và giải quyết được vấn đề của bài toán quản lý việc bán thuốc cho cửa hàng tân dược. Từ hệ thống cơ bản ban đầu này nếu được đầu tư về mặt thời gian, công sức thì có thể phát triển chương trình tốt hơn so với yêu cầu đặt ra ban đầu, và hệ thống mới chắc chắn sẽ giải quyết được các vấn đề vướng mắc của công việc quản lý thuốc một cách nhanh chóng. Qua thời gian học hỏi nghiên cứu cách thiết kế một chương trình ứng dụng thực tế hiện nay bằng máy tính đến nay em đã hoàn thành đề tài “Quản lý việc bán thuốc cho cửa hàng tân dược”. Mặc dù chương trình chưa được hoàn hảo, song qua quá trình làm việc và tìm hiểu em đã học hỏi được được nhiều điều bổ ích về phương pháp xây dượng một chương trình ứng dụng trong tin học Tài liệu tham khảo 1. Hướng dẫn sử dụng microsoft Access :TS Phạm Văn ất 2. Kỹ thuật lập trình visual basic : Dương Quang Thiện 3. Nhập môn cơ sử dữ liệu :Lê Tiến Vương 4. Tự học lập trình của :Nguyễn Anh Thư Mục lục Lời nói đầu .......................................................................................................... 1 Phần I : Lý Thuyết về cơ sơ dữ liệu ................................................................... 5 Chương 1 : khái quát về cơ sở dữ liệu ............................................................... 5 1.1: Khái niệm cơ bản về hệ quản trị cơ sở dữ liệu ..................................... 5 1.2: Kiến trúc một hệ cơ sở dữ liệu ............................................................. 5 Chương 2: Mô hình cơ sở dữ liệu quan hệ.............................. ................................ 8 2.1: Các khái niệm cơ bản............................................................................. 8 2.2: Khoá.............................................................................................. ..... 9 2.3: Các phép tính trên CSDL quan hệ ................................................. ... 10 Chương 3: lý thuyết thiết kế cơ sở dữ liệu quan hệ ..................................... ... 12 3.1: Phụ thuộc hàm............................................................................. ........ 12 3.2: Phép tách các lược đồ quan hệ ....................................................... ... 15 3.3: Chuẩn hoá lược đồ quan hệ ........................................................... ... 17 Phần II: Phân tích thiết kế hệ thống trợ giúp quản lý việc bán thuốc cho cửa hàng tân dược ......................................................................................................... ... 22 Chương 1: Luồng thông tin vào ra của hệ thống. ........................................ ... 22 1.1.Hệ thống thông tin vào ............................................................................. ... 22 1.2. Hệ thống xử lý thông tin ........................................................................... ... 22 1.3. Hệ thống thông tin ra ................................................................................ ... 22 Chương 2: Các chức năng cơ bản của hệ thống............. .................................. 24 2.1. Quản lý thuốc ............................................................................................... 24 2.2. Quản lý hoá đơn ........................................................................................... 24 2.3. Quản lý nhà cung cấp ................................................................................... 24 2.4. Quản lý khách hàng ...................................................................................... 25 2.5. Tra cứu và tìm kiếm ..................................................................................... 25 2.6. Tổng hợp ...................................................................................................... 25 Chương 3: Phân tích chi tiết về các chức của hệ thống quản lý việc bán thuốc cho cửa hàng tân dược ......................................................................................... ... 26 3.1. Quá trình nhập thuốc: ............................................................................... ... 26 3.2. Quá trình xuất bán của hàng: .................................................................... ... 26 3.3. Chức năng quản lý nhà cung cấp .............................................................. ... 26 3.4. Chức năng quản lý khách hàng: ................................................................ ... 27 3.5. Chức năng quản lý hoá đơn:................................................................... ........ 27 3.6. Chức năng tra cứu và tìm kiếm:..............................................................27 3.7. Chức năng tổng hợp :.............................................................................. ........ 28 3.8. Biểu đồ phân cấp chức năng ..................................................................... ... 28 Phần III : Các cơ sở chức năng....................................... ............................... ... 30 Chương 1: biểu đồ luồng dữ liệu .................................................................. ... 30 ( data flow diagram dfd) 1.1. Mức khung cảnh...................................................................................... ... 30 1.2. BLD mức đỉnh........................................................................................ ....... .31 1.3. BLD dưới mức đỉnh ................................................................................. ... 33 Chương 2: Mô hình thực tế liên kết E-R:(Entity-relatioship).. ....................... 36 2.1. Mục đích:................................................................................................ ........ 36 2.2. phân tách các thực thể chính trong hệ thống: ............................................ ... 36 2.3. Mối liên hệ giữ các thực thể: ................................................................... ... 38 2.4. Mô hình tổng thể của liên kết E-R.......................................................... ........ 40 Chương 3: thiết kế hệ thống chương trình............................ ............................41 3.1. Mục đích:................................................................................................41 3.2. Thiết kế dữ liệu vào ra và các file giữ liệu: ............................................42 3.3. Thiết kế cấu trúc chương trình: .............................................................. ........ 47 3.4. Thiết kế modul chương trình: .................................................................48 Chương 4: Các form chương trình................................................... ................. 50 4.1. Form chính .................................................................................................. 50 4.2. Form dạng thuốc .......................................................................................... 51 4.3. Form loại thuốc ............................................................................................ 53 4.4. Form khách hàng .......................................................................................... 56 4.5. Form quản lý hoá đơn .................................................................................. 57 4.6. Form quản lý hoá đơn xuất ........................................................................... 61 4.7. Form quản lý hàng cung cấp ......................................................................... 61 4.8. Form nhập thuốc .......................................................................................... 63 4.9. Form tìm kiếm nhà cung cấp ........................................................................ 64 4.10. Form tìm kiếm thông tin khách hàng .......................................................... 65 Phần IV: Tổng hợp đánh giá và kết luận.......................... ............................ 71 Chương 1. Đánh giá các kết quả đạt được..................................... ............... 71 Chương 2. Phương hướng phát triển chương trình .................. .................. 73 Kết luận...................................................................................................74 Tài liệu tham khảo.......................................................................... ..................... 75

Các file đính kèm theo tài liệu này:

  • pdfLUẬN VĂN-Quản lý việc bán thuốc cho cửa hàng tân dược.pdf
Tài liệu liên quan