Nội'dung''
! Quá"trình"thiết"kế"CSDL"
! Mô"hình"Thực"Thể"/"Kết"Hợp""
! Một"số"qui"tắc"mô"hình"Thực"Thể"/"Kết"Hợp"
! Ví"dụ"
'
Mô'Hình'Thực'Thể'2'Kết'Hợp'
(En:ty2Rela:onship'Model)'
CHƯƠNG'2'
Slide&bài&giảng&môn&Cơ&sở&dữ&liệu&&
©"Bộ"môn"Hệ"Thống"Thông"Tin"/"Khoa"Công"Nghệ"Thông"Tin"/"Trường"Đại"học"Khoa"học"Tự"nhiên"""
Quá'trình'thiết'kế'CSDL'
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
2&
Quá'trình'thiết'kế'CSDL'
Thế giới
thực
Ph‰n t’ch y•u cầu
C‡c y•u cầu về chức năng
C‡c y•u cầu về dữ liệu
Thế"giới"
thực""
Động
(xử lý, giao t‡c, hˆnh vi, …)
Ph‰n t’ch chức năng
Ph‰n t’ch quan niệm
C‡c đặc tả chức năng
Lược đồ quan niệm
Tĩnh (dữ liệu)
Độc lập HQT
Hệ CSDL
Thiết kế mức logic
Phụ thuộc HQT cụ thể
Quan niệm
(gần với con
người)
Luận lý
Vật lý
(m‡y t’nh
hiểu vˆ thực
hiện)
Thiết kế
chương tr“nh ứng dụng
Lược đồ logic
Thiết kế mức vật lý
Chương tr“nh ứng dụng
Lược đồ trong
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
CuuDuongThanCong.com
3&
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
/>
4&
Nội'dung''
Mô'hình'Thực'Thể'2'Kết'Hợp'
! Quá"trình"thiết"kế"CSDL"
! Mô&hình&Thực&Thể&?&Kết&Hợp&&
! Một"số"qui"tắc"mô"hình"Thực"Thể"/"Kết"Hợp"
! Ví"dụ"
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
! Entity-Relationship Model
! Do Dr. Peter Pin-Shan Chen đề xuất 1976,
trong bˆi b‡o ÒThe Entity-Relationship
Model-Toward a Unified View of DataÓ
! ANSI chọn lˆ m™ h“nh chuẩn cho hệ thống
tự điển tˆi nguy•n th™ng tin (IRDSS:
Information Resource Dictionary System)
5&
Mô'hình'Thực'Thể'2'Kết'Hợp'
! Thực"thể"
kế quan niệm dữ liệu
! Bao gồm hai phần: nguy•n thuỷ & mở rộng
! Được nhiều c™ng cụ hỗ trợ
! Nguy•n lý
- Một"thực"là"một"đối"tượng"của"thế"giới"thực"
- Ví"dụ:"
" 1"chiếc"ôtô,"một"hoá"đơn,"một"nhân"viên,"…"
- Ph‰n loại thực thể: 2 loại ch’nh
" Một đối tượng tồn tại vật lý, c— thể quan s‡t
được
Ð 1 sinh vi•n, 1 toˆ nhˆ, 1 xe ™t™, …
" Một đối tượng ý niệm kh™ng trực quan
Ð 1 c™ng ty, 1 dự ‡n, 1 ph˜ng ban, …
- Một"CSDL"có"thể"được"mô"hình"hoá"như"là"một"
tập"các&thực&thể"(entities)"và"mối&kết&hợp"
(relationships)"giữa"chúng
CuuDuongThanCong.com
6&
Các'khái'niệm'cơ'bản'
! Được sử dụng rộng r‹i nhất trong việc thiết
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
7&
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
/>
8&
Các'khái'niệm'cơ'bản'
Các'khái'niệm'cơ'bản'
! Thuộc t’nh (attribute)
! Loại thực thể (Entity type hoặc Entity set)
- Đặc trưng của một thực thể
- Mang gi‡ trị cụ thể
- V’ dụ:
" 1 thực thể sinh vi•n ÇNguyễn Văn AÈ c— c‡c
thuộc t’nh:
Ð Họ: Nguyễn
Ð T•n l—t: Văn
Ð T•n: A
Ð Tuổi: 20
CCNTT
MND:
0123456789"
©"Bộ m™n HTTT -Ð
Khoa
- Trường
ĐH KHTN"
- M™ tả tập c‡c thực thể giống nhau (c— cấu trœc
tương tự nhau)
- V’ dụ:
" Hai thực thể ÇNguyễn Văn AÈ vˆ ÇTrần Thị
BÈ c— c‡c gi‡ trị thuộc t’nh kh‡c nhau nhưng
c— c•ng cấu trœc. Ta gọi cấu trœc nˆy lˆ loại
thực thể SINH VIEN
- Ký hiệu
Tên"loại"thực"thể"
9&
Các'khái'niệm'cơ'bản'
CuuDuongThanCong.com
10&
- Là"những"đặc"tính"riêng"biệt"của"loại"thực"thể."
- Ký"hiệu:"""
Tên$thuộc$*nh
- Ví"dụ:"
- Một"giáo"viên"là"một"thực"thể"
GIçO VIæN
- Tập"hợp"các"giáo"viên"là"tập"thực"thể"
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
! Thuộc"tính"
cứu"khoa"học”"
- Một"bộ"môn"là"một"thực"thể"
- Tập"hợp"các"bộ"môn"là"tập"thực"thể"
XE"
Các'khái'niệm'cơ'bản'
! Loại"thực"thể"/"Ví"dụ:"“Quản"lý"đề"tài"nghiên"
- Một"khoa"là"một"thực"thể"
- Tập"hợp"các"khoa"là"tập"thực"thể"
SINH"VIEN"
LƯƠNG
HỌTæN
PHçI
GIçOVIæN
"
- Thuộc"tính"là"những"giá"trị"nguyên"tố"
" Kiểu"chuỗi"
" Kiểu"số"nguyên"
" Kiểu"số"thực"
KHOA
BỘ MïN
11&
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
/>
12&
Các'khái'niệm'cơ'bản'
Các'khái'niệm'cơ'bản'
! Phân"loại"thuộc"tính"
! Thuộc"tính"đơn"trị"
- Chỉ chứa một gi‡ trị
- Ký hiệu:
- Thuộc"tính"đơn"trị"
- Thuộc"tính"đa"trị"
- Thuộc"tính"kết"hợp"
- Thuộc"tính"dẫn"xuất"(suy"diễn)"
Tên"thuộc"
tính"
MãSV"
SINH"VIEN"
Họ"tên"
Ngày"sinh"
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
13&
Các'khái'niệm'cơ'bản'
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
14&
Các'khái'niệm'cơ'bản'
! Thuộc"tính"đa"trị"
! Thuộc"tính"kết"hợp"
- Nhận"nhiều"giá"trị"đối"với"một"thực"thể"cụ"thể"
- Ký"hiệu:"
- Là"thuộc"tính"được"kết"hợp"từ"nhiều"thuộc"tính"
thành"phần"khác.""
- Ví"dụ:"thuộc"tính"ĐỊACHỈ"của"tập"thực"thể"
GIÁOVIÊN"có"thể"chia"nhỏ"thành"các"thành"phần:"
SỐNHÀ,"ĐƯỜNG,"QUẬN,"THÀNHPHỐ"
Tên"thuộc"
tính"
- Ví"dụ:"thuộc"tính"ĐIỆNTHOẠI"của"tập"thực"thể"
GIÁOVIÊN!là"thuộc"tính"đa"trị"mô"tả"mỗi"giáo"
viên"có"thể"có"nhiều"số"điện"thoại."
THËNHPHỐ
QUẬN
GIçOVIæN
ĐỊA CHỈ
ĐƯỜNG
GIçOVIæN
ĐIỆNTHOẠI
SỐNHË
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
CuuDuongThanCong.com
15&
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
/>
16&
Các'khái'niệm'cơ'bản'
Các'khái'niệm'cơ'bản'
! Thuộc"tính"suy"diễn"
! Thuộc"tính"khoá"(hoặc"định"danh)"
- Giá"trị"của"thuộc"tính"được"tính"toán"từ"giá"trị"
của"các"thuộc"tính"khác."
- Ký"hiệu:"
- Tập&thuộc&tính&cho"phép"nhận"biết"duy&nhất"
một"thực"thể.""
- Ký"hiệu:"
Thuộc"tính"khoá"
Tên"thuộc"
tính"
MãNV"
MãSV"
SINH"VIEN"
Ngày"sinh"
NHAN"VIEN"
Họ"tên"
Họ"tên"
SINH"VIEN"
Tuổi"
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
Ngày"sinh"
17&
Các'khái'niệm'cơ'bản'
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
18&
Các'khái'niệm'cơ'bản'
! Khoá"hợp"
! Mối"kết"hợp"(Relationship)"
- Khoá"có"nhiều"thuộc"tính"
- Liên"kết"giữa"hai"hay"nhiều"thực"thể"
- Ví"dụ:"
Năm"học"
KHOÁ"HỌC"
NV100
Học"kỳ"
một"học"kỳ"
- $"Nếu"một"thực"thể"có"nhiều"khoá"⇒"chỉ"có"một"
khoá"được"chọn"(khoá&chính)"
CuuDuongThanCong.com
KD
NV102
# Khoá"học"được"xác"định"bởi"một"năm"học"và"
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
KT
NV101
" Mối"kết"hợp"một"nhân"viên"và"một"phòng"ban:"
nhân"viên"NV100"thuộc"phòng"KT,"nhân"viên"
NV101"cũng"thuộc"phòng"KT"và"nhân"viên"
NV102"thuộc"phòng"KD."
19&
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
/>
20&
Các'khái'niệm'cơ'bản'
Các'khái'niệm'cơ'bản'
! Mối"kết"hợp"có"thuộc"tính:"
! Biễu"diễn"mối"kết"hợp"
- Bảng"
NV100
10-09-2009
NV101
20-09
-20
18-07-2008 10
12-05-2011
NV102
KT
KD
- Nhân"viên"NV100"làm"việc"tại"phòng"KT"có"ngày"
bắt"đầu"10#09#2009"và"tại"phòng"KD"có"ngày"bắt"
đầu"20#09#2010&
Nhan&vien&
Phòng&
NV100"
KT"
10/09/2009"
NV100"
KD"
20/09/2010"
NV101"
KT"
18/07/2008"
NV102"
KD"
12/05/2011"
- Đồ"thị"
10-09-2009
NV100
NV102
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
21&
Các'khái'niệm'cơ'bản'
NHAN"VIEN"
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
22&
! Loại"mối"kết"hợp"–"ví"dụ:"
- Tập"hợp"các"mối"kết"hợp"tương"tự"nhau"
- Ký"hiệu:"
- Giữa"tập"thực"thể"GIÁOVIÊN"và"BỘMÔN"có"các"
tập"mối"kết"hợp:"
- Một"giáo"viên"thuộc"một"bộ"môn"nào"đó"
- Một"bộ"môn"do"một"giáo"viên"làm"trưởng"bộ"
môn."
T•n MKH = động từ / cụm danh từ
- Ví"dụ:"
KD
Các'khái'niệm'cơ'bản'
! Loại"mối"kết"hợp"(Relationship"type"or"set)"
Tên"MHK"
KT
20-09
-20
18-07-2008 10
12-05-2011
NV101
Ngày"BĐ"
Thuộc"
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
CuuDuongThanCong.com
(0,1)
PHONG"
GIçOVIæN
23&
Lˆ_Trưởng_
BM
(1,1)
Lˆm_Việc
(1,1)
(1,n)
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
/>
BỘMïN
24&
Các'khái'niệm'cơ'bản'
Các'khái'niệm'cơ'bản'
! Loại"mối"kết"hợp"–"ví"dụ:"
! Bản"số"(Cardinality)"
- Loại"mối"kết"hợp"vòng"(phản"thân)"quản"lý"trên"
thực"thể"GIÁOVIÊN"
- Ràng"buộc"về"số"lượng"của"một"thực"thể"có"thể"
tham"gia"vào"tập"mối"kết"hợp"
- Thể"hiện"qua"cặp"chỉ"số"(maxcard,"mincard):"
" Maxcard:"qui"định"số"lần"tối&thiểu"của"thực"
thể"tham"gia"vào"mối"kết"hợp"
– Giá"trị:"0,"1,2,"…,"a"(a"hằng"số)"
" Mincard:"qui"định"số"lần"tối&đa&của"thực"thể"
tham"gia"vào"mối"kết"hợp"
– Giá"trị:"1$"n"
(0,1)
GIçOVIæN
Quản_Lý
(0,n)
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
25&
Các'khái'niệm'cơ'bản'
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
26&
Các'khái'niệm'cơ'bản'
! Bản"số"
! Bản"số"/"ví"dụ:"
E
(min, max)
Quan_hệ
(min, max)
F
NHAN"VIEN"
- Các"mẫu"cơ"bản:""
(0,1)
Lˆ_Trưởng_
BM
(1,1)
NV001
GIçOVIæN
(1,1)
Lˆm_Việc
(1,n)
BỘMïN
" (0,n)"/"không"hoặc"nhiều""
" (1,n)"/"một"hoặc"nhiều"
NV-P3
PHONG"
KT
KD
NS
NV-P5
NV005
KẾTQUẢ
CuuDuongThanCong.com
NV-P4
NV004
" (0,"a),"(1,"a),"(a,"n):"a"là"hằng"số">"1"
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
(0,n)
NV-P2
NV002
NV003
GIçOVIæN
NV/
PHONG"
NV-P1
" (0,1)"/"không"hoặc"1"
" (1,1)"/"duy"nhất"1""
(1,n)
(0,n)
PHỤCẤP
Tham_Gia
(0,n)
NGƯỜITHåN
CïNGVIỆC
27&
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
/>
28&
Các'khái'niệm'cơ'bản'
Các'khái'niệm'cơ'bản'
! 3"dạng"loại"mối"kết"hợp"
! 3"dạng"loại"mối"kết"hợp"
E1"
- One/to/many"(1:N):"Nếu"maxcard(E1,R)"="1"và"
maxcard(E2,R)"="n""
E2"
R"
- One/to/one"(1:1):"Nếu"maxcard(E1,R)"="1"và"
maxcard(E2,R)"="1""
GIçOVIæN
(0,1)
Lˆ_Trưởng_
BM
(1,1)
Lˆm_việc
(1,n)
BỘ MïN
GIçO VIæN
(0,n)
Lˆ_Chủ_nhiệm
(1,1)
ĐỀ TËI
- Many/to/many"(N:N):"Nếu"maxcard(E1,R)"="n"và"
maxcard(E2,R)"="m,"(m,n">1)"
BỘMïN
(1,1)
GIçO VIæN
GIçOVIæN
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
29&
Các'khái'niệm'cơ'bản'
NHAN"VIEN"
Một l’ lịch thuộc về duy nhất một nh‰n vi•n vˆ ngược lại, một
nh‰n vi•n chỉ c— tối đa một l’ch lịch
NHAN"VIEN"
(0,n)
QUAN"
LY"
CuuDuongThanCong.com
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
NHAN"VIEN"
(0,n)
DU"AN"
30&
(0,1)
NV/LL"
LI"LICH"
L’ lịch lˆ kh™ng thể c— nếu kh™ng c— nh‰n vi•n
(1,1)
DU"AN"
Một nh‰n vi•n c— thể tham gia nhiều dự ‡n vˆ một dự ‡n c— thể
được thực hiện bởi nhiều nh‰n vi•n.
Một dự ‡n chỉ c— duy nhất một người quản lý. Một nh‰n vi•n c—
thể quản lý nhiều dự ‡n
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
NGƯỜITHåN
CïNGVIỆC
- Thực"thể"tồn"tại"phụ"thuộc"vào"sự"tồn"tại"của"
thực"thể"khác"
- Ví"dụ:"
LI"LICH"
NV/LL"
THAM"
GIA"
(0,n)
! Thực"thể"phụ"thuộc"
(1,1)
(0,n)
Tham_Gia
Các'khái'niệm'cơ'bản'
! 3"dạng"loại"mối"kết"hợp"–"ví"dụ"
(0,1)
(0,n)
(0,n)
Thuộc"
GIAI"DOAN"
Một giai đoạn chỉ tồn tại cho một dự ‡n
31&
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
/>
32&
Các'khái'niệm'cơ'bản'
Các'khái'niệm'cơ'bản'
! Thực"thể"yếu"(weak"entity)"
! Thực"thể"yếu"–"ví"dụ"
- Là"thực"thể"không"thể"nhận"biết"với"những"thuộc"
tính"của"nó"
" $"không&có&khoá&hoặc"khoá"yếu"(khóa"có"
được"từ"những"thuộc"tính"của"tập"thực"thể"
khác)"
- Thực"thể"yếu"phải"tham"gia"vào"mối"quan"hệ"mà"
trong"đó"có"một"tập"thực"thể"chính"
- Ký"hiệu:"
SO"
DH"
DON"HANG"
SO"
TIEN"
33&
Tên"
Năm"sinh"
THAN"NHAN"
34&
Hợp&
! Ví"dụ"
(0,n)
- Thân"nhân"chỉ"được"quản"lý"như"là"một"phần"
thông"tin"bổ"sung"cho"nhân"viên"
- Công"ty"không"có"nhu"cầu"quản"lý"mã"số"cho"
thân"nhân"
- $"Khoá"của"THAN"NHAN:"Tên"(THAN"NHAN)+"
MãNV"(NHAN"VIEN)"
CuuDuongThanCong.com
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
! Quá"trình"thiết"kế"CSDL"
! Mô"hình"Thực"Thể"/"Kết"Hợp""
! Một&số&qui&tắc&mô&hình&Thực&Thể&?&Kết&
MãNV"
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
DON"
GIA"
Nội'dung''
! Thực"thể"yếu"–"ví"dụ"
NV/TN"
SLUONG"
- Chi"tiết"đơn"hàng"không"có"khoá"từ"các"thuộc"
tính"của"nó"
- Khoá"được"xác"định:"STT"+"SO"DH"(DON"HANG)"
- CHI"TIET"DH"phụ"thuộc"tồn"tại"vào"DON"HANG"
Các'khái'niệm'cơ'bản'
NHAN"VIEN"
CHI"TIET"DH"
Thuộc"
(1,n)
TT"yếu"
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
NGAY"
MAT"
HANG"
STT"
TEN"
KH"
35&
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
/>
36&
Một'số'qui'tắc'
Một'số'qui'tắc'
! Một"thuộc"tính"dùng"để"mô"tả"đặc"trưng"cho"
! Tất"cả"các"nhánh"nối"với"mối"kết"hợp"phải"là"
duy"nhất"một"thực"thể"
nhánh"bắt"buộc"
Điểm"
MãKH"
Mã"hàng"
Tên"
ĐVTính"
HANG"HOA"
SINH"VIEN"
MON"HOC"
Học"
KHACH"HANG"
HOC"KY"
Địa"chỉ"
Tên"
Gồm"
SốĐH"
Của"
SINH"VIEN"
DON"HANG"
Khách"hàng"
37&
Một'số'qui'tắc'
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
38&
! Sử"dụng"thuộc"tính"hay"thực"thể"biểu"diễn"
thuộc"vào"thực"thể"đó"và"một"thuộc"tính"khác"
của"thực"thể"đó"thì"tồn"tại"một"thực"thể"ẩn"
mà"cần"phải"được"định"nghĩa"bổ"sung"
Số"xe"
XE"
cho"một"đối"tượng"
- Địa"chỉ:"dùng"thuộc"tính"hay"thực"thể?"
! Thực"thể"hay"MKH?"
Trọng"
lượng"
Số"xe"
Màu"
Thuộc"
Loại"
Trọng"
lượng"
Điểm"
Một'số'qui'tắc'
! Nếu"có"một"thuộc"tính"của"một"thực"thể"phụ"
Màu"
MON"HOC"
Học"
HOC"KY"
Ngày"ĐH"
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
XE"
Điểm"
TB"
Tổng"
kết"
"
Mua"
HANG"
LOAI"XE"
! Thực"thể"mạnh"hay"thực"thể"yếu?"
Tên"loại"
Số"chỗ"
KHACH"HANG"
Số"chỗ"
Loại $ Trọng lượng
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
CuuDuongThanCong.com
39&
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
/>
40&
Ví'dụ'«'Quản'lý'đề'án'»'
! CSDL"đề"án"công"ty"theo"dõi"các"thông"tin"liên"quan"
đến"nhân"viên,"phòng"ban"và"đề"án"
- Cty"có"nhiều"phòng"ban,"mỗi"phòng"ban"có"tên"duy"nhất,"
mã"phòng"duy"nhất,"một"trưởng"phòng"và"ngày"nhận"
chức."Mỗi"phòng"ban"có"thể"ở"nhiều"địa"điểm"khác"nhau."
- Đề"án"có"tên"duy"nhất,"mã"duy"nhất,"do"1"một"phòng"ban"
chủ"trì"và"được"triển"khai"ở"1"địa"điểm."
- Nhân"viên"có"mã"số,"tên,"địa"chỉ,"ngày"sinh,"phái"và"lương."
Mỗi"nhân"viên"làm"việc"ở"1"phòng"ban,"tham"gia"vào"các"
đề"án"với"số"giờ"làm"việc"khác"nhau."Mỗi"nhân"viên"đều"
có"một"người"quản"lý"trực"tiếp."
- Một"nhân"viên"có"thể"có"nhiều"thân"nhân."Mỗi"thân"nhân"
có"tên,"phái,"ngày"sinh"và"mối"quan"hệ"với"nhân"viên"đó."
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
CuuDuongThanCong.com
41&
©"Bộ m™n HTTT - Khoa CNTT - Trường ĐH KHTN"
/>
42&