تبليغاتX
وبلاگ امین نادری نژاد
 
 
 
   
 
 

کدهای مخفی سیم کارت های اعتباری ایرانسل


مدت زمانی است که شرکت ایرانسل ، توانسته است با بهره گیری از شرایط و ویژگی های منحصر به فرد و همچنین ارائه سرویس های قابل رقابت با دو اپراتور دیگر بازار خوبی را در جامعه امروزی موبایل ایران فراهم نماید. همچنین اخیرأ قیمت سیم کارت های اعتباری ایرانسل به 15 هزار تومان کاهش یافته است و با قابلیتهایی که به تنهایی فراهم کرده است همانند MMS و GPRS توانسته است استفاده کنندگان زیادی را جدب کند. اما این سیم کارت های اعتباری نیز در دورن خود ترفندهای مخفی را دارا هستند! فعال سازی پیامگیر ، فعال سازی ذخیره شماره ، حذف همه سرویس ها ، دریافت تنظیمات MMS ، دریافت تنظیمات GPRS ، این موارد هستند که به وسیله کد مخفی که با آنها داده میشود امکان دریافت آنها از طریق گوشی امکان پذیر میباشد.
کافی است در گوشی ای که یک سیم کارت اعتباری ایرانسل در داخل آن قرار دارد ، کدهای زیر را توسط کلیدهای گوشی وارد نمایید:
#1*1*3*140* فعال سازی پیامگیر
#3*1*3*140* فعال سازی ذخیره شماره تماس گیرنده
#4*1*3*140* حذف همه سرویس ها
#5*3*140* دریافت تنظیمات MMS
#6*3*140* دریافت تنظیمات GPRS

لازم به ذکر است سرویس ذخیره شماره تماس گیرنده شما را قادر می سازد تا بدانید در زمانی که در دسترس نبوده اید، چه کسانی با شما تماس گرفته اند. چنانچه تلفن همراهتان خاموش بوده یا خارج از محدوده پوشش شبکه باشد، کسی که با شما تماس می گیرد، به یک سرویس پیام گیر هدایت می شود که در آنجا شماره این شخص ذخیره می شود. هنگامی که تلفن همراهتان مجدداً در دسترس قرار گیرد، لیستی از تمام شماره هایی که با شما تماس گرفته اند به همراه زمان این تماسها از طریق SMS برای شما ارسال می گردد.این سرویس و سرویس پیام گیر صوتی نمی توانند همزمان فعال باشند. شما تنها می توانید از یکی از دو سرویس ذخیره شماره تماس گیرنده یا پیام گیر صوتی در یک زمان استفاده نمایید

Medium (Media) Blog جوملا! دانلود قالب رايگان Desert (صحرا) براي وبلاگ بلاگفا
 
 
 |    نوشته شده توسط امین
 
 
   
 
 

تعریف انواع داده ها:

هر داده ای نوع خاصی دارد. هرفیلد جدول, داده هایی از یک نوع خاص را می تواند در خود جای دهد.مثلا برای فیلدی با اسم "نام کارگر" باید داده هایی از نوع متن تعریف شود تا تمامی رکوردهای ثبت شده در این فیلد دارای یک نوع داده و آن هم از نوع متن باشند.لذا هرگاه جدولی طراحی می کنیم باید نوع داده هر فیلد را از فهرست پایین جهنده ستون Data Type انتخاب کنیم.(برای نمایش فهرست ستون Data Type کافی است بر روی فلش موجود در این ستون کلیک کنیم تا فهرستی از نوع تمامی داده هایی که می شود در اکسس ثبت کرد برای ما نشان داده شود)

توجه: هنگامی که موردی را از فهرست بازشونده Data Type انتخاب می کنیم اکسس فهرستی از اطلاعات را در بخش زیرین پنجره نمایش می دهد که به آنها Field Properties (یا خصوصیات فیلد) گفته می شود. مثلا وقتی ما فیلدی از نوع Text (متن) را از ستون بازشونده انتخاب می کنیم. در زیر همین پنجره خصوصیات فیلد مربوط به متن برای ما نشان داده می شود. این خصوصیات عنوان درس بعدی ما می باشد که به طور مفصل شرح داده های خواهد شد که در این قسمت ما تنظیمات جالب توجه ای داریم.

حال در زیر به تشریح تمامی انواع داده ها می پردازیم:

 

داده از نوع Text(متن):

از داده نوع Text در فیلدهایی که حروف, واژه ها, اسامی و عبارات را نگه می دارد استفاده می شود. لازم نیست که محتوای فیلد متن فقط متون الفبایی باشد بلکه می تواند اعداد و علایم خاص نیز باشد. ولی توجه کنید که برای اعدادی که در محاسبات از آنها استفاده می کنید, از فیلد نوع متن استفاده نکنید. فیلد متن برای داده های مناسب است که می خواهید آنها را نگهدارید و نه آنهایی که قصد انجام محاسبه بر روی آنها را داشته و یا به عنوان تاریخ و زمان بکار ببرید.مثلا داده های با عنوان "نام" باید در این نوع فیلد ذخیره شوند.

توجه: از فیلد متنی برای داده های با طول حداکثر 255 کاراکتر استفاده کنید. اگر طول داده بیش از این مقدار است, از داده نوع Memo استفاده کنید. همچنین دقت کنید که برای کنترل طول فیلد متنی, از خصوصیات فیلد استفاده کنید(در درس بعدی شرح داده خواهد شد) مثلا می توانید از اکسس بخواهید تا در هز رکورد فیلد متنی, تا 255 حرف را نگهدارد.

آدرس و شماره تامین اجتماعی مثالهای کاملی از داده های متنی هستند که از اعداد و علایم خاص (مانند تیره و ویرگول) تشکیل می شوند.

 

داده از نوع Memo (یادداشت):

از داده نوع Memo برای فیلدهایی استفاده می شود که تا 64000 کاراکتر (شامل حروف, اعداد و کارکترهای خاص) طول دارند.تعیین طول فیلدهای Memo ضروری نیست چون اکسس فقط به همان مقدار که لازم است برای آنها جا تعیین می کند. در واقع جدولهایی که فیلد Memo دارند, رکوردهایی با طول متغیر دارند, چون طول فیلد Memo در هر رکورد, با رکوردهای دیگر فرق دارد. مثال برای این نوع فیلد, فیلدی به نام "توضیحات" می تواند باشد.

توجه کنید که اگر بخواهید متون شکل بندی شده ای مانند متون واژه پردازی شده در Word را در اکسس نگه داری کنید باید از داده های نوع OLE استفاده کنید نه داده های نوع Memo.

 

داده از نوع Number (عدد):

هر داده ای از جدول را که بخواهید در محاسبات بکار ببرید, از نوع Number تعریف کنید. داده از نوع Number برای تمامی ارقام, بجز مقادیر پولی و ارقام با دقت زیاد که در محاسبات علمی بکار میرود مناسب است.(توجه کنید که از داده نوع Currency (ارز) برای ارقام پولی و دقت بالا استفاده می شود). اکسس در ارقام با دقت بالا زیاد دقیق نیست مگر اینکه از داده نوع Currency استفاده کنید.مثال برای داده های نوع Number می تواند مثلا شماره کدپستی یا شماره کارگری باشد.

 

داده از نوع Data/Time (زمان/تاریخ):

داده های از نوع تاریخ و زمان را در فیلدهایی که نوع آنها Data/Time است نگهدارید. از این نوع داده در فیلدهایی مانند تاریخ استخدام و زمان ملاقاتها استفاده می شود. وقتی فیلدهای تاریخ و زمان را از نوع Data/Time تعیین می کنید, اکسس به شما امکان مرتب کردن آنها را بر اساس تاریخ و زمان می دهد. مثلا می توانید گزارشی از تمامی کرامندانی که تاریخ شروع به کار آنها اول مهرماه 1377 بوده است و یا فهرستی از تمامی حسابهایی که بیش از 60 روز به سررسید آنها مانده را چاپ کنید.

 

فیلد داده از نوع Currency (ارز):

 

از این نوع داده ها برای نگهداری مقادیر پولی یا ارزی استفاده می شود. داده از نوع Currency, کاربر را مطمئن می سازد که مقادیر پولی/ارزی که در محاسبات بکار می روند به درستی گرد شده اند.(ولی یک مشکل کوچک در اکسس 2000 در این نوع فیلد برای ثبت نتایج به ریال وجود دارد) اکسس تمامی مقادیر پولی/ارزی را با 15 رقم در سمت چپ و چهار رقم در سمت راست نقطه اعشار(ممیز کسری) نگه می دارد, لذا می توانید اعداد با دقت بالا را در فیلدهای پولی نگه دارید. از مثالهای بارز این نوع فیلد مقدار حقوق کارمند را می توان ذکر کرد.

 

فیلد داده از نوع Auto Number (عدد خودکار):

وقتی که فیلدی را را از نوع داده Auto number تعریف می کنید, با هر رکوردی که به جدول اضافه شود اکسس بطور خودکار عددی را در این فیلد نگه می دارد.سه نوع ارقامی که اکسس در فیلد عدد خودکار نگه می دارد, عبارتند از:

----------------

اعداد متوالی: هنگامی که رکورد جدی را به جدول اضافه می کنید, اکسس رقمی متوالی را تخصیص می دهد که از 1 شروع می شود. مقادیر متوالی Auto Number معمولا برای کلید اصلی جدول بکار برده می شوند.

اعداد تصادفی: اکسس در رکورد جدید به این فیلد, عددی منحصر به فرد و تصادفی را اختصاص می دهد. اعداد شناسائی انعکاسی: اکسس مقدار منحصر به فردی را به این فیلد تخصیص می دهد که پایگاه داده های تکرار شونده را با یکدیگر هماهنگ می کند.

----------------

فیلد داده از نوع Yes/No (بلی/خیر):

فیلدی که از نوع Yes/No تعریف می شود به ازای Yes عدد 1- و به ازای No عدد 0 را دارا می شود. با استفاده از بخش Filed Properties در پنجره مذکور می توانید بسته به دلیل استفاده از فیلد, یکی از سه حالت Yes/No, True/False (درست یا غلط) یا On/Off (روشن و خاموش) را به کار ببرید. از موارد استفاده از این نوع داده می توان به متاهل بودن اشاره کرد که می تواند یا بله یا خیر را دربرگیرد.

 

فیلد داده از نوع شی OLE:

OLE مخفف Object Linking and Embedding (اتصال و نشاندن شی) است. اگر برنامه دیگری تحت ویندوز از OLE پشتیبانی کند یعنی بتواند شی قابل انتقال به برنامه دیگری را ایجاد کند آنگاه فیلد شی OLE در اکسس نیز قادر خواهد بود تا آن داده را در خود نگه دارد. فیلدهای OLE برای نگهداری اشیایی از قبیل عکس, تصاویر ویدیوئی و صدا مناسب است. (همانطور که ملاحظه می کنید, پایگاه داده اکسس علاوه بر داده های عددی و متنی می تواند انواع متنوع دیگری از داده ها را نیز نگه دارد.)

وقتی که فیلدی از نوع OLE را در جدول قرار می دهید, می توانید علاوه بر مثلا اطلاعات مربوط به اقلام موجودی, تصویر آن را نیز به شکل یک شی OLE در درون فیلد OLE قرار دهد. به این ترتیب هنگامی که رکورد را نمایش می دهید, اکسس داده های رکورد را همراه با تصویر نمایش می دهد.

برای نگهداری فیلدهای از نوع OLE در پایگاه داده اکسس به نرم افزاهای کمکی از قبیل برنامه های گرافیکی و یا صفه گسترده نیاز دارید.

 

داده از نوع Hyperlink (ابرمتن):

این نوع فیلد برای نگهداری ابرمتنها بکار می روند. اگر تا حالا تجربه کار کردن با برنامه های طراحی صفحات وب یا کارکردن با کدهای HTML را داشته باشید منظور از ابرمتنها را به خوبی می دانید. ابرمتنها در واقع لینکهای اینترنتی هستند که ما را به صفحات مختلف در اینترنت هدایت می کنند مثلا ما اگر لینکی به صورت http://www.yahoo.com داشته باشیم و برروی آن کلیک کنید ما را به صفحه یاهو خواهد برد و در واقع این نوع فیلد از انواع فیلدهایی است که به ندرت مجبور به استفاده از آن می شویم. عملکرد آنها درست مانند فیلو از نوع متن می باشد با این تفاوت که در اینجا هر متنی را که برای نگهداری تایپ کنیم در واقع آن لینکی از به یک صفحه اینترنتی.

