You are on page 1of 53

HỌC VIỆN KỸ THUẬT MẬT MÃ

KHOA CÔNG NGHỆ THÔNG TIN

 
ThS. Cao Vinh
caovinh226@gmail.com

“Tri thức là chìa khóa mở cánh cửa tương lai"


Nội dung chương

 Quá trình thiết kế CSDL

 Mô hình hóa dữ liệu ở mức quan niệm bằng “Mô hình thực thể liên kết”

 Mô hình thực thể liên kết mở rộng


Bài tập thực hành

17.01.2022 2
Các bước thiết kế một cơ sở dữ liệu

17.01.2022 3
Các bước thiết kế một cơ sở dữ liệu

Xác định yêu


ERD
cầu bài toán

Thiết kế mô hình
Mô hình
ở mức quan
quan hệ
niệm

Thiết kế logic

Thiết kế vật lý
DB

Thiết kế và cài
17.01.2022
đặt chương trình 4
THIẾT KẾ MÔ HÌNH DỮ LIỆU Ở MỨC
QUAN NIỆM

17.01.2022 5
Mô hình dữ liệu ở mức quan niệm

Tìm hiểu đối tượng dữ liệu có trong bài toán đó. Các đặc điểm của các
đối tượng dữ liệu đó cũng như các ràng buộc có thể có trên các đối tượng dữ
liệu đó.
 Là phương tiện giao tiếp với người dùng nhằm xác định đúng đắn và
đầy đủ các yêu cầu thông tin của hệ thống

17.01.2022 6
MÔ HÌNH THỰC THỂ LIÊN KẾT
(MÔ HÌNH THỰC THỂ KẾT HỢP)

17.01.2022 7
Thế nào là mô hình thực thể liên kết?

Mô hình ERD được viết tắt bởi từ Entity Relationship Diagram được hiểu là
mô hình thực thể kết hợp hay còn gọi là mô hình thực thể liên kết. Mô hình này
còn được biết tới với các gọi khác là ER (viết tắt của từ Entity Relationship Model).

Mô hình thực thể liên kết được sử dụng để biểu diễn cơ sở dữ liệu ở mức khái
niệm, nó mô tả súc tích về các yêu cầu dữ liệu trong bài toán của người dùng.

17.01.2022 8
Thế nào là mô hình thực thể liên kết?

• Mô hình thực thể liên kết bao gồm có các lớp (tập) thực thể, danh sách thuộc
tính và các mối quan hệ

17.01.2022 9
Nội dung bài giảng

Các khái niệm của mô hình thực thể kết hợp (Entity – Relationship)
 Lớp (tập) thực thể
 Thuộc tính
 Mối quan hệ
 Thuộc tính của mối quan hệ
 Các ràng buộc cấu trúc (bản ghi và sự tham gia)
Ví dụ và bài tập

17.01.2022 10
Thực thể

Khái niệm
Thực thể là một đối tượng cụ thể hay trừu tượng trong thế giới thực mà nó
tồn tại và có thể phân biệt được với những đối tượng khác
Ví dụ

1. Thực thể cụ thể: cảm nhận được bằng giác quan


• Ông Nguyễn Văn A.
Đó là một đối tượng cụ thể, một con người Nguyễn Văn A.
• Xe máy có biển số 29V888888

2. Thực thể trừu tượng: không cảm nhận được bằng giác quan nhưng nhận biết
được bằng nhận thức

• Tài khoản ngân hàng số 5623569 là một thực thể trừu tượng người ta nghĩ
ra để quản lý.
17.01.2022 11
Lớp thực thể

Khái niệm
Tập hợp các thực thể cùng loại, được nhận diện bởi cùng một tập hợp các
tính chất thì người ta gọi là lớp (tập) thực thể
Chú ý
• Thực thể (Entity)
• Đối tượng (Object)

o Lớp (tập) thực thể (Entity set)


o Lớp đối tượng (Class of objects)

Ví dụ
Một sinh viên là một thực thể
Tập hợp các sinh viên được gọi là lớp (tập) thực thể

Một đồ án là một thực thể


Tập hợp các đồ án được gọi là lớp (tập) thực thể
17.01.2022 12
Phân loại lớp thực thể

