Trang Chủ Cơ sở dữ liệu Sự khác biệt giữa khóa tổng hợp, khóa chính và khóa ngoại là gì?

Sự khác biệt giữa khóa tổng hợp, khóa chính và khóa ngoại là gì?

Anonim

Q:

Sự khác biệt giữa khóa tổng hợp, khóa chính và khóa ngoại là gì?

A:

Khóa chính được định nghĩa là cột khóa hoặc cột cơ sở dữ liệu xác định duy nhất mỗi hàng trong bảng cơ sở dữ liệu. Khóa tổng hợp là một tập hợp gồm nhiều hơn một khóa, cùng nhau, xác định duy nhất mỗi bản ghi.

Mặt khác, khóa ngoại là một khóa trong một số bảng xác định duy nhất các hàng trong một bảng khác - hay nói cách khác, một khóa theo dõi một khóa chính trong một bảng khác.

Một ví dụ sẽ là một danh sách các ngôi nhà trên thị trường bất động sản. Trong một cơ sở dữ liệu được sắp xếp tốt, cần có một khóa chính xác định duy nhất mỗi bản ghi. Làm thế nào điều này có thể phải làm với sự tinh vi của cơ sở dữ liệu.

Trong một số trường hợp, các ngôi nhà chỉ có thể được xác định duy nhất bằng một số thế chấp - tất cả các dữ liệu khác (thị trấn, đường phố, số nhà) không phải là duy nhất cho mỗi hồ sơ. Số thế chấp sẽ là chìa khóa chính. Tuy nhiên, giả sử rằng công nghệ niêm yết của một nhà môi giới MLS gán các số duy nhất của riêng mình cho các bản ghi trong bảng. Sau đó, sẽ có hai khóa mà các nhà phát triển có thể xác định là khóa ứng cử viên của Cameron, đó là: số thế chấp và số MLS. Một trong số họ sẽ đủ điều kiện là khóa chính của nhóm Cameron trong những gì một số người sẽ xem xét một cách tùy tiện.

Do đó, một khóa tổng hợp sẽ là sự kết hợp của hai khóa: ví dụ: sự kết hợp giữa số nhà và đường phố có thể đủ điều kiện làm khóa tổng hợp, với điều kiện là danh sách thị trường là cục bộ. Nếu vậy, khi ai đó tìm kiếm bằng cả số nhà và đường phố, họ sẽ chỉ nhận được một bản ghi duy nhất được trả về.

Trong khi đó, nếu có một khóa trong bảng được liên kết, ví dụ: bảng của người mua, tham chiếu khóa chính, đó sẽ là khóa ngoại.

Sự khác biệt giữa khóa tổng hợp, khóa chính và khóa ngoại là gì?