You are on page 1of 42

LÝ THUYẾT CƠ

SỞ DỮ LIỆU

Chủ biên: Th.s Bùi Thị Như


email: nhubt1983@gmail.com
sdt: 0936507189

Bộ môn Khoa Học Máy tính – Khoa Công nghệ Thông Tin March 5, 2024 | Page 1
CHƯƠNG 2
MÔ HÌNH THỰC THỂ LIÊN KẾT
Bài 1: Mô hình thực thể liên kết
(Entity Relationship Model)

Bộ môn Khoa Học Máy Tính – Khoa Công nghệ Thông Tin March 5, 2024 | Page 2
MỤC TIÊU

1. SV nắm được các khái niệm cơ bản và


cách biểu diễn các đối tượng trong mô
hình thực thể liên kết (ER): thực thể,
kiểu thực thể, thuộc tính, kiểu liên kết.
2. SV nắm được nguyên lý phân tích và
thiết kế mô hình thực thể liên kết.
3. Xây dựng được mô hình thực thể liên
kết cho một bài toán quản lý trong thực
tế.

Bộ môn Khoa Học Máy Tính – Khoa Công nghệ Thông Tin March 5, 2024 | Page 3
ĐẶT VẤN ĐỀ
 Mô hình hóa dữ liệu là một phần quan trọng của quá trình xây
dựng một hệ thống thông tin:
Dữ liệu cần đóng vai trò trung tâm trong hệ thống thông tin hiện đại
 Các đặc tính dữ liệu, các ràng buộc và các quy tắc nghiệp vụ được xác
định trong quá trình mô hình hóa rất quan trọng cho việc thiết kế CSDL
 Dữ liệu có khuynh hướng ổn định hơn các quá trình xử lý dữ liệu. Do đó,
thiết kế một hệ thống thông tin hướng dữ liệu sẽ ổn định hơn thiết kế hướng
về quá trình xử lý dữ liệu.
Mô hình ER là mô hình ở mức khái niệm, được ưa chuộng bởi dễ
dùng, có công cụ tự động hỗ trợ thiết kế, gần với thực tế.

03/05/2024 4
I. ĐỊNH NGHĨA
 Là một mô hình CSDL ở mức khái niệm, mô tả súc tích về các đối
tượng và mối quan hệ giữa các đối tượng trong thế giới thực.
 Một mô hình ER bao gồm:
 Tập các kiểu thực thể (Entity Sets)
Tập các thuộc tính (Attributes Set)
Tập các kiểu liên kết (Relationship)

03/05/2024 5
II. CÁC KHÁI NIỆM CƠ BẢN
 Thực thể - kiểu thực thể

 Thuộc tính

 Liên kết – các kiểu liên kết – ràng


buộc về lượng số của một liên kết

Bộ môn Khoa Học Máy Tính – Khoa Công nghệ Thông Tin March 5, 2024 | Page 6
1. Thực thể - kiểu thực thể

 Thực thể là một vật hoặc đối tượng (cụ thể hay trừu tượng) trong

thế giới thực, có sự tồn tại độc lập và có thể phân biệt với các vật
hoặc đối tượng khác.
 Con người: nhân viên, sinh viên, bệnh nhân

 Nơi chốn: Xứ sở, thành phố

 Khái niệm: môn học, bảng điểm.

03/05/2024 7
Kiểu thực thể và thể hiện của kiểu thực thể

 Kiểu thực thể là tập hợp các thực thể có cùng một tính chất chung.
 Ví dụ: tập hợp các thực thể sinh viên sẽ tạo ra kiểu Thực thể SINHVIEN.

 Tên kiểu thực thể là một danh từ, thường biểu diễn bằng chữ in
hoa, được mô tả bằng hình chữ nhật.

 Thể hiện của một kiểu thực thể là một trường hợp cụ thể của một
kiểu thực thể.
 Ví dụ: SINHVIEN là kiểu thực thể, sinh viên Nguyễn Văn Mạnh là một
thể hiện của kiểu SINHVIEN
03/05/2024 8
Phân loại kiểu thực thể

 Kiểu thực thể mạnh  Kiểu thực thể yếu


 Là kiểu thực thể tồn tại độc lập với  Là kiểu thực thể mà sự tồn tại của nó
các kiểu thực thể khác phải phụ thuộc vào kiểu thực thể
 Ký hiệu: Hình chữ nhật nét đơn chứa khác.
tên thực thể  Ký hiệu: Hình chữ nhật nét đôi

<Kiểu thực thể> <Kiểu thực thể>

 Chú ý: Mỗi liên kết giữa một kiểu thực thể yếu và một kiểu thực thể
mạnh được gọi là mối liên kết xác định, ký hiệu bằng hình thoi nét đôi.
03/05/2024 9
Ví dụ
 Nhân viên có thân nhân, thân nhân là người được hưởng bảo