از موارد استفاده از این فیلد می توان به نگهداری آدرسهای اینترنتی مرتبط با شرکت اشاره کرد.

 

داده از نوع Lookup Wizard (جادوگر جستجوگر):

هنگامی که فیلدی از نوع Lookup Wizard ایجاد می کنید, اکسس با بکار گرفتن جادوگری به آن امکان می دهد تا بجای یک مقدار, فهرستی از مقادیر را نگهدارد. این فیلد می تواند فهرستی از مقادیر را از یک جدول یا بازجست و یا فهرستی از مقادیر ثابتی که در هنگام ایجاد فیلد تعریف کرده اید,( برای فهرستهایی که مقادیر ثابتی دارند) باشد.

فرض کنید که شرکتی به پنج کشور کالا می فروشد. هنگام طراحی پایگاه داده می توانید با بکار انداختن Lookup Wizard, فهرست ثابتی از اسامی کشورها بسازید که در هنگام ورود داده ها به جدول, ظاهر شود.

هنگام که کاربر بخواهد کشوری را انتخاب کند به جای تایپ نام کشور برای هر رکورد فقط باید از فهرست ثابت انتخاب کند.

حال شما قادر به شناسایی انواع داده های موجود در اکسس می باشید و با نوع عملکرد آنها آشنا هستید و تا حدودی قار به ایجاد جدول هستید ولی یک نکته در اینجا باقی مانده و آن خصوصیت انواع فیلدها می باشد که موضوع درس آینده ما را تشکیل می دهد که موضوعی جالب می باشد .

 

خصوصیات فیلدها

اگر به خاطر داشته باشید در دروس قبلی شروع به طراحی پایگاه داده های خود کردیم و در مورد پنجره Design View که ما را در طراحی جداول یاری می کند به طور مفصل صحبت شد. همچنین در درس قبل در مورد انواع داده هایی که از طرف اکسس پشتیبانی می شود و شما می توانید از آنها در ایجاد جداول خود کمک بگیرید بحث کردیم. حال که ما با انواع داده ها آشنا شدیم وقت آن رسیده است که به تنظیم خصوصیات این داده ها بپردازیم و این همان موضوعی است که در این درس به آن پرداخته شده است.

 

تعریف خواص فیلد:

به محض آنکه شما نوع داده را از لیست قسمت Data Type انتخاب کردید در پایین همان پنجره قسمتی که به Field Properties مشهور است در پایین گوشه چپ نمایان می شود که در این پنجره کوچک که دارای دو شاخص General و Lookup می باشد ما اقدام به تنظیم خواص فیلد می کنیم. بسیاری از فیلدهای خواص فیلد, اختیاری است. برخی از فیلدها به هیچ فیلد خاصه ای نیاز ندارند حال آنکه برخی دیگر از فیلدها به چندین فیلد خاصه نیاز دارند. شما می توانید در شکل 101 در زیر پنجره خواص فیلد برای یک فیلد متنی را مشاهده کنید.

هر فیلدی که دارای نوع خاصی است همچنین دارای خصوصیات مربوط به خود می باشد که با خصوصیات دیگر فیلدها متفاوت می باشدمثلا در شکل بالا ما از لیست باز شده Text را که فیلد متنی ایجاد می کند را انتخاب کردیم اگر به جای آن یک نوع دیگر فیلد مانند Number (اعداد) را انتخاب می کردیم خصوصیات فیلد ما که در پایین پنجره مشخص است متفاوت از این شکل می شد یعنی فیلد متنی خصوصیات مربوط به خود را دارد و فیلد اعداد خصوصیات متمایز از فیلد متنی این موضوع در مورد انواع دیگر داده نیز صدق می کند. همانطور که برای فیلد خود نوع داده ای را انتخاب کردیم مانند Text باید برای آن خصوصیات مخصوص به خود را نیز ذکر کنیم. برای این کار می توانیم بر روی کادرهای موجود در قسمت خصوصیات فیلد کلیک کرده و مقدار مورد نظر خود را در آنها وارد کنیم که در طول این درس ما با نحوه عملکرد کادرهای خصوصیات فیلد آشنا خواهیم شد.

بخش Field properties (خصوصیات فیلد) خاصه هایی از قبیل اندازه فیلد, شکل نمایش و تعداد اعشار را مشخص می کند. هر نوع فیلد داده, مجموعه فیلدهای خاصه خودش را دارد. در زیر به ترتیب به معرفی خاصه های مختلف هریک از انواع داده می پردازیم.

 

خواص فیلد متنی:

در زیر هر یک از مقادیر خاصه های فیلد از نوع Text را تشریح کرده ام:

--------------->

Field Size(اندازه فیلد): حداکثر طول داده ای را که در فیلد قابل نگهداری است تعیین می کند مثلا اگر ما بخواهیم که کاربر در فیلد نام بیش از 15 کاراکتر قرار ندهد می توانیم با تنظیم این خصوصیت روی 15 بیش از این مقدار را قبول نکنیم.

Format(شکل): شکلی را که اکسس برای نمایش داده فیلد بکار می برد تعیین می کند. مثلا ما می توانیم در این قسمت تعیین کنیم که حرف اول فیلد ما به صورت بزرگ نشان داده شود.

Input Mask(قالب ورودی): نحوه ورود داده به فیلد را تعیین می کنیم مثلا اگر ما کد کارگری به شکل 2225-2 داشته باشیم می توانیم تعیین کنیم که کاربر به هنگام وارد کردن کد در این قسمت حتما باید در دومین کاراکتر خط فاصله قرار دهد.

Caption(عنوان): پیامی است که در هنگام انتخاب فیلد در حالت نمایش Datasheet در میله وضعیت نمایش داده می شود.

Value Default(مقدار پیش فرض):مقداری است که کاربر همواره در فیلد مشاهده می کند مگر آنکه آن را تغییر دهد مثلا در فیلد جنسیت می توان نام مرد را همواره برای کاربر نشان داد و اگر کاربر مایل باشد می تواند آن را تغییر دهد و یا آنرا به صورت پیش فرض قبول کند.

Validation Rule(قاعده مقبولیت): مقادیری که کاربر در فیلد وارد می کند را محدود می سازد (در این مورد در دروس آتی بیشتر صحبت می کنیم)

Validation text(متن مقبولیت):پیام خطایی است که در صورتیکه کاربر اقدام به ورود مقداری کند که قاعده مقبولیت را نقض کند نمایش داده می شود.

Required(ضرورت):مشخص می کند که آیا کاربر می تواند در هنگام ورود داده در جدول این فیلد را خالی رد کند یا حتما باید مقداری در آن وارد کند مثلا اگر کاربر فیلد که کلید اصلی می باشد خالی رد کند برنامه با مشکل روبرو می شود.

Allow Zero Length(مجاز بودن طول صفر): مشخص می کند که آیا متنی با طول صفر در فیلد قابل قبول است یا نه.

Indexed(نیاز به ایجاد اندیکس):مشخص می کند که آیا فیلد به اندیکس نیاز دارد یا نه. فیلد اندیکس مرتب کردن و جستجو را تسریع می کند.

Unicode Compression(فشرده سازی یونیکد): در این قسمت تعیین می کنیم که مایلیم فیلد ما با استفاده از سیستم Unicode فشرده سازی شود که این گزینه برای قابلیت فارسی نویسی در اکسس مفید می باشد.(در مورد سیستم Unicode می توانید به دروس HTML در همین سایت مراجعه کنید).

---------------

توجه: هنگامی که خاصه اندازه فیلد را معین می کنید, آنرا بزرگتر از آنچه واقعا نیاز دارید قرار ندهید. اکسس فضای تخصیص یافته را بر مبنای این مقدار تعیین می کند, صرفنظر از اینکه طول به کار گرفته شود یا خیر. در صورت بزرگتر گرفتن آن , فضای دیسک بیهوده اشغال می شود.

فیلدهای Format(شکل) و Input Mask(قالب ورودی) پیچیده ترین خاصه های هر فیلد هستند. به عبارت دیگر, هنگامی که نحوه نمایش و ورود داده با استفاده از این خاصه ها را یاد می گیرید چنان است که گویی زبان جدیدی را فرامی گیرید. اینکه اکسس چگونه داده های وارد شده در فیلد را نمایش دهد, توسط فیلد خاصه Format تعیین می شود و خاصه Input Mask چگونگی ورود داده در فیلد را تعیین می کند.

در زیر مقادیری را که شما می توانید در فیلد خصوصیت شکل Format وارد کنید تشریح شده اند که به وسیله آنها می توانید نحوه نمایش داده ها را تعیین کنید:

--------------->

! : برخلاف پیش فرض تراز از سمت راست, داده های درون فیلد را تراز به سمت چپ می کند.

* : در این مکان از فیلد کاراکتری باید قرار گیرد.

& : در این مکان از فیلد وجود کاراکتر دلخواه است. (الزامی نیست)

< : در این مکان از فیلد کاراکتر به حروف کوچک تبدیل می شود.

> : در این مکان از فیلد کاراکتر به حروف بزرگتر تبدیل می شود.

: بجای اینکه کاراکتر بعدی را حرفی در نظر گیرد, آنرا بعنوان کد شکل در نظر می گیرد. (برای نمایش * مفید است, در غیر اینصورت اکسس ستاره به عنوان کاراکتر علامت محل فیلد در نظر می گیرد.)

--------------

مثال: بنابراین اگر خاصه format فیلدی را &>&&&&& تعیین کنید و نخستین رکورد جدول بصورت lw3dp2 باشد اکسس آنرا به lw3dP2 تبدیل می کند (کاراکتر > حرف P را به صورت حرف بزرگ P نشان می دهد).

در زیر هم به معرفی مقادیری که شما می توانید در خاصه Input Mask قرار دهید ذکر شده اند:

------------->

0 : در این مکان از فیلد عدد باید باشد.

9 : در این مکان از فیلد عدد یا فاصله باید باشد.

# : در این مکان از فیلد عدد, علامت مثبت, علامت منفی یا فاصله می تواند قرار گیرد.

1 : در این مکان از فیلد باید یک حرف الفبایی باشد.

؟ : در این مکان از فیلد هر حرف الفبایی به دلخواه می تواند باشد.

A : در این مکان از فیلد باید یک حرف یا یک عدد باشد.

a : در این مکان از فیلد به دلخواه یک حرف یا عدد می تواند قرار گیرد.

& : در این مکان از فیلد باید یک کاراکتر یا فاصله قرار گیرد.

c : در این مکان از فیلد یک کاراکتر دلخواه قرار می گیرد.

> : کاراکتر در این محل به حرف بزرگ تبدیل می شود.

< : کاراکتر در این محل به حرف کوچک نبدیل می شود.

! : باعث می شود تا کاراکترهای ورودی در فیلد به جای آنچه از سمت راست شروع شوند, از سمت چپ شروع شوند.

: بجای اینکه کاراکتر بعدی را حرفی در نظر بگیرد آنرا به عنوان کد شکل در نظر می گیرد (برای نمایش کاراکترهای مانند * و ! مناسب است.)

--------------

مثال: بنابراین اگر خصوصیت شکل فیلدی را 0000-000(9999) تعریف کنید اکسس کاربر را مجبور خواهد کرد تا شماره تلفن را به شکل ده رقمی وارد کند.

 

خواص فیلد Memo:

داده از نوع Memo (یادداشت) مقادیر خاصه های فیلد زیر را نیز داراست, که تمامی آنها در بالا بخش مربوط به فیلد Text تشریح شدند پس فقط به ذکر آنها بسنده کرده و آنها را توضیح نمی دهیم:

Format (شکل), Caption(عنوان), Default Value(مقدار پیش فرض), Validation Rule(قاعده مقبولیت), Validation Text(متن مقبولیت), Required(لازم بودن), Allow Zero Length(مجاز بودن طول صفر), Unicode Compression(فشرده سازی یونیکد).

به عبارت دیگر اگر فیلدی از نوع Memo داشته باشید می توانید درست مشابه فیلد متن شکل, عنوان و سایر خصوصیات آنرا را تعریف کنید.

 

خواص فیلد عددی:

در زیر مقادیر خاصه های فیلد از نوع Number تشریح شده است( به خاطر تکرار نکردن آنچه قبلا ذکر شد آنهایی که مشابه فیلد از نوع Text می باشند ذکر نشده اند تا فقط موارد جدید به اطلاع شما برسند):

------------->

