Ưu điểm của việc sử dụng mối quan hệ một-một với trái ngược với việc lưu trữ tất cả dữ liệu trong một bảng là gì? Tôi hiểu và tận dụng từng người một, nhiều người và nhiều người, nhưng việc thực hiện mối quan hệ một-một có vẻ như một công việc tẻ nhạt và không cần thiết, đặc biệt nếu bạn sử dụng đặt tên quy ước đối với các đối tượng liên quan (php) đối với các bảng cơ sở dữ liệu.Ưu điểm của việc sử dụng mối quan hệ một-một là gì? (MySQL)
Tôi không thể tìm thấy bất kỳ thứ gì trên mạng hoặc trên trang web này có thể cung cấp ví dụ thực tế tốt về mối quan hệ một-một. Lúc đầu, tôi nghĩ rằng có thể hợp lý để tách 'người dùng' thành hai bảng, một bảng chứa thông tin công khai như 'về tôi' cho các trang hồ sơ và một thông tin cá nhân như đăng nhập/mật khẩu, v.v. thông qua tất cả các rắc rối của việc sử dụng JOINS không cần thiết khi bạn chỉ có thể chọn trường nào để chọn từ bảng đó? Nếu tôi đang hiển thị trang hồ sơ của người dùng, rõ ràng tôi sẽ chỉ SELECT id, tên người dùng, email, aboutme, vv và không phải là các trường có chứa thông tin cá nhân của họ.
Bất cứ ai quan tâm đến việc khai sáng cho tôi một số ví dụ thực tế về mối quan hệ một-một?
-1 để nói rằng sử dụng các mẫu trang trí trong cơ sở dữ liệu quan hệ là một ý tưởng hay. – symcbean
Có, tôi có nghĩa là mở rộng theo ý nghĩa được đưa ra bởi byronh. Tuy nhiên, tôi không nói đó là "một ý tưởng hay", tôi chỉ nói đó có thể là một lý do. Nếu một điều tốt hay không nó cũng phụ thuộc vào ngữ cảnh. Đôi khi tôi không muốn và tôi không thể thay đổi db của bên thứ ba, vì vậy tôi "mở rộng" các bảng đó với mối quan hệ một đến một –
Có, cũng lưu ý rằng ALTER TABLE trên các bảng lớn (hàng chục triệu hàng) để thêm cột, có thể mất rất nhiều thời gian (giờ). Trong khi đó bảng bị khóa và các quản trị viên hệ thống có thể tỉnh táo trong đêm ... – Qlimax