Tôi không nghĩ rằng có đủ thời gian để chú ý đến các cân nhắc về lược đồ được đưa ra trong bài đăng gốc. Vì vậy, đây là một cái gì đó để xem xét cho bất kỳ người mới.
Giả sử bạn đã đi trước và xây dựng giải pháp này. Tất cả các giá trị menial của bạn được quy ước thành một giá trị duy nhất và được lưu trữ trong cơ sở dữ liệu. Bạn thực sự đang tiết kiệm [một chút] không gian trong cơ sở dữ liệu của mình và một chút thời gian viết mã.
Bây giờ chúng ta hãy xem xét rằng bạn phải thực hiện nhiệm vụ thường xuyên và dễ dàng là thêm một hộp kiểm mới vào giữa các hộp kiểm hiện tại 3 và 4. Người quản lý phát triển của bạn, khách hàng, bất cứ điều gì mong đợi đây là một thay đổi đơn giản.
Vì vậy, bạn thêm hộp kiểm vào giao diện người dùng (phần dễ dàng). Mã lặp của bạn sẽ nối các giá trị bất kể có bao nhiêu hộp kiểm. Bạn cũng nghĩ rằng trường cơ sở dữ liệu của bạn chỉ là một varchar hoặc kiểu chuỗi khác, vì vậy nó cũng sẽ ổn.
Điều gì xảy ra khi khách hàng hoặc bạn cố gắng xem dữ liệu từ trước khi thay đổi? Về cơ bản, bạn đang tuần tự từ trái sang phải. Tuy nhiên, bây giờ các giá trị sau 3 đều bị tắt bởi 1 ký tự. Bạn sẽ làm gì với tất cả dữ liệu hiện có của mình? Bạn có định viết một ứng dụng, kéo tất cả ra khỏi cơ sở dữ liệu, xử lý nó để thêm giá trị mặc định cho vị trí câu hỏi mới và sau đó lưu trữ tất cả lại trong cơ sở dữ liệu? Điều gì xảy ra khi bạn có nhiều giá trị mới cách nhau một tuần hoặc một tháng? Điều gì sẽ xảy ra nếu bạn di chuyển các vị trí và jQuery xử lý chúng theo một thứ tự khác? Tất cả dữ liệu của bạn đã được xử lý và phải được xử lý lại để sắp xếp lại.
Toàn bộ khái niệm KHÔNG cung cấp một mối quan hệ giá trị-khóa chặt chẽ là ludacris và sẽ khiến bạn gặp rắc rối không sớm thì muộn. Đối với những người bạn đang xem xét điều này, xin vui lòng không. Các đề xuất khác cho các thay đổi lược đồ là tốt. Sử dụng bảng con, nhiều trường hơn trong bảng chính, bảng câu hỏi-câu trả lời, v.v. Chỉ cần không lưu trữ dữ liệu không có nhãn khi cấu trúc của dữ liệu đó có thể thay đổi.