Field Size(اندازه فیلد):اگر فیلدی از نوع عدد داشته باشید و بخواهیم اندازه فیلد را در خصوصیات آنرا تعریف کنید شما می توانید از لیست موجود در این قسمت یکی را انتخاب کنید که هر کدام را عناصر لیست را با نوع کاربرد آنرا ذکر می کنیم: Byte(برای نگهداری یک عدد کوچک بین 0 تا 255), Integer(یک عدد بزرگتر تا 32767), Long Integer(یک عدد باز هم بزرگتر تا 2/1 میلیون), Single(عدد اعشاری), Double(عدد اعشاری با دقت زیاد), Replication ID( یک مقدار عدد شناسائی انعکاسی برای هماهنگ کردن چندین جدول پایگاه داده), Decimal(برای اعدادبر مبنای دسیمال).

Format(شکل): در این بخش از خصوصیات هم باید یکی از موارد موجود در لیست را انتخاب کنید که به ذکر آنها بسنده می کنیم: General Number(برای مقادیر معمولی), Currency(برای مقادیر پولی), Euro(برای مقادیری با واحد پول یورو), Fixed(همواره باید یک رقم اعشار داشته باشد), Standard(که در اعداد بزرگ ویرگول نشان می دهد), Percent(برای نمایش ارقام درصدی همراه با علامت درصد),Scientific(برای نمایش ارقام علمی).

Decimal Places(ارقام اعشار): تعداد ارقام اعشاری که برای یک مقدار نشان داده می شود.

-------------

دیگر موارد موجود در خصوصیات فیلد از نوع عدد تکراری بوده و انها را می توانید مانند فیلد از نوع متن تنظیم کنید.

اگر داده ای که در فیلد وارد می کنید بزرگتر از نوع داده انتخابی باشد, اکسس پیام خطایی مبنی بر وجود مشکل را نمایش می دهد.

 

خواص فیلد تاریخ/زمان:

 

در زیر به تشریح هر یک از مقادیر خاصه های فیلد تاریخ/زمان می پردازیم توجه کنید که از ذکر موارد تکراری اجتناب شده است.

------------>

Format(شکل): در این بخش از خصوصیات باید از لیست موجود یکی را به دلخواه و نحوه عملکرد برنامه انتخاب کنید: General Data (برای تاریخ به شکل 1382/4/20 و زمان به شکل 3:12:2 عصر ), Long Data(برای نشان داده تاریخ به شکل بلند که در آن نام ماه ذکر شده است), Medium Data(برای نشان دادن تاریخ به شکل 82-مرداد-20), Short Data(برای نشان دادن تاریخ به شکل معمول و کوچک), Long Time(برای نشان دادن زمان به شکل 3:12:2 عصر ), Medium Time:(برای نشان داده زمان به شکل 3:12 عصر ), Short Time(برای نشان دادن زمان به صورت 3:12).

------------

دیگر موارد و خصوصیات موجود در این نوع داده مانند داده از نوع Text می باشد.

توجه: اگر هیچ یک از اشکال دقیقا آنچه لازم دارید نبود, می توانید شکل مورد نظر خود را, با کاراکترهای خاص بسازید که این مبحث یک مبحث طولانی می باشد در برنامه ما نمی گنجد شما می تواند برای اینکار از Help بهره بگیرید.

 

خواص فیلد Currency (ارز/پول):

این نوع از فیلد در واقع زیرمجموعه ای از داده نوع عدد می باشد که خصوصیات آن مانند داده از نوع عدد می باشد ولی باید برای ایجاد داده از نوع ارز از قسمت Format مورد Currency انتخاب شود.

 

خواص فیلد از نوع Auto Number(عدد خودکار):

در زیر هر یک از موارد و خصوصیات داده از نوع عدد خودکار شرح داده شده است:

------------>

Fielg Size(اندازه فیلد): اگر می خواهید به صورت پیش فرض از این نوع داده استفاده کنید از لیت باز شده Long Integer را انتخاب کنید ولی اگر می خواهید از پایگاه داده تکرار شونده استفاده شود باید Replication ID انتخاب شود.

New Values(مقادیر جدید): باید تعیین کنید که اکسس اعدادی را که در این فیلد قرار می دهد از نوع Increment(به صورت افزایشی) یا از نوع Random(به صورت تصادفی) باشد.

Format(شکل): لیست موجود در این بخش از خصوصیات فیلد درست مانند داده از نوع عدد می باشد که می توانید مانند آن یکی از مقدارهای موجود را انتخاب کنید.)

------------

دیگر خصوصیات موجود در این نوع داده در بالا ذکر شده که از تکرار کردن آنها اجتناب می کنیم.

 

خواص فیلد Yes/No(بلی/خیر):

هر یک از خصوصیات این فیلد در زیر تشریح شده است و طبق معمول از تکرار اجتناب کرده ایم:

----------->

Format(شکل): برای اینکه نحوه نمایش فیلد برای اکسس مشخص شود یکی از حالات Yes/No(بلی یا خیر), True/False(درست/غلط), On/Off(روشن/خاموش) را می توانید انتخاب کنید.

-----------

 

خواص فیلد شی OLE :

خواص موجود در این نوع از فیلد که دو مورد می باشد در قسمتهای دیگر این درس ذکر شده که بسیار ساده و پیش پا افتاده می باشد.

 

خواص فیلد از نوع Hyperlink(ابرمتن):

 

خاصیتهای موجود برای این نوع از داده همانند خواص موجود برای داده از نوع Text(متن) می باشد که من ضرورتی در تکرار موارد ساده ای مانند این نمی بینم.

 

خواص فیلد Lookup Wizard(جادوگر جستجوگر):

داده از نوع Lookwizard جادوگری را به کار می اندازد که شما با طی مراحل این جادوگر و انتخاب جدول و فیلدهای جدولهایی که انتخاب کرده اید و می خواهید داده ها از آنها استخراج شده و در مقابل کاربر نشان داده شود خصوصیات متفاوتی را برای شما نمایان می کند.(توجه کنید که برای استفاده از جادوگر جستجو قبلا باید جدولی داشته باشید که داده ها از آن استخراج شده و در این قسمت قرار داده شود پس اول جدولی حاوی داده هایی که می خواهید در لیست قرار داده شود ایجاد کرده وسپس از جادوگر استفاده کنید). بعد از طی مراحل جادوگر و ایجاد آن شما می توانید بر روی شاخص Lookup موجود در قسمت خصوصیات فیلد کلیک کرده تا خصوصیات مربوط به جادوگر طراحی شده برای شما نمایان شود در زیر هر یک از این خصوصیات موجود تشریح شده است:

----------->

Display Control(کنترل نمایش داده شده): این خاصه مشخص می کند که در هنگام دریافت اطلاعات در حالت نمایشی Datasheet چه کنترلی در این فیلد اعمال شود لیست موجود در این قسمت حاوی Text Box(جعبه متن), List Box(جعبه لیست شده), Combo Box(جعبه ترکیب) می باشد.

Row Source Type(نوع ماخذ سطر):مشخص کننده جایی است که داده از آن منشا می گیرد. گزینه های ممکن عبارتند از Table/Query(جدول یا بازجست), Value List( داده هایی که وارد می کنید), Field list(فهرستی از فیلدهای یک جدول یا جستجو).

Row Source(ماخذ سطر): می تواند یک جدول یا بازجست یا معمولا یم عبارت SQL باشد. از شنیدن عبارت SQL مضطرب نشوید نمایشش شاید به چشم گیج کننده برسد اما در واقع همان چیزی است که هنگام ایجاد بازجست آنرا می سازید. پس زیاد این قسمت از خصوصیات را دستکاری نکنید تا با آن بیشتر آشنا شوید.

Bound Column(ستون مقید): ستونی از List Box یا Combo Box است که قبلا انتخاب شده است و این فیلد داده های نمایش را از آن برمی دارد.

Column Count(تعداد ستونها): تعداد ستونهای ماخذ سطری است که می خواهید نمایش داده شود.

Column Heads(عناوین ستونها): تعیین می کند که آیا برای ستونها عنوانی نیز نمایش داده شود یا نه.

Column width(پهنای ستونها): پهنای هر یک از ستونها را بر حسب سانتیمتر نشان می دهد که با ویرگول از هم جدا شده اند.

List Rows(تعداد سطور فهرست): این خصوصیت همانطور که از نامش پیدا است تعداد ستونها نمایش داده شده را تعیین می کند.

List Width(پهنای فهرست): پهنای کلی Combo Box یا List Box را مشخص می کند.

Limit to list(محدود به فهرست): مشخص می کند که آیا کاربر باید از فهرست انتخاب کند یا این که می تواند مقادیر مورد نظرش را نیز وارد کند.

----------

Lookup Wizard قابلیتی جالب است, این قابلیت ابزار قدرتمند و سودمندی است. هر چند تا زمانی که قدری با اکسس کار نکنید از این فهرستها در جدول استفاده نخواهید کرد, لیکن هنگامی که آماده استفاده از آن شدید متوجه خواهید شد که کار با آنها ساده است.

 

خواص جستجو:

در قسمت خصوصیات فیلد سربرگ دیگری به نام Lookup وجود دارد که آنرا می توانید برای بعضی از نوع داده ها تنظیم کنید نه برای همه و کار با این سربرگ بسیار ساده و راحت است و تمامی موارد موجود در آن را توضیح داده ایم وشما در کار کردن با آن که بسیار کم به آن احتیاج خواهید داشت مشکلی نخواهید داشت.

 

ذخیره کردن جدول:

در هنگام طراحی جدول حتما به خاطر داشته باشید که کلید اصلی را در آن ایجاد کنید یا به عبارت دیگر بهتر است قبل از هر کاری کلید اصلی را در ابتدای جدول ایجاد کنید.

اما بعد از اینکه جدول خود را به طور کامل تعریف کردیدباید آنرا ذخیره کنید. برای این کار می توانید با زدن علامت ضربدر گوشه سمت راست بالا جدول اقدام به بستن جدول کنید و هنگام سوال کردن از شما مبنی بر ذخیره جدول آنرا تائید کرده و نامی را که در نظر دارید به جدول خود اختصاص دهید. پس از این کار جدول بسته خواهد شد و نام آنرا می توانید در میان فهرست جداول موجود ببینید.

حالا شما قادر به طراحی جداول می باشید هرچند که پیچیده باشند و به مرور زمان در این کار استاد خواهید شد. حال که شما می توانید اولین شی موجود در پایگاه داده خود را ایجاد کنید پس اقدام به اینکار کرده و چندین جدول را برای برنامه خود ایجاد کنید کار زیبا و لذت آوری است. در درس آتی به نحوه وارد کردن داده های در جدول ایجاد شده خواهیم پرداخت پس تا درس آتی جداول خود را ایجاد کرده باشید تا در وارد کردن داده ها دچار مشکل خاصی نشوید.

 

ورود داده‌ها به جدول

حال که در سه درس قبلی با طراحی جداول در اکسس آشنا شدید و موفق شدید که اولین جدول خود را طراحی و در پایگاه داده قرار دهید موقع آن رسیده است که از جداول طراحی شده توسط خودتان استفاده کامل را ببرید یعنی داده ها خود را برای نگهداری و انجام عملیات در جداول خود وارد کنید و این موضوع یعنی وارد کردن داده ها در جدول و اصلاحات در آنها موضوع درس این جلسه می باشد.

در ادامه این درس به بررسی راه کارهای موجود برای وارد کردن اطلاعات در جدول های طراحی شده خواهیم پرداخت. شاید ساده ترین و پرکاربردترین راه برای ورود داده ها, استفاده از حالت نمایشی Datasheet یا صفحه گسترده باشد.اگر تا به حال تجربه کارکردن با برنامه هایی مانند Microsoft Excel را داشته باشید حتما تشابه بسیار بین این برنامه و حالت نمایشی Datasheet خواهید دید. با استفاده از حالت نمایشی Datasheet به راحتی می توانید مقادیر را در سطرها (رکوردها) و ستونهای (فیلدها) جدول وارد کنید.در این حالت نمایشی با ورود مقادیر در سطرها و ستونها در واقع رکوردها و فیلدهای جدول را پر می کنید. علاوه بر ورود داده های جدید هنگامی که خطایی در داده وارد شده مشاهده کنید یا وقتی بخواهید مقادیر را تغییر دهید با ید داده های موجود را اصلاح کنید. اکسس برای جستجو و اصلاح محتوای جدول ها, در حالت نمایشی Datasheet ابزارهای اصلاحی متعددی دارد. حالت نمایشی Datasheet علاوه بر ورود و اصلاح داده ها, می تواند در میان داده های مورد نظر جستجو کند.

 

مقدمات جهت افزودن داده ها به جدول :