hiểm cùng với nhân viên. Thông tin về thân nhân gồm: họ
tên, ngày sinh, giới tính, mối quan hệ

03/05/2024
10
2. Thuộc tính – định nghĩa

 Thuộc tính là các tính chất đặc trưng của thực thể,
là yếu tố thông tin cho biết rõ hơn về thực thể.
Người có tên, tuổi, cân nặng, số chứng minh thư, …
Bài hát có tên, nội dung, tác giả, năm sáng tác, …

 Mỗi thuộc tính có một miền giá trị


Tên người là chuỗi ký tự
Tuổi là số nguyên dương
Điểm là số thực

Bộ môn Khoa Học Máy Tính – Khoa Công nghệ Thông Tin March 5, 2024 | Page 11
2. Thuộc tính – ký hiệu
Thuộc tính có tên, tên là một danh từ
Ký hiệu: hình elip gắn với kiểu thực thể

Tên thuộc tính

03/05/2024 12
2. Thuộc tính – phân loại

Thuộc tính đơn và phức hợp


Thuộc tính đơn trị và đa trị
Thuộc tính suy dẫn và lưu trữ
Thuộc tính khóa

Bộ môn Khoa Học Máy Tính – Khoa Công nghệ Thông Tin March 5, 2024 | Page 13
a. Thuộc tính nguyên tố và thuộc tính phức hợp
 Thuộc tính nguyên tố: là thuộc tính không thể chia nhỏ thành các phần riêng
biệt nhỏ hơn và có ý nghĩa.
 Ví dụ: cân nặng của người, chiều cao của tòa nhà,..
 Ký hiệu: Hình elip nét đơn
 Thuộc tính phức hợp: là thuộc tính có thể phân chia được thành các thành
phần nhỏ hơn, để biểu diễn các thuộc tính cơ bản hơn với các ý nghĩa độc lập.
 Ví dụ: tên của một người gồm có họ, tên đệm và tên
 Ký hiệu: Hình elip nét đơn có gắn với các thuộc tính thành phần

họ

Số NGƯỜI họ tên họ đệm


CMT
tên
03/05/2024 14
b. Thuộc tính đơn trị và thuộc tính đa trị
 Thuộc tính đơn trị: là thuộc tính chỉ có thể nhận một giá trị duy nhất cho
một thể hiện của kiểu thực thể.
 Ký hiệu: hình elip nét đơn
 Ví dụ: Ngày_sinh, chứng minh thư, …
 Thuộc tính đa trị: là thuộc tính có thể nhận nhiều giá trị cho một thể hiện
của kiểu thực thể
 Kí hiệu: hình elip kép (elip nét đôi)
 Ví dụ: Điện_thoại, Kỹ_năng, …

Điện thoại Bằng cấp Kỹ năng

03/05/2024 15
c. Thuộc tính lưu trữ và suy dẫn
 Thuộc tính lưu trữ: 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.
 Kí hiệu: hình elip nét đơn
 Thuộc tính suy dẫn: là thuộc tính mà giá trị của nó có thể được suy ra từ giá
trị của các thuộc tính khác liên quan theo một nguyên tắc nào đó  không
phải nhập, được tính qua các thuộc tính khác
 Kí hiệu: hình elip nét đứt.
 VD: năm sinh của một người thì được lưu trữ trong CSDL, còn tuổi của người đó
sẽ được tính toán từ năm sinh.

Tuổi Lương

03/05/2024 16
d. Thuộc tính khóa
 Là thuộc tính mà giá trị của nó là duy nhất cho mỗi thực thể, giúp phân biệt
thực thể này và thực thể khác trong cùng một kiểu thực thể.
 Một kiểu thực thể có thể có nhiều khóa
 Ký hiệu: hình elip và một đường gạch chân dưới thuộc tính đó.
 VD: số chứng minh thư, Mã môn học, ….

Số CMT Mã môn học

03/05/2024 17
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. Biết rằng, mỗi nhân viên có
một mã nhân viên duy nhất, có nhiều hơn
một bằng cấp và lương được tính theo công
thức Lương = hệ số lương * lương cơ bản.
Thông tin về bằng cấp gồm: mã số, loại bằng
và năm cấp. Hãy biểu diễn thực thể Nhân
viên cùng các thuộc tính bằng mô hình ER?

Bộ môn Khoa Học Máy Tính – Khoa Công nghệ Thông Tin March 5, 2024 | Page 18
Bộ môn Khoa Học Máy Tính – Khoa Công nghệ Thông Tin March 5, 2024 | Page 19
4. Kiểu liên kết
Kiểu liên kết (Relationship) là mối quan hệ có ý nghĩa giữa các kiểu thực
thể.
Ví dụ:
 Mỗi lớp học có một sinh viên làm lớp trưởng, chịu trách nhiệm về các

