سلام
با توجه به شرایط بهتر است در جهت سرعت ایندکس بندی بالاتر برای کلید از یک فیلد autonumber عددی استفاده کنید.
سپس میتوانید فیلد تلفن (اگر منظورتان از شماره همین باشد) را یکتا معرفی کنید ولی ....
گاهاً لازم میشود چندین تلفن وارد شود که یک راه ساده میتوانید (و پرهیز از ایجاد جدول دیگر و رابطه یک به چند) داشتن یک فیلد بزرگ برای تلفن با یک textbox چند خطی در برنامه باشد تا خودکاربر بتواند بین شماره تلفن های مختلف از اینتر(Enter - خط جدید) استفاده کنید.
برای ذخیره متون غیر انگیلیسی (از جمله فارسی) نوع varchar و char (و یا text قدیمی) مناسب نیستند و شما باید از nvarchar و nchar (و یا ntext قدیمی) استفاده کنید.
در خصوص جستجو باید توجه داشته باشید در متون بزرگ و چند خطی مثل همین آدرس و یا درج چندین تلفن در یک فیلد با جداسازی اینتر(همان که در فوق پیشنهاد کردم) جستجوهای معمول فایده خاصی ندارد.
باز برای تلفن کار ساده تر است.
دلیل آن است که از نظر برنامه نویسی دو عبارت وقتی برابر هستند که کاملاً و تک تک حروفشان برابر باشد...
یعنی خیلی بعید و غیر ممکن است که یک آدرس اگر دوبار تایپی شود، همه حروفش مثل هم باشد، بالاخره فاصله ای و نقطه ای و خط تیره ایب کم و زیاد میشود، شاید یک بار "خیابان" تایپ شود و بار دوم "خ-" و سایر موارد و...
سرچ عادی با اپراتور = انجام میشود که باید کاملاً برابر باشد.
سرچ پیشرفته تر بعدی با اپراتور LIKE انجام میشود هکه میتواند کاراکترهای جاینشین (wildcard) را هم قبول کنید و مثلاً میتوان از ان برای پیدا کردن تلفنهای تکراری استفاده کرد. (البته همچنان میتوان برای درج چندیت تلفن از رابطعه یک به چند استفاده کرد ک ایندکس بندی پیدا میکند و سرچ ساده تر میشود.)
آخرین نوع و پیشرفته ترین نوع سرچ سرویس FTS است که نیاز به تعریف کاتالوگ و ایندکس بندی دوره ای کامل فیلد مورد نظر دارد تا بتوان سرچ پیشرفته و مفهومی و سریعتری را پییده سازی کرد ولی همچنان نمیتوان به قطع گفت دو آدرس یکی هستند یا نه، در بهترین شرایط میتوان به کاربر هشدار داد که امکان دارد آدرس وارد شده قبلا ثبت شده باشد...
و...
موفق باشید.