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

Chuong 2 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 (5.78 MB, 84 trang )

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 qt 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
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

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

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

Quyết định
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

KHÁCH HÀNG
Số
lượng

tài
khỏan

AVG=2

(1,n)

Mã KH
Tên KH
Số dư

Khái niệm

Loại

Khới
lượng

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

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

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ụ

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 ?

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

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 số dư khách hàng

Khách hàng

Thực thể

Đọc

3000

03: 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

04: Gởi tiền

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 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 số dư 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

03: Rút tiền

Tài khoản

Thực thể

Đọc
Ghi

2000
2000

04: Gởi tiền


Tài khoản

Thực thể

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

12



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

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 qt.
Mối kết hợp tởng qt 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

E’

E1

E’


B

E2

C

R

A
B

E

C
Loại 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}

(t,e)

(t,o)

(p,e)

(p,o)

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 qt
Ví dụ:

Thuộc

(1,1)
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
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ải pháp đơn giản Có thể phát sinh ra một số lớn các giá trị
nhất, không phát sinh rỗng cho các thuộc tính mà chỉ dùng cho một
thêm các mối kết hợp
loại 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

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

E’

E

R

B
A

E1

A

R1
E1

B

E2


C

E2

C
A

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

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

E’

E

R

B

A

E1

A

R1
E1

(t,e)

B

E2

(t,o)

C

E2

C
A

R2
E’

(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
Dùng các thực thể chuyên biệt
Ví dụ:

Mã NV
Tên NV

(1,1)

NHÂN VIÊN

(0,1)

(0,n)

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

Kỹ năng

(0,n)

BỘ PHẬN


(1,n)

KỸ SƯ
(0,n)

(1,n)

QLý

(t,e)

THƯ KÝ

Mã BP

Thuộc

NV QLÝ
Chuyên
ngành

(1,1)

(0,1)

(0,n)

(0,n)
(1,1)


(1,1)

THƯ KÝ
(0,n)

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

(0,n)

PHẦN MỀM

KỸ SƯ
(0,n)

Kỹ năng
(0,n)
Qlý 3

Thuộc
2

Thuộc
3
(1,1)

NV QLÝ
(0,1)

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

Tên BP

SLượng NV
trực thuộc

PHẦN MỀM
Thuộc
1

Ptrách

(0,1)

Mã BP

BỘ PHẬN
(0,n)

(1,1)

Ptrác
h

Tên BP


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


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ận xét:
Ưu điểm

Khuyết điểm

Thuộc tính riêng của thực thể Cách chọn lựa này không áp dụng được cho cấu trúc
tập con chỉ biểu diễn riêng cho tổng quát hóa loại chồng chéo (o) và bán phần (p), chỉ
loại thực thể tập con đó
dùng được cho toàn phần (t) và riêng biệt (e)
Các tác vụ liên quan đến một Quan niệm các thực thể tập con trước đây cùng là
loại thực thể tập con chỉ truy chuyên biệt hóa của một thực thể tổng quát không còn
cập đến loại thực thể tập con nữa. Quan 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

21


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

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
Chuyên
ngành TN

NHÂN VIÊN 10.100

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

Chọn lựa tới ưu

(o1) Tính lương sản phẩm cho cơng nhân phân
xưởng
(o2) Tính lương cho nhân viên văn phịng
(o3) Tìm kiếm thơng tin về cơng nhân
(o4) Tổng hợp danh sách chung của tịan bộ
nhân viên
(o5) Truy xuất thơng tin nhân viên văn phòng

2/ tháng

Tách (gộp)

1/tháng
1000/ngày
5/tháng

Tách
Tách (gộp)

Gộp

20/tháng

Tách
22


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

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
23


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

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

R

(0,1)

(0,1)

R1
E1

B

E2

R2

(1,1)

C

A

E

E1

(1,1)

B

C

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)

24


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

Thiết kế luận lý dữ liệu cấp cao
Dùng mối kết hợp
Ví dụ:

Mã NV
Tên NV

Thuộc


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

(1,1)

Ptrác
h

Tên BP

SLượng NV
trực thuộc

25


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×