Professional Documents
Culture Documents
SỞ DỮ LIỆU
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
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
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
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ể
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, …
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ể
03/05/2024 12
2. Thuộc tính – phân loại
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ọ
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, ….
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
… … … … … …
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
03/05/2024 22
Chú ý:
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
03/05/2024 26
c. Các loại 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 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
03/05/2024 32
Ví dụ
PERSON Is_married_to
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
Có
n 1
Quản Có
lý
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
Có
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
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