Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Thiết kế cơ sở dữ liệu để phát triển ứng dụng web 'Quiz' bằng PHP và MySQL

Tôi sẽ bắt đầu với 4 bảng đơn giản:

Người dùng

- user_id        auto integer
- regtime        datetime
- username       varchar
- useremail      varchar
- userpass       varchar

Câu hỏi

- question_id    auto integer
- question       varchar
- is_active      enum(0,1)

Question_choices

- choice_id        auto integer
- question_id      Questions.question_id
- is_right_choice  enum(0,1)
- choice           varchar

User_question_answers

- user_id        Users.user_id
- question_id    Questions.question_id
- choice_id      Question_choices.choice.id
- is_right       enum(0,1)
- answer_time    datetime

Suy nghĩ của tôi về thiết kế bàn này là:

  • bảng Users là để lưu trữ người dùng đã đăng ký.
  • bảng Questions là để lưu trữ tất cả các câu hỏi của bạn.
    • Nó có is_active để bạn có thể chỉ hiển thị có chọn lọc các câu hỏi đang hoạt động (sử dụng WHERE is_active = '1' )
  • bảng question_choices là để lưu trữ tất cả các tùy chọn có sẵn. Nó có is_right_choice xác định lựa chọn nào là câu trả lời phù hợp cho câu hỏi cụ thể.
  • Bảng User_question_answers là để lưu trữ câu trả lời từ người dùng của bạn.
    • Nó có is_right để tra cứu nhanh hơn, để xem liệu lựa chọn câu hỏi và câu trả lời cụ thể đó có đúng hay không (dựa trên is_right_choice đã xác định trước đó).
    • Nó cũng có answer_time chỉ để lưu ý khi người dùng cụ thể đó trả lời câu hỏi.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL - Phiên bản MySQL này chưa hỗ trợ 'LIMIT &IN / ALL / ANY / SOME truy vấn con

  2. cấu hình cài đặt máy chủ mysql không thành công HOẶC không thể khởi động dịch vụ

  3. Sao lưu lượt xem với Mysql Dump

  4. Hằng số lớp không xác định 'MYSQL_ATTR_INIT_COMMAND' trong hằng số lớp không xác định (PHP 5.5.3)

  5. Cách lưu trữ ngày giờ trong MySQL với thông tin múi giờ