Bài giảng Phát triển ứng dụng cơ sở dữ liệu 1 - Chương 3: Thiết kế dữ liệu (Phần 2) - Thái Lê Vinh

Chương 3. THIẾT KẾ DỮ LIỆU  
GVLT: Thái Lê Vinh  
Nội dung trình bày  
Thiết kế luận lý dữ liệu  
Thiết kế luận lý cấp cao  
Thiết kế luận lý cấp thấp  
Thiết kế mã  
Thiết kế vật lý dữ liệu  
2
Chương 2 : Thiết kế Dữ liệu  
Thiết kế luận lý dữ liệu  
Thiết kế luận lý cấp cao:  
Độc lập với mô hình cài đặt  
Dùng chung cho nhiều loại mô hình dữ liệu  
Thiết kế luận lý cấp thấp:  
Chuyꢀn đꢁi lưꢂc đồ kết quꢃ cꢄa bước 1 sang một mô hình dữ liệu nhất  
đꢅnh (mô hình quan hệ,…)  
3
Chương 2 : Thiết kế Dữ liệu  
Thiết kế luận lý dữ liệu cấp cao  
Quyết đꢅnh về dữ liệu suy diễn  
Chuyꢀn đꢁi tꢁng quát hóa và tập con  
Chọn lựa khóa chính  
4
Chương 2 : Thiết kế Dữ liệu  
Thiết kế luận lý dữ liệu cấp cao  
Quyết đꢅnh về dữ liệu suy diễn  
Dữ liệu suy diễn: là thuộc tính mà giá trꢅ cꢄa nó có thꢀ tính tóan số học  
từ những thuộc tính khác  
Ví dụ:  
Số HĐ  
Ngày lập  
(1,1)  
(1,n)  
Của  
Mã KH  
Tên KH  
HÓA ĐƠN  
KHÁCH HÀNG  
Trị giá HĐ  
(1,n)  
Công nợ  
Mức nợ  
SLượng  
Đơn giá  
Gồm  
(0,n)  
ThángNăm  
Tổng SL nhập  
Tổng SL xuất  
Mã hàng  
Tên hàng  
Qui cá ch  
(0,n)  
Đơn giá bán  
Gồm  
TỒN KHO  
HÀNG HÓA  
(1,1)  
Tồn kho  
5
Chương 2 : Thiết kế Dữ liệu  
Thiết kế luận lý dữ liệu cấp cao  
Quyết đꢅnh về dữ liệu suy diễn  
Ưu điꢀm:  
Tăng tốc độ truy vấn do không phꢃi tính tóan lại giá trꢅ các thuộc tính này tại  
thời điꢀm thực hiện truy vấn  
Khuyết điꢀm:  
Cập nhật: phꢃi kiꢀm tra đưꢂc tính nhất quán với các dữ liệu liên quan (giꢃm  
tốc độ cập nhật)  
Tăng dung lưꢂng lưu trữ (do phꢃi lưu trữ thêm các dữ liệu suy diễn)  
Phꢃi lập trình đꢀ đꢃm bꢃo ràng buộc về dữ liệu suy diễn  
6
Chương 2 : Thiết kế Dữ liệu  
Thiết kế luận lý dữ liệu cấp cao  
Quyết đꢅnh về dữ liệu suy diễn  
Các xử lý truy xuất  
lên DL suy diễn  
Quyết định  
DL suy diễn  
Các xử lý cập nhật  
lên DL suy diễn  
Có dữ liệu  
suy diễn  
Tần suất của từng  
xử lý  
Không có dữ  
liệu suy diễn  
7
Chương 2 : Thiết kế Dữ liệu  
Thiết kế luận lý dữ liệu cấp cao  
Quyết đꢅnh về dữ liệu suy diễn – ví dụ:  
15.000  
Knm  
Li  
Tc tꢁ  
Tc tꢁ  
Tc tꢁ  
p  
p  
Ki  
lng  
Mã KH  
Tên KH  
KHÁCH HÀNG  
Số  
lượng  
tài  
AVG=2  
(1,n)  
Kch ng  
khn  
Psinh  
Của  
15.000  
Số dư  
Của  
khỏan  
30.000  
(1,1)  
30.000  
Số tài khỏan  
TÀI KHOẢN  
600.000  
30.000  
Số dư tài khỏan  
(1,n)  
Liên  
quan  
(1,2)  
600.000  
Liên quan  
800.000  
Số PS  
Ngày phát sinh  
PS RÚT/GỬI  
Số tiền PS  
8
Chương 2 : Thiết kế Dữ liệu  
Thiết kế luận lý dữ liệu cấp cao  
Quyết đꢅnh dữ liệu suy diễn – Ví dụ  
Tá c vụ  
o1  
Diễn giải  
Tần suất / ngày  
Mở tài khoꢂn  
Đọc số dư tài khoꢂn  
Rút tiền  
100  
o2  
3000  
2000  
1000  
o3  
o4  
Gửi tiền  
Câu hỏi: Có nên sử dụng dữ liệu suy diễn Số dư cho thực thꢀ  
Khách Hàng hay không ?  
9
Chương 2 : Thiết kế Dữ liệu  
Thiết kế luận lý dữ liệu cấp cao  
Quyết đꢅnh về dữ liệu suy diễn – ví dụ:  
Các xử lý liên quan – có dữ liệu suy diễn (A)  
Tên tꢀc vụ  
Khꢀi niꢁm  
Loꢂi  
Đꢅc  
Ghi  
Tần suất (/ngày) /  
Bản sô t.bꢆnh  
́
0M
̉
khn  
khn  
Kch ng  
Của  
Tc tꢁ  
Tc tꢁ  
p  
Ghi  
Ghi  
Ghi  
100  
100  
100  
0c
́
ư kch ng  
Kch ng  
khn  
Tc tꢁ  
Tc t
c  
3000  
0n  
̉
̉
c  
Ghi  
c  
Ghi  
2000  
2000  
2000  
2000  
Kch ng  
Tc t
0n  
khn  
Tc tꢁ  
Tc tꢁ  
c  
Ghi  
Đọc  
Ghi  
1000  
1000  
1000  
1000  
Kch ng  
10  
Chương 2 : Thiết kế Dữ liệu  
Thiết kế luận lý dữ liệu cấp cao  
Quyết đꢅnh về dữ liệu suy diễn – ví dụ:  
Các xử lý liên quan – không có dữ liệu suy diễn (B)  
Tên c ụ  
Knm  
Li  
c  
Ghi  
n st  
n) /  
n
́
nh  
0Mở khn  
khn  
Kch ng  
Của  
Tc tꢁ  
Tc tꢁ  
p  
Ghi  
Ghi  
Ghi  
100  
100  
100  
0c
́
ư kch ng  
Kch ng  
Tàkhoꢂn  
Của  
Tc t
Thꢀc thꢁ  
Kếhợp  
̉
c  
Đọc  
Đọc  
3000  
3000 x 2 = 6000  
3000 x 2 = 6000  
0n  
0n  
khn  
Tc tꢁ  
c  
Ghi  
2000  
2000  
khn  
Tc tꢁ  
c  
Ghi  
1000  
1000  
(A) 3000 Đ + 3000 G ~ (B) 12000 Đ  
11  
Chương 2 : Thiết kế Dữ liệu  
Thiết kế luận lý dữ liệu cấp cao  
Quyết đꢅnh về dữ liệu suy diễn  
Nếu (A) >> (B) → chọn không có thuộc tính suy diễn (số dư) → do phꢃi  
trꢃ chi phí có dữ liệu suy diễn (A) nhiều hơn không có (B)  
Nếu (A) << (B) → chọn có thuộc tính suy diễn (số dư)  
Ngoài ra: có những nhu cầu phát sinh đꢅnh tính không thꢀ quyết đꢅnh  
bằng phương pháp đꢅnh lưꢂng  
(A) 3000 Đ + 3000 G ~ (B) 12000 Đ  
12  
Chương 2 : Thiết kế Dữ liệu  
Thiết kế luận lý dữ liệu cấp cao  
Chuyꢀn đꢁi tꢁng quát hóa và tập con  
Cần thiết khi: mô hình cài đặt không hỗ trꢂ cho vấn đề về tꢁng quát  
hóa, thừa kế  
Ví dụ: mô hình quan hệ, mô hình mạng, mô hình phân cấp,…  
Các việc cần xem xét:  
Các đặc trưng kế thừa (thuộc tính, đꢅnh danh, mối kết hꢂp) cꢄa thực thꢀ  
chuyên biệt từ thực thꢀ tꢁng quát.  
Mối kết hꢂp tꢁng quát hóa (Is A).  
Có 3 phương án.  
13  
Chương 2 : Thiết kế Dữ liệu  
Thiết kế luận lý dữ liệu cấp cao  
Dùng thực thꢀ tꢁng quát  
A
E
A
B
E’  
E
R
C
Loại E  
B
C
E1  
E2  
E’  
R
Cꢀch thực hiꢁn:  
- Các đặc trưng của các thꢀc thꢁ chuyên biệt sẽ được chuyꢁn qua  
thꢀc thꢁ tổng quát  
- Thêm vào một thuộc tính phân lọai (hoặc một thực thể) loꢂi E  
- Loại bỏ các thꢀc thꢁ chuyên biệt  
14  
Chương 2 : Thiết kế Dữ liệu  
Thiết kế luận lý dữ liệu cấp cao  
Dùng thực thꢀ tꢁng quát  
MGT(LoạiE) {E, E1, E2, E1E2} {0,1,2,3}  
Biꢀu diễn sự tưꢂng quan:  
(t,e): → Ràng buộc MGT(LoạiE) {E1, E2}  
(t,o): → Ràng buộc MGT(LoạiE) {E1, E2, E1E2}  
(p,e): → Ràng buộc MGT(LoạiE) {E, E1, E2}  
(p,o): → Ràng buộc MGT(LoạiE) {E, E1, E2, E1E2}  
15  
(t,e)  
(t,o)  
(p,e)  
(p,o)  
Chương 2 : Thiết kế Dữ liệu  
Thiết kế luận lý dữ liệu cấp cao  
Dùng thực thꢀ tꢁng quát  
Thuộc  
Ví dụ:  
(1,1)  
(1,n)  
Mã BP  
Tên BP  
Mã NV  
Tên NV  
(0,1)  
NHÂN VIÊN  
BỘ PHẬN  
QLý  
(1,n)  
(1,1)  
(t,e)  
THƯ KÝ  
KỸ SƯ  
NV QLÝ  
Ptrác  
h
(0,1)  
(1,n)  
(0,n)  
Chuyên  
ngành  
SLượng NV  
trực thuộc  
Kỹ năng  
Sử dụng  
(0,n)  
Mã PM  
SLượng NV  
trực thuộc  
Thuộc  
LoạiNV  
(1,1)  
(0,1)  
(0,n)  
(0,1)  
(1,n)  
Ràng buộc:  
- LoạiNV  
{TK, KS, QL}  
Mã BP  
Mã NV  
Tên NV  
NHÂN VIÊN  
(0,n)  
BỘ PHẬN  
QLý  
Chuyên ngành  
(0,n)  
Kỹ năng  
Sử dụng  
(0,n)  
(1,1)  
Tên BP  
Ptrách  
Mã PM  
Tên PM  
PHẦN MỀM  
16  
Chương 2 : Thiết kế Dữ liệu  
Thiết kế luận lý dữ liệu cấp cao  
Dùng thực thꢀ tꢁng quát  
Ưu điꢇm  
Khuyꢈt điꢇm  
Gi pp đơn gn ꢃ t
n, không pt sinh ng cho c thc nh à cng cho mt  
thêm c mp ltc tp con mà thô.  
̉ pt sinh ra mt ́ n c ́ ị  
̉
p ng cho
u c ng qt a tc t
như tn (t) n c tc t
pn (p), cng p (o) Phásinh thêm một số RBTV cꢊn phꢂkiꢁm  
riêng b(e) tra  
̉
c t
̉
c c ꢉ muốn truy p n t  
p con ptruy p tn
p con  
̉
̣
̉
̣
̀
̉
̀
17  
Chương 2 : Thiết kế Dữ liệu  
Thiết kế luận lý dữ liệu cấp cao  
Dùng các thực thꢀ chuyên biệt  
B
A
C
A
E1  
E2  
A
E’  
E
R
R1  
R2  
B
C
E1  
E2  
E’  
- Chuyển đổi tất cả đặc trưng (thuộc tính, mối kết hợp, định danh) của  
thực thể tổng quát xuống lần lược các thực thể chuyên biệt  
- Hủy bỏ thực thể tổng quát  
18  
Chương 2 : Thiết kế Dữ liệu  
Thiết kế luận lý dữ liệu cấp cao  
Dùng các thực thꢀ chuyên biệt  
Ảnh hưởng sự tương quan  
B
A
C
A
E1  
E2  
A
E’  
E
R
R1  
R2  
B
C
E1  
E2  
E’  
(t,e)  
(t,o)  
(p,e)  
(p,o)  
19  
Chương 2 : Thiết kế Dữ liệu  
Thiết kế luận lý dữ liệu cấp cao  
Mã BP  
Thuộc  
(1,n)  
(1,1)  
Dùng các thực thꢀ chuyên biệt  
Mã NV  
(0,1)  
Ví dụ:  
NHÂN VIÊN  
BỘ PHẬN  
QLý  
Tên NV  
(1,n)  
(1,1)  
(t,e)  
Ptrách  
THƯ KÝ  
KỸ SƯ  
NV QLÝ  
(0,1)  
(0,n)  
Tên BP  
(0,n)  
Chuyên  
ngành  
SLượng NV  
trực thuộc  
Kỹ năng  
Sử dụng  
(0,n)  
Mã PM  
P  
(1,1)  
Thuộc  
Thuộc  
BỘ PHẬN  
Thuộc  
(1,1)  
1
2
(0,n)  
3
(1,1)  
(1,1)  
Tên BP  
(0,1)  
THƯ KÝ  
(0,n)  
KỸ SƯ  
NV QLÝ  
Ptrác  
h
(0,1)  
(0,n)  
Chuyên  
ngành  
SLượng NV  
trực thuộc  
Kỹ năng  
(0,n)  
Qlý 3  
Sử dụng  
(0,n)  
(0,1)  
(0,1)  
(0,n)  
(0,n)  
Mã PM  
Tên PM  
Qlý 1  
PHẦN MỀM  
Qlý 2  
20  
Tải về để xem bản đầy đủ
pdf 84 trang myanh 33380 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Phát triển ứng dụng cơ sở dữ liệu 1 - Chương 3: Thiết kế dữ liệu (Phần 2) - Thái Lê Vinh", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_phat_trien_ung_dung_co_so_du_lieu_1_chuong_3_thiet.pdf
  • pdfQuanLyChungCu.pdf
  • pdfMoHinhCSDLQH.pdf