LỚP THỰC THỂ MẠNH LỚP THỰC THỂ YẾU


Ý nghĩa Mô tả lớp thực thể tồn tại Ý nghĩa Mô tả lớp thực thể mà sự tồn
độc lập với các lớp thực thể khác tại của nó phải phụ thuộc vào lớp
Ký hiệu HCN nét đơn chứa tên thực thực thể khác
thể Ký hiệu HCN nét đôi
Chú ý
1.Luôn được biểu diễn cùng với thực
thể mà nó phụ thuộc
2.Kiểu liên kết là kiểu sở hữu, ký
hiệu là hình thoi nét đôi

Nhân viên Thân nhân

Tên
Liên kết
17.01.2022 13
Ví dụ về phân loại lớp thực thể

Mối quan hệ giữa nhân viên và thân nhân trong bài toán quản lý nhân viên

Nhân viên có Thân nhân

17.01.2022 14
Thuộc tính

Khái niệm
Mỗi một lớp thực thể được mô tả bởi các đặc trưng cụ thể, được gọi là thuộc tính.

Ví dụ

Kí hiệu Hình elip Một lớp thực thể nhân viên được mô tả bằng:
‾ Mã nhân viên
Tên thuộc ‾ Họ tên
tính
‾ Ngày sinh
‾ Quê quán
‾ SĐT
‾ …….

17.01.2022 15
Miền giá trị của thuộc tính

Miền giá trị của thuộc tính gồm các loại giá trị như sau:
• Kiểu chuỗi (string)
• Kiểu số nguyên (integer)
• Kiểu số thực (real)
• ……..

17.01.2022 16
Phân loại thuộc tính

• Thuộc tính đơn (nguyên tử)


• Thuộc tính kết hợp
• Thuộc tính đơn trị
• Thuộc tính đa trị
• Thuộc tính lưu trữ
• Thuộc tính suy diễn được,…

17.01.2022 17
Thuộc tính đơn (nguyên tử)

Ý nghĩa
Thuộc tính đơn (nguyên tử): là thuộc tính không thể phân chia ra được
thành các thành phần nhỏ hơn.
Ví dụ
Thuộc tính Giới tính, Mã nhân viên của lớp thực thể Nhân viên là thuộc
tính nguyên tử

Giới
Nhân viên
tính

MaNV

17.01.2022 18
Thuộc tính kết hợp

Ý nghĩa
Thuộc tính kết hợp là thuộc tính được kết hợp từ nhiều thuộc tính khác
Ví dụ
Địa chỉ của lớp thực thể Nhân viên có thể chia thành các thành phần:
Số nhà, đường, quận, thành phố,…
Số nhà

Đường
Địa
Nhân viên chỉ
Quận

Thành
phố

17.01.2022 19
Thuộc tính đơn trị

Ý nghĩa
Là thuộc tính có giá trị duy nhất cho một thực thể cụ thể.
Ví dụ
Lớp thực thể Nhân viên có thuộc tính đơn trị như Mã nhân viên, ngày sinh,
giới tính,…

Nhân viên Ngày sinh

Giới tính

17.01.2022 20
Thuộc tính đa trị

Ý nghĩa
Thuộc tính đa trị là thuộc tính nhận nhiều giá trị đối với một thực thể cụ
thể
Ví dụ
Lớp thực thể Nhân viên có thuộc tính điện thoại, sở thích,… là thuộc tính
đa trị

Điện
Nhân viên thoại

17.01.2022 21
Thuộc tính đa trị và kết hợp

Giá Ngayhieuluc

MaSP
Lichsu
giaSP

Sản phẩm

17.01.2022 22
Thuộc tính lưu trữ

Ý nghĩa
Là thuộc tính mà giá trị của nó phải được nhập vào khi cài đặt cơ sở dữ liệu
(phải nhập vào từ bàn phím)
Ví dụ
Lớp thực thể Nhân viên có thuộc tính họ tên, điện thoại,… là thuộc tính lưu
trữ

Nhân viên Họ tên

Điện
thoại
17.01.2022 23
Thuộc tính suy diễn

