Tải bản đầy đủ (.pdf) (86 trang)

LUẬN VĂN:Quản lý việc bán thuốc cho cửa hàng tân dược potx

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 (825.39 KB, 86 trang )













LUẬN VĂN:

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








Lời nói đầu

Ngày nay cùng với sự phát triển về mọi mặt của xã hội, ngành công nghệ thông tin
đã trở thành một nhu cầu không thể thiếu trong đời sống con người .Đó là một khoa học
kỹ thuật xây dựng trên những hệ thống xử lý dữ liệu tinh xảo(Data processing system).
Vì vậy nền khoa học máy tính ngày nay đang giữ một vị trí trung tâm trong hầu
hết các lĩnh vực của xã hội . Nó phát triển một cách nhanh chóng và có nhiều bước nhảy


vọt .
Tại Việt Nam ngành công nghệ thông tin mới thâm nhập vào nhưng cũng đã phát
triển rất nhanh để sớm hoà nhập vào thế giới về công nghệ thông tin , theo dự kiến ở Việt
Nam đến năm 2005 tất cả các doanh nghiệp , công sở v v , đều phải sử dụng nền khoa
học công nghệ thông tin.
Trong các lĩnh vực quản lý , việc xử lý một khối lượng lớn các luồng thông tin vào
ra một cách chính xác , nhanh chóng đã trở thành một vấn đề không nhỏ đối với nhà quản
lý . Cách thức xử lý thông tin dựa trên kinh nghiệm và phương pháp thủ công không còn
phù hợp nữa, cần có một phương pháp mới hiệu quả hơn Việc tin học hoá các lĩnh vực
quản lý đã thực sự là một cuộc cách mạng . Nó đã làm giảm bớt rất nhiều công sức của
các nhà quản lý trong việc xử lý thông tin và ra quyết định một cách chính xác. Việc xử
lý, tra cứu và tìm kiếm thông tin nhanh đơn giản hiệu quả chỉ trong vài giây một điều mà
trước kia không nhà quản lý nào giám mơ ước tới . Tin học hoá giúp tránh được thất lạc
dữ liệu tự động hệ thống hoá và cụ thể hoá các thông tin theo nhu cầu cuả con người .
Vào những năm 1980, máy tính để bàn đã nổi lên, thay thế cho các máy tính lớn
đắt giá . Mỗi máy tính để bàn đều có khả năng tích hợp mọi thiết bị ngoại vi và phần mềm
để hoàn thành một số công việc cụ thể , song việc chuyển giao dữ liệu giữa các hệ thống
đòi hỏi phải có sự can thiệp chủ lực của con người thông qua các đĩa mềm .
Với đà phát triển của công nghệ máy tính , các quản trị viên máy tính các chuyên
viên tiếp thị , người dùng và các thiết kế viên bắt đầu thấy rõ các ưu điểm của việc dùng
chung dữ liệu, phần cứng và một nhóm các máy tính tuy riêng lẻ song mang lại tính hợp
tác . Các hệ điều hành mạng máy tính đầu tiên như (Novell NetWare và Microsoft Lan
Manager ) đã được thiết kế dưới dạng các trình cài thêm vào các hệ điều hành vi tính .

Giờ đây dòng hệ điều hành máy tính mới như Microsoft Windows 95/98 và Win dows
NT, đã gộp một hệ tích hợp đầy đủ các dịch vụ mạng .

Việc tích hợp các dịch vụ mạng vào trong các hệ điều hành vi tính và sự bùng nổ
của mạng toàn cầu – Internet-đã tạo ra một động lực mạnh mẽ thúc đẩy mọi người “giao
kết ” với nhau .Mạng máy tính đã trở thành một phương tiện để truyền bá thông tin .

Muốn hiểu rõ các điểm phức tạp của tiến trình truyền thông dữ liệu và hoà mạng máy tính
, bạn phải có một nền tảng vững chắc về thuật ngữ và khái niệm về mạng .

Những tiến bộ cực kỳ nhanh chóng của kỹ thuật tính toán và mạng làm cho các
thông tin về những sự kiện nổi bật được truyền đi nhanh chóng đến hàng tỷ người trên
khắp thế giới nhờ vào mạng truyền thông (Internet) điều mà công nghệ thông tin truyền
thống không thể làm được .