هنگامی که با استفاده از حالت Design جدولی ایجاد کردید برای ورود داده ها به آن آمادگی خواهید داشت. پس اگر جدولی طراحی نکرده اید یک جدول طراحی کنید و اگر جدولی از پیش طراحی شده دارید مراحل زیر را طی کنید:

1) از لیست جدولهای موجود جدولی را که می خواهید داده ها را در آن وارد کنید انتخاب کنید, برای اینکار کافی است بر روی نام جدول موردنظر یک بار کلیک کنید.

2)برای باز کردن جدول روی کلید Open کلیک کنید. اکسس جدول را در حالت نمایشی Datasheet نمایش می دهد. اگر اولین دفعه باشد که اقدام به وارد کردن داده در جدول موردنظر می کنید جدول به صورت خالی ظاهر می شود ولی اگر داده ای قبلا در آن وارد کرده باشید داده های موجود نیز نشان داده خواهند شد. توجه: اگر قصد داشته باشید که تغییری در ساختار جدول ایجاد کنید باید بر روی دکمه Design کلیک کنید تا بتوانید قسمتهای موردنظر خود را تغییر داده یا فیلدهای جدید خود را به آن اضافه کنید( در این مورد به صورت مفصل قبلا صحبت کرده ایم)

هنگامی که برای اولین بار حالت نمایشی Datasheet ظاهر می شود, اکسس نشانگر را در ابتدای نخستین فیلد در نخستین رکورد قرار می دهد.

 

ورود داده ها در جدول :

به طور حتم تا حالا متوجه شده اید که برای وارد کردن داده ها در جدول به مهارت خاصی نیاز ندارید. شروع به وارد کردن نخستین مقدار در جدول کنید تا اکسس آنرا از شما قبول کند. با استفاده از تمامی کلیدهای صفحه کلید می توانید به راحتی داده ها را در جدول وارد کرده و بین فیلدها و رکوردهای مختلف گشت بزنید.

توجه: اگر برای فیلدی خصوصیات ویژه ای را تعریف کرده باشید باید مطابق با آن عمل کنید. مثلا اگر طول فیلی را 12 کاراکتر تعیین کرده باشید, اکسس فقط امکان ورود 12 کاراکتر را به شما خواهد داد. اگر توجه کرده باشید متوجه می شوید که هنگامی که شما شروع به وارد کردن اولین مقدار در نخستین فیلد رکورد کردید, اکسس به طور خودکار رکورد خالی بعدی را ایجاد می کند. بدین ترتیب می توانید پس از اتمام ورود داده در اولین رکورد به رکورد بعدی بروید. همچنین اگر دقت کنید ستاره ای را در ابتدای رکورد خالی می بینید این ستاره به این معنا است که رکورد جدید بوده و خالی نمی باشد. اگر در این رکورد جدید داده ای وارد نکنید اکسس آن را در جدول ذخیره نخواهد کرد.

یکی از راههای متداول حدکت کردن در بین فیلدهای جدول استفاده از کلید Tab است اگر کلید Tab را فشار بدهید به فیلد بعدی موجود در جدول می روید و همچنین اگر Shift+Tab را فشار دهید به فیلد قبلی موجود در جدول هدایت خواهید شد. همچنین می توانید با اشاره گر ماوس بر روی فیلد مورد نظر کلیک کرده و اقدام به ورود داده کنید.

همواره نیم نگاهی هم به میله وضعیت در پایین پنجره حالت نمایشی Datasheet داشته باشید. وقتی که داده ها را در فیلدهای جدولی وارد می کنید میله وضعیت توضیحی در باره آن فیلد می دهد. در واقع این توضیح همان توضیحی است که شما در هنگام طراحی جدول در قسمت Description (شرح) فیلد واردکرده اید و حال برای اطلاع کاربر در میله وضعیت نشان داده می شود. مثلا اگر در قسمت Description فیلد نام متن "نام کامل خود را وارد کنید" را وارد کرده باشید هنگامی که کاربر می خواهد این فیلد را در جدول پر کند در میله وضعیت عبارت "نام کامل خود را وارد کنید" را می بیند.

توجه: در ابتدای رکوردی که در حال ورود داده یا اصلاح آن هستید شکلک مداد نمایش داده می شود.

توجه کنید هنگامی که تمامی فیلدهای یک رکورد را پر کردید و به رکورد بعدی رفتید اکسس به طور خودکار رکورد را ذخیره می کند. در این صورت در صورت به وجود آمدن اتفاق غیر قابل پیش بینی شما حداقل اطلاعات را از دست خواهید داد. ولی چنانچه مایل هستید به صورت دستی در میانهای وارد کردن داده ها در یک رکورد آن رکورد را ذخیره کنید می توانید از کلیدهای Shift+Enter استفاده کنید.

 

اصلاح فیلدهای جدول :

در اکسس تغییر داده های وارد شده بسیار آسان است. فقط کافی است که با استفاده از کلیدهای Tab و Shift+Tab یا با بهره گیری از ماوس به فیلد مورد نظر خود بروید تا اکسس تمامی محتویات آن فیلد را به صورت پر رنگ درآورد.حال می توانید اقدام به ورود داده جدید در آن فیلد بکنید. فقط دقت کنید چون تمامی محتویات فیلد به حالت پررنگ است داده جدید جایگزین آنها خواهد شد.

توجه: اکسس در ابتدای رکوردی که در حال اصلاح است علامت فلش را قرار می دهد. در واقع سه علامت مداد(ورود داده), فلش(اصلاح داده) و ستاره(رکورد جدید)علامتهای متداول جدول است.

اگر قصد ندارید که تمامی محتویات فیلد را پاک کنید کافی است کلید F2 را فشار دهید تا داده از حالت پر رنگ خارج شود. بدین ترتیب داده جدید به داده قبلی در همان فیلد اضافه می شود.در واقع با زدن کلید F2 به حالت اصلاح وارد می شوید.البته توجه کنید که با استفاده از ماوس می توانید در هرجایی از فیلد تغییرات لازم را بدهید و استفاده از ماوس در این کارها به مراتب راحتتر از صفحه کلید است.

در اینجا ذکر این نکته را ضروری می بینم شما می توانید از کلیدهای صفحه کلید تمامی بهره را ببرید و همه کلیدها به طوری که در برنامه های دیگر مانند ورد عمل می کنند در اینجا نیز عمل خواهند کرد. همچنین شما می توانید با انتخاب گزینه های Copy و Paste از منو Edit محتوای یک فیلد را در فیلد دیگری کپی کنید این عمل درست مانند عمل کپی و الصاق در برنامه های واژه پرداز مانند Word می باشد و عملکرد آن بسیار ساده و آسان است.

 

استفاده از میله ابزار حالت نمایشی Datasheet

هنگام استفاده از حالت نمایشی Datasheet میله ابزار می تواند بسیار سودمند باشد. همانطور که چندین بار نیز گفته ام اکسس در انجام فعالیتهای مختلف میله ابزار را تغییر می دهد. در شکل 111 در زیر شما می توانید با میله ابزار این پنجره آشنا شوید. حتما سعی کنید تمامی امکانات میله ابزار را به خاطر بسپارید که در مواقعی به آنها احتیاج خواهید داشت.یکی از کاربردهای مفید میله ابزار دکمه view اولین دکمه موجود در این میله است که با فشار دادن آن می توانید در بین حالتهای نمایشی Datasheet و Design حرکت کنید.

 

 

 

کنترل بر روی رکوردهای زیاد:

فرض کنید بخواهید به جدولی که قبلا چند صد رکورد وارد آن شده, رکوردهای جدید را اضافه کنید.ممکن است رکوردهای جدید شما را گیج کنند و یا تشخیص رکوردهای جدید دشوار باشد.قبل از ورود رکوردهای جدید می توانید تمامی رکوردهای پیشین را مخفی کنید.برای این کار کافی است از منو Records گزینه Data Entry را انتخاب کنید اکسس بجز رکوردهایی که به تازگی وارد شده, باقی را از دید شما پنهان می کند. در این هنگام وقتی شما داده های جدید را وارد می کنید اکسس فقط رکوردهای جدیدی را که وارد کرده اید نمایش می دهد.در واقع تمامی رکوردها در جدول وجود دارند ولی اکسس آنها را پنهان می کند. برای بازگشت به وضعیت نمایش تمامی رکوردها می توانید از منو Records گزینه Remove File/Sort را انتخاب کنید. در این صورت اکسس تمامی رکوردهای جدول را نشان می دهد.

جدولهای پایگاه داده ممکن است بسیار بزرگ باشد مثلا ممکن است در انبار یک شرکت صدها جنس وجود داشته باشد که در پایگاه داده ثبت شده اند.

برای حرکت در جدولهای بزرگ بجای استفاده از کلیدهای صفحه کلید می توانید از منو Edit گزینه Goto را انتخاب کنیدتا لیستی باز شود که به شما امکان رفتن به اولین رکورد, آخرین رکورد, رکورد قبلی یا بعدی در جدول را می دهد.همچنین اگر از لیست باز شده گزینه New را انتخاب کنید اکسس یک راست به رکورد جدیدی در انتهای جدول می رود. در واقع این لیست Goto درست مانند دکمه های حرکت در زیر پنجره Datasheet است که قبلا درباره آنها صحبت کردیم. در این دکمه شما می توانید با تایپ شماره رکورد مورد نظر یک راست به آن رکورد بروید. مثلا اگر در جدولی قصد رفتن به رکورد 1363 را دارید کافی است کلید F5 را فشار داده و عدد 1365 را وارد کنید تا اکسس به آن رکورد رجوع کند.(البته در درس آتی جستجوی داده های معین توضیح داده خواهد شد)

حتما همگی با کاربرد دکمه Undo آشنا هستید در واقع این دکمه زمانی به کار می رود که هنگام وارد کردن داده در یک فیلد متوجه شدید که اشتباهی رخ داده است و قصد دارید داده های قبلی فیلد به آن بازگردند با زدن دکمه Undo(بازگرداندن) از میله ابزار یا فشار کلید Esc از صفحه کلید این عمل به راحتی انجام می شود.

 

ورود داده های غیر متنی:

در اکثر فیلدهای پایگاه داده شما نوع داده ذخیره شده در آن را قبلا در طراحی جدول تعیین کرده اید مثلا فیلدی را از نوع متن و دیگری را از نوع عدد تعیین کرده اید اگر در هنگام ورود داده مثلا در فیلدی از نوع عدد بخواهید متن وارد کنید اکسس پیغام خطایی به شما نشان می دهد و اجازه این کار به شما داده نخواهد شد. درست است که تعداد فیلدهایی که به غیر از نوع متن و عدد هستند بسیار کم است ولی به هرحال ما مجبور به استفاده از آنها هستیم بعضی از این انواع داده ها روشی خاصی را برای وارد کردن داده می طلبند که به آنها می پرازیم:

 

ورود داده در فیلدی از نوع Memo :

همانطور که در دروس پیش نیز ذکر شد داده از نوع Memo نسبت به داده از نوع متن می تواند مقدار کاراکتر بیشتری را در خود نگهداری کند یعنی چیزی حدود 64000 کاراکتر. اکسس برای کار با این متن بزرگتر ابزار خاصی را در نظر گرفته است.

توجه: در حالت نمایشی Datasheet ابزارهای ورود داده برای فیلدهای از نوع Memo ضعیف است. فرمها و پنجره های محاوره(درون برنامه), قابلیتهای بهتری برای این کار فراهم می کنند.

معمولا در هنگامی که در یک فیلد از نوع Memo قصد ورود داده ای را داشته باشیم روی آن Zoom می کنیم برای این کار کافی از کلیدهای shift+F2 را فشار دهید.

کارکرد این پنجره zoom به طرز خاصی تعجب آور است مثلا اگر شما بخواهید پس از پایان یک پاراگراف در فیلد Memo یک پاراگراف دیگر را شروع به تایپ کنیدباید به جای Enter کلیدهای ctrl+Enter را فشار دهید. تا اکسس نشانگر را به خط جدید ببرد.

اگر برای ورود داده ها از فرم استفاده کنید فرم قادر خواهد بود تا تمامی فیلد Memo را در یک لحظه نمایش دهد و به شما امکان می دهد تا به راحتی و بسیار طبیعی تر در فیلد از نوع Memo گردش کنید.(البته بعدا در مورد فرمها به طور مفصل صحبت خواهیم کرد.)

 

ورود داده در فیلدی از نوع Data/Time (تاریخ/زمان):

