You are on page 1of 50

CƠ SỞ DỮ LIỆU QUAN HỆ

4. MÔ HÌNH QUAN HỆ THỰC THỂ -


ERM

1
Giảng viên
Ths. Đinh Thị Thúy- Phòng Thí Nghiệm Trí Tuệ Nhân tạo –
ĐH Thăng Long
Email: thuydt@thanglong.edu.vn

2
Trợ giảng
Nguyễn Thị Ánh, Lê Thị Huế
Trường ĐH Thăng Long
{A40670, A41131}@thanglong.edu.vn

3
Học liệu
Database Systems
Msteam
Bài giảng, bài thực hành, video (bài giảng trên lớp), bài
tập
4
MỤC TIÊU

 Xác định các đặc điểm của các thành phần trong mô hình quan hệ thực thể - ER

 Biết mô tả các mối quan hệ giữa các thực thể được xác định, chỉnh sửa và kết
hợp vào quá trình thiết kế dữ liệu
 Cách chuyển đổi các thành phần ERD sang mô hình dữ liệu quan hệ
(RDM)

 Biết cách thiết kế ERD cho bài toán thực tế

5
SỰ PHÁT TRIỂN CỦA CƠ SỞ DỮ LIỆU

6
MÔ HÌNH THỰC THỂ QUAN HỆ

 ERD – Entity Relationship diagram – giúp xác định các phần tử dữ liệu và mối quan hệ giữa
các thành phần
 Dùng thiết kế CSDL mức khái niệm, ý tưởng
 Dùng biểu diễn các đối tượng trong thế giới thực và mối quan hệ giữa chúng
 Gồm các thành phần:
▪ Thực thể ( Entity)
▪ Thuộc tính (Attributes)
▪ Mối quan hệ (Relationship)
 Được biểu diễn dưới dạng đồ họa
 Công cụ trao đổi giữa người thiết kế và người dùng cuối
7
THỰC THỂ - ENTITY

 Thực thể:
▪ Thực thể là những gì (người, địa điểm, sự vật, đối tượng…) về dữ liệu được thu thập
và lưu trữ
▪ Thực thể đại diện cho 1 loại đối tượng cụ thể trong thế giới thực
‐ Một thực thể có thể phân biệt được hay sự xuất hiện của nó phải duy nhất
‐ VD: thực thể KHÁCH HÀNG xuất hiện nhiều khách hàng: John, Smith, Tom,
David,…
▪ Trong mô hình ER thì một thực thể là đề cập đến 1 tập thực thể chứ
không phải 1 thực thể duy nhất
▪ Là đối tượng cụ thể hay trừu tượng, tồn tại thực sự và khá ổn định, có thể phân biệt
được với nhau.
▪ Ví dụ
‐ Cụ thể: khách hàng, sản phẩm, sinh viên,… 8
‐ Trừu tượng: đường bay, buổi hòa nhạc, phòng ban,…
THỰC THỂ - ENTITY

 Thực thể mạnh:


▪ Sự tồn tại của thực thể là không phụ thuộc vào sự tồn tại của
thực thể khác
 Thực thể yếu:
▪ Phụ thuộc vào sự tồn tại của thực thể khác
▪ Khóa chính gồm các thuộc tính khóa của
thực thể cha

9
THUỘC TÍNH - ATTRIBUTE

 Thuộc tính:
▪ Là đặc điểm, tính chất của một thực thể
▪ Một thuộc tính là những giá trị nguyên tố ( không thể chia nhỏ hơn) thuộc 1 miền giá trị: Kiểu chuỗi,
kiểu số nguyên, kiểu số thực..
‐ Miền giá trị: số nguyên, số thực, xâu ký tự, ngày tháng năm,…
▪ Tên của thuộc tính là Danh từ hoặc cụm danh từ
▪ VD: thực thể KHACHHANG gồm các thuộc tính: họ tên, địa chỉ, số điện thoại,…
▪ Thuộc tính tương đương với các trường trong hệ thống tệp hoặc cột trong bảng
▪ Kí hiệu:
‐ Chen Model
‐ Crow’s Foot Model
10
THUỘC TÍNH - ATTRIBUTE

 Thuộc tính có thể là đơn trị, đa trị (multi-valued) hoặc phức hợp (set-valued attributes).
