Để có cơ sở xây dựng chiến lược phát triển du lịch, công tác thống kê du lịch là một yếu tố quan trọng
Trang 1Lời cảm ơn
Trong suốt 4 năm em đợc sống ,học tập và nghiên cứu trong trờng đạihọc Phơng Đông Em đã đợc các thầy giáo, cô giáo dậy bảo tận tình Em đãtiếp thu đợc những hiểu biết về mặt xã hội ,những kiến thức về chuyên ngành
mà mình theo học Em hy vọng rằng với những kiến thức đã đợc học đó, saunày khi ra trờng em sẽ góp phần công sức nhỏ bé của mình vào sự nghiệp của
đất nớc
Trớc khi ra trờng Em xin chân thành cảm ơn ban giám hiệu nhà trờngcác thầy giáo, cô giáo, các bạn bè đã giúp đỡ Em trong suốt quá trình học tạitrờng
Em xin chân thành cảm ơn Thầy giáo hớng dẫn tận tình giúp đỡ emhoàn thành luận văn tốt nghiệp này
Trang 2Lờ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ôngnghệ thông tin đã trở thành một nhu cầu không thể thiếu trong đời sống conngờ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âmtrong 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 nhngcũ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ồngthô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 kinhnghiệm và phơng pháp thủ công không còn phù hợp nữa, cần có một phơngphá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àigiâ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ọchoá giúp tránh đợc thất lạc dữ liệu tự động hệ thống hoá và cụ thể hoá cácthô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ácmá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ọithiết bị ngoại vi và phần mềm để hoàn thành một số công việc cụ thể , songviệ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ínhcá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 tuyriê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 đầutiên nh (Novell NetWare và Microsoft Lan Manager ) đã đợc thiết kế dới
Trang 3dạ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ềuhành máy tính mới nh Microsoft Windows 95/98 và Win dows NT, đã gộpmộ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ếntrì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ảngvữ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ạnglà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ândợ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 lu trữ thông tin ngày càng lớn tạo nên mộtkho thông tin đồ sộ có thể lu trữ hàng trăm ngìn mặt hàng thuốc khác nhauvới nhiều chủng loại và mẫu mã Hơn thế nữa với tốc độ truy xuất , tìmkiế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 lu buônbá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àngnhiề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úpquả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 nhanhchó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 ranhững loại thuốc có hiệu quả trong kinh doanh Từ những mong muốn ápdụ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 trongcô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
Trang 4mạnh mẽ nên Em đã thực hiện đề tài này để một phần nào đóng góp chocô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ăngnhập , lu trữ , xử lý thông tin về quá trình xuất nhập thuốc nhằm nâng caohiệ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 tinmớ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ốckhô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ếtcá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ểmtra 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ợphà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ềuchứ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àothế giới thông qua mạng toàn cầu trên những trang Website giới thiệu về sảnphẩ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ụngrấ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
Trang 5PhÇ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ý
Trang 6Cơ sở dữ liệu bao gồm các thông tin đợc lu 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ễndị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 trongmáy
Trang 7Hì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êuhoặ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ùngcho 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ý:
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
CSDL mức vật lý
Trang 8Lợ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ằngcá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ụnglà:
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ệ theomộ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ậpdữ 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 đổitrong cấu trúc truy nhập và chiến lợc truy nhập
Trang 9Chơ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 trongtiế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 viDi 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ó nthà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={A 1 , ,A n } là một tập hữu hạn các thuộc tính, mỗi thuộc tính
A i với i=1, ,n có miền giá trị tơng ứng là dom(A I ) Quan hệ trên tập thuộc tính R=(A 1 , ,A n ) là tập con của tích Đề Các
r dom(A 1 )x xdom(A 2 )
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)
Trang 10T1 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
Trong lợc đồ quan hệ có thể có rất nhiều khoá Việc tìm tất cả các khoá củalợc đồ quan hệ là rất khó khăn
Để có thể định nghĩa khoá ta cần lu ý rằng, nếu K’ là khoá của quan hệr(A1, ,An) thì K’KR, K cũng là khoá của r, nghĩa là bất kỳ t1 ,t2 r từ
Ví dụ: Quan hệ HANG_HOA
HANG_HOA( MSMH TEN_HANG SO_LUONG)
Trang 11Bộ 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 lu 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éploạ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ầnviết:
Trang 12DEL( 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:
Chơng 3
Lý thuyết thiết kế cơ sở dữ liệu quan hệ3.1 Phụ thuộc hàm
Trang 13Khá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 EFCodd đã mô tả phụ thuộc hàm trong mô hình dữ liệu quan hệ, nhằm giảiquyế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áchhình thức.
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ớimỗ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 (ánhxạ) 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ộtquan hệ r đặc biệt(ví dụ quan hệ rỗng) của lợc đồ R rồi sau đó quy nạp rằngphụ 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ínhSNAME, 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ênkhá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 “;
Trang 143.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àXY 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ũngthoả XY
Chẳng hạn F={AB, 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ữacá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ì XY
Tăng trởng: Nếu ZU và XY thì XZYZ trong đó ký hiệu XZ là hợp củahai 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
Luật hợp: Nếu XY và XZ thì XYZ
Luật tựa bắc cầu:Nếu XY và WYZ thì XWZ
Luật tách: Nếu XY và XY thì XZ
3.1.2: Sơ đồ quan hệ
Chúng ta gọi sơ đồ quan hệ (SDQH) s là một cặp <R,F>, ở đâ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
Trang 15cả 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 ABF+ 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 Atrên r Theo định nghĩa trên chúng ta thấy nếu s=<R,F> 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ổngquá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={AB1, AB2, ,ABn} F+khi đó cũng đợc tính cả những phụ thuộc hàm AB với Y{B1, ,Bn} Nhvậy sẽ có 2n tập con Y.Nhng việc tính X+, bao đóng của tập thuộc tính X lạikhông khó Theo bổ đề 3.3 việc kiểm tra (XY) F+ không khó hơn việctí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 (YZ)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 đơngnế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 YZ mà thuộc F mà không thuộc G+ thì chắcchắn F+ G+
Trang 16Nếu mỗi phụ thuộc hàm F cũng thuộc G+ thì mỗi phụ thuộc hàm VW 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
ở đâ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áchchủ 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
Trang 17Nế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ấtmá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êncủ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áclợ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)
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ứanhữ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ố
Trang 18Quan hÖ cã chøa c¸c miÒn gi¸ trÞ lµ kh«ng nguyªn tè gäi lµ quan hÖ chuÈnho¸ 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.
100200
400500
123
42
51
H×nh 2: Quan hÖ kh«ng chuÈn ho¸
Trang 1911122
33
100200300100200
400500
12142
51Hì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ínhAU đợ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á
Dạng chuẩn thứ hai (2NF)
Dạng chuẩn thứ ba( 3NF)
Trang 203.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 chosơ đồ quan hệ hay nói cách khác chỉ liên quan đến dữ liệu chứ không liênquan đế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ếutoà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 chianhỏ 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àobấ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ộcvà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
Trang 21phả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áiniệ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 XU, 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, YA nhng Y X(không xác
định hàm) với AXY
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ỗithuộ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à
Trang 22thuộc tính không khoá vì chỉ có một khoá là SI Vì X->Y và Y-> A, nhnglạ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,
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 nhng 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
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
Trang 231.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ốcThô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ợinhuận theo quý theo năm
Tính toán nhng 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ácnhau(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 đếncho 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 quamạ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
Trang 24Phả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
Trang 25Chứ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ốchỏ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à luvà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áchhàng, kiểm tra đơn hàng, tiếp nhận các thông tin phản hồi từ phía kháchhà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ànhtiền, số tiền đã thanh toán, số tiền còn lại mà từ đó ngời quản lý truy cập đợccá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
Trang 26Quả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ácthô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ôngtin 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ừngtháng, quý năm
Trang 27Chơ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ấpchuyển thuốc đến cho cửa hàng.Thuốc nhận đợc từ nhà cung cấp phải đợckiể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 chomá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ổ xungngờ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ậtlạ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ệnphá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ợngthô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ờitiê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à cungcấp có mối quan hệ ràng buộc lẫn nhau khi thì đứng ở vai trò ngời mua khi
Trang 28thì đứng ở vai trò ngời bán, ở đây ta xét vai trò của nhà cung cấp là nhà sảnxuất thuốc vì ở đây chỉ xét đến chức năng bán thuốc, quản lý mã nhà cungcấp, tên nhà cung cấp,địa chỉ điện thoại, công nợ
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ủacử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 nhanhchó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á đơnnhậ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ăngnhỏ : 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 danhsá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ơnhoặ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ềukiện gì tuỳ theo yêu cầu cụ thể
Trang 29Cuố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ợngthuố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
Trong quá trình thêm “mới đợc” thực hiện khi muốn nhập :một loạithuố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
Trang 30thì ta có thể xoá nhà cung cấp, khách hàng đó khỏi cơ sở dữ liệu thông quachứ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
Trang 31Phầ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 nhmộ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ácnhâ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 đợcxá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ácnhân ngoài hệ thống là thuốc , nhà cung cấp
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á đơnGiao hàngKhiếu lại giao hàng
Trang 32Quá 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ôngphù 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áchhà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ệubiể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 lutrữ lâu dài
Trang 341.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 đợcphâ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ácchứ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
Đối chiểu
Cung cấp thuốc
Không khớp
L u thuốc
Kho thuốc
Đơn hàng
Trang 351.3.2 biểu đồ quản lý hoá đơn
Đâ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ể
Trang 36truy 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ủahà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
Hoá đơn Kho thuốc
Trang 37Chơ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ẽ lu 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 filedữ liệu sao cho việc lu giữ là ít nhất nhng lại có thể truy cập dễ dàngnhấ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ốilogic
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à đặcthù 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ánthuố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ố ợng,đơn giá,hạn sử dụng,nớc sản xuất,công dụng
l-Với thực thể “Khách hàng” và “Thuốc”
Trang 38Trong cơ sở dữ liệu của hệ thống quản lý việc bán thuốc ở cửahàng tân dợc có thực thể “Khách hàng” và “Thuốc” Các thuộc tính dễ thấycủ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,đơngiá,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àngtrong 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áchhàng, đó cũng chính là mã mà cửa hàng dùng để quản lý NCC và các kháchhà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ácthông tin về thuốc nh mã thuốc,tên thuốc,mãNCC và mã khách hàng,mã loạithuố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…,A]
Về cơ bản hai thực thể trên là đủ cho việc quản lý của cửahàng Nhng đối với cửa hàng,thực thể hoá đơn là thực thể giao dịch của cửahà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 lu 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ácnhau và thông thờng ngời quản lý cửa hàng cất giữ và kiểm tra thuốc theotừ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ạicá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ấtcồng kềnh Chính vì thế, thay vì lu 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 lu trữ vào một file “Loại thuốc” vàfile có khoá chính là mã loại thuốc