Tải bản đầy đủ (.pdf) (80 trang)

Ptudcsdl1 chuong 3 thiet ke du lieu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (9.22 MB, 80 trang )


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 qt 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
Trị giá HĐ

HĨA ĐƠN

(1,1)

Của

(1,n)


KHÁCH HÀNG

(1,n)

Gồm

Cơng nợ

SLượng
Đơn giá

Mã KH
Tên KH
Mức nợ

(0,n)
Mã hàng
Tên hàng
Qui cách

HÀNG HÓA

(0,n)

Gồm

TỒN KHO
(1,1)

Đơn giá bán


Tồn kho

ThángNăm
Tổng SL nhập
Tổng SL xuất


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

Các xử lý cập nhật
lên DL suy diễn

Quyết định
DL suy diễn

Tần suất của từng xử


Khơng có dữ
liệu suy diễn

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


KHÁCH HÀNG
Số
lượng
tài
khỏan

AVG=2

(1,n)

Mã KH
Tên KH

Khái niệm

Loại

Số dư

Khách hàng

Thực thể

15.000

Tài khoản

Thực thể


30.000

Phát sinh

Thực thể

600.000

Của

Kết hợp

30.000

Liên quan

Kết hợp

800.000

Khối lượng

Của
(1,1)

30.000

TÀI KHOẢN

Số tài khỏan

Số dư tài khỏan

(1,n)

Liên
quan
600.000

(1,2)

PS RÚT/GỬI

Số PS
Ngày phát sinh
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ụ

Diễn giải

Tần suất / ngày

o1


Mở tài khoản

100

o2

Đọc số dư tài khoản

3000

o3

Rút tiền

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

Khách hàng

Thực thể

Đọc

3000

04: Rút tiền

Tài khoản

Thực thể

Khách hàng

Thực thể

Đọc
Ghi
Đọc
Ghi

2000

2000
2000
2000

Tài khoản

Thực thể

Khách hàng

Thực thể

Đọc
Ghi
Đọc
Ghi

1000
1000
1000
1000

05: Gởi tiền


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 tiền

Tài khoản

Thực thể

Đọc
Ghi


2000
2000

05: Gởi tiền

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ư)

Ngồ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
Chủn đởi tởng qt 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 qt 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

E’

R

A
B

E

C

E1

E’

B

E2

C

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


Loại E


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 qt
Thuộc

(1,1)

Ví dụ:
Mã NV
Tên NV

NHÂN VIÊN

(0,1)

(1,n)

KỸ SƯ

(1,n)

Sử dụng
Mã PM
Tên PM

(0,n)

Kỹ năng

(0,n)


NV QLÝ
Chuyên
ngành

Mã BP

BỘ PHẬN

QLý

(t,e)

THƯ KÝ

(1,n)

(0,1)

(1,1)

Ptrác
h

Tên BP

SLượng NV
trực thuộc

PHẦN MỀM
SLượng NV

trực thuộc

LoạiNV

Ràng buộc:
Mã NV
- LoạiNV 
Tên NV
{TK, KS, QL}Chuyên ngành
Kỹ năng

NHÂN VIÊN
(0,n)

(0,n)

Sử dụng
Mã PM
Tên PM

(0,n)

PHẦN MỀM

(1,1)

Thuộc

(1,n)


Mã BP

(0,1)
(0,n)
(0,1)

BỘ PHẬN

QLý
(1,1)

Ptrách

Tên BP


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 tí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 cả các
cấu trúc tổng qt hóa
như tồn bợ (t) và bán
phần (p), chồng lắp (o)
và riêng biệt (e)

Tất cả các tác vụ muốn truy cập đến một thực
thể tập con phải truy cập tồn bợ tất cả các
thực thể tập con
Phát sinh thêm một số RBTV cần phải kiểm tra


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

E’

E

R

B
A

E1


A

R1
E1

B

E2

C

E2

R2
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

C
A


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

E’

E

R

B
A

E1

A

R1
E1

(t,e)

B

E2

(t,o)

C

E2


R2
E’

(p,e)

(p,o)

C
A


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
(1,1)

Ví dụ:
Mã NV
Tên NV

NHÂN VIÊN

(0,1)

(0,n)

(0,n)


Mã PM
Tên PM

Kỹ năng

(0,n)

Chuyên
ngành

Thuộc
1

THƯ KÝ
(0,n)

Sử dụng
(0,n)

PHẦN MỀM

(1,1)

(0,1)

KỸ SƯ
(0,n)

Kỹ năng

(0,n)
Qlý 3

Thuộc
2

NV QLÝ

Mã BP

(0,n)

Thuộc
3
(1,1)

(0,1)
Chuyên
ngành
(0,1)
(0,n)
Qlý 2

Ptrác
h

SLượng NV
trực thuộc
(0,n)


(1,1)

Mã PM
Tên PM

NV QLÝ

PHẦN MỀM
(1,1)

BỘ PHẬN
Tên BP

(1,n)

KỸ SƯ

Sử dụng

(1,n)

QLý

(t,e)

THƯ KÝ

Mã BP

Thuộc


(0,1)

BỘ PHẬN
(0,n)

(1,1)

Ptrác
h

SLượng NV
trực thuộc (0,1)
(0,n)
Qlý 1