Ý nghĩa
Là thuộc tính mà giá trị của nó có thể tính được thông qua giá trị của các
thuộc tính khác.
Ví dụ
Thuộc tính tuổi của Nhân viên có thể tính toán qua Ngày sinh  tuổi là
thuộc tính suy diễn

Nhân viên Tuổi

17.01.2022 24
Một số lưu ý với thuộc tính

1. Khi thiết kế mô hình thực thể kết hợp khuyến khích nên sử dụng các thuộc tính
đơn
2. Trong bất cứ một ứng dụng nào thì chúng ta cũng chỉ làm việc với một tập con
các tính chất của thuộc tính chứ không phải tất cả

3. Thuộc tính lấy giá trị của các xuất hiện cụ thể

4. Mỗi thực thể có một thuộc tính đặc biệt dùng để phân biệt với các thực thể khác
gọi là định danh. Một lớp thực thể cho trước có thể có một hoặc nhiều định danh
chứ không phải luôn luôn có một định danh duy nhất.

17.01.2022 25
Thuộc tính định danh (Khóa)

Ý nghĩa
Khóa là một thuộc tính hoặc một tổ hợp các thuộc tính dùng để xác định
duy nhất một thể hiện của một thực thể nào đó
Ví dụ
Thuộc tính MaNV của Nhân viên là thuộc tính khóa

Nhân viên MaNV

17.01.2022 26
Một số ví dụ

Câu 1:
Thông tin về sinh viên gồm có: Mã sinh viên, họ tên, ngày sinh, quê quán,
email, sđt. Hãy biểu diễn lớp thực thể Sinh viên cùng các thuộc tính bằng mô hình
ER?

Câu 2:
Thông tin về nhân viên gồm có: Mã nhân viên, họ tên, ngày sinh, hệ số
lương, bằng cấp và lương. Hãy biểu diễn lớp thực thể Nhân viên cùng các thuộc
tính bằng mô hình ER?

17.01.2022 27
Một số ví dụ

Câu 1:
Thông tin về sinh viên gồm có: Mã sinh viên, họ tên, ngày sinh, quê quán,
email, sđt. Hãy biểu diễn lớp thực thể Sinh viên cùng các thuộc tính bằng mô hình
ER?
Họ tên

MaSV Ngày
sinh
Sinh viên

Quê
Họ tên quán
SĐT

17.01.2022 28
Một số ví dụ

Câu 2:
Thông tin về nhân viên gồm có: Mã nhân viên, họ tên, ngày sinh, hệ số
lương, bằng cấp và lương. Hãy biểu diễn lớp thực thể Nhân viên cùng các thuộc
tính bằng mô hình ER?
Họ tên

MaNV Ngày
sinh
Nhân viên

Lương HSL
Bằng
cấp

17.01.2022 29
Liên kết – Mối liên kết

Ý nghĩa
Các lớp thực thể không có tồn tại độc lập trong bài toán. Mối liên kết là mối
liên hệ giữa các lớp thực thể.

Ví dụ Ba lớp thực thể Nhân viên, Phòng ban, Dự án


• Nhân viên làm việc cho một phòng ban nào đó
• Nhân viên tham gia dự án

Kí hiệu
• Mối liên kết kí hiệu bằng hình thoi Liên kết
• Tên liên kết là động từ

17.01.2022 30
Liên kết – Mối liên kết

Có khi nào giữa hai lớp thực thể có nhiều mối liên kết không?

Ví dụ Hai thực thể Nhân viên, Phòng ban

Làm
TP

Làm
Nhân viên Phòng ban
việc

17.01.2022 31
Thuộc tính của mối liên kết

Lưu ý
Mối liên kết cũng có thể có thuộc tính
Ký hiệu Hình elip gắn liền với liên kết
Ví dụ
1. Một đơn vị có một nhân viên làm trưởng phòng và cần lưu lại ngày nhận
chức của trưởng phòng
2. Lưu thời gian nhân viên đã làm việc cho dự án nào đó

Sogiolam
viec

Tham
Nhân viên Dự án
gia

17.01.2022 32
Bậc của mối liên kết

Ý nghĩa
Bậc của liên kết là số lớp thực thể tham gia vào liên kết.

