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