Tên BP


Chương 2 : Thiết kế Dữ liệu

21

Thiết kế luận l{ dữ liệu cấp cao
Dùng các thực thể chuyên biệt
Nhận xét:
Ưu điểm

Khuyết điểm


Thuộc tính riêng của thực thể tập Cách chọn lựa này không áp dụng được cho cấu trúc tổng
con chỉ biểu diễn riêng cho loại quát hóa loại chồng chéo (o) và bán phần (p), chỉ dùng
thực thể tập con đó
được cho toàn phần (t) và riêng biệt (e)
Các tác vụ liên quan đến một loại Quan niệm các thực thể tập con trước đây cùng là chuyên
thực thể tập con chỉ truy cập đến biệt hóa của một thực thể tổng qt khơng cịn nữa. Quan
loại thực thể tập con đó
niệm này có thể là chủ yếu liên quan đến một sớ xử lý. Ví
dụ thư ký, kỹ sư và quản lý là nhân viên.
Nếu thuộc tính của thực thể tổng quát là đáng kể thì sự lập
lại trong lược đồ đáng xem xét lại
Các tác vụ trước đây thao tác lên thực thể tổng quát nay
phải thao tác lên tất cả các thực thể tập con


Chương 2 : Thiết kế Dữ liệu

22

Thiết kế luận l{ dữ liệu cấp cao
Chọn lựa giữa 2 phương án :
Mã NV
Tên NV
Số CMND
Ngày sinh
Địa chỉ
TĐVH
Chun
ngành TN


10.100

NHÂN VIÊN

100

(t,e)

NV_VPHỊNG

10.000
Ngày bắt đầu
Bậc nghề

CƠNG NHÂN

Ngọai ngữ

Xét các xử l{ truy xuất liên quan
Xử lý

Tần suất

(o1) Tính lương sản phẩm cho cơng nhân phân 2/ tháng
xưởng
(o2) Tính lương cho nhân viên văn phịng
1/tháng
(o3) Tìm kiếm thông tin về công nhân
1000/ngày
(o4) Tổng hợp danh sách chung của tịan bộ nhân 5/tháng

viên
(o5) Truy xuất thơng tin nhân viên văn phòng
20/tháng

Chọn lựa tối ưu
Tách (gộp)
Tách
Tách (gộp)
Gộp
Tách


Chương 2 : Thiết kế Dữ liệu

23

Thiết kế luận l{ dữ liệu cấp cao
Chọn lựa giữa 2 phương án :
Mã NV
Tên NV
Số CMND
Ngày sinh
Địa chỉ
TĐVH
Chun
ngành TN

NHÂN VIÊN

100


NV_VPHỊNG

(t,e)

10.100

10.000

CƠNG NHÂN

Ngày bắt đầu
Bậc nghề

Ngọai ngữ

Nhận xét: việc chọn lựa phụ thuộc vào:
-Dung lượng:
- Gộp: dung lượng lớn (bởi vì phải để trống 10.000 giá trị các thuộc
tính NV_VPHỊNG của các thể hiện CƠNG NHÂN)  truy xuất chậm
- Tách: dung lượng tối ưu
-Xử lý: xác định các xử lý ưu tiên (các xử lý có tần xuất cao,…)
-Ví dụ: nếu ưu tiên cho (o4)  Gộp; (o2), (o3),…  Tách


Chương 2 : Thiết kế Dữ liệu

24

Thiết kế luận l{ dữ liệu cấp cao

Dùng mối kết hợp:
E’

R

E’

A

E

(0,1)

(0,1)

R1
E1

B

E2

R2

(1,1)

C

A


E

R

E1

(1,1)
B

E2

- Hũy bỏ tổng quát – chuyên biệt
- Tạo mối kết hợp từ thực thể tổng quát đến các thực thể chuyên biệt

(t,e)

(t,o)

(p,e)

(p,o)

C


Chương 2 : Thiết kế Dữ liệu

25

Thiết kế luận lý dữ liệu cấp cao

Dùng mối kết hợp

Thuộc

(1,1)

Ví dụ:

Mã NV
Tên NV

(0,1)

NHÂN VIÊN

(0,n)

Sử dụng
Mã PM
Tên PM

(1,n)

KỸ SƯ

NV QLÝ

(0,n)

(0,1)


Chuyên
ngành

Kỹ năng

(0,n)

(1,1)

Ptrác
h

Tên BP

SLượng NV
trực thuộc

PHẦN MỀM
Mã NV
Tên NV

NHÂN VIÊN
(0,1)

Lq1

(0,1)

(0,n)


Sử dụng
(0,n)

PHẦN MỀM

KỸ SƯ
(0,n)

Thuộc

Kỹ năng

(1,n)

(0,1)
(1,1)

NV QLÝ
Chuyên
ngành

Mã BP

BỘ PHẬN

QLý

Lq3


(1,1)

THƯ KÝ

(1,1)

(0,1)

Lq2

(1,1)

Mã PM
Tên PM

Mã BP

BỘ PHẬN

QLý

(t,e)

THƯ KÝ

(1,n)

(1,n)
(0,1)
SLượng NV

trực thuộc

(1,1)

Ptrác
h

Tên BP


×