▪ Thuộc tính đơn trị: chỉ nhận một giá trị đơn đối với một thực thể ( VD: SV(hoten,CMND,
ngày sinh)

▪ Thuộc tính phức hợp: giá trị của thuộc tính có thể chia nhỏ thành các phần có ý nghĩa. Ví dụ:
thuộc tính Họ và tên, Địa chỉ, …
▪ Thuộc tính đa trị: nhận nhiều giá trị đối với một thực thể cụ thể. Ví dụ: SV(Số điện thoại,địa chỉ)
▪ Thuộc tính dẫn xuất ( suy diễn): giá trị của thuộc tính được tính hoặc suy dẫn từ một hoặc nhiều
giá trị của thuộc tính khác. Ví dụ: Tuổi NV, Thâm niên,…Không cần thiết phải lưu trữ.
 Định danh - Khóa (Key): Một hoặc một tập các thuộc tính xác định duy nhất một thực thể
trong một tập thực thể
11
MỐI QUAN HỆ – RELATIONSHIP

 Mối quan hệ:


▪ Mô tả sự liên kết giữa các thực thể về dữ liệu.Ví dụ:
• Nhân viên A tham gia vào Dự án X.
• Nhân viên A giám sát nhân viên B
▪ Mối quan hệ là 2 chiều.
▪ VD: mối quan hệ giữa KHACHHANG và DAILY được mô tả như sau:
‐ Một đại lý có thể phục vụ cho nhiều khách hàng
‐ Một khách hàng có thể được phục vụ bởi 1 đại lý
▪ Gồm 3 kiểu quan hệ:
‐ Một – Nhiều (one – to many)
‐ Nhiều – Nhiều (many – to - many)
‐ Một – Một (one – to – one)
▪ Quan hệ có 2 lựa chọn: Bắt buộc, Tùy chọn. 12
BẢN SỐ CÁC MỐI KẾT HỢP

 (min,max) chỉ định mỗi thực thể e thuộc tập thực thể E tham gia vào ít nhất và nhiều nhất mối
quan hệ.
 Chỉ quan tâm đến số nhỏ nhất và lớn nhất.
 Giải thích:

o (0,1): không hoặc một Cách biểu diễn:


o (1,1): duy nhất một - Biểu điễn bằng con
o (0,n): không hoặc nhiều số
o (1,n): một hoặc nhiều - Biểu diễn theo ký
hiệu.
13
QUAN HỆ – RELATIONSHIP

 Gồm 3 kiểu quan hệ:


▪ Giả sử có 2 thực thể A và thực thể B có quan hệ với nhau
▪ Một – Nhiều (one – to many):
‐ Một thể hiện của thực thể A quan hệ với nhiều thể hiện của thực thể B và
‐ Một thể hiện của thực thể B chỉ quan hệ với một thể hiện của thực thể A
▪ Nhiều – Nhiều (many – to - many):
‐ Một thể hiện của thực thể A quan hệ với nhiều thể hiện của thực thể B và
‐ Một thể hiện của thực thể B quan hệ với nhiều thể hiện của thực thể A
▪ Một – Một (one – to – one):
‐ Một thể hiện của thực thể A quan hệ với một thể hiện của thực thể B và
‐ Một thể hiện của thực thể B quan hệ với một thể hiện của thực thể A

14
MỐI KẾT HỢP 1 - 1

 Mỗi cá thể của thực thể A liên kết với 0 hay 1 cá thể trong thực
thể B và ngược lại
 R: là tên của quan hệ giữa hai cá thể trong 2 thực thể A và B.

 Ví dụ: Sinh viên có thể có (0,1) tài khoản. Tài khoản thuộc về
(1,1) sinh viên.

15
MỐI KẾT HỢP 1 - N

 Mỗi cá thể của thực thể A liên kết với 0 hay n cá thể trong thực
thể B. Tuy nhiên , 1 thực thể trong B chỉ kết hợp được với 1 thực
thể trong A

 Ví dụ: Một sinh viên có thể thuộc về (1,1) khoa. Một khoa có thể
có (0,n) sinh viên.

16
MỐI KẾT HỢP N-M

 Mỗi cá thể của thực thể A liên kết với 0 hay n cá thể trong thực
thể B và ngược lại

 Ví dụ: Một sinh viên có thể học (0,n) môn học. Một môn học có
thể được học bởi (0,n) sinh viên.

17
VÍ DỤ

 Vẽ mô hình ERD và xác định mối kết hợp.


‾ Một công ty có nhiều nhân viên, mỗi nhân viên sẽ có các thuộc tính: mã số nhân viên, tên và ngày
sinh, lương, địa chỉ.
‾ Mỗi nhân viên làm việc hoặc thuộc trong ( duy nhất) một phòng ban nào đó. Mỗi nhân viên có thể
là trưởng phòng hoặc không của một phòng ban nào đó.
‾ Mỗi phòng ban có một hoặc nhiều nhân viên làm việc, mỗi phòng ban sẽ có tên, mã phòng ban và số
điện thoại liên hệ. Mỗi phòng ban có 0 hoặc 1 trưởng phòng.
‾ Mỗi nhân viên được phân công/thực hiện 0 hoặc nhiều đề án. Mỗi đề án được phân công cho một
hoặc nhiều nhân viên. Các thuộc tính của một đề án bao gồm: mã số đề án, tên đề án và kinh phí dự
trù.
‾ Mỗi phòng ban phụ trách không hoặc nhiều đề án. Mỗi đề án được phụ trách bởi chỉ duy nhất 1
phòng ban.

18
QUAN HỆ – RELATIONSHIP

 Mối quan hệ yếu:


▪ Khi thuộc tính khóa chính của đầu 1 không tham gia vào làm thuộc tính khóa chính
của đầu N
 Mối quan hệ mạnh:
▪ Khi thuộc tính khóa chính của đầu 1 tham gia vào làm thuộc tính khóa chính của
đầu N

20
QUAN HỆ – RELATIONSHIP

21
QUAN HỆ – RELATIONSHIP

 Tham gia bắt buộc:


▪ Sự xuất hiện của thực thể yêu cầu sự xuất hiện của thực thể tương ứng trong mối quan hệ
 Tham gia tùy chọn:
▪ Sự xuất hiện của thực thể không yêu cầu sự xuất hiện của thực thể tương ứng trong mối
quan hệ

22
QUAN HỆ – RELATIONSHIP

Ví dụ: trường cao đẳng Tiny cung cấp một số


khóa học, mỗi khóa học có một số lớp.

 Tham gia bắt buộc:

 Tham gia tùy chọn:

23
QUAN HỆ – RELATIONSHIP

 Quan hệ đệ quy:
▪ Một loại thực thể có thể tham gia nhiều lần vào
một quan hệ với nhiều vai trò khác nhau
▪ VD: Nhân viên quản lý Nhân viên

24
THỰC THỂ KẾT HỢP

 Là 1 thực thể cầu nối (trung gian) giữa các thực thể có quan hệ
 Được tách ra trong mối quan hệ nhiều nhiều (M:N)
 Khóa chính của thực thể trung gian là sự kết hợp thuộc
tính khóa của các thực thể có quan hệ
 Thực thể trung gian có thêm thuộc tính nếu có tồn tại

25
THỰC THỂ KẾT HỢP

 Ví dụ, Bảng dữ liệu


mình họa quan hệ kết
hợp

26
CÁC GIAI ĐOẠN THIẾT KẾ

27
CÁC BƯỚC XÂY DỰNG YÊU CẦU DỮ LIỆU

Real world
o Khảo sát
Requirements
o Phỏng vấn
Collection &
o Thu thập y/cầu
Analysic
o Phân tích b/toán

o Tài liệu mô tả Database


bài toán quản lý requirements

o Thiết kế, mô
Conceptual
hình hoá bài toán
design
quản lý

o Mô hinh thực Conceptual


thể liên hệ schema
28
CÁC BƯỚC XÂY DỰNG YÊU CẦU DỮ LIỆU

Trường đại
học TL Trường TL có nhu cầu xây dựng một hệ
thống thông tin phục vụ các hoạt động của
o Khảo sát
Requirements o Phỏng vấn
trường. Collection &
Phòng QLSV: quản lý địa chỉ và các cách oliên
Thulạc
thập y /cầu
Analysic o Phân tích b /toán
của từng sinh viên, mời phụ huynh khi cần
o Tài liệu mô tả
thiết.
bài toán quản lý Database -Cần biết các sinh viên làm lớp trưởng
requirements Phòng Giáo Vụ: quản lý điểm của sinh viên và
việc giảng dạy của giáo viên.
-Một sv có thể học nhiều môn học, mỗi môn
học chỉ được học một Conceptual
lần. o Thiết kế, mô hình
design
-Một giáo viên có thể dạy nhiều môn học, bài toá n quản lý
hoámột
môn học chỉ được dạy bởi một giáo viên.
Phòng Hành chính: quản lý thông tin về giáo
o Mô hinh thực thể Conceptual
viên.
liên hệ schema

29
CÁC BƯỚC THIẾT KẾ ERD

 Quá trình thiết kế cơ sở dữ liệu là 1 quá trình lặp lại các bước:
 Bước 1: Tạo 1 bản mô tả hoạt động
▪ Xây dựng 1 bản mô tả chi tiết hoạt động của tổ chức, doanh nghiệp
 Bước 2: Xác định quy tắc nghiệp vụ
▪ Dựa trên bản mô tả hoạt động để xác định các quy tắc nghiệp vụ
▪ Trình bày ngắn gọn rõ ràng
 Bước 3: Xác định thực thể và mối quan hệ chính
▪ Xác định các thực thể và mối quan hệ chính dựa trên bản mô tả các quy tắc nghiệp vụ. Có thể phát sinh
thêm thực thể và mối quan hệ khi lặp lại
 Bước 4: Vẽ lược đồ thực thể quan hệ (ERD) ban đầu
▪ Vẽ lược đồ ER gồm các thực thể và mối quan hệ chính
 Bước 5: Xác định các thuộc tính tính và khóa chính
▪ Xác định các thuộc tính và khóa chính mô tả đầy đủ các thực thể
30
 Bước 6: Sửa đổi và xem xét lại ERD
VÍ DỤ MINH HỌA THIẾT KẾ ERD

 Bước 1, mô tả chi tiết các hoạt động của bài toán tại trường đại học Tiny
▪ Trường Tiny được chia thành nhiều trường nhỏ (SHOOL): kinh doanh, nghệ
thuật, khoa học ứng dụng,…mỗi trường được quản lý bởi một hiệu trưởng là một
giáo viên. Mỗi giáo viên (PROFESSOR) chỉ có thể quản lý một trường, và một
giáo viên không bắt buộc phải là hiệu trưởng.
▪ Mỗi trường bao gồm một số khoa (DEPARTMENT). Ví dụ, trường kinh doanh có
khoa kế toán, ngân hàng, marketing,… Lưu ý: số khoa nhỏ nhất của một trường là
một và số khoa lớn nhất là không xác định. Mỗi khoa chỉ thuộc một trường duy nhất.
▪ Mỗi một khoa có thể phụ trách nhiều khóa học (COURSE), mỗi khóa học được phụ
trách bởi một khoa.

31
VÍ DỤ MINH HỌA THIẾT KẾ ERD

 Bước 2, xác định quy tắc nghiệp vụ


▪ Một trường(SHOOL) được quản lý bởi một hiệu trưởng là giáo viên.
▪ Mỗi giáo viên (PROFESSOR) chỉ có thể quản lý một trường.
▪ Một giáo viên không bắt buộc phải là hiệu trưởng.
▪ Mỗi trường gồm nhiều khoa (DEPARTMENT).
▪ Một trường có ít nhất 1 khoa tùy vào từng trường
▪ Mỗi khoa chỉ thuộc một trường duy nhất.
▪ Mỗi một khoa có thể phụ trách nhiều khóa học (COURSE)
▪ Mỗi khóa học được phụ trách bởi một khoa.
 Bước 3, Xác định thực thể và mối quan hệ chính 32
VÍ DỤ MINH HỌA THIẾT KẾ ERD

 Bước 3, Xác định thực thể và mối quan hệ chính


▪ Thực thể: ▪ Quan hệ:
• PROFESSOR • PROFESSOR và SCHOOL → (1,1) và
(0,1)
• SCHOOL
• SHOOL và DEPARTMENT → (1,1) và
• DEPARTMENT
(1,M)
• COURSE
• DEPARTMENT và COURSE → (1,1) và
(0,M)

33
VÍ DỤ MINH HỌA THIẾT KẾ ERD

 Bước 4: Vẽ lược đồ thực thể quan hệ (ERD) ban đầu

34
VÍ DỤ MINH HỌA THIẾT KẾ ERD

 Bước 5: Xác định các thuộc tính tính và khóa chính

35
VÍ DỤ MINH HỌA THIẾT KẾ ERD

 Bước 6: Lặp lại: Sửa đổi và xem xét lại ERD
▪ Tương tự với các thực thể khác

36
VÍ DỤ MINH HỌA THIẾT KẾ ERD

 Bước 6: Lặp lại: Sửa đổi và xem


xét lại ERD
▪ Tương tự với các thực thể khác

37
KẾT QUẢ

 Lược đồ ER đầy đủ của CSDL tại trường ĐH


Tiny
 Bảng tóm tắt các thực thể và mối quan hệ giữa các
thực thể

38
CHUYỂN ERM RDM

 (1) Tập thực thể:


▪ Các tập thực thể (trừ tập thực thể yếu) chuyển thành các quan hệ có cùng tên và tập thuộc
tính
MAN
V NS LUON DCH TENPH MAPH
G I G G
HON
V (1,n) (1,1)
TENN NHANVIEN Lam_viec PHONGBAN
V
G
T (1,1) (1,1)
La_truong_phong

PHONGBAN(TENPHG, MAPHG)
NHANVIEN(MANV, TENNV, HONV, NS, DCHI, GT, LUONG)
39
CHUYỂN ERM RDM

 (2) Mối quan hệ


▪ (2a) Một-Một
• Hoặc thêm vào quan hệ này thuộc tính khóa của quan hệ kia
• Hoặc thêm thuộc tính khóa vào cả 2 quan hệ
MAN
V NS LUON DCH TENPH MAPH
G I G G
HON
V
NG_NHANCHU
TENN NHANVIE C PHONGBAN
V N
(1,1) (1,1)
G La_truong_phong
T

PHONGBAN(MAPHG, TENPHG, MANV, NG_NHANCHUC) 40


CHUYỂN ERM RDM

 (2) Mối quan hệ


▪ (2b) Một-Nhiều
• Thêm vào quan-hệ-một thuộc tính khóa của quan-hệ-nhiều
MAN
V NS LUON DCH TENPH MAPH
G I G G
HON
V
(1,1) (1,n)
NHANVIEN Lam_viec PHONGBAN
TENN
V

G
T

NHANVIEN(MANV, TENNV, HONV, NS, DCHI, GT, LUONG, MAPHG) 41


CHUYỂN ERM RDM

 (2) Mối quan hệ


MANV
▪ (2c) Nhiều-Nhiều NGSIN LUON DCHI
H G DDIEM_D
‐ Tạo một quan hệ HONV
A
MAD
mới có TENN NHANVIE THOIGIA DEA A
V N N N TEND
‐ Tên quan hệ là tên A
PHA (1,n) (1,n)
của mối quan hệ I
Phan_cong

‐ Thuộc tính là
những thuộc tính
khóa của các tập PHANCONG(MANV, MADA, THOIGIAN)
thực thể liên quan
42
CHUYỂN ERM RDM

 (3) Thực thể yếu


▪ Chuyển thành một
quan hệ:
‐ Có cùng tên với
thực thể yếu
‐ Thêm vào thuộc
tính khóa của
quan hệ liên quan

43
CHUYỂN ERM RDM

 (4) Thuộc tính đa trị


▪ Chuyển thành một quan hệ
‐ Có cùng tên với thuộc
tính đa trị
‐ Thuộc tính khóa của
quan hệ này là khóa
ngoài của quan hệ chứa
thuộc tính đa trị

44
CHUYỂN ERM RDM

 (5) Liên kết đa ngôi (n>2)


▪ Chuyển thành một quan
hệ:
‐ Có cùng tên với tên
mối liên kết đa ngôi
‐ Khóa chính là tổ hợp
các khóa của tập các
thực thể tham gia
liên kết

45
Bài tập chuyển đổi ERD -> RDM

46
THIẾT KẾ CHI TIẾT CÁC BẢNG BIỂU

47
THIẾT KẾ CSDL MỨC VẬT LÝ

 Mục đích:
▪ Chuyển mô hình dữ liệu logic thành các đặc tả dữ liệu vật lý phù hợp với điều kiện thiết bị và
môi trường cụ thể.
 Công việc:
▪ Chọn công nghệ lưu trữ và quản lý dữ liệu: hệ điều hành, hệ quản trị CSDL, công cụ truy nhập.
▪ Chuyển mô hình logic thành thiết kế vật lý và xác định phương án
cài đặt
 Đầu vào:
▪ Mô hình dữ liệu lôgic, Từ điển dữ liệu, Mô tả yêu cầu sử dụng dữ liệu (nếu có), Mong muốn
của người dùng về sử dụng, tích hợp dữ liệu, Mô tả công nghệ và thiết bị sử dụng

48
TỪ KHÓA

49
BÀI TẬP

 Vẽ sơ đồ ERD sau đó chuyển về RDM


Hãy xây dựng lược đồ ER cho CSDL “THƯ VIỆN” , dựa trên các ghi chép sau:
– Thư viện được chia ra thành các nhánh. Thông tin về mỗi nhánh gồm có Mã nhánh, Tên nhánh và
Địa chỉ.
– Mỗi cuốn sách trong thư viện có các thông tin về Mã sách, Tên sách Nhà xuất bản và Tác giả…
– Một tác giả có thể viết nhiều cuốn sách. Một cuốn sách có thể có nhiều tác giả viết.
– Một nhà xuất bản xuất bản nhiều cuốn sách. Một cuốn sách do một nhà xuất bản xuất bản. Thông
tin về Nhà xuất bản gồm có Tên, Địachỉ và Số điện thoại.
– Một cuốn sách có thể có nhiều bản sao được lưu trữ tại các nhánh. Thông tin về bản sao sách gồm
Mã sách, số các bản sao.
– Thư viện có những người mượn sách. Thông tin về những người mượn sách gồm có Số thẻ, Họ
tên, Địa chỉ và Số điện thoại.
– Sách được cho các người mượn mượn tại các nhánh. Thông tin về một lần mượn gồm có Ngày
50
mượn và ngày trả.
CẢM ƠN
Liên hệ
thuydt@thanglong.edu.vn

52

You might also like