Phân tích cơ sở dữ liệu quản lí cho cửa hàng thuốc tân dược - Pdf 33

PHẦN I. 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.
Từ trước đến nay trong giới tin học người ta thường nhắc về định nghĩa
cơ sở dữ liệu và hệ quản trị cơ sở dữ liệu là gì? 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 được gọi là hệ quan trị dữ liệu nó có
nhiệm vụ rất quan trọng 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.
1
User 1
User 2
Khung nhìn 1
Khung nhìn 1
User n
Khung nhìn 1
CSDL mức
khái niệm
(logic)
CSDL mức

hị có hướng.
2
3. 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 với các thay đổi
trong cấu trúc truy nhập và chiến lược truy nhập.
3
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ý t
huyế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
x D
2
x…x
D
n
là tập tất cả n – bộ (n – tuples v
1

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 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đ hoặc r(A
1
,…,A
n
).
Ví dụ: Quan hệ NHAN _ VIEN bao gồm các thuộc tính HO_TEN,

∈ 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 bộ
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
) vì K

⊆ K⊆ R, thì K cũng là khoá của r, nghĩa là bất kỳ t
1
, t
2
∈r
từ t
1

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.
5
2.3. Các phép tính trên CSDL quan hệ
a/ 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

tính đó.
3. 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.
b/ 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
) 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
6
DEL (NHAN _VIEN; Le Van A, 1960, Vien CNTT, 425)

) ⊆ {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

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 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ỏ.
7
CHƯƠNG 3: LÝ THUYẾT 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



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:
1. Phản xạ: Nếu Y ⊆ X thì X→Y.
2. 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.
3. 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.
a. Luật hợp: Nếu X →Y và X →Z thì X →YZ.
b. Luật tựa bắc cầu: Nếu X →Y và WY→Z thì XW →ZX.
c. 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 là sơ đồ quan hệ (SDQH)s là một cặp <R,F> , ở đây R là
tập hợ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

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

đó 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 là 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 Fvà 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
+
.
10
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

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ệ giươì 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 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à - 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:

p
(r)
Bổ đề 3.5
Gọi R là lược đồ quan hệ p = (R
1
,…, R
k
) là phép tách của R,r là quan hệ
trên R và r
i
= Π (r) thì:
a. r ⊆ m
p
(r)
b. Nếu s=m
p
(r) thì Π R
i
(s) r
i
c. m
p
(m
p
r))= m
p
(r)
Trong trường hợp tách một lược đồ thành hai lược đồ con ta sẽ có định
lý sau:
Định lý:

chuẩn hoá khác và không làm mất mát thông tin.
12
Ví dụ:
Trước Chưa chuẩn hoá
S
#
PRO
P
#
Q
TY
1 1
00
1
2
00
2
3
00
3
2 1
00
4
2
00
2
4
00
5
3 5

1
Hình – 3: Quan hệ chuẩn hoá
Trước khi mô tả chi tiết cac 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
,…,}. 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)
14
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 1NF:
Một lược đồ quan hệ R được gọi là dạng chuẩm một (1NF) nếu và chỉ


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 ở 3 NF, thậm chí không ở 2NF. Giả sử X=SI, Y.A là thuộc
tính không khoá vì chỉ có một khoá là SI. Vì X → Y là 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 → 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
16
X
Y
A


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status