Quan Hệ 1-1 Trong SQL: Tìm Hiểu Ý Nghĩa và Tác Dụng

Spread the love

Quan hệ 1-1 trong SQL là một trong những quan hệ quan trọng nhất trong cơ sở dữ liệu. Hôm nay, chúng ta cùng SmartData tìm hiểu ý nghĩa và tác dụng của quan hệ này.

Có thể bạn quan tâm

    Quan Hệ 1-1 Là Gì?

    Quan hệ 1-1 xảy ra khi một bản ghi trong bảng chỉ liên quan đến duy nhất một bản ghi trong bảng khác và ngược lại. Điều này được thể hiện thông qua việc sử dụng các ràng buộc Khóa chính-Khóa ngoại duy nhất.

    Ví dụ, mỗi người chồng chỉ có một người vợ và mỗi người vợ cũng chỉ có một người chồng duy nhất.

    Ý Nghĩa Của Quan Hệ 1-1

    Quan hệ 1-1 trong cơ sở dữ liệu giúp tối ưu hóa thiết kế và đảm bảo tuân thủ các tiêu chuẩn chuẩn hóa của cơ sở dữ liệu như (1NF, 2NF, 3NF). Ngoài ra, quan hệ 1-1 còn giúp người thiết kế biểu diễn các đối tượng của thế giới thực vào các đối tượng trong cơ sở dữ liệu.

    Ví Dụ Quan Hệ 1-1 Trong SQL

    Giả sử chúng ta có hai bảng:

    • Bảng PERSON: Chứa thông tin cá nhân.
    • Bảng PASSPORT_DETAIL: Chứa thông tin hộ chiếu của cá nhân trong bảng PERSON.

    Dưới đây là cú pháp tạo hai bảng này trong MYSQL:

    CREATE TABLE PERSON(
        ID INT AUTO_INCREMENT PRIMARY KEY,
        NAME VARCHAR(255)
    );
    
    CREATE TABLE PASSPORT_DETAIL(
        ID INT AUTO_INCREMENT PRIMARY KEY,
        PASSPORT_NUMBER INTEGER,
        FOREIGN KEY (USER_ID) REFERENCES PERSON(ID)
    );

    Bảng PERSON được coi là có quan hệ 1-1 với bảng PASSPORT_DETAIL do mỗi bản ghi trong bảng PERSON chỉ liên kết với duy nhất một bản ghi trong bảng PASSPORT_DETAIL.

    Để lấy thông tin hộ chiếu của một người bất kỳ trong bảng PERSON, chúng ta chỉ cần thực hiện truy vấn đơn giản như sau:

    SELECT P.ID, P.NAME, PD.PASSPORT_NUMBER
    FROM PERSON P
    INNER JOIN PASSPORT_DETAIL PD ON P.ID = PD.USER_ID

    Dữ liệu trả về sẽ có dạng như sau:

    +-+-+-+
    | ID | NAME            | PASSPORT_NUMBER |
    +-+-+-+
    | 1  | Nguyễn Ngọc Ngạn   | ngannnn1@gmail.com     |
    | 2  | Hà Quỳnh Anh  | haquynha@gmail.com    |
    +-+-+-+

    Nếu bạn thấy bài viết này hữu ích và quan tâm, bạn có thể truy cập các kênh thông tin của SmartData như sau:

    More From Author