Lờ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 đại họ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 đó, sau nà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ường các thầy giáo, cô giáo, các bạn bè đ
79 trang |
Chia sẻ: huyen82 | Lượt xem: 1669 | Lượt tải: 1
Tóm tắt tài liệu Thiết kế và xây dựng phần mềm quản lý việc bán thuốc cho cửa hàng tân dược, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ã giúp đỡ Em trong suốt quá trình học tại trường.
Em xin chân thành cảm ơn Thầy giáo hướng dẫn tận tình giúp đỡ em hoàn thành luận văn tốt nghiệp này
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.
User 1
Khung nhìn 1
User 2
User n
Khung nhìn 1
Khung nhìn 1
CSDL mức khái niệm (logic)
CSDL mức vật lý
.
.
.
.
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ý:
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ó 2n 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 đồ:
r= (R1,..,Rk) được thay thế cho lược đồ R. Gọi mr là ánh xạ xác định nhờ mr(r)=* ếRi(r), có nghĩa là mr(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 r. Đ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 = mr(r)
Bổ đề 3.5
Gọi R là lược đồ quan hệ r= (R1,...,Rk) là phép tách của R, r là quan hệ trên R và ri =ếRi(r) thì :
r Í mr(r)
Nếu s= mr(r) thì ếRi(s) = ri
mr(mr(r)) = mr(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
2
3
100
200
300
100
200
400
500
1
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._.
Các file đính kèm theo tài liệu này:
- 29636.doc