در ورود داده در این نوع فیلد باید توجه کنید که شما در هنگام ایجاد پایگاه داده برای ورود داده در این فیلد چه شکلی را انتخاب کرده اید پس باید بر اساس همان شکل انتخابی داده ها را وارد کنید. واضح است که در این نوع فیلدها هم تاریخ و هم زمان را می توانید وارد کنید یا یکی را وارد کنید. برای درج تاریخ سیستمی خود در این نوع فیلد (یعنی تاریخ حال) کافی است دکمه های ;+Ctrl را فشار دهید تا تاریخ موجود در سیستم در فیلد وارد شود.

 

ورود داده در فیلدی از نوع Yes/No (بلی/خیر):

اگر داده ای از نوع Yes/No در جدول خود داشته باشید به جای آن یک جعبه انتخابی را خواهید دید که اگر جعبه را انتخاب کنید در واقع Yes و اگر انتخاب نکنید در واقع No را برگزیده اید. برای انتخاب جعبه های انتخابی یا باید از ماوس استفاده کنید یا اینکه کلید SpaceBar را از صفحه کلید فشار دهید.

 

ورود داده در فیلدی از نوع OLE:

اگر بخواهید داده های نرم افزارهای دیگر را در اکسس ذخیره کنید (مانند عکس,صوت,فیلم و غیره) باید داده ای از نوع OLE ایجاد کرده باشید نحوه ایجاد این نوع داده در دروس پیش گفته شده است. برای وارد کردن این نوع داده نمی توانید از صفحه کلید استفاده کنید پس باید روش مخصوصی را طی کنید. برای قرار دادن شی از نوع OLE ابتدا باید مکان شی OLE را با استفاده از ماوس در جدول انتخاب کنید بعد از منو Insert گزینه Object را انتخاب کنید تا پنجره ای مانند شکل 112 در زیر باز شود. این پنجره راه ورود داده های دیگر در اکسس است.

 

 

 

در این پنجره دو انتخاب وجود دارد یکی استفاده از نرم افزارهای گوناگون برای ایجاد فایل مورد نظر(Create New) و دیگری استفاده از فایلهایی که قبلا ایجاد و روی هارد ذخیره شده اند(Create form file). اگر از حالت اول استفاده کنید یعنی قصد داشته باشید با استفاده از نرم افزاری دیگر اقدام به ایجاد فایل خود کنید با انتخاب گزینه Create Now از لیست کناری آن نرم افزار مورد نظر خود را انتخاب کنید و بر روی OK کلیک کنید تا نرم افزار باز شود و شی جدید ایجاد گردد.(مانند استفاده از نرم افزار Photoshop برای ذخیره یک فایل فوتوشاپ در پایگاه داده)

ولی اگر حالت دوم را مورد استفاده قرار می دهیدهرچند که پیشنهاد من استفاده از مورد قبل است باید گزینه Create form file را انتخاب کنید تا کادری در مقابل شما ایجاد شود. با کلیک روی دکمه Browse اقدام به انتخاب فایل موردنظر کنید. توجه کنید که اکسس نمی تواند در حالت نمایشی Datasheet شی از نوع OLE را نمایش دهد و فقط به ذکر یک نام در مورد آن بسنده می کند مانند Bitmap Image ولی با استفاده از فرمها یا گزارشها می توان موضوع OLE را نمایش داد.

 

Medium (Media) Blog جوملا! دانلود قالب رايگان Desert (صحرا) براي وبلاگ بلاگفا
 
 
 |    نوشته شده توسط امین
 
 
   
 
 
 
همان طور که اطلاع دارید ، شرکت مخابرات ایران ، خدمات رایگان متنوعی را برای کاربران تلفن های ثابت در نظر گرفته است. اما بسیاری از مردم از این خدمات و نحوه فعال سازی آنها بی خبرند. در این ترفند قصد داریم تمامی این خدمات را معرفی کرده و کدهای فعال سازی هر یک را معرفی کنیم. این خدمات عبارتند از : انتقال مكالمه ، انتظار مكالمه ، شماره‌گيري سريع ، مكالمه از خط اشغال به خطوط ديگر ، سرويس بيدار باش ، سرويس نمايشگر شماره CallerID و دایورت بعد از 5 زنگ.


1- انتقال مكالمه یا دایورت کردن ( Call diverting ) :
با اين سرويس مي‌توانيد هنگامي كه با تلفن شما تماس گرفته مي‌شود مكالمه را به يك خط ديگر ثابت يا همراه منتقل كنيد و عمل دایورت کردن را انجام دهید. اين سرويس با هر دستگاه تلفن دكمه‌اي مجهز به سيستم تن انجام شدني است.
برای این کار شما باید کد زیر را در دستگاه تلفن وارد کنید:
# شماره مورد نظر*21*
بعد از زدن این کد صدایی که میشنوید فرق خواهد کرد ، این یعنی اینکه خط شما دایورت شده است.
برای غیر فعال کردن این سرویس باید باز گوشی رو بردارید (در این حالت باز همان صدای مخصوص شنیده میشود) و بعد عدد #21# را وارد کنید.
در صورتی که مجدد صدای بوق مخصوص را شنیدید ، گوشی را قطع کرده و مجدد روشن کنید. در این حالت خط شما کاملا از حالت دایورت خارج شده است.

2- سرويس انتظار مكالمه یا پشت خطی ( Call waiting ) :
هنگام مكالمه شخص ديگري به شما تلفن مي‌زند صداي بوق ضعيفي به گوشتان مي‌رسد و شما را آگاه مي‌كند شما مي‌توانيد با كمك اين سرويس مكالمه اول خود را موقتاً قطع و با شخص ثالث صحيح كنيد پس از خاتمه ي مكالمه يا در حين مكالمه مي‌توانيد مجدداً با شخص اول به صحبت خود ادامه دهيد.
برای استفاده از این سرویس شما باید بهنگام شنیدن صدای بوق ضعیف با فشار دادن دکمه "Flash" در تلفنهای دیجیتال و با "قطع و وصل کردن" در تلفنهای آنالوگ با نفر سوم تماس برقرار کنید..
برای بازگشت به گفتگوی اول میتوانید همین کار را تکرار کنید.

3- شماره‌گيري سريع ( Speed dealing ):
براي اجتناب از وقوع اشتباه در شماره‌گيري و صرفه جويي در وقت با دادن شماره های دو رقمی به حافظه مخابرات میتونید از این سیستم بهره ببرید. اين سرويس با هر دستگاه تلفن دكمه‌اي مجهز به سيستم تن انجام شدني است.
برای استفاده از این امکان باید دستور زیر رو بکار ببرید :
برای ایجاد کد دو رقمی :
# شماره مورد نظر* کد دو رقمی *51*
بعد از وارد کردن این دستور حالا شما میتونید بعد از برداشتن گوشی با زدن کد دو رقمی** شماره ای رو که قبلا به آن داده اید را شماره گیری کنید.
برای حذف یک شماره از یک کد دو رقمی و تغییر آن میتوانید از دستور زیر استفاده کنید :
# کد دو رقمی *51*
برای غیر فعال کردن همه این کدهای دو رقمی باید از کد #55# استفاده کنید...

4- انتقال مكالمه از خط اشغال به خطوط ديگر ( Call forwarding) :
براي اين كه تماس گيرندگان با بوق اشغال مواجه نشوند ، مي‌توانيد يك يا چند شماره تلفن خود را به مركز تلفن مربوط اعلام كنيد كه در صورت اشغال بودن هر يك از شماره‌ها ارتباط به طور خودكار به شماره‌هاي بعدي منتقل شود.
اين سرويس با هر دستگاه تلفن دكمه‌اي مجهز به سيستم تن انجام شدني است.
برای استفاده از این حالت باید بعد از برداشتن گوشی کد #43* رو بزنید ... برای غیر فعال کردن این حالت باید کد #43# را وارد کنید.

5- سرويس بيدار باش :
با اشتراك اين سرويس زنگ تلفن در ساعت مشخص شده به صدا در مي‌آيد .
اين سرويس با هر دستگاه تلفن دكمه‌اي مجهز به سيستم تن انجام شدني ست .
برای استفاده از این حالت باید از روش زیر استفاده کنید:
ابتدا *55* رو بزنید بعد بترتیب ساعت و دقیقه را وارد کنید و در آخر # را بزنید.
مثلا میخواهیم در ساعت 14:38 تلفن زنگ بزند ، این کد را میزنیم :
1438#*55*
برای غیر فعال کردن این سرویس باید کد #55# را وارد کنید.

6- سرويس نمايشگر شماره CallerID :
در این سرویس شما کافی است یک دستگاه شماره انداز یا یک تلفن مجهز به نمایشگر شماره تلفن را ابتیاع کنید و با استفاده از آن میتوانید شماره را دریافت کنید. این سرویس نیازی به کد فعال سازی ندارد.

7- دایورت بعد از 5 زنگ :
با استفاده از این سرویس شما میتوانید کاری کنید تا بعد از 4 بار زنگ خوردن گوشی و جواب ندادن به گوشی در زنگ 5 ام تلفن دایورت شود روی شماره ای دیگر..
برای استفاده از این سرویس شما باید از کد زیر استفاده کنید:
# شماره مورد نظر*65*
طبق معمول برای غیر فعال کردن این امکان باید کد #65# رو وارد کنید
Medium (Media) Blog جوملا! دانلود قالب رايگان Desert (صحرا) براي وبلاگ بلاگفا
 
 
 |    نوشته شده توسط امین
 
 
   
 
 

مقدمه

 

پایگاه داده یا همان Database، مجموعه ای سازمان داده شده از اطلاعات است که به شکل جداول ذخیره می شوند. برای سازمان دهی این اطلاعات روشهای متفاوتی وجود دارد که هدف تمامی آنها فراهم کردن روشهایی مناسب برای سهولت در برقراری ارتباط با پایگاههای داده و استفاده از اطلاعات موجود در آنها است. سیستم مدیریت پایگاه داده (DBMS) ، مکانیزمی را جهت ذخیره سازی و بازیابی اطلاعات در پایگاه داده فراهم می نماید. در حقیقت DBMS باعث می شود تا برنامه نویس بدون نگرانی درباره چگونگی ذخیره سازی داداه ها در پایگاه داده و ساختار آنها، به اطلاعات دسترسی پیدا کند و بتواند داده های جدید را در آن ذخیره نماید.

 

امروزه اکثر پایگاه داده های محبوب از نوع رابطه ای (Relational) هستند. همانند پایگاه داده های عادی، در پایگاه داده های رابطه ای نیز دسترسی به اطلاعات ذخیره شده در جداول از طریق زبان پرس و جوی ساخت یافته یا همان SQL میسر میگردد که زبانی استاندارد است و توسط اکثر نرم افزارهای مرتبط با پایگاه داده مورد استفاده قرار می گیرد. از جمله سیستمهای پایگاه داده رابطه ای می توان به MS SQL Server، Oracle، Sybase، DB2، Informix و MySQL اشاره کرد.

 

زبانهای برنامه نویسی از طریق یک Interface ( یا همان نرم افزاری که ارتباط بین DBMS و یک برنامه را فراهم می کند) به پایگاه داده متصل شده و با آنها به تعامل میپردازند. در C# برقراری ارتباط با پایگاه داده از طریق ADO.Net انجام میشود. ADO.Net در حقیقت رابط بین نرم افزار و پایگاه داده است و امکانات ویژه ای را جهت دسترسی به اطلاعات موجود در آن در اختیار برنامه نویس قرار می دهد.

مدل پایگاه داده رابطه ای (Relational Database Model)

مدل پایگاه داده رابطه ای، نمایش منطقی ای از داده هاست که رابطه موجود بین داده ها را، بدون درگیر شدن با ساختار فیزیکی آنها، نشان میدهد. پایگاه داده رابطه ای از جداول تشکیل میشود. هر جدول خود از  سطرها یا  رکوردها (record/row)  و ستونها یا  فیلدها (columns/fields) تشکیل میشود. در شکل 1، جدول نمونه ای به نمایش گذاشته شده است که نام آن Employee است و هدف آن نمایش دادن اطلاعات پرسنلی کارمندان یک اداره است. این جدول از 6 رکورد تشکیل شده و فیلد number متعلق به هر رکورد در آن Primary Key است که جهت ارجاع به داده ها در جدول مورد استفاده قرار می گیرد. Primary Key فیلد یا فیلدهایی در جدول است (هستند) که شامل داده هایی یکتا باشند، بدین معنا که هیچ رکورد دیگری مقداری مشابه با آن ندارد. با استفاده از مفهوم Primary Key، این تضمین وجود دارد که هر رکورد حداقل با یک مقدار یکتا قابل شناسایی است. یک مثال خوب برای فیلد Primary Key، فیلدی است که حاوی کد ملی افراد باشد، چراکه در یک جامعه به ازای هر شخص یک کد ملی یا یک شماره منحصر بفرد وجود دارد و هیچ دو شماره ملی مشابهی یافت نمی شود. در جدول نمونه ما، فیلد Primary Key حاوی شماره پرسنلی کارمندان است. همانطور که مشاهده می شود اطلاعات جدول بر اساس فیلد number مرتب شده است. در اینجا، اطلاعات بصورت صعودی مرتب شده اند. ( حالت دیگر مرتب شدن حالت نزولی است.)

 

