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}
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 đủ
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:
bai_giang_phat_trien_ung_dung_co_so_du_lieu_1_chuong_3_thiet.pdf

