为审计目的选择一个选项

时间:2013-09-19 10:09:21

标签: mysql sql database-design

我正在设计一个表来审核我的网站上的用户选择语言(目前有15个)。我有两种表格样式和编码,但我需要你的专业知识选择一个,所以请告诉我哪个更好。如果您有任何选项,请打开其他选项。

由于

选项1)在用户选择语言后,新记录会插入到表中。会有很多记录。

表格

language - varchar(20) - Not Null

CODE

insert into table (language) values ('english');

选项2)在用户选择语言后,相关语言列的值增加1。只有一条记录。

表格

id         - char(1) - default '1'
language_x - int(11) - Unsigned
language_y - int(11) - Unsigned
language_z - int(11) - Unsigned
...
...

CODE

update table SET language_x = language_x + 1 where id = '1';

2 个答案:

答案 0 :(得分:0)

我建议您扩展选项1以包含(至少)user_name,id和selection_date列以及主键和您认为可能有用的任何其他内容。为您提供分析数据的灵活性,您可能只对现在选择特定语言的用户数量感兴趣,但您稍后会有其他需求。

答案 1 :(得分:0)

我也建议选项1.您不需要稍后更改表,与选项2不同,需要支持另外一种语言。此外,在选项2中,每次必须更新不同语言的计数时,必须更改列名的更新语句本身。