هر ستون از جدول، فیلدی متفاوت را نشان میدهد. معمولا رکوردها در حدول منحصر بفرد هستند (بوسیله Primary Key) اما مقادیر فیلدهای مختلف می تواند مشابه با یکدیگر باشد. برای مثال، 3 رکورد مختلف در فیلد Department از جدول Employee حاوی مقدار 413 هستند.

 

location

salary

department

name

number

تهران

1000

413

میثم

23603

تهران

1500

413

علی

24568

مشهد

1300

642

محمد

34589

اصفهان

1800

611

ناصر

35761

تهران

1500

413

مریم

47132

اهواز

2500

611

فاطمه

78321

 

با توجه به اینکه حجم اطلاعات قابل ذخیره در یک جدول نامحدود است، از اینرو باید بتوان با استفاده از روشی تنها به آن قسمت از اطلاعات دسترسی پیدا کرد که مورد نظر کاربر است. برای این منظور از SQL استفاده می نماییم. SQL مجموعه دستوراتی را فراهم می نماید که با استفاده از آنها قادر خواهیک بود تا اطلاعات مورد نظر را از پایگاه داده انتخاب (SELECT) کرده و مورد استفاده قرار دهیم.

 

نگاهی بر پایگاه داده رابطه ای

در ادامه مطالب این قسمت، با استفاده از یک پایگاه داده نمونه بنام Book با دستورات اولیه SQL آشنا خواهیم شد. پایگاه داده مورد نظر ما از چهار جدول تشکیل شده است. این جداول به ترتیب حاوی اطلاعاتی درباره نویسنده کتاب (Authors)، ناشر کتاب (Publishers)، کد شناسایی نویسنده (AuthorISBN) و عنوان کتاب (Titles) هستند. جدول Authors از سه فیلد تشکیل شده است که عبارتند از شماره اختصاصی هر نویسنده، نام و نام خانوادگی. در جدول زیر مشخصات جدول Authors نشان داده شده است.

 

نام فیلد

توضیحات

authorID

شماره شناسایی نویسنده را در پایگاه داده مشخص مینماید. در پایگاه داده Book این فیلد از نوع int تعریف شده و بصورت فیلدی اعلان شده که بطور خودکار مقدارش یک واحد یک واحد اضافه میشود (Auto-Increment Field). با اضافه شدن هر رکورد به پایگاه داده مقدار این فیلد یک واحد افزوده میشود که همین امر تضمین میکند که مقدار این فیلد همواره منحصر بفرد خواهد بود.

firstName

نام نویسنده کتاب. (از نوع string)

lastName

نام خانوادگی نویسنده. (از نوع string)

 

Authors

authorID

firstName

lastName

1

Harvey

Deitel

2

Paul

Deitel

3

Tem

Nieto

4

Kate

Steinbuhler

5

Sean

Santry

6

Ted

Lin

7

Praveen

Sadhu

8

David

McPhie

9

Cheryl

Yaeger

10

Marina

Zlatkina

11

Ben

Wiedermann

12

Jonathan

Liperi

13

Jeffrey

Listfield

 

 

 

جدول Publisher از دو فیلد تشکیل گردیده است که نمایش دهنده شماره شناسایی ناشر و همچنین نام ناشر است. شکل زیر مشخصات جدول Publisher را نشان میدهد.

 

نام فیلد

توضیحات

publisherID

شماره شناسایی ناشر را در پایگاه داده نشان میدهد. این فیلد که از نوع int است و بصورت خودکار مقدارش افزوده میشود، فیلد Primary Key جدول Publisher نیز میباشد.

publisherName

نام ناشر کتاب. (از نوع string)

 

Publishers

publisherID

publisherName

1

Prentice Hall

2

Prentice Hall PTG

 

 

 

جدول AuthorISBN شامل دو فیلد است که نشان دهنده شماره شناسایی نویسنده و شماره ISBN کتابهایی است که یک نویسنده خاص آنها را نوشته است. با استفاده از این جدول میتوان کتابهایی را که یک نویسنده خاص آنها را نوشته بدست آورد. شکل زیر مشخصات جدول AuthorISBN را نشان میدهد.

 

نام فیلد

توضیحات

authorID

شماره شناسایی نویسنده کتاب را نشان میدهد. با اشتفاده از این فیلد میتوان کتابهای مرتبط با هر نویسنده را در پایگاه داده پیدا کرد. این فیلد که از نوع int میباشد، در جدول Author نیز قرار دارد.

isbn

شماره ISBN مربوط به هر کتاب. (string)

 

 

AuthorISBN

ISBN

authorID

0130125075

1

0130125075

2

0130132497

1

0130132497

2

0130161438

1

0130161438

2

0130161438

3

0130284173

1

0130284173

2

0130284173

3

0130284173

6

0130284173

7

0130284181

1

0130284181

2

0130284181

3

0130284181

8

013028419X

1

013028419X

2

013028419X

3

0130293636

1

0130293636

2

 

 

جدول Titles از شش فیلد تشکیل شده است که عبارتند از ISBN مربوط به هر کتاب، عنوان کتاب، ویرایش، سال انتشار و شماره شناسایی ناشر، نام عکس جلد هر کتاب و قیمت هر کتاب. در شکل زیر مشخصات این جدول نشان داده شده است.

 

نام فیلد

توضیحات

isbn

شماره ISBN مربوط به هر کتاب. (string)

title

عنوان کتاب. (string)

editionNumber

شماره ویرایش کتاب (string)

copyright

سال نشر کتاب (int)

publisherID

شماره شناسایی ناشر (از نوع int). مقادیر این فیلد میبایست با شماره ای در جدول Publisher همخوانی داشته باشد.

imageFile

نام فایلی که عکس روی جلد کتاب در آن قرار دارد . (string)

price

قیمت کتاب. (از نوع اعداد حقیقی)

 

 

 

 

در شکل زیر رابطه بین جداول موجود در پایگاه داده Book نشان داده شده است. خط اول در هر جدول بیانگر نام جدول است. فیلدهایی که بصورت Bold نشان داده شده اند، بیانگر فیلدهای Primary Key هستند. همانطور که قبلا نیز گفته شد، فیلدهای Primary Key نمایش دهنده رکوردهایی منحصر بفرد در جدول هستند، از اینرو هر رکورد در جدول، میبایست دارای مقداری در فیلد Primary Key خود باشد و این مقدار میبایست منحصر بفرد باشد. از این اصل، بعنوان قانون "جامعیت موجودیتها" یاد میشود (Rule Of Entity Integrity). توجه نمایید که در جدول AuthorISBN دو فیلد بعنوان Primary Key نشان داده است، که این بدین معناست که در این جدول Primary Key مرکب وجود دارد، از اینرو هر رکورد در این جدول میبایست دارای authorID و isbn منحصر بفردی (بطور مشترک) باشد. برای مثال، ممکن است رکوردهای بسیاری در جدول یافت شوند که مقدار فیلد authorID آنها برابر با 2 باشد، اما چون ترکیب authorID و isbn میبایست منحصر بفرد باشد، از اینرو هیچ دو رکوردی نباید یافت شود که دارای authorID و isbn مشابه باشد. همچنین ممکن است رکوردهای مختلفی مقدار فیلد isbn آنها برابر با 0130895601 باشد، اما تنها یک فیلد یافت میشود که مقدار authorID آن برابر با 2 و مقدار isbn آن برابر با 0130895601 باشد.

 

 

توجه : در صورتیکه مقداری برای فیلد Primary Key انتخاب نشود، اصل جامعیت موجودیتها نقض شده، از اینرو DBMS خطایی را گزارش میکند.

 

توجه : وارد کردن مقادیر مشابه برای فیلد Primary Key باعث می شود تا DBMS خطایی را گزارش نماید.

 

خطهای رسم شده بین جداول، رابطه (Relationship) بین جداول را نشان می دهد. برای مثال خط رسم شده بین جدول Publisher و Titles را در نظر بگیرید. همانطور که مشاهده میشود، در سمت Publisher، بر روی خط عدد 1 قرار دارد و در سمت Titles علامت ∞ (بینهایت) قرار گرفته است. خط رسم شده بین این دو جدول، بیانگر یک رابطه "یک به چند" (One-to-Many) است که بیان میدارد، به ازای هر ناشر در جدول Publishers، تعداد زیادی کتاب می تواند در جدول Titles قرار داشته باشد. همچنین توجه داشته باشید که خط رسم شده بین این دو جدول، از فیلد publisherID در جدول Publisher آغاز شده و به فیلد publisherID در جدول Titles ختم شده است. فیلد publisherID در جدول Titles یک Foreign Key است، بدین معنا که به ازای هر موجودیت در این جدول، یک مقدار منحصر بفرد در جدولی دیگر وجود دارد و این مقدار منحصر بفرد فیلد Primary Key جدول دوم است. Foreign Key در زمان ایجاد یک جدول مشخص می شود. با استفاده از Foreign Key، اصل "جامعیت ارجاع"  (Rule Of Referential Integrity)مطرح می شود که بیان میدارد، مقدار هر Foreign Key باید در فیلد Primary Key جدولی دیگر وجود داشته باشد. با استفاده از Foreign Key میتوان اطلاعات موجود در جداول مختلف را با یکدیگر "پیوند" (join) زد و از آنها استفاده نمود. همواره رابطه ای "یک به چند" بین Primary Key و Foreign Key وجود دارد، بدین معنا که مقدار فیلد Foreign Key می تواند در جدول خودش چندین بار ظاهر شود اما در جدول دیگر تنها می تواند یکبار و آنهم بعنوان Primary Key ظاهر شود.

 

توجه : همانطور که گفته شد، همیشه رابطه ای "یک به چند" از سوی Primary Key به سمت Foreign Key وجود دارد.

 

توجه : استفاده از مقداری بعنوان فیلد Foreign Key که در Primary Key هیچ جدولی وجود نداشته باشد، اصل جامعیت ارجاع را نقض کرده، از اینرو DBMS خطایی را گزارش خواهد کرد.

 

زبان پرس و جوی ساخت یافته (SQL)

 

در این قسمت، به بررسی مختصر زبان SQL خواهیم پرداخت. همانند زبانهای برنامه سازی، زبان SQL نیز از کلمات کلیدی و دستوراتی تشکیل شده است که دستورات کلیدی و مهم آنرا در جدول زیر مشاهده می کنید.

 

نام دستور SQL

توضیحات

SELECT

فیلدهای مورد نظر را از جدول یا جداولی انتخاب می کند.

FROM

جداولی را مشخص می کند که اطلاعات از آنها باید انتخاب شود و یا قرار است اطلاعات از آنها خدف گردد. در هر دستور SELECT و DELETE وجود دارد.

WHERE

شرایطی را مشخص می کند که تحت آن رکوردهایی خاص انتخاب خواهند شد.

INNER JOIN

رکوردهای متفاوتی را از جداول مختلف به یکدیگر متصل مینماید و مجموعه ای جدید از رکوردها را ایجاد مینماید.

GROUP BY

شرایطی را نشان میدهد که بوسیله آن دسته بندی اطلاعات انجام میشود.

ORDER BY

شرایطی را نشان میدهد که طی آن اطلاعات مرتب می شوند.

INSERT

داده را در جدولی خاص وارد می کند.

UPDATE

داده خاصی را در جدول مورد نظر بروز رسانی می کند. (تغییر میدهد)

DELETE

اطلاعات خاصی را از جدول مورد نظر حذف میکند.

 

 

دستور SELECT

 

یکی از ساده ترین دستورات در SQL، دستوری است که در آن اطلاعات از جدولی خاص انتخاب می شود. چنین عملی با استفاده از دستور SELECT صورت میگیرد و ساده ترین فرمت این دستور بصورت زیر است :

SELECT * FROM tableName

 

که در آن علامت "*" بیان میدارد که تمامی اطلاعات (تمامی ستونها) موجود در جدول انتخاب شده و به نمایش در خواهند آمد و tableName نام جدولی است که میخواهیم اطلاعات را از آن انتخاب نماییم.

