btvn.vn
Tìm kiếm Đăng nhập

Khóa và khóa chính của bảng

Lưu trên thiết bị này
Giới thiệu các hệ cơ sở dữ liệu · Chọn bài khác

Giá trị khóa phải phân biệt được bản ghi

**Khóa** là một trường hoặc một nhóm trường có giá trị giúp phân biệt từng bản ghi trong bảng. **Khóa chính** là khóa được chọn để định danh bản ghi. Trong CSDL vận hành, giá trị khóa chính phải **không trùng và không để trống**. Trong bảng Bản nhạc đã học, `K01`, `K02`, `K03` là ba **Mã bài** khác nhau, nên Mã bài là khóa chính phù hợp. **Mã tác giả** không làm khóa cho bảng này: cả K01 và K03 đều mang `T01`. Tên bài hiện khác nhau ở ba hàng, nhưng nếu thư viện cho phép hai tác giả có bài trùng tên, chỉ dựa vào Tên bài sẽ không đủ phân biệt về lâu dài.

Chọn khóa theo quy tắc quản lí

Một bảng có thể có nhiều cách định danh hợp lệ. Chọn khóa chính ngắn và ổn định thường thuận tiện hơn khi bảng khác cần tham chiếu tới nó. Quy tắc “mỗi bản ghi có một Mã bài riêng” phải được giữ cả khi thêm dữ liệu mới; ba hàng đang khác mã chưa tự chứng minh hệ thống sẽ luôn tránh trùng. Ví dụ, nếu thêm bài thứ tư cũng dùng mã `K02`, ta không còn biết `K02` chỉ bản ghi nào. Nếu thêm bài khác cùng tác giả `T01` nhưng mã mới `K04`, khóa Mã bài vẫn phân biệt được cả bốn bản ghi. Khóa chính dùng để **nhận diện** hàng; không có quy tắc rằng hàng phải tự xếp theo thứ tự mã.

Bài luyện

Với quy tắc mỗi bài có một mã riêng, trường nào phù hợp làm khóa chính của bảng Bản nhạc?
Chọn một đáp án

Bài luyện

Thêm một bản nhạc mới với Mã bài K02, trong khi K02 đã có. Điều gì xảy ra với quy tắc khóa chính?
Chọn một đáp án

Bài luyện

Vì sao Mã tác giả không làm khóa chính cho bảng Bản nhạc trong ví dụ?
Chọn một đáp án

Đang học