1
Ví dụ

Làm
Nhân viên Phòng ban
việc

Bậc = 2

17.01.2022 33
Liên kết đệ quy

Ý nghĩa
Cùng một lớp thực thể tham gia vào liên kết với vai trò khác nhau

là người giám sát

Nhân viên Giám Người Kết


sát hôn

được giám sát bởi

17.01.2022 34
Kiểu liên kết

Kiểu liên kết 1 – 1 (một-một)

Kiểu liên kết Kiểu liên kết 1 – N (một-nhiều)

Kiểu liên kết M – N (nhiều-nhiều)

17.01.2022 35
Kiểu liên kết

1. Kiểu liên kết 1 – 1 (một-một)


Ý nghĩa
Một thực thể kiểu A liên kết với một thực thể kiểu B và ngược lại
Ký hiệu thêm số 1 ở hai đầu thực thể
Ví dụ

1 1
Nhân viên có Thẻ nhân viên

17.01.2022 36
Kiểu liên kết

2. Kiểu liên kết 1 – n (một - nhiều)


Ý nghĩa
1 thực thể kiểu A liên kết với nhiều thực thể kiểu B;
1 thực thể kiểu B chỉ liên kết duy nhất với 1 thực thể kiểu A.
Ký hiệu thêm số 1 ở đầu phía một, thêm n ở đầu phía nhiều
Ví dụ

1 bao n
Phòng ban Nhân viên
gồm

17.01.2022 37
Kiểu liên kết

3. Kiểu liên kết m – n (nhiều - nhiều)


Ý nghĩa
1 thực thể kiểu A liên kết với nhiều thực thể kiểu B và ngược lại
Ký hiệu thêm ký hiệu m và n ở hai đầu liên kết
Ví dụ

n tham m
Nhân viên Dự án
gia

17.01.2022 38
Mối liên kết ba ngôi

n Chuyển n
Nhà cung cấp Kho hàng
hàng

Sản phẩm

17.01.2022 39
Ràng buộc tham gia và sự phụ thuộc tồn tại

Ý nghĩa
Ràng buộc tham gia chỉ ra một thực thể phụ thuộc vào thực thể khác thông
qua kiểu liên kết.

Tham gia toàn bộ (sự phụ thuộc tồn tại)


có nghĩa là tất cả các thực thể của lớp
Phân loại thực thể phải tham gia vào kiểu liên kết.

kiểu ràng buộc tham gia


Tham gia bộ phận
nghĩa là chỉ một bộ phận các thực thể
của lớp thực thể tham gia vào kiểu liên kết.

17.01.2022 40
Ràng buộc tham gia và sự phụ thuộc tồn tại

Ví dụ Xét kiểu liên kết Nhân viên <quản lý> Phòng ban

1 làm n
Nhân viên Phòng ban
quản lý

Trong ví dụ trên
 Có phải phòng ban nào cũng có người quản lý ?
o Đúng  đó là ràng buộc tham gia toàn bộ của thực thể PHONGBAN
trong liên kết (sự phụ thuộc tồn tại); Tham gia toàn bộ vào liên kết
 Có phải nhân viên nào cũng là người quản lý?
o Sai  NHANVIEN tham gia bộ phân vào liên kết

Biểu diễn
• Ràng buộc tham gia toàn bộ  hoặc
• Ràng buộc tham gia bộ phận
17.01.2022 41
Thể hiện ràng buộc bằng kí hiệu (min, max)

Lực lượng tham gia liên kết


Trong mối liên kết giữa các lớp thực thể, có những lúc cần quan tâm tới
lực lượng tham gia liên kết. Đó chính là số bản ghi nhỏ nhất và lớn nhất của
thực thể tham gia vào liên kết đó Ràng buộc cấu trúc
Kí hiệu Thêm (min,max) vào mối liên kết về sự tham gia của lớp
thực thể A trong mối
quan hệ R
(min, max)

R A

 Xác định lực lượng này từ khảo sát thực thế bài toán

17.01.2022 42
Thể hiện ràng buộc bằng kí hiệu (min, max)

1 n
Phòng ban có Nhân viên

(5,30) (1,1)
Phòng ban có Nhân viên

