请教下这样的问卷程序数据库如何设计才最合理?
一个问卷有 500个题目,每个题目都有五个选项,有些ABCDE都为常规选项,有些题目的E选项为其他,需要用户填写。如下:
1.你的职称
A.111
B.222
C.333
D.444
E.555
2.你的学校
A.111
B.222
C.333
D.444
E.其他(请注明:_________)
这个问卷需要
1、能统计每个题目的每个选项有多少人选了。
2、能查看每个用户的每个题的选择(要打印问卷出来)
请教写这样的数据库该怎么设计合理,方便日后select?
最最笨的办法(我第一反应)就是一个表搞定含有500多个字段
ID userid username timu1 timu2 timu3 …… timu500
这样字段也太多了,而且有些题目选的其他,注明的内容字段还没算。
请教大侠们,帮帮忙。
回复讨论(解决方案)
不需要500字段,一个就够了,用格式化数据保存就可以了
不过最重要还是统计需要,怎样方便统计就怎样设计表
mysql 限定字段数 所以实际可用的字段数要综合考虑字段宽度、编码类型等来决定
我以前处理这个问题是考虑这是否是一张问卷的问题
一张问卷,就是说题目要全部读出,当然有可能只显示部分(分页、跳转题之类操作),这样的话既然要全部读出,没必要分什么字段,用json、xml什么的格式化一下就可以了,不要把工作负担留给数据库
如果不是一张问卷,而是一个题库,就是说在生成问卷的时候要从这些题选择若干条组成一张问卷,这样的话也不是字段问题,而是记录问题,每条题作为一个记录
另外,搞调查(考试也是类似性质),最重要是答卷而不是问卷,问卷部分只要能读出,能给答卷完整参照就足够了,当然有些问卷的逻辑很复杂(跳题或者题目之间的选项有关联等等),那是另话
我的建议是花时间在答卷的建表上,做到方便统计,问卷一旦形成,基本都不怎么增删改的,答卷如果要详细分析的话,涉及到统计学的知识,单一个“交叉分析”就可能推翻原来的答卷表设计方案
我以前处理这个问题是考虑这是否是一张问卷的问题
一张问卷,就是说题目要全部读出,当然有可能只显示部分(分页、跳转题之类操作),这样的话既然要全部读出,没必要分什么字段,用json、xml什么的格式化一下就可以了,不要把工作负担留给数据库
如果不是一张问卷,而是一个题库,就是说在生成问卷的时候要从这些题选择若干条组成一张问卷,这样的话也不是字段问题,而是记录问题……
谢谢,请问为了方便统计的话应该怎么设计数据库合理呢?我是新手,大大多指教啊。
我的建议是只要统计方法不同,就分开不同的表
例如调查A和调查B用不同的方法统计,就分开两表
如果统计方法相同,就可以放在同一张表内,加个字段区分AB
如果统计的方法的差异不涉及数据库读取,例如都是全部读到数组再使用不同的方法,这样也没必要分表
我以前就习惯问卷、答卷、逻辑各用一个表

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











In PHP, password_hash and password_verify functions should be used to implement secure password hashing, and MD5 or SHA1 should not be used. 1) password_hash generates a hash containing salt values to enhance security. 2) Password_verify verify password and ensure security by comparing hash values. 3) MD5 and SHA1 are vulnerable and lack salt values, and are not suitable for modern password security.

PHP and Python each have their own advantages, and choose according to project requirements. 1.PHP is suitable for web development, especially for rapid development and maintenance of websites. 2. Python is suitable for data science, machine learning and artificial intelligence, with concise syntax and suitable for beginners.

PHP is widely used in e-commerce, content management systems and API development. 1) E-commerce: used for shopping cart function and payment processing. 2) Content management system: used for dynamic content generation and user management. 3) API development: used for RESTful API development and API security. Through performance optimization and best practices, the efficiency and maintainability of PHP applications are improved.

PHP is a scripting language widely used on the server side, especially suitable for web development. 1.PHP can embed HTML, process HTTP requests and responses, and supports a variety of databases. 2.PHP is used to generate dynamic web content, process form data, access databases, etc., with strong community support and open source resources. 3. PHP is an interpreted language, and the execution process includes lexical analysis, grammatical analysis, compilation and execution. 4.PHP can be combined with MySQL for advanced applications such as user registration systems. 5. When debugging PHP, you can use functions such as error_reporting() and var_dump(). 6. Optimize PHP code to use caching mechanisms, optimize database queries and use built-in functions. 7

PHP type prompts to improve code quality and readability. 1) Scalar type tips: Since PHP7.0, basic data types are allowed to be specified in function parameters, such as int, float, etc. 2) Return type prompt: Ensure the consistency of the function return value type. 3) Union type prompt: Since PHP8.0, multiple types are allowed to be specified in function parameters or return values. 4) Nullable type prompt: Allows to include null values and handle functions that may return null values.

PHP is still dynamic and still occupies an important position in the field of modern programming. 1) PHP's simplicity and powerful community support make it widely used in web development; 2) Its flexibility and stability make it outstanding in handling web forms, database operations and file processing; 3) PHP is constantly evolving and optimizing, suitable for beginners and experienced developers.

PHP and Python have their own advantages and disadvantages, and the choice depends on project needs and personal preferences. 1.PHP is suitable for rapid development and maintenance of large-scale web applications. 2. Python dominates the field of data science and machine learning.

PHP is suitable for web development, especially in rapid development and processing dynamic content, but is not good at data science and enterprise-level applications. Compared with Python, PHP has more advantages in web development, but is not as good as Python in the field of data science; compared with Java, PHP performs worse in enterprise-level applications, but is more flexible in web development; compared with JavaScript, PHP is more concise in back-end development, but is not as good as JavaScript in front-end development.
