Trong Cơ sở dữ liệu, Mối quan hệ một đối một xảy ra khi có chính xác một bản ghi trong bảng cha tương ứng với chính xác một bản ghi trong bảng con
Đối với hướng dẫn này, tôi sẽ sử dụng các công cụ sau
- Mariad 5. 5 [có thể sử dụng mọi phiên bản MySQL hoặc MariaDB]
- MySQL Workbench [được sử dụng để chỉnh sửa các bảng và quan hệ]
Ghi chú. nếu bạn cần trợ giúp để thiết lập môi trường phát triển của mình, hãy làm theo hướng dẫn Cách chuẩn bị máy phát triển Windows Java
MySQL/MariaDB không chứa bất kỳ tùy chọn đặc biệt nào để xác định mối quan hệ một đối một, nhưng bạn có thể có được mối quan hệ một đối một khi thực hiện việc này
- thêm khóa chính trong cả hai bảng;
- trong bảng thứ hai, thêm khóa ngoại để trỏ đến khóa chính từ bảng đầu tiên và khi các ràng buộc thêm khóa đó là duy nhất
Làm điều này sẽ buộc mối quan hệ một đối một giữa các bảng và sẽ buộc mọi phần chèn vào bảng thứ hai phải có khóa ngoại được liên kết với khóa chính từ bảng đầu tiên
Thí dụ
Để minh họa điều này, hãy lấy một ví dụ cổ điển về mô hình bảng người dùng/hồ sơ [chi tiết người dùng]
- người sử dụng. chi tiết cơ bản về người dùng [Lưu ý. bỏ qua mật khẩu rõ ràng]
- user_detail. các chi tiết khác cho người dùng
Ví dụ này đang hiển thị hai mối quan hệ đã được thiết lập trên bảng "Album". Nhấp vào khóa ngoại trong khung bên trái sẽ làm mới khung giữa và bên phải với các chi tiết của nó