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 .
86 trang |
Chia sẻ: lvbuiluyen | Lượt xem: 2130 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Luận văn 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
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ý:
User Khung
User
User
Khung
Khung
CSDL
mức
khái
CSDL
mức 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 viDi với i=1...n, v.v
Ví dụ: n=2,D1={0,1}, D2={a,b,c} khi đó
D1xD2 = {(0,a),(0,b),(0,c),(1,a),(1,b),(1,c)}
Quan hệ: Quan hệ là một tập con của tích Đề – Các của một hoặc nhiều miền. Như
vậy mối quan hệ có thể là vô hạn. Người ta giả thiết rằng, mối quan hệ là một tập hữu
hạn.
Mỗi hàng của quan hệ gọi là bộ. Quan hệ là tập con của tích Đề – Các
D1xD2x...xDn gọi là quan hệ n - ngôi. Khi đó mỗi bộ của quan hệ có 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 AK 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’KR, 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 KR 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 XY(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à XY là
một phụ thuộc hàm, X,Y U. Nói rằng X Y được suy diễn logic từ F nếu mối quan hện
r trên R(U) đều thoả các phụ thuộc hàm của F thì cũng thoả XY.
Chẳng hạn F={AB, B C] thì A C suy ra từ F. Gọi F+ là bao đóng của F, tức là tất
cả các phụ thuộc hàm được suy diễn logic từ F. Nếu F =F+ thì F là họ đầy đủ của các phụ
thuộc hàm.
Để có thể xác định khoá của một lược đồ quan hệ và các suy diễn logic giữ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ì XY
Tăng trưởng: Nếu ZU và XY thì XZYZ 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 XY là một phụ thuộc hàm được suy diễn từ F nhờ hệ tiên đề Armstrong thì XY
là đúng trên quan hệ r
*Bổ đề 3.2
Luật hợp: Nếu XY và XZ thì XYZ
Luật tựa bắc cầu:Nếu XY và WYZ thì XWZ
Luật tách: Nếu XY và XY thì XZ
3.1.2: Sơ đồ quan hệ
Chúng ta gọi sơ đồ quan hệ (SDQH) s là một cặp , ở đâ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 ABF+ nếu và chỉ nếu B A+
Tương tự chúng ta có thể đặt Ar
+={a: A{a}}. Ar
+ được gọi là bao đóng của 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={AB1, AB2,...,ABn}. F
+ khi đó cũng được tính cả những
phụ thuộc hàm AB với Y {B1,...,Bn}. 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 (XY) 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 (YZ)F, A Z, Y Xi
Vì rằng X=X0 ...U, U là hữu hạn cho nên sẽ tồn tại một chỉ số i nào đó mà Xi=Xi+1 khi
đó X+ = Xi
3.1.3.Phủ của tập các phụ thuộc hàm
Gọi F và G là tập các phụ thuộc hàm. Nói rằng F và G là tương đươ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 YZ mà thuộc F mà