SELECT * FROM Authors

 

برای انتخاب فیلد یا فیلدهایی خاص از یک جدول، میتوانیم نام فیلدهای مورد نظر آن جدول را در جلوی دستور SELECT و بجای * قرار دهیم و آنها را با کاما "," از یکدیگر جدا نماییم.

 

SELECT authorID, lastName FROM Authors

 

تنها فیلد authorID و lastName از جدول Authors را نشان میدهد.

 

نکته : در صورتیکه نام فیلد شامل فضای خالی (Space) باشد، در اینصورت میبایست نامو فیلد را داخل دو براکت "[]" قرار دهیم. (SELECT [author ID] FROM Authors)

دستور WHERE

 

در اکثر موارد کاربر در جدول به دنبال اطلاعاتی میگردد که دارای شرایط خاصی است. در این موارد تنها آن رکوردهایی که با شرایط مورد نظر کاربر همخوانی دارند میبایست نمایش داده شوند. SQL با استفاده از دستور WHERE در دستور SELECT، شرایط مورد نظر را اعمال می نماید. ساده ترین فرم دستور SELECT که بهمراه WHERE باشد، بصورت زیر است :

SELECT fieldName1,fieldName2,… FROM tableName

WHERE criteria

 

که در آن fieldName، نام فیلدهای مورد نظر، tableName نام جدولی که اطلاعات از آن استخراج می شود و criteria شرایطی است که بر اساس آن جستجو در جدول صورت میپذیرد. برای مقال، درصورتیکه بخواهیم عناوین کتابهایی را بیابیم که تاریخ نشر آنها بعد از سال 1999 است، از دستور SELECT زیر استفاده می کنیم :

 

SELECT title

FROM Titles

WHERE copyright > 1999

 

نکته : در زبان C# برای اجرای دستورات SQL از یک رشته استفاده می کنیم که این رشته حاوی کل دستور (Query) مورد نظر ما است. همچنین برای بالا رفتن خوانایی برنامه، دستورات SQL را در خطوط جدا مینویسیم.

 

دستور WHERE می تواند خاوی عملگرهای >، <، <=، >=، =، <> و عملگر LIKE باشد. عملگر LIKE برای "تطبیق الگو" (Pattern Matching) مورد استفاده قرار میگیرد و بهمراه * و ? مورد استفاده قرار میگیرد. با استفاده از تطبیق الگو، میتوان به دنبال رشته ای گشت که حاوی الگوی مورد نظر است. برای مثال، query زیر، تمامی رکوردهایی از جدول Authors را نشان میدهد که lastName آنها با کاراکتر "D" شروع شده باشند :

 

SELECT * FROM Authors

WHERE lastName LIKE 'D*'

 

توجه نمایید، استفاده از کاراکتر * بیان میدارد که برای تطبیق الگو تنها کافیست تا کاراکتر اول مقدار D داشته باشد و سایر کاراکترها هر مقداری می توانند داشته باشند. همچنین اهمیتی ندارد که چه تعدا کاراکتر بعد از کاراکتر D در رشته وجود دارد و تنها اهمیت برای ما وجود کاراکتر D در ابتدای رشته است.

 

نکته : تمامی سیستم های پایگاه داده از عبارت LIKE پشتیبانی نمبکنند.

نکته : در اکثر سیستمهای پایگاه داده، به جای استفاده از کاراکتر "*" در عبارت LIKE، از کاراکتر "%" استفاده میشود.

نکته : در برخی از سیستمهای پایگاه داده، کاراکترهای رشته، Case Sensitive هستند.

نکته : بهتر است برای تمیز دادن دستورات و عبارات SQL، آنها را با حروف بزگ بنویسیم.

 

توجه نمایید در رشته ای که مورد تطبیق الگو قرار میگیرد، درصورتیکه کاراکتر "?" قرار گیرد، بدین معناست که بجای کاراکتر "?" تنها یک کاراکتر قرار خواهد گرفت. برای مثال در query زیر، تمامی رکوردهایی از جدول Authors نمایش داده می شوند که lastName آنها با هر کاراکتری شروع شده باشد و به دنبال آن کاراکتر "i" آمده باشد و بعد از آن هر تعداد کارارکتر قرار داشته باشد :

 

SELECT * FROM Authors

WHERE lastName LIKE '?i*'

 

نکته : اکثر پایگاه های داده، به جای استفاده از کاراکتر "?" از کاراکتر "_" در عبارت LIKE استفاده میکنند.

نکته : توجه نمایید که پس از عبارت LIKE، رشته مورد نظر درون یک جفت ' ' قرار میگیرد.

 

دستور ORDER BY

 

نتیجه یک query می تواند بصورت صعودی یا نزولی مرتب گردد. این کار با استفاده از دستور ORDER BY انجام میشود. ساده ترین فرم این دستور بصورت زیر است :

 

SELECT fieldName1, fieldName2, … FROM tableName

ORDER BY field ASC

 

SELECT fieldName1, fieldName2, … FROM tableName

ORDER BY field DESC

 

که در field، نام فیلدی است که نتایج query بر اساس آن مرتب می شود. در صورتیکه بخواهیم نتایج بصورت صعودی مرتب شوند از کلمه ASC و درصورتیکه بخواهیم نتایج بصورت نزولی مرتب شوند از کلمه DESC استفاده می نماییم. بطور پیش فرض، نتایج query بصورت صعودی نمایش داده میشوند.

SELECT * FROM Authors

ORDER BY lastName DESC

 

همچنین، با استفاده از ORDER BY میتوان نتایج query را بر اساس چند فیلد مختلف نیز مرتب نمود :

ORDER BY field1 sortingOrder, field2 sortingOrder, …

 

که در آن field، فیلدهایی هستند که مرتب سازی بر اساس آنها صورت میگیرد و sortingOrder نوع مرتب سازی هر فیلد را نشان میدهد. توجه نمایید، در مواردی که دو یا چند فیلد برای مرتب سازی در نظر گرفته شده اند، ابتدا مرتب سازی بر اساس فیلد اول انجام می شود و پس از آن مرتب سازی بر اساس فیلدهای دیگر به پیش میرود. در مثال زیر،ابتدا نتایج query بر اساس نام خانوادگی (lastName) و سپس بر اساس نام (firstName) مرتب میشوند :

SELECT * FROM Authors

ORDER BY lastName, firstName

 

توجه نمایید که در یک query می توان از ترکیب دستورات WHERE و ORDER BY استفاده نمود :

 

SELECT isbn, title, price FROM Titles

WHERE title LIKE '%How To Program'

ORDER BY title DESC

 

ادغام داده ها از جداول مختلف : INNER JOIN

 

طراحان پایگاه داده، معمولا اطلاعات را به جداول مختلفی تقسیم میکنند تا مطمئن باشند که در پایگاه داده اطلاعات بیهوده و زائد ذخیره نمیشود. برای مثال، پایگاه داده Book شامل دو جدول Authors و Titles است. ما با استفاده از جدول AuthorISBN، لینکی بین نویسنده های مختلف و عناوین کتبی که نوشته اند برقرار میکنیم. در صورتیکه این اطلاعات را به جداول مختلف تقسیم نمیکردیم مجبور بودیم تا اطلاعات نویسنده را برای هر عنوان کتاب در جدول Titles در نظر بگیریم و از اینرو یکسری اطلاعات اضافی و تکراری در جدول ذخیره میشد چراکه برای عناوین کتبی که نویسنده آنها یکسان است، اطلاعات نویسنده بطور تکراری ذخیره میگردید.

همچنین برای مقاصد آنالیز و تجزیه و تحلیل، ضروری است تا اطلاعات مختلف از جداول مختلف با یکدیگر ادغام شوند و یک مجموعه اطلاعاتی جدید را ایجاد نمایند. با استفاده از عملی تحت عنوان "ادغام جداول" ، این عمل قابل اجرا است و بوسیله INNER JOIN در دستور SELECT آنرا در SQL عملی میکنیم. یک INNER JOIN رکوردهای مختلفی را از جداول متفاوت با یکدیگر ادغام میکند و این عمل را از طریق تست کردن مقادیر فیلدهایی انجام میدهد که در جداول مورد نظر عمومیت دارند. ساده ترین فرم INNER JOIN بشکل زیر است :

SELECT fieldName1, fieldName2, …

FROM table1

INNER JOIN table2

ON table1.fieldName = table2.fieldName

 

که در آن قسمت بعد از عبارت ON، فیلدهایی را نشان میدهد از دو جدول با یکدیگر مقایسه میشوند تا معین شود چه رکوردهایی با یکدیگر ادغام میشوند. برای مثال، query زیر لیستی از تمام نویسنده ها به همراه ISBN مربوط به کتابهای نوشته شده توسط آنها را ایجاد میکند :

 

SELECT firstName, lastName, isbn

FROM Authors

INNER JOIN AuthorISBN

ON Authors.authorID = AuthorISBN.authorID

ORDER BY lastName, firstName

 

این query فیلدهای firstName و lastName از جدول Authors را با فیلد isbn از جدول AuthorISBN ادغام میکند و نتیجه را بر اساس فیلدهای lastName و firstName بصورت صعودی مرتب مینماید. در این query به فرمت عبارت نوشته شده بعد از عبارت ON که بصورت tableName.fieldName است توجه نمایید. در این قسمت مشخص میشود که عمل ادغام بین دو جدول از طریق کدام فیلد انجام خواهد گرفت. استفاده از فرمت نوشتاری "tableName." در مواردی ضروری است که نام فیلد در هر دو جدول یکسان باشد.

 

ادغام اطلاعات از جداول Authors، AuthorISBN، Titles و Publisher

 

در اینجا می خواهیم برای پایگاه داده Book یک query تعریف کنیم که توسط آن عنوان کتاب، شماره ISBN، نام نویسنده، نام خانوادگی نویسنده، سال انشار کتاب و نام ناشر هر کتاب نمایش داده شود. برای کتابهایی که بیش از یک نویسنده دارند، این query میبایست رکوردهای مجزایی را برای هر نویسنده نمایش دهد. توجه نمایید که در این query نیاز است تا بین هر چهار جدول ادغام صورت گیرد. این query در زیر نمایش داده شده است :

 

SELECT Titles.Title, Titles.ISBN, Authors.FirstName, Authors.LastName, Publishers.PublisherName

FROM

(

 Publishers

 INNER JOIN Titles

 ON Publishers.PublisherID = Titles.PublisherID

)

INNER JOIN

(

 Authors

 INNER JOIN AuthorISBN

 ON Authors.AuthorID = AuthorISBN.AuthorID

)

 

ON Titles.ISBN = AuthorISBN.ISBN

ORDER BY Titles.Title;

 

 

نتیجه این query در شکل زیر نمایش داده شده است :

 نتیجه query

 

 

حال به بررسی این query میپردازیم. در خطوط 1و2 این query، فیلدهای مورد نظر که بعنوان نتیجه در خروجی نمایش داده میشوند، قرار گرفته اند. توجه نمایید که ترتیب قرار گرفتن فیلدها در این لیست، از این جهت اهیمت می یابد که فیلدها در خروجی به همین ترتیب نمایش داده خواهند شد. این query، فیلدهای title و isbn از جدول Titles، فیلدهای lastName و firstName از جدول Authors، فیلد copyright از جدول Titles و فیلد publisherName از جدول Publishers را انتخاب مینماید. برای اینکه متن این query خوانا تر باشد، قبل از نام هر فیلد نام جدول آنرا نیز آورده ایم. (به این روش Fully Qualified Name گفته میشود.) در خطهای بعدی، عمل ادغام بین جداول مختلف صورت گرفته است. در این query از سه عمل INNER JOIN استفاده شده است. باید به نکته توجه شود، اگرچه INNER JOIN بر روی دو جدول انجام میشود، اما نتیجه آن می تواند بعنوان ورودی برای INNER JOIN دیگری مورد استفاده قرار گیرد چراکه نتیجه یک INNER JOIN خود یک جدول است. همچنین برای اولویت بخشیدن به اجرای دستورات از پرانتز استفاده نموده ایم. در ابتدا با دستور زیر آغاز میکنیم :

(Publishers INNER JOIN Titles

  ON Publishers.publisherID = Titles.publisherID)

 

که جدول Publishers و Titles را با استفاده از شرایطی که در آن فیلدها publisherID دو جدول با یکدیگر منطبق هستند، ادغام میکند. جدول موقتی که از انجام این INNER JOIN تشکیل میشود حاوی اطلاعات کتاب و ناشر مربوط به آن است.

