Cơ sở dữ liệu phụ thuộc vào các khóa để lưu trữ, sắp xếp và so sánh hoặc tạo mối quan hệ giữa các bản ghi. Nếu bạn đã tìm hiểu cơ sở dữ liệu một thời gian, có thể bạn đã nghe nói về các loại khóa khác nhau: khóa chính, khóa ứng viên và khóa ngoại.
Khi bạn tạo một bảng cơ sở dữ liệu mới, bạn được yêu cầu chọn một khóa chính sẽ nhận dạng duy nhất từng bản ghi được lưu trữ trong bảng đó.
Tại sao Khóa chính lại quan trọng
Việc lựa chọn khóa chính là một trong những quyết định quan trọng nhất mà bạn sẽ thực hiện khi thiết kế cơ sở dữ liệu mới. Ràng buộc quan trọng nhất là bạn phải đảm bảo rằng khóa đã chọn là duy nhất. Nếu có thể hai bản ghi (quá khứ, hiện tại hoặc tương lai) có thể chia sẻ cùng một giá trị cho một thuộc tính, thì đó là một lựa chọn không phù hợp cho khóa chính.
Một khía cạnh quan trọng khác của khóa chính là việc sử dụng nó bởi các bảng khác liên kết với nó trong cơ sở dữ liệu quan hệ. Theo khía cạnh này, một khóa chính đóng vai trò là mục tiêu của một con trỏ. Do những phụ thuộc lẫn nhau này, khóa chính phải tồn tại khi bản ghi được tạo và nó không bao giờ có thể thay đổi.
Lựa chọn Kém cho Phím Chính
Điều mà một số người có thể coi là một lựa chọn hiển nhiên cho khóa chính có thể là một lựa chọn tồi. Dưới đây là một số ví dụ:
- mã ZIPkhông tạo khóa chính tốt cho một bảng thành phố. Nếu bạn đang tạo một bảng tra cứu đơn giản về các thành phố, mã ZIP có vẻ là một khóa chính hợp lý. Tuy nhiên, khi điều tra sâu hơn, bạn có thể nhận ra rằng nhiều thị trấn có chung mã ZIP. Ví dụ: các thành phố Neptune, Neptune City, Tinton Falls và Wall Township ở New Jersey đều có chung mã ZIP 07753.
- Số An sinh xã hộikhông làm khóa chính tốt vì nhiều lý do. Hầu hết mọi người coi SSN của họ là riêng tư và không muốn người dùng cơ sở dữ liệu hiển thị rõ ràng. Ngoài ra, một số người không có SSN.
- Địa chỉ emailcũng là một lựa chọn tồi cho khóa chính. Mặc dù chúng là duy nhất, chúng có thể thay đổi theo thời gian. Hơn nữa, không phải ai cũng có địa chỉ email.
Điều gì tạo nên Khóa chính tốt
Vậy, làm thế nào để bạn chọn một khóa chính hiệu quả? Trong hầu hết các trường hợp, hãy chuyển sang hệ thống cơ sở dữ liệu của bạn để được hỗ trợ.
Một phương pháp hay nhất trong thiết kế cơ sở dữ liệu là sử dụng khóa chính được tạo nội bộ. Hệ thống quản lý cơ sở dữ liệu của bạn thông thường có thể tạo một số nhận dạng duy nhất không có nghĩa bên ngoài hệ thống cơ sở dữ liệu.
Ví dụ: bạn có thể sử dụng kiểu dữ liệu Microsoft Access AutoNumber để tạo một trường có tên RecordID. Kiểu dữ liệu AutoNumber tự động tăng trường mỗi khi bạn tạo bản ghi. Mặc dù bản thân con số là vô nghĩa, nhưng nó cung cấp một cách đáng tin cậy để tham chiếu một bản ghi riêng lẻ trong các truy vấn.
Một khóa chính tốt thường ngắn, sử dụng số và tránh các ký tự đặc biệt hoặc kết hợp các ký tự viết hoa và viết thường để tạo điều kiện cho việc tra cứu và so sánh cơ sở dữ liệu nhanh chóng.