1
PHÂN TÍCH VÀ THIẾT KẾ
THÀNH PHẦN DỮ LIỆU
Trịnh Minh Lương
2
Mục tiêu
3
Mục tiêu
• Hiểu rõ, mô tả lại toàn bộ dữ liệu của hệ thống
• Chuẩn bị cho việc cài đặt thành phần dữ liệu trong hệ
thống
Đưa ra các mô hình dữ liệu
Mô hình dữ liệu quan niệm
Mô hình dữ liệu logic
4
Khái niệm mô hình dữ liệu
• Các khái niệm trong một mô hình dữ liệu được xây dựng
bởi cơ chế trừu tượng hóa và mô tả bằng ngôn ngữ hay
biểu diễn đồ họa.
• Một tập hợp các khái niệm được dùng để diễn tả tập các
đối tượng dữ liệu cũng như những mối quan hệ giữa
chúng trong hệ thống thông tin cần tin học hóa
• Là cầu nối giữa thế giới thực với mô hình cơ sở dữ liệu
bên trong máy tính.
5
Mô hình dữ liệu mức khái niệm
• Mục tiêu: hiểu rõ thành phần dữ liệu của hệ thống (các
thực thể/đối tượng dữ liệu và quan hệ của chúng)
Mô hình thực thể kết hợp
Sơ đồ lớp, đối tượng dữ liệu
6
Mô hình thực thể kết hợp
(ERD – Entity Relationship Diagrams)
Các khái niệm cơ bản
Lớp thực thể
Thực thể
Thuộc tính
Mối kết hợp, bản số
Một số khái niệm mở rộng
Mối kết hợp đệ qui
Mối kết hợp nhiều ngôi
Chuyên biệt hóa, tổng quát hóa
RBTV
7
Thực thể
• Là thể hiện của mọi đối tượng mà nhận diện được từ tổ
chức. (giống như bộ trong quan hệ)
• Thực thể hay còn gọi là đối tượng
• Ví dụ: nhân viên A, mặt hàng B, đơn đặt hàng C, …
8
Loại thực thể, thuộc tính
Lớp thực thể
Tập hợp các thực thể có
chung đặc điểm, hành vi
Có thể xem giống như lớp đối
tượng
Thuộc tính: Mỗi thực thể bao
gồm một số thuộc tính gắn với
nó. Mỗi thuộc tính thể hiện
tính chất, đặc trưng của thực
thể.
KHÁCH HÀNG
MAKH
TENKH
DIACHI
DIENTHOAI
HONNHAN
…
KHÁCH HÀNG
MAKH
TENKH
DIACHI
DIENTHOAI
HONNHAN
…
9
Mối kết hợp
• Thể hiện sự quan hệ ngữ nghĩa giữa các loại thực thể
với nhau
• Một hình thoi có tên, tên của mối kết hợp thể hiện ngữ
nghĩa
• Mối kết hợp là “cái có sau”, không thể đứng độc lập nếu
không có các loại thực thể.
• Ta có thể đặt tên cho mối quan hệ hoặc một hướng của
mối quan hệ.
KHÁCH HÀNG
MAKH
TENKH
DIACHI
DIENTHOAI
HONNHAN
…
ĐƠN ĐẶT HÀNG
MAĐĐH
NGAYLAP
…
có
1-n 1-1
10
Mối kết hợp, bản số
• Bản số: thể hiện số lượng các thực thể thuộc một lớp
thực thể ở nhánh bên kia có liên hệ với một thực thể ở
nhánh bên này của mối kết hợp. [0-1], [0-n], [1-1], [1-
n]
• Thuộc tính (riêng): Trong một số trường hợp nào đó
mối kết hợp có thể có những thuộc tính riêng của nó.
• Khóa: khóa của mối kết hợp thường là tổ hợp khóa của
các lớp thực thể tham gia vào mối kết hợp.
ĐƠN ĐẶT HÀNG
MADDH
NGAYDAT
NGAYGIAODUKIEN
…
HÀNG HÓA
MAHANG
TENHANG
…
Đặt
hàng
1-n 0-n
SOLUONG
DONGIA
THANHTIEN
11
Lớp thực thể phụ thuộc (dependency)
NV
Con NV
- STT_con
- Tên con NV
- …
MS_NV
MS_NV
1-1
0-n
• Nhấn mạnh rằng sự tồn tại của lớp đối tượng này phụ thuộc
hoàn toàn vào lớp đối tượng kia
12
Lớp thực thể thành phần (composition)
• Thể hiện mối kết hợp: một thực thể thuộc lớp này là một
thành phần của một thực thể thuộc lớp kia.
• Quan hệ thành phần bao gồm hàm ý phụ thuộc.
• Giống như mối kết hợp bình thường, ta có thể đặt tên cho
mối kết hợp hoặc một hướng của mối kết hợp.
Ví dụ:
Lớp thực thể “Xe máy”
Lớp thực thể “Bánh xe”, “Động cơ”, “Đèn trước”, “Đèn
sau”, …
13
Mô hình thực thể kết hợp mở rộng
• Mối kết hợp đệ qui
NV
Quản lý
1-n
1-1
14
Mô hình thực thể kết hợp mở rộng
• Mối kết hợp nhiều ngôi
SV
ĐKH
NH_HK
MÔN
MA_SV
MA_MON
NH
HK
(0,n) (0,n)
(0,n)
ĐIỂM
15
Mô hình thực thể kết hợp mở rộng
• Nhiều mối kết hợp trên cùng những thực thể
C.BAY
T.PHỐ
ĐI
ĐẾN
1-1 1-n
1-1
1-n
16
Mô hình thực thể kết hợp mở rộng
• Chuyên biệt/tổng quát hóa
NHÂN VIÊN
Thực thể tổng quát
MS_NV
TEN_NV
NTNS
…
thuộc tính
chung
NV_VAN PHONG NV_SAN XUAT
quan hệ thừa kế
MS_NV
TEN_NV
NTNS
…
Thuộc tính đặc thù của
nhân viên sản xuất
MS_NV
TEN_NV
NTNS
…
Thuộc tính đặc thù của nhân
viên văn phòng
Thực thể
chuyên biệt
17
Mô hình thực thể kết hợp mở rộng
• Mối kết hợp định nghĩa trên mối kết hợp (cấp 2)
SP
CTĐĐH
ĐĐH
MA_SP
MA_ĐĐH
0-n 1-n
HĐ
(MA_ĐĐH, MA_SP)
MA_HĐ
(MA_HĐ, MA_ĐĐH, MA_SP)
18
Mô tả các RBTV
• RBTV: là những quy tắc kiểm tra nhằm đảm bảo tính
đúng đắn của dữ liệu khi thực hiện các thao tác thêm,
xóa, sửa.
• RBTV hỗ trợ thêm về khả năng diễn đạt ngữ nghĩa trên
mô hình E-R.
• RBTV thường có thể phát biểu bằng ngôn ngữ tự nhiên (mức
quan niệm), ngôn ngữ hình thức (mức logic), hay thuật giải
(mức vật lý).
• Xác định các RBTV trên dữ liệu của HTTT hoàn toàn có thể
thực hiện được dựa trên việc phân loại các ràng buộc toàn vẹn.
19
Mô tả các RBTV
• Ví dụ: bài toán bán hàng
SP
CTĐĐH
ĐĐH
MA_SP
MA_ĐĐH
0-n 1-n
HĐ
(MA_ĐĐH, MA_SP)
MA_HĐ
(MA_HĐ, MA_ĐĐH, MA_SP)
20
RBTV – Một thực thể
• Miền giá trị thuộc tính
Ví dụ:
CTDDH.soluongdh > 0 (số lượng các mặt hàng có trong
chi tiết đơn đặt hàng phải lớn hơn 0)
CTDDH.dongia > 0 (đơn giá của các mặt hàng có trong
chi tiết đơn đặt hàng phải lớn hơn 0).
21
RBTV – Một thực thể
• Ràng buộc liên thuộc tính: Một trong những dạng
thức đặc biệt của loại ràng buộc toàn vẹn này là ràng
buộc về khóa (phụ thuộc hàm suy từ khóa).
• Ví dụ:
Ma_ddh ngaydh
(Biết mã số đơn đặt hàng sẽ biết ngày đặt hàng)
Ma_ddh ngaygiaodk
(Biết mã số đơn đặt hàng sẽ biết ngày giao hàng dự kiến)
DDH.ngaydathang < DDH.ngaygiaodukien
CTDDH.thanhtien = CTDDH.soluongdh * CTDDH.dongia
22
RBTV – Một thực thể
• Ràng buộc liên bộ: giữa nhiều thực thể trong cùng
một lớp thực thể hay giữa nhiều bộ trong cùng một quan
hệ.
• Ví dụ: Trong thực thể tồn kho hàng hóa
TONKHO(MAHANG, THANG, NAM, TONDAUKY,
TONCUOIKY) thì số lượng tồn đầu phải bằng số lượng tồn
cuối của tháng trước đó.
23
RBTV – Nhiều thực thể
• Ràng buộc liên thuộc tính, liên thực thể:
Ví dụ: Ngày đặt hàng của một đơn đặt hàng phải nhỏ hơn
(trước) ngày giao hàng trên phiếu giao hàng cho đơn đặt
hàng tương ứng
• Ràng buộc liên bộ, liên thực thể:
Ví dụ: Số lượng tồn của một mặt hàng bằng tổng các chi
tiết nhập hàng trừ tổng chi tiết xuất hàng liên quan đền
mặt hàng đó.
24
Xây dựng mô hình quan niệm
• Xác định các loại thực thể.
Con người, tổ chức
(vd: sinh viên, nhân viên, phòng ban, khoa, …)
Vật thể, phi vật thể
(vd: Hàng hóa, xe, máy bay, tài khoản, hóa đơn, …)
• Xác định các mối kết hợp: dựa trên đặc tả yêu cầu thực
tế cũng như business logic của ứng dụng
• Kiểm tra, hoàn chỉnh mô hình quan niệm dữ liệu.
• Mô tả các ràng buộc toàn vẹn trên mô hình E-R.
25
Các nguyên tắc kiểm tra
mô hình quan niệm dữ liệu
• Tên thuộc tính: xuất hiện chỉ 1 lần trong toàn mô hình.
• Một thuộc tính có một giá trị duy nhất trong một thể
hiện của loại thực thể hay mối kết hợp.
• Mỗi thể hiện của một mối kết hợp được hình thành từ
một thể hiện của các TT/ MKH cấp trên mà nó được định
nghĩa.
• Khóa nhận diện một thể hiện MKH chính là tổ hợp các
khóa của TT/MKH.
• Nếu có 1 thuộc tính phụ thuộc vào 2 thuộc tính khác của
cùng một loại thực thể thì có nghĩa là có một lớp thực
thể ẩn trong lớp thực thể ban đầu.