我有简单的登记表,但有3个复选框,例如:“你喜欢什么,在自由时间”设计SQL Server数据库正确
Name: [ ]
Email: [ ]
Pass: [ ]
What do you like at free time?
Reading: [ ]
Travelling: [ ]
Sport: [ ]
如示例以上你看到的有3个复选框。有多种选择,人们可以只检查阅读复选框或阅读和旅行或所有复选框等。
如何将其正确存储在数据库中?
例如,如果我将在下面创建Users
表:
CREATE TABLE #User
(
Id INT IDENTITY,
Name NVARCHAR(60),
Email NVARCHAR(60),
Password NVARCHAR(60),
FreeTime INT
)
我可以从复选框只插入1选择。逗号分隔的解决方案是不好的做法。
我不知道如果在用户表中插入多个记录并使用相同的UserId
将所有复选框值插入单独的行,这是不错的做法吗?
或更好的方式来创建新表FreeTime
东西像?
CREATE TABLE #FreeTime
(
Id INT IDENTITY,
UserId INT,
Description NVARCHAR(60)
)
创建一个单独的表和链接表,这样,你只可以在休闲时光表只需插入新行,你可以在不改变模式 – Tanner
链接东西了逗号分隔值不好的做法。正如您所说的,更好的方法是创建另一个表空闲时间来存储每个用户分隔的每个值。 – Kevin