Tải bản đầy đủ (.doc) (80 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.1 MB, 80 trang )

LỞ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 đại
họ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ày
khi 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 đấ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è đã 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 n2hiệp này
Ấí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 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 .
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
Ấíuậu tut ft tất in/ítiĩp Quản ltj cửa /lít/lí/ thuêe
C7'ranụ: 2
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 - Intemet-đã 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ưong 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ã Hon 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
Ấíuậu tut ft tất in/ítiĩp Quản ltj cửa /lít/lí/ thuêe
C7'ranụ: 3
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.
C7'ranụ: 4
Ấí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ệ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ý.
jßutut uùn tết u/jíti/'p Quán Itj cửa /lít/lí/ thuêe
ÇJrtuuj : 5
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.
Ấíuậu tưitt tất ut/ítiĩp Quản ltj cửa /lít/lí/ thuêe
ÇJrtuuj : 6
User 1
Khung nhìn 1
User 2 Khung nhìn 1
User n
Khung nhìn 1
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” hav 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).
CSDL mức CSDL mức
khái niệm
HOPÌCÌ
vật lý
jßutut uùn tết u/jíti/'p Quán Itj cửa /lít/lí/ thuêe
ÇJrtuuj : 7
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.
C7'ranụ: 8

Miiậtt tut ft tất in/ítiĩp Quản ltj 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 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 D,, D
2
, , D
n
là n miền. Tích Đề - Các của n miền là D
1
xD
2
x xD
n
là tập tất cả
n-bộ(n-tuples Vj,v
2
, ,v
n
) sao cho VịẽD; với i=l n, v.v Ví dụ: n=2,D
1
={0,l},
D~={a,b,cỊ khi đó D,XD
2
= {(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
D,xD
?
x xD
n
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=Ỉ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, ,A
n
)
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
jßutut DÙn tốt U ế/hiíp Quản ltj cửa /lít/lí/ thuêe
Qranụ: ọ
NHANJVIEN ( Ho_ten Nam_sinh Noi_lam_viec Luona)
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=(A

1
, ,A
11
) là tập con K
C {A
lv
.,A
n
Ị thoả mãn các tính chất sau đây:
Với hai bộ tj, t
2
E r đều tồn tại một thuộc tính AeK sao cho tị(A) ^ t,(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 tj(K) ^ t,(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(A,, ,A
n
) thì K’czKciR, K cũng là khoá của r, nshĩa là bất kỳ t, ,t
2
er từ t,(K’) *
t
2
(K’) luôn có t,(K) *t
2
(K).
Định nghĩa 2.2:
Khoá của quan hệ r trên tập thuộc tính R={A], ,AJ là tập con KczR sao

cho bất kỳ hai bộ khác nhau tj, t
2
e r luôn thoả mãn tj(K) ^ t
2
(K) bất kỳ tập con
thực sự K’czK 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.
T, Le V an A 1960 Vien CNTT 425
T
2
Hoang Thi B 1970 Truong DHBK 390
T
3
Le Van Son 1945 Vien CNTT 425
jßutut oun tết u/jíti/'p Quán Itj cửa /lít/lí/ thuêe
ÇJrtuuj: 10
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={ A
1?
,A
n
} có dạng r= r u t
INSERT (r; A,=d„ A
2
=d
2
, ,A

n
=d
n
)
Trong đó A| với i=l, , n là tên các thuộc tính d
T
G dom(A¡) là các giá trị thuộc
miền giá trị tương ứng của thuộc tính Aị.
Ví dụ: Thêm một bộ t
4
=(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ưới
dạng tường minh như sau:
INSERT(r;d,,d
2
, , d
n
)
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,, A
2
=d
2
, ,A
n
=d
n
) hoặc DEL(r, dị, d
2
, , d
n
)
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)
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
jßutut oùn tết u/jíti/'p Quán Itj cửa /lít/lí/ thuêe
ÇJrtuuj: 11
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,, B

2
, ,BịỊ khi đó
phép loại bỏ chỉ cần viết:
DEL( r; B,=e,, B
2
=e
2
, ,B
r
=e
I
)
Ví dụ: Cần loại bỏ sắt phi 6 ra khỏi quan hệ HANGJHOA, khi đó chỉ cần viết:
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:
R = r\t u t’
CH(r; Aj= d, , A
2
=D
2
, , A
n
= D
n
; Cj = e„ C
2
= e
2

, , C
p
= e
p
)
Nếu K = {Bj, , B
m
Ị là khoá của quan hệ khi đó chỉ cần viết:
CH(r; B,=d,, B
2
=d
2
, , B
m
= d
m
, c,= e„ C
2
= e
2
, , C
p
= e
p
).
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ế 1Ĩ1Ô 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ã
jßutut uùn tốt u/jíti/'p Quán Itj cửa /lít/lí/ thuêe
ÇJrtuuj: 12
khôns 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 Ư=ỊAj, , AJ 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ộ 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ỗ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, 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:
Ấí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á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={ A
]v
,A

tl
} là tập các thuộc tính X, Y, z, w CZ
R. Hệ tiên đề Armstrong bao gồm:
Phản xạ: Nếu Yc X thì X->Y
Tăng trưởng: Nếu ZczU 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 XuY 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ệ
jß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ậ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 đề Ai m
strong
Đặ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 A
r
+
={ a: A—»{a}}. A
r
+
đượ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=<R,F> là sơ đồ quan hệ thì có
quan hệ r trên R sao cho F
r
=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—»B,, A—»B
2
, ,A—»B
n
}. F
+
khi
đó cũng được tính cả những phụ thuộc hàm A^B với Yçz{B
lv
,B

n
}. 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ộ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 X
0
, ,X
n
theo quy tắc
x
0
=x
X
i+1

=Xj uA sao cho 3(Y->Z)eF, Ae z, Ye Xị
Vì lằng X=X
0
<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~x
i+
' 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ế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* ^
jßutut uùn tết u/jíti/'p Quán Itj cửa /lít/lí/ thuêe
ÇJrtuuj: 15
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
+

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{ A
lv
,A
n
Ịĩà việc thay thế lược đồ quan hệ R
bằng các tập lược đồ ỊRị, ,R
k
Ị, trong đó R¡ çz R, i=l, ,k và R=R,uR
2
u uR
k
.
ở đây không đòi hỏi các lược đồ Rị 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.
Sj (SNAME,ADD) và S
2
(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,, R
2
, ,R
K
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 = riRi(r)* nR
2
(r)* *nR
k
(r) tức là r được tạo nên từ phép kết nối tự nhiên
jß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„ ,R
k
) được thay thế cho lược đồ R. Gọi m
p
là ánh xạ xác định nhờ

m
p(r)=*
nR,(r), có nghĩa là m
p
(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 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ễn
như sau:
Với mọi r thoả D, r = m
p
(r)
Bổ đề 3.5
Gọi R là lược đồ quan hệ p= (Rị, ,R
k
) là phép tách của R, r là quan hệ trên R và
r¡ =riR¡(r) thì :
r ÇZ m
p
(r)
Nếu s= m
p
(r) thì nRị(s) = r¡
m
p
(m
p
(r)) = m
p
(r)
Trong trường hợp tách hai lược đồ con ta sẽ có định lý sau:
Định lý:

Ấí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ữ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 :
Hình 2: Quan hệ không chuẩn hoá
Sau
s#
PRO
p# ỌTY
1 100 1

200 2
300
3
2 100 4
200 2
400
5
3
500
1
Ấí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,, ,A
n
Ị. Thuộc tính
AeU đượ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=fAj, ,A
k
Ị. X và Y là hai
tập thuộc tính khác nhau X ŒU và Y ŒÜ.
Y là phụ thuộc hàm đầy đủ vào X nếu Y là phụ thuộc hàm vào X nhung 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á
I

Dạng chuẩn thứ nhất (First Normal Form, viết tắt là INF)
4-
Dạng chuẩn thứ hai (2NF)

Dạng chuẩn thứ ba( 3NF)
3.3.1. Dạng chuẩn INF (First Normal Form)
S# P# ỌTY
l ÌOO 1
l
200 2
l 300 1
2 100
4
2 200 2
3 400 5
3 500 1
Ấíuậu tut ft tất in/ ítiĩ 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ấ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á
Miiậ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
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ơ đồ :
A
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à Sĩ . Vì X->Y và Y-> A, nhưng lại có Y->X tức
jß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ô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 ST> D,
SD-> M
0 đây chỉ có một khoá chính là SI. Rõ ràng rằng R o 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à 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ư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
Ấí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
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.
Ấí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ắc
phục được những nhược điểm của quá trình quản lý bằng thủ công
C7'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
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.

×