1 1
làm trưởng
Nhân viên phòng
Phòng ban

(0,1) (1,1)
làm trưởng
Nhân viên phòng
Phòng ban

17.01.2022 43
Thể hiện ràng buộc bằng kí hiệu (min, max)

(0,4) là người giám sát (0,1)

Nhân viên Giám Người Kết


sát hôn

(1,1) được giám sát bởi (0,1)

17.01.2022 44
Một số kí hiệu khác

Bắt buộc một


duy nhất 1

Bắt buộc nhiều


min = 1, max = n

Tùy chọn một


min = 0, max = 1

Tùy chọn nhiều


min = 0, max = n
17.01.2022
45
Quy tắc 2 điểm

1A có bao nhiêu B ? Nhân viên

A Liên kết B
Tham
gia

1B có bao nhiêu A ?
Dự án

17.01.2022 46
Một số kí hiệu khác

Làm
TP

Nhân viên Phòng ban

Làm
việc

17.01.2022 47
Bài tập thực hành

Hóa đơn có Mặt hàng

Sinh viên đăng kí Môn học

Giảng viên hướng dẫn Đồ án

Kết
Người
hôn

17.01.2022 48
Nhắc lại các thành phần trong mô hình ER

Đỉnh
Lớp thực thể
Thuộc tính
mạnh LK với
TT yếu

Thuộc tính
khóa
LớpThực
thực thể yếu
Liên kết
TT đa trị

Thuộc tính
suy diễn

17.01.2022 49
Nhắc lại các thành phần trong mô hình ER

Cạnh
Cạnh là đường nối giữa:
• Lớp thực thể và thuộc tính
• Mối liên kết giữa lớp thực thể

17.01.2022 50
Các bước xây dựng mô hình ER

1. Xác định các lớp thực thể và thuộc tính của nó, xác định thuộc tính khóa.
2. Xác định mối liên kết và thuộc tính của liên kết (nếu có) giữa các lớp thực thể
3. Vẽ sơ đồ mô hình ER, xác định lực lượng tham gia liên kết (nếu có).
4. Chuẩn hóa và rút gọn sơ đồ (nếu có)

17.01.2022 51
Bài tập vận dụng

Câu 1
Đơn vị A có nhiều phòng ban. Mỗi phòng ban có mã phòng ban, tên phòng
ban, trưởng phòng (lưu lại ngày nhận chức của trưởng phòng). Mỗi phòng ban có
nhiều nhân viên. Mỗi nhân viên đều có mã nhân viên, họ tên, số điện thoại, địa
chỉ, chức vụ. Mỗi nhân viên làm việc ở một phòng ban và có thể tham gia vào các
dự án khác nhau của đơn vị. Mỗi dự án có mã dự án, tên dự án.

17.01.2022 52
Bài tập vận dụng

Câu 2
Khảo sát bài toán quản lý Ký túc xá sinh viên, thu được các thông tin sau:
KTX gồm nhiều tòa nhà khác nhau, thông tin về tòa Nhà gồm có: Tên
tòa nhà, số tầng, điện thoại liên hệ. Mỗi toà nhà được phân biệt thông qua mã tòa
nhà.
KTX gồm nhiều nhân viên quản lý khác nhau. Mỗi nhân viên chịu trách
nhiệm một số toà nhà, khi nhân viên được phân quản lý tòa nhà sẽ lưu lại ngày
nhận công tác. Mỗi nhân viên gồm: mã nhân viên, tên, ngày sinh, điện thoại. Mỗi
nhân viên có thể có nhiều số điện thoại.
Mỗi tòa nhà có nhiều phòng khác nhau, một phòng chỉ thuộc 1 tòa nhà.
Phòng có các thông tin: Mã phòng, Tên phòng, số lượng sinh viên ở thực tế, số
chỗ còn trống. Mỗi phòng có thể có nhiều sinh viên nhưng mỗi sinh viên chỉ được
ở một phòng.
Thông tin về sinh viên gồm: Mã sinh viên, Tên sinh viên, Giới tính, Đối
tượng, Tên lớp, điện thoại, số tiền phải nộp hàng tháng..

17.01.2022 53

You might also like