01/10/2018, 16:07
Chọn cột nào làm khoá ngoại
Câu hỏi thứ 2 trong ngày.Trước h vẫn lấy primaryKey của bảng khác làm khoá ngoại. Vậy: có thể lấy một cột không phải primaryKey làm khoá ngoại được không.
Ví dụ bảng
Mình lấy customerName làm khoá ngoại cho bảng order được không nhỉ
Bài liên quan
Em có học môn database chưa, sao lại hỏi câu này -.-
Người ta cần khóa ngoại để làm gì? có cần khóa ngoại không -.-
Em tự học trên mạng thôi anh ạ.không được học quy củ theo chương trình đại học.
A FOREIGN KEY is a field (or collection of fields) in one table that refers to the PRIMARY KEY in another table.
Nguồn: w3schools
ok vậy giải thích cho em một chút:
Trường hợp nếu dùng customerName, thì tên có thể bị trùng, như vậy không thể xác định cái order đó của ai cả.
Bản chất của primary key là xác định được 1 dòng duy nhất, phân biệt với các dòng còn lại.
Vậy trong trường hợp e xác định được customerName trong hệ thống của em là duy nhất thì có sử dùng làm foreign key được không ?
Thanks anh.vậy em chuyển customerName thành khoá chính là ổn a nhỉ
Cái này phụ thuộc bussiness của em khi thiết kế db, tại sao 2 customer name không thể trùng nhau? -.-
Thực ra đây là ảnh em lấy làm ví dụ thôi.em đang làm cái tìm kiếm qua tên, ko dùng like.em dùng fulltext search nhưng khi join từ bảng khác vào xong search thì dính quả using filesort,using temporary.thế nên em định kéo thằng name sang bảng chính luôn,đỡ phải join bảng.
Em mới học database vơi mysql dc 2 tháng,nếu có gì sai anh bảo e luôn nhé