SORU
3 EYLÜL 2008, ÇARŞAMBA


Bir veritabanı normalize telefon numaralarını depolamak için bir standart var mı?

Veritabanı alanları depolama telefon numaraları için iyi bir veri yapısı nedir? Uluslararası sayılar ve sayı çeşitli yerlerinde verimli bir şekilde sorgulanmasını sağlayan bir şey de işlemek için yeterince esnek olan bir şey arıyorum.

Düzenleme:Sadece kullanma durumu burada açıklamak için: ben şu anda tek No alanında numaralarını depolamak ve müşteri onlara girmiş gibi onları da bırakıyorum. Numarası kodu gerekli, ben bunu normalize. Sorun eğer bir kaç milyon satır eşleşen telefon numaralarını bulmak için sorgu istersem, fonksiyon gibi içerir

where dbo.f_normalizenum(num1) = dbo.f_normalizenum(num2)

çok verimsiz. Ayrıca, alan kodu gibi şeyler arıyor sorgu sadece tek no alanı son derece zor hale gelir.

[Düzenle]

İnsanlar iyi öneriler burada da çok var, teşekkürler! Bir güncelleme, burada ne yapıyorum şimdi: ben hala mağaza sayıları tam olarak onlar girdi, bir varchar alan, ama yerine normalize şeylerde sorgu süresi var, bir tetik yaptığı tek iş olarak kayıtları eklenen veya güncelleştirilen. Sorgu için ihtiyacım olan parçalar için değer vermez ya da bigints var, ve bu alanlar sorguları daha hızlı çalışması için endeksli.

CEVAP
3 EYLÜL 2008, ÇARŞAMBA


İlk olarak, ülke kodunu ötesinde, gerçek bir standart yok. Belirli bir telefon numarasını ülkenin biçimine göre ve parçanın sonuna kadar başa ait yapabileceğin hakkında iyi tanımak, ülke kodu,.

Genellikle, ancak, telefon Cihazının ve bu hemen hemen her zaman aşağıdaki bileşenleri içine verilen bir telefon numarası kırabilir çok standart

  • C Ülke kodu 1-10 rakam (şu anda 4 veya daha az, ama bu değişebilir)
  • (Vilayet/Eyalet/bölge) Alan kodu kod 0-10 bir rakam olabilir aslında bölge bir alan ve alan bir alan ayrı ayrı, yerine bir alan istiyorum kod)
  • (Önek ya da anahtarı) E Exchange kodu 0-10 basamak
  • L Satır numarası 1-10 rakam

Bu yöntem ile olası numaraları, alan ve döviz kodları aynı ülke oldukları için, örneğin, birbirine yakın olabilecek insan bulabilirsiniz böyle ayırabilirsiniz. Artık bir şey cep telefonları da güvenebilirsiniz.

Ayrıca, her ülke içinde farklı standartlar vardır. Her zaman bağlı bir (AAA) EEE LLLL ABD, ama bir 3. dünya ülkesi varsa Borsası şehirler (AAA) EE-LLL, ve sadece Satır Numaraları kırsal alanlar (AAA) LLLL. Bir çeşit ağaç üstünde başlatın ve bilgi ne biçim gerekir. Örneğin, ülke kodu 0 numara geri kalanı için bilinen bir biçime sahip, ancak ülke kodu 5432 numarayı geri kalanını anlamak için önce alan kodunu incelemek gerekebilir.

Bir kısmı aynı zamanda kolu vanity numaraları (800) Lucky-Guy gerektiren tanıyarak, eğer BİZE bir numara, orada bir sürü rakam ve gerekebilir tam temsili için reklam veya diğer amaçlar) ve ABD harfleri göster sayıları farklı Almanya.

Bir kısmı aynı zamanda mağaza tüm sayısını ayrı olarak bir metin alanı (uluslararası) o yüzden sen git, sonra tekrar ve tekrar ayrıştırmak numaraları gibi şeyleri değiştirmek, ya da bir yedek diye birini gönderir kötü bir yöntem ayrıştırma özellikle ülkenin biçimini kaybeder ve bilgi.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • B3ASTTY™

    B3ASTTY™

    27 Mayıs 2013
  • Creavite

    Creavite

    8 Mart 2009
  • Jimmie Jones

    Jimmie Jones

    16 Kasım 2007