Trong các lĩnh vực của xã hội quản lý việc bán thuốc cho cửa hàng tân dược là một
vấn đề hết sức phức tạp không chỉ cho ngành dược của nước ta mà cả trên toàn thế giới .
Với khả năng lưu trữ thông tin ngày càng lớn tạo nên một kho thông tin đồ sộ có thể lưu
trữ hàng trăm ngìn mặt hàng thuốc khác nhau với nhiều chủng loại và mẫu mã Hơn thế
nữa với tốc độ truy xuất , tìm kiếm dữ liệu thông tin nhanh chóng , chính xác máy tính đã
trở thành công cụ đắc lực giúp đỡ cho con người ngày càng nhiều.

Ngày nay với sự phát triển mạnh mẽ của nền kinh tế , sự giao lưu buôn bán giữa
người với người , sự trao đổi hàng hoá phát triển lớn nhiều mặt hàng nhiều nguồn hàng
khác nhau dẫn đến sự phức tạp về hệ thống quản lý quá trình trao đổi đó . Vì vậy việc áp
dụng tin học đưa máy tính vào việc trợ giúp quản lý và trao đổi thông tin rất cần thiết . Nó
giúp cho người quản lý xử lý nhanh một khối lượng lớn các thông tin , tra cứu và tìm
kiếm một cách nhanh chóng , tiết kiệm được nhiều thời gian và công sức . Nhờ đó đạt
được hiệu quả kinh tế cao, tránh mất mát và nhầm lẫn các thông tin về thuốc và tìm ra
những loại thuốc có hiệu quả trong kinh doanh. Từ những mong muốn áp dụng công nghệ
thông tin vào quản lý và những yêu cầu cấp thiết đặt ra trong công việc cần có phương
pháp phù hợp tạo bề thế cho ngành này phát triển mạnh mẽ nên Em đã thực hiện đề tài

này để một phần nào đóng góp cho công việc quản lý nói riêng và trong nền phát triển
kinh tế nói chung có những bước tiến mới hoà nhập cùng thế giới .

“Quản lý việc bán thuốc cho cửa hàng tân dược ” với các chức năng nhập , lưu

trữ , xử lý thông tin về quá trình xuất nhập thuốc nhằm nâng cao hiệu quả hoạt động của
cửa hàng . Là một đề tài mang tính thực tiễn cao , phù hợp với nền kinh tế thị trường ,
luôn luôn nắm bắt kịp thời những thông tin mới về các loại thuốc mới cũng như các loại
thuốc bán chạy và các loại thuốc không bán được để phục vụ tốt nhu cầu của người tiêu
dùng . Hiện nay hầu hết các cửa hàng bán thuốc trên địa bàn Hà Nội các công việc nhập ,
xuất , kiểm tra hàng tồn hàng hết hạn sử dụng , hàng hỏng do yếu tố tự nhiên và tổng hợp
hàng đều thực hiện một cách thủ công nên không tránh khỏi sự nhầm lẫn dẫn đến việc
kinh doanh tiến triển chậm . Do vậy Em đã chọn đề tài này phần nào đưa ra những nhận
xét đánh giá tổng thể và từ đó đưa ra hệ thống mới có nhiều chức năng áp dụng cho công
tác quản lý dựa trên sự hỗ trợ của máy tính . Qua đó đưa hệ thống quản lý việc bán thuốc
cho các cửa hàng hoà nhập vào thế giới thông qua mạng toàn cầu trên những trang
Website giới thiệu về sản phẩm thuốc mới của mình . Hệ thống quản lý sẽ được xây dựng
trên ngôn ngữ Visual Basic – một ngôn ngữ lập trình mạnh , hiện đại và đang được sử
dụng rất rộng rãi , đem lại hiệu quả cao.

Luận văn được xây dựng phần mềm trợ giúp quản lý việc bán thuốc cho cửa hàng tân
dược gồm 4 phần.

Phần I :lý thuyết về cơ sở dữ liệu
Phần II : Phân tích thiết kế hệ thống trợ giúp quản lý việc bán thuốc cho cửa hàng tân
dược .
Biểu đồ luồng dữ liệu mức khung cảnh (Context Data Folow Diagram).
Biểu đồ luồng dữ liệu mức đỉnh (Top Level Data Folow Diagram).
Biểu đồ luồng dữ mức dưới đỉnh (Levelling Data Diagram).
Mô hình thực thể E - R
Phần III : Các cơ sở chức năng.

Chương này thiết kế hệ thống , sơ đồ tổ chức hệ thống tổng thể các file dữ liệu
của hệ thống , các giao diện, modul của các tiến trình xử lý, các Form chương trình và
phần chú giải

Phần IV : Tổng hợp kết luận .
Đánh giá , nhận xét và phương hướng phát triển của chương trình quản lý.














Phần I
Lý Thuyết về cơ sơ dữ liệu

Chương 1

khái quát về cơ sở dữ liệu

