📝 PHIẾU HỌC TẬP
BÀI 3: QUAN HỆ GIỮA CÁC BẢNG VÀ KHÓA NGOÀI TRONG CSDL
QUAN HỆ
I. MỤC TIÊU BÀI HỌC

 Khóa ngoài (Foreign Key)
!"vai trò#$%&&'()*+',,-toàn vẹn dữ
liệu./0&1&2/3
II. CÁC HOẠT ĐỘNG KHÁM PHÁ VÀ TÌM HIỂU
1. Khóa ngoài (Foreign Key) (Trang 58)
Khái niệm Định nghĩa
$%&.4&$5
4$1
67)89&.:*+9&1&,&
(;<&=)"((%-#,&
>,&(
.?@&)1
3,&A%&
>,&(
.?@;)1
3,&A%-)"((B%
&
Điền vào chỗ trống:&CD85!E$%&:B,&!E
'(($%-F#,&D8
2. Vai trò của Khóa ngoài và ràng buộc toàn vẹn tham chiếu (Trang 58)
A. Vai trò của Khóa ngoài:
Vai trò 1:()*+G)"(.C1&H,&
Vai trò 2:6,,-'I;H)J&C'Kràng buộc
toàn vẹn tham chiếu
B. Ràng buộc toàn vẹn tham chiếu (Referential Integrity):
Nguyên tắc:Giá trị#$%&.4$1B,&(phải)8giá trị hợp
lệ.LMN1#$%-.O$1B,&(HOẶC)&PNULL
Các hành động bị ngăn chặn để đảm bảo tính toàn vẹn:
 "F8,&&,&(Khóa ngoài không khớp'Q7
R$%-B,&(
S%8,&&,&(đã có,&)"C&
,&(
T U&P$%-#8,&&,&(đã có
,&)"C&,&(
III. BÀI TẬP VẬN DỤNG (HOẶC VÍ DỤ MINH HỌA)
Tình huống:SV2/3C,)W>&&M,&Khách Hàng (MaKH, TenKH)'
Hóa Đơn (MaHD, MaKH, NgayLap)
Câu hỏi Trả lời
X&H,&))N&Y
6%)CD8Z!E.D8
&%=%E%[1
&,&\%6[9&)$%&Y
D$\
$%&%((9&#
,&Y
((D$\#,&$
\&
!(%\%6[L)*+$\&%
MaKH = 'KH005''xóa$\&
]$\^^_]%J&Y`Y
$J&a%B'MN%[%
D$\b]$\^^_]'+N&8
'I(

Preview text:

📝 PHIẾU HỌC TẬP

BÀI 3: QUAN HỆ GIỮA CÁC BẢNG VÀ KHÓA NGOÀI TRONG CSDL QUAN HỆ

I. MỤC TIÊU BÀI HỌC

Sau khi hoàn thành bài học, em sẽ:

  1. Trình bày được khái niệm Khóa ngoài (Foreign Key).
  2. Nêu được vai trò của Khóa ngoài trong việc thiết lập và đảm bảo tính toàn vẹn dữ liệu (Data Integrity) trong CSDL.

II. CÁC HOẠT ĐỘNG KHÁM PHÁ VÀ TÌM HIỂU

1. Khóa ngoài (Foreign Key) (Trang 58)

Khái niệm

Định nghĩa

Khóa ngoài (Foreign Key - FK)

Đấy là một trường (hoặc tập trường) trong bảng tham chiếu dùng để liên kết đến khóa chính của bảng khác.

Bảng tham chiếu (Referencing Table)

Là bảng chứa khóa ngoài

Bảng được tham chiếu (Referenced Table)

Là bảng chứa khóa chính được liên kết đến bởi khóa ngoài.

  • Điền vào chỗ trống: Trong quan hệ Một - Nhiều, Khóa ngoài được đặt ở bảng Nhiều và tham chiếu đến Khóa chính của bảng Một

2. Vai trò của Khóa ngoài và ràng buộc toàn vẹn tham chiếu (Trang 58)

A. Vai trò của Khóa ngoài:

  • Vai trò 1: Thiết lập mối liên kết (quan hệ) giữa hai bảng.
  • Vai trò 2: Đảm bảo tính toàn vẹn dữ liệu thông qua việc thực hiện các ràng buộc toàn vẹn tham chiếu.

B. Ràng buộc toàn vẹn tham chiếu (Referential Integrity):

  • Nguyên tắc: Giá trị của Khóa ngoài (FK) ở bảng tham chiếu phải là một giá trị hợp lệ (đã tồn tại) của Khóa chính (PK) ở bảng được tham chiếu, HOẶC là giá trị NULL.
  • Các hành động bị ngăn chặn để đảm bảo tính toàn vẹn:
    1. Thêm một bản ghi trong bảng tham chiếu mà Khóa ngoài không khớp với bất kỳ Khóa chính nào ở bảng được tham chiếu.
    2. Xóa một bản ghi trong bảng được tham chiếu mà đã có bản ghi liên quan trong bảng tham chiếu.
    3. Sửa giá trị Khóa chính của một bản ghi trong bảng được tham chiếu mà đã có bản ghi liên quan trong bảng tham chiếu.

III. BÀI TẬP VẬN DỤNG (HOẶC VÍ DỤ MINH HỌA)

Tình huống: Xét CSDL quản lý Bán hàng gồm hai bảng: Khách Hàng (MaKH, TenKH)Hóa Đơn (MaHD, MaKH, NgayLap).

Câu hỏi

Trả lời

Quan hệ giữa hai bảng này là loại gì?

Đó là quan hệ Một – Nhiều (Một khách hàng có thể có nhiều hóa đơn).

Trong bảng Hóa Đơn, trường nào là Khóa ngoài?

MaKH

Khóa ngoài đó tham chiếu đến trường nào của bảng nào?

Tham chiếu đến MaKH của bảng Khách Hàng.

Nếu có Hóa Đơn đã lập cho Khách Hàng có MaKH = 'KH005', thì việc xóa Khách Hàng 'KH005' có được không? Vì sao?

Không được xóa bởi vì tồn tại hóa đơn có MaKH = 'KH005', vi phạm ràng buộc toàn vẹn tham chiếu