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ôns 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ốm đắ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 .
Trang 1LỞI CẰM dN
Trong suốt 4 năm em được son2 ,học tập và nghiên cứu tron2 trườn2 đạihọc Phươn2 Đôn2 Em đã được các thầy 2Ìáo, cô 2Ĩá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 n2ầnh
mà mình theo học Em hy vọng rằng với nhữn2 kiến thức đã được học đó, sau nàykhi ra trường em sẽ góp phần công sức nhỏ bé của mình vào sự n2hiệp của đấtnướ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 đỡ em hoànthành luận văn tốt n2hiệp này
Trang 2Ấíuận v/tu tất in/ítiĩp Quán ltj cửa /lít/lí/ thuêe
C7'ranụ: 1
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ôns 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 tinhxả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 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ồ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ôngnhỏ đố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ớihiệ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áchmạ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ếmthông tin nhanh đơn giản hiệu quả chỉ trong vài giây một điều mà trước kia khôngnhà 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áytính lốm đắ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ểngiao 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ườithô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ácchuyê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ểmcủ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áctrì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
Trang 3Ấíuậu tut ft tất in/ítiĩp Quản ltj cửa /lít/lí/ thuêe
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ữ
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ángiữ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ềunguồ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ốilượ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ánhmấ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ệuquả trong kinh doanh Từ những mong muốn áp dụng công nghệ thông tin vàoquả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ápphù 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
Trang 4Ấíuậu tut ft tất in/ítiĩp Quản ltj cửa /lít/lí/ thuêe
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
Trang 5C7'ranụ: 4
Ấíuậu tut ft tất in/ítiĩp Quản ltj cửa /lít/lí/ thuêe
Trang 6C7'ranụ: 5
Ấíuậu tut ft tất in/ítiĩp Quản ltj cửa /lít/lí/ thuêe
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ửu hàng tân dược gồm 4 phần.
Phần I :lý thuyết về cơ sở dữ liệuPhầ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àngtâ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 - RPhầ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ý
Trang 7jßutut uùn tết u/jíti/'p Quán Itj cửa /lít/lí/ thuêe
ÇJrtuuj : 6
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ễ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 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ânthà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ácthiế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ớiCSDL 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
Trang 8Ấíuậu tưitt tất ut/ítiĩp Quản ltj cửa /lít/lí/ thuêe
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ốiquan hệ nào đó với nhau Người ta sử dụng thuật ngữ “lược đồ” để thay thế chokhá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
Trang 9Miiậtt tut ft tất in/ítiĩp Quản ltj cửa /lít/lí/ thuêe
C7'ranụ: 8
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áchbiể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ácnú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ốiquan 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ệuTí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 trongcấu trúc truy nhập và chiến lược truy nhập
Trang 10ÇJrtuuj : 9
jßutut uùn tết u/jíti/'p Quán Itj cửa /lít/lí/ thuêe
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 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 D,, 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 Vj,v2, ,vn) sao cho VịẽD; với i=l n, v.v Ví dụ: n=2,D1={0,l}, D~={a,b,cỊ khi đó D,XD2 = {(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ácD,xD?x 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ĩaquan hệ như sau:
Định nghĩa 2.1:
Gọi R=ỈAj, ,AJ là một tập hữu hạn các thuộc tính, mỗi thuộc tính Aị với i=l, ,n có miền giá trị tương ứng là dom(Aj) Quan hệ trên tập thuộc tính R=(Aj, ,A lt ) là tập con của tích Đê Các r (Z dom(Aj)x xdom(A 2 )
Khi đó ký hiệu là r(R) hoặc r(Aj, ,An)
Ví dụ: Quan hệ NHANJVIEN bao gồm các thuộc tính HO_TEN, NAMSTNH,NOI_LAM_VIEC và LU ONG là quan hệ 4 ngôi
Trang 11jßutut DÙn tốt Uế / hi í p Quản ltj cửa / l í t/ l í / thuêe
Qranụ: ọ
T,= (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, ,A11) là tập con K
C {Alv.,AnỊ thoả mãn các tính chất sau đây:
Với hai bộ tj, t2 E r đều tồn tại một thuộc tính AeK sao cho tị(A) ^ t,(A) Nói mộtcá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 tj(K) ^ t,(K) Do đó mỗi giá trị của K là xác định duynhấ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
Trang 12jßutut oun tết u/jíti/'p Quán Itj cửa /lít/lí/ thuêe
Phép chen thêm một bộ vào quan hệ R={ A1? ,An} có dạng r= r u t
INSERT (r; A,=d„ A2=d2, ,An=dn)
Trong đó A| với i=l, , n là tên các thuộc tính dT G dom(A¡) là các giá trị thuộcmiền giá trị tương ứng của thuộc tính Aị
Ví dụ: Thêm một bộ t4=(Vũ Văn Tần, 1960,trường ĐHBK, 425) vào quan hệNHAN_VĨEN
IN SERT (NH AN_ VIEN ; HO_TEN=Vu Van Tan, NAM_STNH= 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ướidạng tường minh như sau:
INSERT(r;d,,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 -1
DEL (r; A,=d,, A2=d2, ,An=dn) hoặc DEL(r, dị, d2, , dn)
Ví dụ: Cần loại bỏ bộ tj khỏi quan hệ NHAN_VIEN
DEL(NHAN_VĨEN; 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={B,, B2, ,BịỊ khi đóphép loại bỏ chỉ cần viết:
DEL( r; B,=e,, B2=e2, ,Br=eI)
Ví dụ: Cần loại bỏ sắt phi 6 ra khỏi quan hệ HANGJHOA, khi đó chỉ cần viết:
Trang 13jßutut ón tết u/jíti/'p Quán Itj cửa /lít/lí/ thuêe
ÇJrtuuj: 11
DEL( HANG_HOA; MSMH = 10101)
2.3.3 Phép thay đổi (CH)
Gọi tập {C„ ,C ) Œ I Al, 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:
Trang 14jßutut uùn tốt u/jíti/'p Quán Itj cửa /lít/lí/ thuêe
ÇJrtuuj: 12
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ộ tj, t 2 E r mà tj[X]= t- jX]thìt Ầ ỊỴ]^tjỵ]
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ỗimộ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ậphợ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ênlượ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, CĨTY đề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:
Trang 15Ấíuậu tut ft tất in/ítiĩp Quản ltj cửa /lít/lí/ thuêe
C7'ranụ: 13
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 luợc đồ quan hệ R(U) và X
—»Y là một phụ thuộc hàm, X,Yc= 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ácphụ 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={ A]v ,Atl} là tập các thuộc tính X, Y, z, w CZ
R Hệ tiên đề Armstrong bao gồm:
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ệ
Trang 16jßutut uùn tết u/jíti/'p Quán Itj cửa /lít/lí/ thuêe
ÇJrtuuj: 14
Chúng ta gọi sơ đồ quan hệ (SDQH) s là một cặp <R,F>, ở đây R là tậpcá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ácphụ 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 đề Ai mstrong
Đặt A+={a: A—>{a}} E F+ A+ được gọi là bao đóng của A trên s
Có thê thấy rằng A—»BeF* 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ổ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ấtlớn cho dù F có thể là nhỏ Chẳng hạn F={ A—»B,, A—»B2, ,A—»Bn} F+ khi
đó cũng được tính cả những phụ thuộc hàm A^B với Yçz{Blv ,Bn} Như vậy sẽ
có 2" 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)e 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ộchà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=Xj uA sao cho 3(Y->Z)eF, Ae z, Ye Xị
Vì lằng X=X0<z çzU, u là hữu hạn cho nên sẽ tồn tại một chỉ số i nào đó màx~xi+' khi đó x+
= X,
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ếutồ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
Trang 17jßutut uùn tết u/jíti/'p Quán Itj cửa /lít/lí/ thuêe
ÇJrtuuj: 15
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
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
Sj (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 R,, 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 = riRi(r)* nR2(r)* *nRk(r) tức là r được tạo nên từ phép kết nối tự nhiên
Trang 18jßutut uùn tết u/jíti/'p Quán Itj cửa /lít/lí/ thuêe
ÇJrtuuj: 16
của các hình chiếu của nó trên các R¡, i =l, ,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 đồ:
p= (R„ ,Rk) được thay thế cho lược đồ R Gọi mp là ánh xạ xác định nhờ mp(r)=*nR,(r), có nghĩa là mp(r) là kết nối của các phép chiếu của r trên các lược đồ controng p Đ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ễnnhư sau:
Với mọi r thoả D, r = mp(r)
Trang 19Ấíuận v/tu tất in/ítiĩp Quán ltj cửa /lít/lí/ thuêe
Í7«««/; 17
Nếu =(R /f R 2 ) 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 R,nR 2 —> R/—> RỊ hoặc R/nR 2 ~^R 2 —
>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ứa nhữnggiá 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
Trang 20Ấíuậu tưitt tất ut/ítiĩp Quản ltj cửa / lí t / lí / thuêe
ÇJrtuuj: 18
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={ A,, ,AnỊ Thuộc tínhAeU đượ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á
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á
IDạng chuẩn thứ nhất (First Normal Form, viết tắt là INF)
Dạng chuẩn thứ hai (2NF)
4-ịDạng chuẩn thứ ba( 3NF)
3.3.1 Dạng chuẩn INF (First Normal Form)
Trang 21Ấíuậu tut ft tất i n/ í t iĩ p Quản ltj cửa / lí t / lí / thuêe
Q'ran ạ: 19
Dạng chuẩn INF 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ấutrúc Cụ thể là:
• 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ộctính mã hàng , ngày tháng , mã hàng là thuộc tính của khoá
Trang 22Miiậtt v/tu tất in/ítiĩp Quán ltj cửa /lít/lí/ thuêe
Í7«««/; 20
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 XdU, A là một
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ơ đồ :
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à Sĩ Vì X->Y và Y-> A, nhưng lại có Y->X tức
Trang 23jßutut DÙn tốt Uế / hi í p Quản ltj cửa / l í t/ l í / thuêe
Í7«««/; 21
là s -> Y là không thoả Chú ý rằng trong trường hợp này X-> Y và Y->A khôngchỉ 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,
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à 0 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ưngkhô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
Trang 24Ấíuậu tut ft tất in/ítiĩp Quản ltj cửa /lít/lí/ thuêe
C7'ran ạ: 22
PHÂN TÍCH THIẾT KẾ HỆ THốNG TRỢ GIÚP QUẢN LÝ VIỆ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à cungcấ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á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 đến chokhá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ạngmá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
Trang 25Ấíuận v/tu tất in/ítiĩp Quán ltj cửa /lít/lí/ thuêe
C7'ran ạ: 23
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ắcphục được những nhược điểm của quá trình quản lý bằng thủ công
Trang 26C7'ranụ: 24
Ấíuận v/tu tất in/ítiĩp Quán ltj cửa /lít/lí/ thuêe
Chương 2 CÁC CHỨC NĂNG Cơ BẢN CỦA HỆ THÔNG
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ách hàng, lậpdanh 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 tincầ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
Trang 27Ấíuận v/tu tất in/ítiĩp Quán ltj cửa /lít/lí/ thuêe
C7'ranụ: 25
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ừngtháng, quý năm
Trang 28Ấíuận v/tu tất in/ítiĩp Quán ltj cửa /lít/lí/ thuêe
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ậ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 đượclượ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ườitiêu dùng
3.3 CHỨC NÃNG QUẢN LÝ NHÀ CUNG CẤP
Trang 29Ấíuận v/tu tất in/ítiĩp Quán ltj cửa /lít/lí/ thuêe
Í7«««/; 27
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à cungcấ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ủa cửahà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óngcá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 danh sáchcá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ườidùng tìm kiếm theo những điều kiện logic như “ >= ”, “<= ”, “=” (lớn
Trang 30Ấíuận v/tu tất in/ítiĩp Quán ltj cửa /lít/lí/ thuêe
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ại
Trang 31Í7«««/; 29
Ấíuận v/tu tất in/ítiĩp Quán ltj cửa /lít/lí/ thuêe
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ó saisót thì ta có thẻ sửa dữ liệu thông qua chức năng “sửa đổi” Khi một nhà cungcấ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à cungcấp ,khách hàng lãi xuất theo tháng quý năm
Trang 32Ấíuậu tut ft tất in/ítiĩp Quản ltj cửa /lít/lí/ thuêe
C7'ranạ: 30
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á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 đượ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ácnhân ngoài hệ thốnR là thuốc , nhà cung cấp
Trang 33jßutut uùn tết u/jíti/'p Quán Itj cửa /lít/lí/ thuêe
ÇJrtuuj : 31
Quá trình quản lý bán thuốc nhận “Đơn hàng” từ nhà cung cấp và kháchhàng để biết được yêu cầu của khách hàng và nhà cung cấp sau đó xử lý, tínhtoán và “Giao hàng ” đối với khách hàng và “nhận hàng” đối với nhà cungcấp Từ đó “trả tiền” cho nhà cung cấp và “thu tiền” đối với khách hàng Nếucửa hàng nhận đơn từ phía nhà cung cấp và khách hàng mà đơn không phù hợpvới yêu cầu thì “trả lại hoá đơn” không đúng đó cho nhà cung cấp và kháchhà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
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ểuthị 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âudài
Trang 34Muộn tìủn tôt nạhiÂft Quản lụ eửa hùng thuòe
£7'rưng: 32
Trang 35Ấíuận v/tu tất in/ítiĩp Quán ltj cửa /lít/lí/ thuêe
C 7'ran ạ: 33
Kho thuốc
Trang 36jßutut oun tết u/jíti/'p Quán Itj cửa /lít/lí/ thuêe
ÇJrtuuj : 34
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
- Kho thuốcĐon hàng
Trang 37Ấíuận v/tu tất in/ítiĩp Quán ltj cửa /lít/lí/ thuêe
C 7'ran ạ: 35
Trang 38jßutut oun tết u/jíti/'p Quán Itj cửa /lít/lí/ thuêe
ÇJrtuuj : 36
1.3.2 biểu đồ quản lý hoá đon
Trang 39Ấíuậu tưitt tất ut/ítiĩp Quản ltj cửa /lít/ lí/ thuêe
ÇJrtuuj : 37
Yêu cầuQuản lý NCC và khách
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ể truycậ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 đềuthô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
Kho thuốc
Trang 40Ấíuậu tut ft tất in/ítiĩp Quản ltj cửa /lít/lí/ thuêe
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ửahà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ủaviệ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ântích ở trên ta thấy rõ ràn 2 đố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ỉ NCQđ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àngtâ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 haithực thể là: