Database design 为什么不将电话号码存储为5列:国家代码、区号、前缀、行号和分机号码?
我正在处理最初存储在oracle数据库中的数据,这些数据是带有破折号(123-456-7890)的varchar2(12)字节。最初没有进行验证,人们存储了各种不良数据。在将来,我认为将电话号码的每一部分存储到单独的列中可能是一个好主意。这对性能有影响吗Database design 为什么不将电话号码存储为5列:国家代码、区号、前缀、行号和分机号码?,database-design,Database Design,我正在处理最初存储在oracle数据库中的数据,这些数据是带有破折号(123-456-7890)的varchar2(12)字节。最初没有进行验证,人们存储了各种不良数据。在将来,我认为将电话号码的每一部分存储到单独的列中可能是一个好主意。这对性能有影响吗 家庭电话号码(1) 家庭电话号码(3) 家庭电话号码(3) 家庭电话号码(4) 家庭电话分机号码(4) ==您的桌子=== 如果将数据存储在5个单独的列中 然后当用户输入123-456-7890时,它将是这样的 HOME_PHONE_CON
- 家庭电话号码(1)
- 家庭电话号码(3)
- 家庭电话号码(3)
- 家庭电话号码(4)
- 家庭电话分机号码(4)
HOME_PHONE_CON | HOME_PHONE_AREA | HOME_PHONE_PREF | HOME_PHONE_LINE | HOME_PHONE_EXT
null | 123 | 456 | 7890 | null
(我不在美国,请为错误的格式道歉)
然后必须有人用这个号码搜索客户/用户
他们将输入“123-456-7890”或“1234567890”
你必须