Chủ Nhật, 8 tháng 5, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 3 - Thiết lập khóa chính

James Perry, Richard Newmark


Chương 3
Tạo, nhập liệu, và hiển thị bảng


Thiết lập khóa chính


Khóa chính là một hay nhiều trường bảng nhằm nhận diện duy nhất từng dòng. Bảng phải có khóa chính nếu được tham chiếu bởi bảng khác. Chẳng hạn, mỗi khách hàng phải có cột như mã khách hàng CustomerID nhằm nhận diện duy nhất từng khách hàng. Nếu không, sẽ không có cách hợp lý chẳng hạn để kết hợp các đơn đặt hàng lưu trong bảng của riêng chúng với khách hàng đã đặt mua chúng. Bạn biết rằng thiết kế cơ sở dữ liệu tốt sẽ lưu các sự kiện phân biệt trong các bảng phân biệt. Khả năng kết hợp các bảng lại với nhau nằm ở giá trị khóa ngoại và khóa chính. Chẳng hạn, các dòng đặt hàng trong bảng đơn đặt hàng sẽ kết hợp đúng với khách hàng bằng cách so khớp mã khách hàng trong bảng đơn đặt hàng (khóa ngoại) với mã khách hàng có cùng giá trị trong bảng khách hàng. Bảng không có khóa chính sẽ đứng một mình và không quan hệ với bảng khác – điều này hiếm khi xảy ra. Các bảng đó tạo nên hệ thống file phẳng.

Access là ví dụ của hệ cơ sở dữ liệu không yêu cầu bảng phải có khóa chính. Khi bạn lưu một định nghĩa bảng mà không có khóa chính, Access sẽ hiển thị hộp thoại báo rằng “There is no primary key defined. Although a primary key isn’t required, it’s highly recommended…” (Khóa chính chưa được định nghĩa. Mặc dù khóa chính không bắt buộc, bạn được khuyên nên có…) và đề nghị chèn thêm cột khóa chính có kiểu dữ liệu là AutoNumber.

Đôi khi khóa chính gồm nhiều cột. Khóa chính đó gọi là khóa chính phức hợp (composite-, compound-, hay complex primary key). Cơ sở dữ liệu Chương 3 chưa cần khóa chính phức hợp.

Việc chỉ định một hay nhiều cột làm khóa chính (hay loại bỏ chỉ định khóa chính) thì không khó. Ta hãy thực hành nó.

BÀI TẬP 3.12: LOẠI BỎ CHỈ ĐỊNH KHÓA CHÍNH TỪ MỘT CỘT

1. Mở cơ sở dữ liệu Chương 3, nếu cần, và đóng tất cả các tabs.

2. Kích phải tblMyEmployees rồi kích Design View trong pop-up menu.

3. Kích nơi bất kỳ trong dòng EmpID rồi kích lệnh Primary Key trong nhóm Tools thuộc tab ngữ cảnh DESIGN. Access sẽ loại bỏ biểu tượng khóa chính khỏi nút chọn dòng của EmpID.

BÀI TẬP 3.13: CHỈ ĐỊNH HAI CỘT LÀM KHÓA CHÍNH PHỨC HỢP CỦA BẢNG

1. Với tblMyEmployees vẫn đang mở ở góc nhìn Design, kích nút chọn dòng của EmpFName, nhấn và giữ phím Shift rồi nhấn mũi tên xuống để chọn tiếp EmpLName. Một khung chữ nhật màu hồng sẽ bao hai trường.

2. Kích lệnh Primary Key trong nhóm Tools thuộc tab ngữ cảnh DESIGN. Access sẽ đặt một chìa khóa nhỏ ở cả hai nút chọn dòng (xem Hình 3.16).


Hình 3.16 Chỉ định khóa chính phức hợp.

3. Để tái lập EmpID làm khóa chính đơn cột, kích phải cột bất kỳ trong dòng EmpID (kể cả nút chọn cột). Kích Primary Key trong pop-up menu. (Bạn có thể kích lệnh Primary Key như trước đây, nhưng bạn có thể thích cách kích phải này hơn.) Access sẽ loại bỏ dấu chỉ khóa chính ở hai dòng trước và đặt chỉ dấu đó vào nút chọn dòng của EmpID.

4. Kích phải tblMyEmployees tab, kích Close trong pop-up menu, rồi kích No khi được hỏi “Do you want to save changes …” (bạn có muốn lưu các thay đổi …). Điều này sẽ duy trì khóa ban đầu trước khi bạn mở bảng ở góc nhìn Design.

Không có nhận xét nào:

Đăng nhận xét