Thiết kế luận lý dữ liệu 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 Cấp thấp Chuyển đổi lược đồ kết quả của thiết kế luận lý cấp cao sang 1 mô
Trang 1Thiết kế dữ liệu
Trang 2Nội dung chi tiết
Thiết kế luận lý dữ liệu
Cấp cao
Cấp thấp
Thiết kế mã
Trang 3Thiết kế luận lý dữ liệu
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
Cấp thấp
Chuyển đổi lược đồ kết quả của thiết kế luận
lý cấp cao sang 1 mô hình dữ liệu nhất định
Trang 4Thiết kế luận lý dữ liệu (tt)
Lược đồ dữ liệu quan niệm
Thông tin và yêu cầu
về dữ liệu
Thiết kế luận lý cấp cao
Lược đồ trung gian
Thiết kế luận lý cấp thấp
Mô hình dữ liệu
(quan hệ)
Lược đồ luận lý theo mô hình
Yêu cầu về tiêu chuẩn và hiệu quả
Trang 5Thiết kế luận lý dữ liệu cấp cao
Quyết định 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
Trang 6Quyết định dữ liệu suy diễn
Dữ liệu suy diễn
Là những thuộc tính mà giá trị của nó có thể tính toán số học từ những thuộc tính khác
HÓA ĐƠN (1,1) (1,n)
Mã KH Tên KH Mức nợ
Gồm
(0,n) (1,1)
Số lượng Đơn giá Trị giá HĐ
Có
Trang 7Quyết định dữ liệu suy diễn (tt)
Tăng dung lượng lưu trữ
Phải lập trình để bảo đảm ràng buộc
Trang 8Quyết định dữ liệu suy diễn (tt)
Có dữ liệu suy diễn
Không có dữ liệu suy diễn
Trang 9Ví dụ
Mã KH Tên KH Tổng Số dư
Số tài khỏan
Số dư
Số lượng tài khoản
Số giao dịch Ngày giao dịch
Liên quan Mối kết hợp 800.000
(Trung bình 2 tài khoản)
Trang 10Ví dụ (tt)
Mở tài khoản Tài khoảnKhách hàng
Của
Thực thểThực thểMối kết hợp
GhiGhiGhi
100100100Đọc tổng số dư khách hàng Khách hàng Thực thể Đọc 3000Gởi tiền
Tài khoản
Khách hàng
Thực thểThực thể
ĐọcGhi
ĐọcGhi
20002000
20002000
Rút tiền
Tài khoản
Khách hàng
Thực thểThực thể
ĐọcGhi
ĐọcGhi
10001000
10001000
Có dữ liệu suy diễn (A)
Đọc Ghi
3000 3000 Khách hàng
Trang 11Ví dụ (tt)
Mở tài khoản Tài khoảnKhách hàng
Của
Thực thểThực thểMối kết hợp
GhiGhiGhi
100100100
Đọc tổng số dư khách hàng Khách hàngTài khoản
Của
Thực thểThực thểMối kết hợp
Đọc
ĐọcĐọc
3000
3000x23000x2
Không có dữ liệu suy diễn (B)
Đọc Đọc
6000 6000 Tài khoản
Của
Trang 12 Có những nhu cầu phát sinh 1 cách định tính
→ không thể quyết định bằng phương pháp định lượng
Trang 13Chuyển đổi tổng quát hóa & tập con
Cần thiết khi
Mô hình cài đặt không hỗ trợ
−Mô hình quan hệ, mạng, phân cấp…
Xem xét
Các đặc trưng kế thừa của biệt từ thực-thể-tổng-quát
thực-thể-chuyên-−Thuộc tính, định danh, mối kết hợp
Mối kết hợp tổng quát hóa
Trang 14Chuyển đổi tổng quát hóa & tập con
Trang 15Dùng thực thể tổng quát
Các đặc trưng của thực-thể-chuyên-biệt sẽ được chuyển sang thực-thể-tổng-quát
Thêm thuộc tính LoạiE
MGT(LoạiE) = {E, E1, E2, E1E2}
A
C B
Loại E
E
Trang 16Dùng thực thể tổng quát (tt)
Miền giá trị LoạiE
(t,e) : MGT(LoạiE) = {E1, E2}
(t,o) : MGT(LoạiE) = {E1, E2, E1E2}
(p,o) : MGT(LoạiE) = {E, E1, E2}
(p,e) : MGT(LoạiE) = {E, E1, E2, E1E2}
Trang 17Ví dụ
(1,1)
PHẦN MỀM
Mã NV Tên NV
SLượng NV
Kỹ năng
Chuyên ngành
NV QLÝ
(t,e) (0,n)
Sử dụng
(1,n)
(1,n) (0,1)
Thuộc
Phụ trách
BỘ PHẬN NHÂN VIÊN Quản lý
KỸ SƯ THƯ KÝ
Sử dụng
(1,n)
(0,1)
Quản lý
Trang 18Dùng thực thể tổng quát (tt)
Giải pháp đơn giản nhất, không phát
sinh thêm các mối kết hợp Có thể phát sinh ra 1 số lớn các giá trị rỗng cho các thuộc tính mà chỉ dùng
cho một 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
quát hóa như toà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 toàn
bộ tất cả các thực thể tập conPhát sinh thêm một số RBTV cần phảikiểm tra
Trang 20Ví dụ
(1,1)
PHẦN MỀM
Mã NV Tên NV
SLượng NV
Kỹ năng
Chuyên ngành
NV QLÝ
(t,e) (0,n)
Sử dụng
(1,n)
(1,n) (0,1)
Thuộc
Phụ trách
BỘ PHẬN NHÂN VIÊN Quản lý
KỸ SƯ THƯ KÝ
Phụ trách
Thuộc1
Mã BP Tên BP
BỘ PHẬN
Mã PM Tên PM
PHẦN MỀM
Sử dụng
(0,1)
(0,1)
Trang 21Dùng thực thể chuyên biệt (tt)
Thuộc tính riêng của thực thể tập con
chỉ biểu diễn riêng cho loại thực thể tập
con đó
Cách chọn lựa này không áp dụng được cho cấu trúc tổng quát hóa loại chồng chéo (o) và bán phần (p), chỉ 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 loại thực
thể tập con chỉ truy cập đến loại thực
thể tập con đó
Quan niệm các thực thể tập con trước đây cùng là chuyên biệt hóa của một thực thể tổng quát không còn nữa
Quan niệm này có thể là chủ yếu liên quan đến một số xử lý
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
Trang 22Lựa chọn chuyên biệt | tổng quát
NHÂN VIÊN
Mã NV Tên NV
CÔNG NHÂN
(t,e)
Số CMND
Ngày sinh Địa chỉ Trình độ văn hóa
Chuyên ngành
tốt nghiệp Ngọai ngữ
Ngày bắt đầu Bậc nghề
10.000 100
10.100
NV_VPHÒNG
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 toàn bộ nhân viên
(o5) Truy xuất thông tin nhân viên văn phòng
2/ tháng1/tháng1000/ngày5/tháng20/tháng
Tách (gộp)Tách
Tách (gộp)Gộp
Tách
Trang 23Lựa chọn chuyên biệt | tổng quát
• Nếu ưu tiên o4 : gộp
• Nếu ưu tiên o2, o3: tách
Trang 24Dùng mối kết hợp
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 thực-thể-chuyên-biệt
A
C B
Trang 25Ví dụ
(1,1)
PHẦN MỀM
Mã NV Tên NV
SLượng NV
Kỹ năng
Chuyên ngành
NV QLÝ
(t,e) (0,n)
Sử dụng
(1,n)
(1,n) (0,1)
Thuộc
Phụ trách
BỘ PHẬN NHÂN VIÊN Quản lý
KỸ SƯ THƯ KÝ
lý
Mã BP Tên BP
(0,1) (0,1)
(1,1) (1,1)
(1,1)
Mã PM Tên PM
Kỹ năng
Trang 26Dùng mối kết hợp (tt)
Có thể mô hình tất cả các loại cấu trúc
tổng quát hóa toàn bộ / bán phần và
chồng chéo / riêng biệt
Lược đồ kết quả khá phức tạp Ví dụ như thêm một thể hiện cho một thực thể tập con phải thêm mới một thể hiện cho quan hệ và một thể hiện cho thực thể tổng quát hóa
Rất uyển chuyển khi thay đổi yêu cầu
của ứng dụng Phải chấp nhận sự dư thừa khi biểu diễn mối liên kết IS-A thành mối kết
hợp
Trang 27Thiết kế luận lý dữ liệu cấp thấp
Chuẩn bị
Loại bỏ định danh ngoài
Loại bỏ thuộc tính đa trị và thuộc tính kết hợp
Chuyển đổi mô hình thực thể kết hợp sang
mô hình quan hệ
Trang 28Loại bỏ định danh bên ngoài
C
E1
Trang 29Mã số TN Tên tòa nhà Địa chỉ Tổng số
TÒA NHÀ Mã số TN
Tên tòa nhà Địa chỉ Tổng số
phòng
Mã số TN
Trang 30Loại bỏ thuộc tính kết hợp
A
B1 B2 B3
E B1A
B2 B3
E B (B1+B2+B3)AB
E
Trang 31Ví dụ
Tên NK Ngày sinh Quê quán
Số CMND Ngày lập Nơi cấp
NHÂN KHẨU
Số CMND Ngày lập
Tên NK Ngày sinh Quê quán
NHÂN KHẨU
Mã NV Tên NV Trình độ văn hóa
Số nhà Đường Phường Quận Thành phố
NHÂN VIÊN
Địa chỉ
Địa chỉ
Mã NV Tên NV Trình độ văn hóa
NHÂN VIÊN
Trang 32Loại bỏ thuộc tính đa trị
E (0,n) A E (0,n) R (1,1) EA A
(1,n)
Thuộc tính đa trị ở thực thể
Trang 33Ví dụ
Mã NV Tên NV
Số ĐT (0,n)
NHÂN VIÊN
Mã NV Tên NV
Trang 34Loại bỏ thuộc tính đa trị (tt)
Thuộc tính đa trị ở mối kết hợp
Trang 35Ví dụ
(0,n)
(1,n)
Điểm (0,n)
Mã SV Tên SV
ĐiỂM
Trang 36Chuyển mô hình ER → Quan hệ
Chuyển đổi thực thể
Chuyển đổi mối kết hợp
Trang 38Chuyển đổi mối kết hợp
Trang 39Chuyển đổi mối kết hợp (tt)
A
B
(0,1) (0,1)
E1
RA
E2 R
A
B
(1,1) (1,1)
E1(A,…)
E2(B,…, A) : A làkhóa
E1(A,…) E2(B,…, A): A là khóa
Hoặc
E1(A,…, B): B là khóa E2(B,…)
E1E2(A, B,…) : B là khóa
Hoặc
E1E2(A, B,…): A là khóa
Trang 40Ví dụ
NHÂN_VIÊN(MA_NV, TÊN_NV, ĐỊA_CHỈ, ĐiỆN_THOẠI)
LÝ_LỊCH(MÃ_SỐ_LL, QUÊ_QUÁN, NGÀY_SINH, NƠI_SINH, MA_NV)
Tên NV Địa chỉ Điện thọai
Mã số LL Quê quán Ngày sinh Nơi sinh
Của
Mã NV
(0,1) (1,1)
Trang 41Ví dụ (tt)
KH_NĐDIỆN (MÃ_KH, TÊN_KH, ĐiỆN_THOẠI, SO_CMND_ĐD, TÊN_NĐD,
ĐỊA_CHỈ_GIAO_DỊCH, TÀI KHOẢN_GIAO_DỊCH)
Mã KH Tên KH Điện thọai
NGƯỜI ĐẠI DiỆN
Số CNMD_ĐD Tên NĐD
Tài khoản giao dịch
(1,1) Của (1,1)
Địa chỉ giao dịch
KHÁCH_HÀNG
Trang 42Chuyển đổi mối kết hợp (tt)
Trang 44Chuyển đổi mối kết hợp (tt)
Trang 45Ví dụ
HÓAĐƠN(SỐ_HD, NGÀY_HD, TRỊGIÁ) CHITIET_HD(SO_HD, MÃSỐ, SỐLƯỢNG, ĐƠN_GIÁ) NGK(MÃSỐ, TÊN_NGK, ĐVTÍNH, LoẠI, HiỆU, ĐƠNGIÁ_BÁN)
HOÁ ĐƠN
Mã số
Tên NGK ĐVTính Loại Hiệu Đơn giá bán
Số HĐ
Ngày HĐ
Trị giá
Số lượng Đơn giá
(1,n) (0,n)
Chi tiết
Trang 46Chuyển đổi mối kết hợp (tt)
Mối kết hợp đa phân
SINH_VIÊN(MÃ_SV, TÊN_SV, NGÀY_SINH, ĐỊA_CHỈ)
MÔN_HỌC(TÊN_MH, SỐ_HỌC_PHẦN)
HỌC_KỲ(HỌC_KỲ, NĂM, NGÀY_BĐ, NGÀY_KT)
HỌC(MÃ_SV, TÊN_MH, HỌC_KỲ, NĂM, ĐIỂM)
Ngày KT
SINH VIÊN Tên SV
Mã SV
Ngày sinh Địa chỉ
MÔN HỌC Số học phầnTên MH
HỌC KỲ
Học kỳ Năm Ngày BĐ (0,n)
(0,n)
(0,n)
Điểm
Học
Trang 47Chuyển đổi mối kết hợp (tt)
Mối kết hợp mở rộng
R1(A,B, …) R2(A,B,C, …)
Trang 48Ví dụ
MỞ MH
(0,n)
(0,1)
MÔN HỌC
Mã MH Tên MH
Trang 50Nội dung chi tiết
Thiết kế luận lý dữ liệu
Thiết kế mã
Trang 51có khả năng mở rộng
Trang 54Ví dụ vùng mã hóa
Mã môn học được thiết kế khác nhau trong cùng 1 trường
TH201 - Thiết kế Cơ Sở Dữ Liệu CNTT201 - Thiết kế Cơ Sở Dữ Liệu
Khoa CNTT Phòng Đào Tạo
Gây ra 1 số hoạt động không cần thiết như : chuyển đổi mã liên quan đến kết quả học tập trên môn học, …
Trang 5501TC01201TC34500TC365
Trang 56Ví dụ ngữ nghĩa
Mã số sinh viên
9 9 9 9 99
9
Khóa Khoa Lớp Mã số thứ tự
001103700114560111230
Trang 57Mã khối Một số được gán cho mỗi khối
Rồi một số sẽ được gán tuần
tự trong khối đó thuận tiện cho phân lọai dữ liệu
Mã khách hàng của từng chi nhánh được qui định như sau:
0001 khách hàng tại trung tâm
1000 khách hàng chi nhánh A
2000 khách hàng chi nhánh B
3000 khách hàng chi nhánh C
Trang 58Một số loại mã (tt)
Mã thập phân Các đối tượng sẽ được mã
hóa từ 0 đến 9, rồi đến lượt thành viên của mỗi đối tượng này cũng sẽ được mã hóa từ
Mã theo ký số Mỗi ký số của mã sẽ gán cho
một ngữ nghĩa Mã SV của trường ĐHKHTN TPHCM
01 1 1 100
01 2 1 120
Năm Khoa Lớp số thứ tự
Trang 59Một số loại mã (tt)
Mã gợi nhớ Chữ viết tắt hoặc biểu tượng
của đối tượng được dùng để
mã hóa
Mã hóa lớp học của trường đại học như sau:
00TC Lớp tại chức khóa 200001TC Lớp tại chức khóa 200100HC Lớp hòan chỉnh khóa 200001HC Lớp hoàn chỉnh khóa 2001
Mã kiểm tra Dùng một ký số kiểm tra
thêm vào sau mỗi mã số