Bal*_*ala 0 sql database optimization storage
这是在一次采访中被问到的,我必须为每位员工存储多个电话号码.我回答说我们可以用逗号分隔数字串.接下来的问题是如果字符串的大小变得非常长(假设假设有1000个数字).想出一个更好的解决方案.我一无所知.有人可以建议正确的方法解决这个问题..
编辑:我确实建议我们冻结列数作为一些最大数量,并根据需要插入aas但在大多数情况下会导致许多NULL值,这将是一个糟糕的设计.
编辑:我只是想知道他们是否确实存在解决此问题的其他方法,而不是添加一个新表,如下面的评论之一(我确实告诉他的答案).BTW是面试官的一些伎俩还是其他解决方案确实存在?
一个简单的1:n-Relation怎么样?为这样的电话号码创建一个单独的表格:
Phone_Numbers(id, employee_id, phone_number_type, phone_number)
Run Code Online (Sandbox Code Playgroud)
这样,您可以为每位员工添加数千个电话号码,而不会出现问题.
一般而言:在数据库字段中存储以逗号分隔的任何内容绝不是一个好主意.您应该阅读数据库规范化.通常3NF是一个很好的妥协