công tác quản lý lớp.


 Bài hát được sáng tác bởi một tác giả cho một ban nhạc. Bài hát được dịch

sang một ngôn ngữ khác.


Ký hiệu:
 Hình thoi nối với các kiểu thực thể. Tên liên kết

 Tên kiểu liên kết là một động từ.


Chú ý: nếu liên kết giữa thực thể mạnh và thực thể yếu thì sẽ biểu diễn
bằng hình thoi nét
03/05/2024 20
đôi.
Ví dụ
 Mỗi lớp học có một sinh viên làm lớp trưởng, chịu trách nhiệm về các
công tác quản lý lớp.

… … … … … …

SINH VIÊN Làm lớp LỚP


trưởng

03/05/2024 21
Ví dụ
 Bài hát được sáng tác bởi một tác giả cho một ban nhạc. Bài hát được

dịch sang một ngôn ngữ khác.

03/05/2024 22
Chú ý:

 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
 VD: Mỗi lớp học có một sinh viên làm lớp trưởng, chịu trách nhiệm về
các công tác quản lý lớp và cần lưu lại ngày nhận chức của lớp trưởng.

SINH VIÊN Làm lớp LỚP


trưởng

Ngày bắt đầu

03/05/2024 23
a. Bậc của liên kết

 Bậc của liên kết: là số kiểu thực thể tham gia vào liên kết.
 Ví dụ: Liên kết bậc 2

03/05/2024 24
Ví dụ: liên kết bậc 3

03/05/2024 25
b. Liên kết đệ qui

Cùng một kiểu thực thể tham gia vào liên kết với vai trò khác nhau.
VD: Nhân viên A giám sát nhân viên B

NHÂN VIÊN Giám sát

03/05/2024 26
c. Các loại liên kết

 Liên kết 1-1


 Liên kết 1-n
 Liên kết n-m

Bộ môn Khoa Học Máy Tính – Khoa Công nghệ Thông Tin March 5, 2024 | Page 27
Liên kết 1-1

Liên kết 1-1 (một – một): 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ụ: Một lớp có một sinh viên làm lớp trường và ngược lại, một sinh viên chỉ
làm lớp trưởng của một lớp.

… … … … … …

SINH VIÊN 1 1
Làm LỚP
LT

03/05/2024 28
Liên kết 1-n

 Kiểu liên kết 1 – N (một-nhiều): 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ụ: Một nhân viên làm việc cho một phòng và một phòng có nhiều
nhân viên làm việc

… … … … … …

NHÂN VIÊN n 1
Làm PHÒNG
việc

03/05/2024 29
Liên kết n-m

 Kiểu liên kết M – N (nhiều-nhiều): 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ụ:

03/05/2024 30
d. Ràng buộc tham gia của một mối liên kết

 Mô tả về lực lượng tham gia của các thể hiện của các kiểu thực thể vào
liên kết.
 Có hai kiểu ràng buộc tham gia:
 Tham gia toàn bộ (bắt buộc): tất cả các thể hiện của kiểu thực thể đều tham gia
vào liên kết, ký hiệu bằng gạch nối kép
 Tham gia bộ phận (tùy chọn): chỉ một số thể hiện của kiểu thực thể tham gia vào
liên kết, ký hiệu bằng gạch nối đơn.
 Ví dụ:
… … … … … …

SINH VIÊN 1 1
Làm LỚP
LT

03/05/2024 31
e. Ràng buộc về lượng số của một mối liên kết

 Ràng buộc về lượng số (cardinality constraint) đặc tả số thể hiện của


kiểu thực thể B tham gia liên kết với mỗi thể hiện của thực thể A
 Lượng số tối thiểu của một mối liên kết là số tối thiểu các thể hiện của
kiểu thực thể B mà có thể liên kết với mỗi thể hiện của kiểu thực thể A.
 Khi lượng số tối thiểu bằng 0 thì sự tham gia là tùy chọn.
 Lượng số cực đại của một mối liên kết là số tối đa các thể hiện của kiểu
thực thể B mà có thể liên kết với mỗi thể hiện của kiểu thực thể A.
 Khi lượng số tối thiều bằng 1 và lượng số tối đa cũng bằng 1 thì sự tham gia là
bắt buộc

03/05/2024 32
Ví dụ

PATIENT Has PATIENT HISTORY

PERSON Is_married_to

EMPLOYEE Assigns PROJECT

03/05/2024 33
III. Các bước xây dựng mô hình ER
 Các ký hiệu trong mô hình