دیگر INNET JOIN این query عبارت است از :

 

( Authors

 INNER JOIN AuthorISBN

 ON Authors.AuthorID = AuthorISBN.AuthorID )

 

  که جدول Authors و AuthorISBN را در شرایطی که فیلد AuthorID با یکدیگر منطبق باشند، ادغام مینماید.

سومین INNER JOIN در این query عبارت است از :

 

(

 Publishers

 INNER JOIN Titles

 ON Publishers.PublisherID = Titles.PublisherID

)

INNER JOIN

(

 Authors

 INNER JOIN AuthorISBN

 ON Authors.AuthorID = AuthorISBN.AuthorID

)

 

ON Titles.ISBN = AuthorISBN.ISBN

 

 

که باعث ادغام دو جدول موقتی ایجاد شده از دو INNER JOIN قبلی، تحت شرایطی میشود که در آن فیلد Titles.isbn برای هر رکورد در اولین جدول موقت با فیلد AuthorISBN.isbn برای هر رکورد از جدول موقت دوم، منطبق باشند. نتیجه نهایی این INNER JOIN نیز، جدول موقتی است که نتیجه مورد نظر را در بر دارد.

در انتهای query نیز، نتایج بر اساس فیلد Titles.title مرتب میشوند.

 

دستور INSERT

 

این دستور باعث وارد کردن رکوردی جدید در جدول میشود. ساده ترین فرم این دستور بشکل زیر است :

 

INSERT INTO tableName (fieldName1, fieldName2, … )

VALUES (value1, value2, …)

 

که در آن tableName جدولی است که در آن رکورد جدید وارد میشود. به دنبال tableName لیستی از فیلدها قرار میگیرد و پس از آن عبارت VALUES و به دنبال آن لیستی از مقادیر. توجه نمایید که به ازای هر fieldName، مقدار value در جدول وارد میشود. همچنین باید توجه شود که ترتیب و نوع مقادیر وارد شده در value میبایست با نام و نوع field مورد نظر همخوانی کامل داشته باشد. برای مثال، اگر fieldName1 بعنوان firstName در نظر گرفته شود، آنگاه مقدار value1 باید رشته ای باشد که درون یک جفت

' ' قرار گرفته و بیانگر نام باشد. بعنوان یک مثال، query زیر را در نظر بگیرید :

 

INSER INTO Authors (lastName, firstName)

VALUES ('Smith' , 'Sue')

 

این query باعث میشود تا رکوردی جدید در جدول Authors وارد شود. توجه نمایید در دستور INSERT حتما برای فیلدهای Primary Key میبایست مقداری وارد گردد، اما در اینجا چون فیلد Primary Key، فیلد authorID است و این فیلد از نوع auto-increment تعریف شده، نیازی به مقداردهی ندارد، چراکه با وارد شده هر رکرود جدید بطور خودکار مقداری برای آن در نظر گرفته میشود. همچنین دقت کنید، بغییر از فیلدهای Primary Key، در صورتیکه برای فیلدی از یک جدول در دستور INSERT مقداری در نظر گرفته نشود، مقدار آن فیلد تهی (Null) در نظر گرفته خواهد شد.

 

نکته : SQL برای نشان دادن رشته ها از یک جفت ' ' استفاده میکند. برای نشان دادن رشته هایی که خود حاوی ' هستند (مانند O'Reily) باید از فرمت 'O' 'Reily' استفاده شود.

 

دستور UPDATE

 

این دستور باعث ایجاد تغییر در داده های جدول میشود و ساده ترین فرم آن بصورت زیر است :

UPDATE tableName

SET fieldName1 = value1, fieldName2 = value2, …

WHERE criteria

 

که در آن fieldName هایی که مقادیر آنها تغییر مییابند مشخص شده و مقادیر جدید (value) به آنها تخصیص داده میشود. وجود عبارت WHERE در دستور UPDATE باعث میشود تا رکوردهایی که این فیلدها در آنها تغییر می یابند معین شوند. برای مثال :

 

UPDATE Authors

SET lastName = 'Jones'

WHERE lastName = 'Smith' AND firstName = 'Sue'

 

باعث میشود تا رکوردی که در آن Sue Smith قرار داشته است، به Sue Jones تغییر یابد.

 

توجه : عدم استفاده از عبارت WHERE پس از دستور UPDATE ممکن است باعث بروز خطایی منطقی گردد.

 

دستور DELETE

 

دستور DELETE باعث خذف داده ها از جدول میشود و ساده ترین فرم آن بصورت زیر است :

 

DELETE FROM tableName

WHERE criteria

 

که در آن criteria مشخص کننده رکورد یا رکوردهایی است که از جدول حذف میشوند.

 

DELETE FROM Authors

WHERE lastName = 'Jones' AND firstName = 'Sue'

 

باعث خذف شدن رکوردی میشود که نام و نام خانوادگی آن Sue Jones است.

 

نکته : عبارت WHERE ممکن است با چندین رکورد در جدول مورد نظر همخوانی داشته باشد، از اینرو در دستور DELETE دقت نمایید که شرط نوشته شده در WHERE تنها با رکورد مورد نظر شما همخوانی داشته باشد تا از خذف شدن ناخواسته اطلاعات جلوگیری شود.

 

مدل شیء ADO.NET (ADO.Net Object Model)

 

مدل شیء ADO.Net فراهم کننده API ای است که بوسیله آن می توان از طریق کد نویسی به پایگاه داده دسترسی پیدا کرد. ADO.Net مخصوص .Net Framework طراحی شده و نسل جدید ADO میباشد. (کلمه ADO مخفف ActiveX Data Objects است.)

 

در .Net Framework، System.Data فضایی است که در آن تمامی API های مربوط به ADO.Net قرار دارند. Namespace های پایه ADO.Net عبارتند از System.Data.OleDb و System.Data.SqlClient که با استفاده از آنها امکان دسترسی و ایجاد تغییر در Data Source های مختلف فراهم میگردد. (منظور از Data Source هر منبعی داده ایست که میتوان در آن اطلاعات و داده ها را ذخیره نمود.)

System.Data.OleDb شامل کلاسهایی است که بوسیله آنها می توان به هر Data Source ای متصل شد، در حالیکه System.Data.SqlClient تنها شامل کلاسهایی جهت استفاده از MS SQL Server 2000 است.

 

شروع برنامه نویسی با ADO.Net – اتصال به MS Access

 

برای آغاز کار برنامه نویسی و اتصال به پایگاه داده، با پایگاه داده Access شروع میکنیم که پایگاه داده ای ساده بوده و به همراه بسته نرم افزاری MS Office قابل نصب است. توجه کنید در برنامه زیر، از ساده ترین روش برای اتصال به پایگاه داده استفاده شده و مطالب پیشرفته تر را در آینده بررسی خواهیم نمود.

 

برای اتصال به پایگاه داده Access میبایست از کلاسهای موجود در System.Data.OleDb استفاده نماییم.

مراحل کار با پایگاه داده بشرح زیر میباشد :

·        اتصال به پایگاه داده

·        بدست آوردن اطلاعات مورد نظر از پایگاه داده

·        نمایش اطلاعات بدست آمده

·        قطع ارتباط با پایگاه داده

 

برای اتصال به پایگاه داده Access از شیء OleDbConnection استفاده میکنیم. توجه کنید که برای اتصال به هر پایگاه داده ای نیاز به یکسری پارامترها و مسیرها است که این اطلاعات در رشته ای تحت عنوان connection string قرار داده میشود و از طریق اطلاعات این رشته به پایگاه داده متصل میشویم. برای اتصال به Access نیز میبایست از یک connection string استفاده نماییم. برای مثال، رشته زیر را در نظر بگیرید :

 

string connectionString =

  "provider=Microsoft.Jet.OLEDB.4.0;" +

  "data source=F:\\Samples\\Books.mdb";

 

این رشته، نمونه ای از یک connection string جهت برقراری ارتباط با پایگاه داده Access است. در قسمت provider نام شرکت پشتیبانی کننده پایگاه داده نوشته میشود که برای Access این مقدار عبارت است از Microsoft.Jet.OLEDB.4.0 و در قسمت data source محل قرار گرفتن پایگاه داده مشخص میگردد. (محل فیزیکی که در آن پایگاه داده ذخیره شده است.)

همچنین به استفاده از "\\" جهت نمایش "\" توجه نمایید.

 

در مثال زیر، برنامه نمونه ای مطرح شده که در آن نحوه برقراری ارتباط با پایگاه داده Access از طریق شیء OledbConnection به نمایش در آمده است.

 

using System;

using System.Data;

using System.Data.OleDb;

 

class OleDbConnectionAccess

{

  public static void Main()

  {

    // بیان رشته ای که در آن جزئیات ارتباط با پایگاه داده مشخص میشود.

    string connectionString = "provider=Microsoft.Jet.OLEDB.4.0;" +

                              "data source=F:\\Samples\\Books.mdb";

 

    //جهت برقراری ارتباط با پایگاه OleDbConnection ایجاد شیء جدیدی از

    //به سازنده آن ارسال میشود. connectionString که

    OleDbConnection myOleDbConnection =

            new OleDbConnection(connectionString);

 

    // OleDbCommand ایجاد شیء

    OleDbCommand myOleDbCommand = myOleDbConnection.CreateCommand();

 

    // SQLبه دستور   OleDbCommandاز شیء  CommandText قرار دادن ویژگی

    //انتخاب میشود. Authors که توسط آن یک سطر از جدول

    myOleDbCommand.CommandText =

      "SELECT * "+

      "FROM Authors "+

      "WHERE authorID=1";

 

    // Open()باز کردن ارتباط بین پایگاه داده با استفاده از متد

    myOleDbConnection.Open();

 

    // از ExecuteReader() و فراخوانی متد OleDbDataReader ایجاد شیء

    // SELECTجهت اجرای دستور  OleDbCommand شیء

OleDbDataReader myOleDbDataReader =                      myOleDbCommand.ExecuteReader();

 

    // OleDbDataReader خواندن یک سطر از

    // Read() با استفاده از متد

    myOleDbDataReader.Read();

 

    // نمایش نتیجه و خروجی

    Console.WriteLine("myOleDbDataReader[\" firstName\"] = "+

      myOleDbDataReader["firstName"]);

    Console.WriteLine("myOleDbDataReader[\" lastName\"] = "+

      myOleDbDataReader["lastName"]);

    Console.WriteLine("myOleDbDataReader[\" AuthorID\"] = "+

      myOleDbDataReader["authorID"]);

 

    // Close()با استفاده از متد  OleDbDataReader بستن شیء

    myOleDbDataReader.Close();

 

    // OleDbConnection بستن ارتباط بین پایگاه داده از شیء

    myOleDbConnection.Close();

  }

}

 

خروجی این برنامه بشکل زیر است :

myOleDbDataReader[" firstName"] = Harvey

myOleDbDataReader[" lastName"] = Deitel

myOleDbDataReader[" AuthorID"] = 1

 

توجه نمایید که در اینجا تنها یک سطر از پایگاه داده فراخوانی شده و با تغییر دستور SQL میتوان نتیجه های دلخواه را بدست آورد.

 

در اینجا، اولین بخش از سری مطالب مرتبط با پایگاه داده را به اتمام میرسانم. امید است مورد توجه و علاقه دوستان قرار گرفته باشد.

Medium (Media) Blog جوملا! دانلود قالب رايگان Desert (صحرا) براي وبلاگ بلاگفا
 
 
 |    نوشته شده توسط امین
 
 

pictofxt

Desert Template

template id : TBF_006 template name : Desert Template for Blog

aminnaderi

امین

http://aminnaderi.blogfa.com

وبلاگ امین نادری نژاد

کامپیوتر وتصویر Professional Web Site Design Center

Template Design Workshop offers professional web templates, flash templates and other web design products available for immediate download. This template also designed by Template Design Workshop design team. You can download free templates for your site, blog, cms or portal. Feel free to contact us about new templates.

tbf_006, TBF_006, desert, Desert Template, template, brown template, pictofxt, blog, blogging, dairy, note, يادداشت, زوزانه, خاطرات, وبلاگ, بلاگ, قالب قهوه اي, اسب تنها, صحراي سياه, قالب صحرا, قالب صحراي قهوه اي, قالب اسب صحرا Interactive CD Catalogue اي وبلاگ رسانه گشت و گذار در دنياي رسانه هاي ديجيتال Medium Blog - Digital Media World Site Design Studio Professional site design Template Design Studio Flashmate . Advanced Persian Blog Templates. pictofxt Farsi Blog