1.1. Khái niệm cơ bản về hệ quản trị cơ sở dữ liệu

Cơ sở dữ liệu bao gồm các thông tin được lưu trữ trong máy theo một quy định
nào đó. Phần chương trình để có thể xử lý, thay đổi dữ liệu là một bộ diễn dịch với ngôn
ngữ bậc cao nhằm giúp người sử dụng có thể dùng được hệ thống mà không cần quan tâm
đến thuật toán chi tiết hoặc biểu diễn dữ liệu trong máy.


1.2. Kiến trúc một hệ cơ sở dữ liệu

Một cơ sở dữ liệu được phân làm nhiều mức khác nhau. Ta có thể phân thành
một cơ sở dữ liệu đơn giản và một hệ phần mềm QTCSDL.
Phần CSDL vật lý: Là các tệp dữ liệu theo một cấu trúc nào đó được lưu trên các thiết bị
nhớ thứ cấp (như đĩa từ, băng từ ).
Phần CSDL mức khái niệm: Là một sự biểu diễn trừu tượng của CSDL vật lý.
Các khung nhìn: Là cách nhìn, là quan niệm của từng người sử dụng đối với CSDL mức
khái niệm. Sự khác nhau giữa khung nhìn và mức khái niệm thực chất là không lớn.



















.
.

.
.
Hình 1 – Sơ đồ kiến trúc một hệ CSDL
Thể hiện (instance).
Khi CSDL đã được thiết kế, người ta thường quan tâm đến “bộ khung” hay
còn gọi là “mẫu” của CSDL. Dữ liệu hiện có trong CSDL gọi là thể hiện của CSDL,
khi dữ liệu thay đổi trong một chu kỳ thời gian nào đó thì “bộ khung” của CSDL
vẫn không thay đổi.

Lược đồ(Scheme).

Thường “bộ khung” nêu trên bao gồm một số danh mục, hoặc chỉ tiêu hoặc một số
kiểu của các thực thể trong CSDL. Giữa các thực thể có thể có mối quan hệ nào đó với
nhau. Người ta sử dụng thuật ngữ “lược đồ” để thay thế cho khái niệm “bộ khung”.
Lược đồ khái niệm là bộ khung của CSDL khái niệm, còn lược đồ vật lý dùng cho bộ
khung của CSDL mức vật lý, khung nhìn được gọi là lược đồ con.

Cơ sở dữ liệu vật lý:

U
ser
Khung
User
User
Khung
Khung
CSDL
mức
khái
CSDL

m
ức vật



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 D
1
, 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 v
1
,

v
2
, ,v
n
) sao cho v
i
D
i
với i=1 n, v.v
Ví dụ: n=2,D
1
={0,1}, D
2
={a,b,c} khi đó
D
1
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
1

xD
2
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={A
1
, ,A
n
} là một tập hữu hạn các thuộc tính, mỗi thuộc tính A
i
với
i=1, ,n có miền giá trị tương ứng là dom(A
I
). Quan hệ trên tập thuộc tính R=(A
1
, ,A
n
)
là tập con của tích Đề Các
r

dom(A
1
)x xdom(A
2

)

Khi đó ký hiệu là r(R) hoặc r(A
1
, ,A
n
)


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)
T
1
Le Van A 1960 Vien CNTT 425
T
2
Hoang Thi B 1970 Truong DHBK 390
T
3
Le Van Son 1945 Vien CNTT 425

T
1
= (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
n
) là tập con K 
{A
1
, ,A
n
} thoả mãn các tính chất sau đây:
Với hai bộ t
1
, t
2
 r đều tồn tại một thuộc tính AK sao cho t