03/05/2024 34
Bộ môn Khoa Học Máy Tính – Khoa Công nghệ Thông Tin March 5, 2024 | Page 35
1. Nếu có thông tin mô tả về một loại đối
tượng, loại đối tượng đó nên được xem
là một kiểu thực thể.
2. Nên gắn thuộc tính vào kiểu thực thể
mà nó mô tả trực tiếp nhất
3. Nên loại bỏ các mối liên kết dư thừa

Bộ môn Khoa Học Máy Tính – Khoa Công nghệ Thông Tin March 5, 2024 | Page 36
Ví dụ 1

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 NV 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 được phân. Mỗi nhân
viên gồm: mã nhân viên, tên, ngày sinh, điện thoại. Một 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. Số tiền nộp được tính theo đối tượng.

03/05/2024 37
Mô hình ER
MãP TênP
SLSV

1 n
PHÒNG SLCT

n 1

Quản Có

Ngày

n
1

03/05/2024 38
Ví dụ 2: Bài toán quản lý đề án công ty
Công ty được tổ chức thành các đơn vị. Mỗi đơn vị có một tên duy nhất, một mã số duy nhất,
một nhân viên cụ thể quản lý. Việc nhân viên quản lý đơn vị được ghi lại bằng ngày nhân viên đó
bắt đầu quản lý. Một đơn vị có thể có nhiều địa điểm. Nhân viên quản lý đơn vị là một người
thuộc công ty.
 Mỗi đơn vị thực hiện một số dự án. Một dự án có một tên duy nhất, một mã số duy nhất, một
địa điểm thực hiện và thời gian bắt đầu thực hiện dự án.
Với mỗi nhân viên trong công ty, ta lưu giữ lại thông tin như: Họ tên, Mã số, địa chỉ, hệ số
lương, lương (được tính dựa vào hệ số lương và mức lương cơ bản hiện tại), giới tính, ngày sinh,
ngoại ngữ (mỗi nhân viên có thể biết nhiều ngoại ngữ). Một nhân viên chỉ làm việc cho một đơn
vị nhưng có thể làm việc trên nhiều dự án do nhiều đơn vị kiểm soát – thực hiện. Chúng ta cần
lưu giữ lại số giờ làm việc của mỗi nhân viên trên một dự án nào đó. Mỗi nhân viên có thể có
một người giám sát trực tiếp, người đó cũng là một nhân viên. Một nhân viên có thể giám sát
nhiều người.
Mỗi nhân viên có những người thân kèm theo. Những người này được hưởng bảo hiểm theo
nhân viên. Với mỗi người thân của nhân viên, chúng ta lưu giữ Họ tên, giới tính, ngày sinh, tuổi,
quan hệ với nhân viên.
03/05/2024 39

1
n

1
1 1 1 n
Làm n 1
TP
Ng
ày
N C Có
m
Giá t
Kiểm sá
soát
m
Th a a
gi
n

n m Số giờ

03/05/2024 40
Tóm tắt nội dung buổi học
 Định nghĩa mô hình ER
 Các đối tượng và cách biểu diễn:
 Thực thể: biểu diễn bằng hình chữ nhật (nét đơn/nét đôi)
 Thuộc tính: biểu diễn bằng hình elip (tùy thuộc là thuộc tính gì)
 Nguyên tố và phức hợp
 Đơn trị và đa trị
 Suy dẫn và lưu trữ
 Thuộc tính khóa
 Liên kết: biểu diễn bằng hình thoi
 Kiểu liên kết: 1-1, 1-n, n-m
 Ràng buộc tham gia toàn bộ (bắt buộc)/ tham gia bộ phận (tùy chọn)
 Lượng số cực đại và cực tiểu

 Cách biểu diễn bài toán dưới dạng mô hình ER

03/05/2024 41
Bài tập
Một công ty bất động sản có một văn phòng tại nhiều địa điểm. Mỗi văn phòng có mã số văn
phòng và địa điểm
Mỗi văn phòng có một số nhân viên. Mỗi nhân viên có mã số nhân viên và tên. Với mỗi văn
phòng có một nhân viên làm trưởng phòng. Một nhân viên có một hay nhiều thân nhân (vợ/con).
Thông tin về than nhân gồm tên, ngày sinh và mối quan hệ với nhân viên
Công ty có một danh sách bất động sản cần bán. Thông tin về bất động sản là mã bất động sản
và địa chỉ. Mỗi bất động sản chỉ được rao bán tại một và chỉ một văn phòng. Mỗi văn phòng có
nhiều bất động sản rao bán và có thể không có bất động sản nào được rao bán.
Mỗi bất động sản có một chủ nhân. Chủ nhân được xác định bởi mã chủ nhân. Một chủ nhân có
thể có nhiều bất động sản. Thông tin về chủ nhân còn có tên, địa chỉ và số điện thoại.
Hãy mô hình hóa mô tả trên bằng mô hình thực thể liên kết ER

03/05/2024 42

You might also like