Hỏi cách xác định khóa chính, khóa ngoại


Em Chào Các Anh Chị. Em đang làm bài tập thực hành SQL mà gặp phải vấn đề chỗ xác định khóa ngoại . Em xác định khóa ngoại theo dấu mũi tên là mũi tên chỉ vào đâu thì nơi đó giữ khóa chính nhưng khi tham khảo lời giải thì không phải vậy .

  • Em Mong được anh chị giải đáp cách xác định khóa ngoại trong bài này ?
  • Có cách nào nhìn vào mũi tên mà xác định được khóa ngoại và khóa chính không ạ ?

Em cảm ơn mọi người .

Bạn nhắc lại định nghĩa khóa chính, khóa ngoại đc k?
P/S: k đc đi gg r copy paste, trl theo ý hiểu.

6 Likes

Bạn đặt câu hỏi rất đúng. Thông thường chúng ta “ít thấy” việc dùng “mũi tên” để xác định mối quan hệ. Trừ khi viết nháp, vẽ cho nhanh vì “mũi tên” có sẳn trong work/excel!

Nếu theo mô hình của bạn đưa thì có thể đoán là đầu mũi tên chỉ tới là khóa ngoại, gốc là PK. Và tất cả các quan hệ ở trên là 1,nhiều

  • Khóa chính (PK) thì dễ nhận biết rồi, ví dụ: PHONG -> khóc chính là MaPhong.
  • Khóa ngoại (FK) thường người ta lấy cùng tên khóa chính trên bảng liên kết. Vd: MaPhong trong bảng DAT_PHONG là khóa ngoại lấy từ table PHONG.

Để vẽ 1 cách chính qui hơn thì bạn có thể nhìn hình bên dưới:

  • Đầu có 3 chân là “nhiều”, chỉ tới tên FK tương ứng.
  • Đầu có 1 chân là 1 hoặc 0.
  • Đường liền quan hệ 1,nhiều , đường gấp khúc là quan hệ 1,nhiều.

4 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?