Tên dễ chọn, mã giữ liên kết
Hình 23.4 SGK cho xem một ứng dụng âm nhạc chuyên dụng. Khi nhập bản thu, người dùng chọn **bài** và **ca sĩ** từ danh sách; bảng dữ liệu bên dưới có thể hiện tên bài kèm nhạc sĩ và tên ca sĩ. Người dùng hằng ngày không nhất thiết phải nhớ `idBannhac`, `idCasi` hay viết JOIN. Ứng dụng có thể tra các mã tương ứng để gửi yêu cầu tới CSDL và dùng truy vấn ghép bảng để hiển thị tên dễ đọc.
Hãy đọc một hàng giả: “Mưa đầu mùa — Mai An — Linh Chi”. Tên bài/nhạc sĩ đến từ `bannhac` và `nhacsi`, tên ca sĩ từ `casi`; `banthuam` lưu hai mã nối chúng. Nếu hai bài cùng tên nhưng khác nhạc sĩ, danh sách chọn cần hiển thị đủ thông tin để người nhập phân biệt. Hình trong SGK là **minh họa để phân tích**, chưa phải ứng dụng đã được thử trên máy học tập.
Giao diện đẹp vẫn cần dữ liệu đúng
Danh sách chọn giúp tránh gõ một mã không tồn tại nếu được thiết kế đúng, còn **khóa ngoại ở CSDL** là lớp kiểm quan hệ đã khai báo. Hai cơ chế có vai trò bổ trợ; giao diện không làm khóa ngoại trở nên thừa. Ngược lại, khóa ngoại không biết người dùng đã chọn nhầm bài cùng tên hay ca sĩ cùng tên nào. Sau khi nhập, cần đọc lại kết quả, nhất là khi các tên giống nhau.
SGK hỏi giao diện có dễ dùng không: với tác vụ nhập/tìm/sửa/xóa bản thu thường ngày, chọn tên có thể dễ hiểu hơn nhìn mã. Mức dễ dùng thực tế còn tùy cách ứng dụng hiển thị tên trùng, tìm kiếm và xác nhận xóa. Không suy từ ảnh rằng phần mềm đã tự kiểm mọi lỗi hoặc đã phân quyền đúng.
Bài luyện
Người dùng chọn tên “Linh Chi” trong ứng dụng. Bảng banthuam cần lưu gì để liên kết tới casi?
Mã ca sĩ là khóa ngoại của bản thu.
Ảnh không là mã liên kết.
tenNhacsi thuộc bảng nhạc sĩ.
Tên bài không định danh ca sĩ.
Lời giải
Ứng dụng cho chọn tên để dễ dùng, rồi bản thu phải lưu idCasi trỏ tới đúng hàng ca sĩ.
Bài luyện
Hai bản nhạc cùng tên nhưng khác nhạc sĩ. Giao diện chọn bài nên làm gì?
Tên giống không có nghĩa là cùng bản nhạc.
Thông tin thêm giúp chọn đúng mã bài.
Xóa bài làm mất dữ liệu.
Khóa ngoại vẫn cần để giữ quan hệ.
Lời giải
Danh sách nên cho người dùng nhận ra đúng hàng bài trước khi lưu idBannhac.
Bài luyện
Hình ứng dụng trong SGK chứng minh chắc chắn điều gì?
Ảnh sách không xác nhận môi trường phòng máy.
Hình cho thấy cách tổ chức thao tác cho người dùng.
Giao diện không xác minh sự thật của nội dung.
Dữ liệu và ràng buộc vẫn ở CSDL.
Lời giải
Hình minh họa một cách trình bày tác vụ nhập/tìm/sửa/xóa bản thu, không thay việc kiểm dữ liệu và hệ thống thật.
Đang học