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 - Hoàng Anh Tú

Chương 2 : Thiết kế Dữ liệu  
2
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  
Chương 2 : Thiết kế Dữ liệu  
3
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ệ,…)  
Chương 2 : Thiết kế Dữ liệu  
4
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  
Chương 2 : Thiết kế Dữ liệu  
5
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)  
Gồm  
HÀNG HÓA  
TỒN KHO  
(1,1)  
Đơn giá bán  
Tồn kho  
Chương 2 : Thiết kế Dữ liệu  
6
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  
Chương 2 : Thiết kế Dữ liệu  
7
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  
Chương 2 : Thiết kế Dữ liệu  
8
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  
Mã KH  
Tên KH  
Khái niệm  
Loại  
Khối lưꢂng  
15.000  
KHÁCH HÀNG  
Số  
lượng  
tài  
AVG=2  
(1,n)  
Số dư  
Khách hàng Thực thể  
Của  
khỏan  
Tài khoản  
Phát sinh  
Của  
Thực thể  
Thực thể  
Kết hợp  
Kết hợp  
30.000  
(1,1)  
30.000  
Số tài khỏan  
TÀI KHOẢN  
Số dư tài khỏan  
600.000  
30.000  
(1,n)  
Liên  
quan  
(1,2)  
600.000  
Số PS  
Ngày phát sinh  
Liên quan  
800.000  
PS RÚT/GỬI  
Số tiền PS  
Chương 2 : Thiết kế Dữ liệu  
9
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  
100  
Mở tài khoản  
Đọc số dư tài khoản  
Rút tiền  
o2  
3000  
o3  
2000  
o4  
Gửi tiền  
1000  
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 ?  
Chương 2 : Thiết kế Dữ liệu  
10  
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  
01: Mơ  
̉
tài khoản  
Tài khoản  
Khách hàng  
Của  
Thực thể  
Thực thể  
Kết hợp  
Ghi  
Ghi  
Ghi  
100  
100  
100  
02: Đọc cân số khách hàng  
04: Rút ꢀền  
Khách hàng  
Tài khoản  
Thực thể  
Thực thể  
Đọc  
3000  
Đọc  
Ghi  
Đọc  
Ghi  
2000  
2000  
2000  
2000  
Khách hàng  
Thực thꢀ  
05: Gởi ꢀền  
Tài khoản  
Thực thể  
Thực thꢀ  
Đọc  
Ghi  
Đọc  
Ghi  
1000  
1000  
1000  
1000  
Khách hàng  
Chương 2 : Thiết kế Dữ liệu  
11  
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 tác vụ  
Khái niệm  
Loại  
Đọc  
Ghi  
Tần suất (/ngày)  
/
Bꢄn số t.bình  
01: Mở tài khoản  
Tài khoản  
Khách hàng  
Của  
Thực thể  
Thực thể  
Kết hợp  
Ghi  
Ghi  
Ghi  
100  
100  
100  
02: Đọc cân số khách hàng  
Khách hàng  
Tài khoꢄn  
Cꢅa  
Thực thể  
Thực thꢀ  
Kết hꢂp  
Đọc  
Đọc  
Đọc  
3000  
3000 x 2 = 6000  
3000 x 2 = 6000  
04: Rút ꢀền  
05: Gởi ꢀền  
Tài khoản  
Thực thể  
Đọc  
Ghi  
2000  
2000  
Tài khoản  
Thực thể  
Đọc  
Ghi  
1000  
1000  
(A) 3000 Đ + 3000 G ~ (B) 12000 Đ  
Chương 2 : Thiết kế Dữ liệu  
12  
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 Đ  
Chương 2 : Thiết kế Dữ liệu  
13  
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.  
Chương 2 : Thiết kế Dữ liệu  
14  
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
B
C
Loại E  
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 tực thể) loại E  
- Loại bỏ các thực thể chuyên biệt  
Chương 2 : Thiết kế Dữ liệu  
15  
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}  
(t,e)  
(t,o)  
(p,e)  
(p,o)  
Chương 2 : Thiết kế Dữ liệu  
16  
Thiết kế luận l{ dữ liệu cấp cao  
Dùng thực thꢀ tꢁng quát  
Thuộc  
(1,1)  
(0,1)  
(1,n)  
Ví dụ:  
Mã BP  
Tên BP  
Mã NV  
NHÂN VIÊN  
BỘ PHẬN  
QLý  
Tên NV  
(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)  
(1,1)  
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)  
Tên BP  
Ptrách  
Mã PM  
Tên PM  
PHẦN MỀM  
Chương 2 : Thiết kế Dữ liệu  
17  
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ải pháp đơn giản nhất, Có thể phát sinh ra một số lớn các giá trị rꢁng  
không phát sinh thêm cho các thuộc ꢂnh mà chꢃ dꢄng cho một loại  
các mối kết hợp  
thực thể tập con mà thôi.  
ꢅp dụng cho tất ca  
̉
các Tất ca  
tập con phải truy cập toàn bô  
bán thực thê tập con  
phần (p), chồng lꢆp (o) Phát sinh thêm một số RBTV cần phải kiểm tra  
va riêng biệt (e)  
̉
các tác vụ muốn truy cập đến một thực  
cấu trúc tổng quát hóa thê  
như toàn bô (t) va  
̉
̣
tất ca các  
̉
̣
̀
̉
̀
Chương 2 : Thiết kế Dữ liệu  
18  
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  
Chương 2 : Thiết kế Dữ liệu  
19  
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)  
Chương 2 : Thiết kế Dữ liệu  
20  
Thiết kế luận lý dữ liệu cấp cao  
Dùng các thực thꢀ chuyên biệt  
Mã BP  
Thuộc  
(1,n)  
(1,1)  
Ví dụ:  
Mã NV  
Tên NV  
(0,1)  
NHÂN VIÊN  
BỘ PHẬN  
QLý  
Tên BP  
(1,n)  
(1,1)  
(t,e)  
THƯ KÝ  
KỸ SƯ  
NV QLÝ  
Ptrác  
(0,1)  
h
(0,n)  
(0,n)  
Chuyên  
ngành  
SLượng NV  
trực thuộc  
Kỹ năng  
Sử dụng  
(0,n)  
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  
Tải về để xem bản đầy đủ
pdf 80 trang myanh 22260 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 - Hoàng Anh Tú", để 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