我目前正在开展一个项目,我正在 Azure SQL 数据库中重新创建一个 MS SQL Server 数据库。我已经获得了当前模式(虽然不是实际的列数据类型)并且我遇到了这个:
Question (QuestionID, QuestionDescription, UnitOfMeasure, SQLDataType)
QuestionAnswer (QuestionID, AnswerID, Answer, SQLDataType, UnitOfMeasure)
因此,数据库包含各种问题,每个问题都用不同类型的数据(整数、文本、日期等)来回答/测量,所有答案都与一个列一起存储,该列标识了所使用的数据类型“答案”栏。
我想知道这是否是一种常见做法以及如何实现? (一列中的多种类型的数据)。另一种选择显然是将所有问题放在一起,但将各种答案分成不同的表格,但我可以看到 30 多个不同的问题会变得多么麻烦。
最佳答案
这是我们在生产中用于解决同一类型问题的模式。是的,它有效 - 您只需确保每个 Answer
实际上都可以转换为给定的 SQLDataType
。我们在插入/更新时执行此操作。
关于sql - 在一列中存储不同的数据类型以减少表数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40289472/