1
(A)  t
2
(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 t
1
(K)  t
2
(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
1
, ,A

n
) thì
K’KR, K cũng là khoá của r, nghĩa là bất kỳ t
1
,t
2
r từ t
1
(K’)  t
2
(K’) luôn có t
1
(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
1
, ,A
n
} là tập con K

R sao cho bất
kỳ hai bộ khác nhau t
1
, t
2



r luôn thoả mãn t
1
(K)

t
2
(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={A
1
,…,A
n
} có dạng r= r  t

INSERT (r; A
1
=d
1
, A
2
=d
2
, ,A
n
=d
n
)
Trong đó A
i
với i=1, , n là tên các thuộc tính d
I
 dom(A
i
) là các giá trị thuộc miền giá trị
tương ứng của thuộc tính A
i
.
Ví dụ: Thêm một bộ t
4
=(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; d
1
, 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 - t
DEL (r; A
1
=d
1
, A
2
=d
2
, ,A

n
=d
n
) hoặc DEL(r, d
1
, d
2
, , d
n
)
Ví dụ: Cần loại bỏ bộ t
1
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={B
1
, B
2
, ,B
I
} khi đó phép loại bỏ chỉ
cần viết:
DEL( r; B
1
=e
1
, B
2
=e

2
, ,B
I
=e
I
)
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 {C
1
, ,C
p
)  {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; A
1
= d
1,,
, A
2
=D
2
, , A
n
= D
n

; C
1
= e
1
, C
2
= e
2
, , C
p
= e
p
)
Nếu K ={B
1
, , B
m
} là khoá của quan hệ khi đó chỉ cần viết:
CH(r; B
1
=d
1
, B
2
=d
2
, , B
m
= d
m

, C
1
= e
1
, 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ế 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={A
1
, , A
n
} 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ộ t
1
, t
2



r mà t
1
[X]= t
2
[X] thì t
1
[Y]= t
2
[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={A
1
, ,A
n
} 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 <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 đề 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 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
1
, 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

{B
1
, ,B
n
}. Như vậy sẽ có 2
n
tập con Y.Nhưng việc tính X
+
,
bao đóng của tập thuộc tính X lại không khó. Theo bổ đề 3.3 việc kiểm tra (XY) F
+

không khó hơn việc tính X
+
. Tính bao đóng X
+
sẽ được thể hiện qua bao đóng sau:
Thuật toán: Tính bao đóng của tập các thuộc tính đối với một tập các phụ thuộc hàm.
Vào: Tập U hữu hạn các thuộc tính, Tập các phụ thuộc hàm F trên U và X  U
Ra: X
+
, bao đóng của X đối với F
Phương pháp: Tính liên tiếp các thuộc tính X
0
, ,X
n

theo quy tắc
X
0
=X
X
i+1
=X
I
A sao cho (YZ)F, A Z, Y X
i

Vì rằng X=X
0
 U, U là hữu hạn cho nên sẽ tồn tại một chỉ số i nào đó mà X
i
=X
i+1
khi
đó X
+
= X
i


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{A
1
, ,A
n
}là việc thay thế lược đồ quan hệ R bằng các
tập lược đồ {R
1
, ,R
k
}, trong đó R
i
 R, i=1, ,k và R=R
1
R
2
 R
k
.
ở đây không đòi hỏi các lược đồ R
i
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.

S
1
(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
1
, 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 = R
1
(r)* R

2
(r)* *R
k
(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 R
i
, 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
1
, ,R
k
) được thay thế cho lược đồ R. Gọi m

là ánh xạ xác định nhờ m

(r)=* R
i
(r),
có nghĩa là m

(r) là kết nối của các phép chiếu của r trên các lược đồ con trong . Điều
kiện để kết nối không mất mát thông tin đối với D được biểu diễn như sau:
Với mọi r thoả D, r = m

(r)


Bổ đề 3.5


Gọi R là lược đồ quan hệ = (R
1
, ,R
k
) là phép tách của R, r là quan hệ trên R và r
i
=R
i
(r) thì :
r  m

(r)
Nếu s= m

(r) thì R
i
(s) = r
i

m

(m

(r)) = m

(r)
Trong trường hợp tách hai lược đồ con ta sẽ có định lý sau:

Định lý:


Nếu =(R
1
,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
1

R
2


R
1

R
2
hoặc R
1

R
2


R
2

R
1



3.3. Chuẩn hoá lược đồ quan hệ

Chuẩn hoá là quan hệ trong đó mỗi miền của thuộc tính chỉ chứa những giá trị
nguyên tố tức là không phân nhỏ được nữa và do đó mỗi giá trị trong quan hệ cũng là
nguyên tố.
Quan hệ có chứa các miền giá trị là không nguyên tố gọi là quan hệ chuẩn hoá. Một quan
hệ chuẩn hoá có thể thành một hoặc nhiều quan hệ chuẩn hoá khác và không làm mất mát
thông tin.
Vi dụ

Trước :

S


PRO

P


QTY
1 100 1




2




3
200
300

100
200

400
500
2
3

4
2

5
1



Hình 2: Quan hệ không chuẩn hoá


Sau
S

P



QTY
1
1
1
2

2

3
3
100
200
300
100

200

400
500
1
2
1
4

2

5
1


Hình 3: Quan hệ chuẩn hoá

Trước khi mô tả chi tiết các dạng chuẩn hoá cần thiết đưa ra một khái niệm sau đây.
Cho một lược đồ quan hệ R trên tập thuộc tính U={A
1
, ,A
n
}. 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={A
1
, ,A
k
}. 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

×