EN - FR - DE - ES - IT - PT -

LexiconDream

🔗 Khóa ngoại

Một trường liên kết các bản ghi trong một bảng với một bảng khác.

Khóa ngoại

Khóa ngoại liên kết các bản ghi trong một bảng với các bản ghi trong bảng khác. Bảng đơn hàng có trường customer_id. Trường đó là khóa ngoại trỏ đến khóa chính của bảng khách hàng. Liên kết này đảm bảo rằng mỗi đơn hàng thuộc về một khách hàng thực sự. Nếu không có nó, các đơn hàng có thể tham chiếu đến những khách hàng không tồn tại. Cơ sở dữ liệu sẽ thực thi mối quan hệ này.

Khóa ngoại không chỉ đơn thuần là ghi lại các mối quan hệ. Chúng còn đảm bảo tính toàn vẹn tham chiếu. Nếu bạn cố gắng chèn một đơn hàng với customer_id không tồn tại trong bảng khách hàng, cơ sở dữ liệu sẽ từ chối. Nếu bạn cố gắng xóa một khách hàng có đơn hàng, cơ sở dữ liệu sẽ chặn việc xóa hoặc thực hiện xóa theo kiểu thác đổ tùy thuộc vào quy tắc. Việc đảm bảo này ngăn ngừa các bản ghi mồ côi và dữ liệu không nhất quán. Khóa ngoại cũng giúp cải thiện hiệu suất truy vấn. Cơ sở dữ liệu có thể sử dụng mối quan hệ để tối ưu hóa các phép nối. Không phải tất cả các cơ sở dữ liệu đều thực thi khóa ngoại. Một số cơ sở dữ liệu NoSQL để lại tính toàn vẹn tham chiếu cho ứng dụng. Điều đó mang lại cho các nhà phát triển sự linh hoạt hơn nhưng cũng nhiều trách nhiệm hơn. Ứng dụng phải đảm bảo rằng các tham chiếu là hợp lệ. Nếu không, dữ liệu sẽ trở nên không nhất quán. Khóa ngoại là một ràng buộc. Các ràng buộc có thể gây bất tiện cho đến khi chúng ngăn chặn được một thảm họa.

Quy tắc khóa ngoại

Khóa ngoại vừa là liên kết vừa là sự đảm bảo. Liên kết giúp kết nối các bảng. Sự đảm bảo giúp chúng nhất quán.


Warning: session_start(): Cannot start session when headers already sent in /var/www/lexicondream.com/inc/functions.php on line 63

Comments

No comments yet. Be the first to share a thought.

Leave a comment