Tất nhiên bạn có thể, theo nghĩa là RDBMS của bạn sẽ cho phép bạn làm điều đó. Câu trả lời cho câu hỏi liệu bạn có nên Tuy nhiên, làm điều đó là khác nhau:trong hầu hết các tình huống, các giá trị có ý nghĩa bên ngoài hệ thống cơ sở dữ liệu của bạn không nên được chọn làm khóa chính.
Nếu bạn biết rằng giá trị là duy nhất trong hệ thống mà bạn đang mô hình hóa, thì việc thêm một chỉ mục duy nhất hoặc một ràng buộc duy nhất vào bảng của bạn là điều thích hợp. Tuy nhiên, khóa chính của bạn thường phải là một số giá trị "vô nghĩa", chẳng hạn như một số tự động tăng lên hoặc một GUID.
Cơ sở lý luận cho điều này rất đơn giản:lỗi nhập dữ liệu và những thay đổi không thường xuyên đối với những thứ có vẻ không thể thay đổi vẫn xảy ra. Chúng trở nên khó sửa hơn nhiều đối với các giá trị được sử dụng làm khóa chính.