انتقال اطلاعات از یک پایگاه به پایگاه داده دیگر

 

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

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

ادامه نوشته

کار با فایل هایی از نوع Excel و Word

 

» به دلیل این که برنامه Excel و Word یکی از ساده ترین و پرکاربردترین برنامه های مورد استفاده بوده و

ساخت شرکت مایکروسافت است و ویژوال بیسیک به راحتی قادر به برقراری ارتباط با آن است ، امروز

می خواهم به صورت خلاصه روش ایجاد یک فایل از نوع Excel و Word و برقراری ارتباط با آنها را به شما

عزیزان توضیح دهم .

» برای این که شما از امکانات کار با Excel و Word در ویژوال بیسیک 6 برخوردار باشید باید از رابطی که

مخصوص خود Excel و Word است استفاده نمایید . برای این کار شما باید از دیالوگ References گزینه

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

 Microsoft Excel 9.0 Object Library

Microsoft Word 9.0 Object Library

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

تغییر خواهد کرد .

@ کار با Excel : در ابتدا شما باید تعریفات زیر را در قسمت  

ادامه نوشته

ایجاد ارتباط با پایگاه داده رمزگذاری شده

 

» شاید یکی از مهمترین جنبه های برنامه نویسی پایگاه داده جلوگیری از دسترسی افراد غیرمسئول به

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

برنامه ای که شما نوشته اید را ندارند بتوانند به راحتی از طریق باز کردن پایگاه داده اطلاعات و داده های

ذخیره شده را دستکاری نمایند فاجعه ای وحشتناک رخ خواهد داد . برای همین من امروز می خواهم

ادامه نوشته

ذخیره کردن تصویر در پایگاه داده

 

» قطعاً همه برنامه نویسان مایلند که در برنامه های مربوط به پایگاه داده خود بتوانند تصویر را نیز ذخیره

کنند چون این امر یکی از ویژگیهای خوب و کارآمد برنامه خواهد بود . برای همین من این بار می خواهم

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

» همینطور که شما عزیزان برنامه نویس می دانید در پایگاه داده اکسس نوع مشخصی برای ذخیره کردن

تصویر وجود ندارد که ما به طور اختصاصی از آنها استفاده کنیم ولی یک نوع داده به نام OLE Object وجود

دارد که می تواند هر گونه داده ای مانند صدا و تصویر را پشتیبانی کند . برای شروع شما برنامه Access را

باز کرده و این فیلد ها را در آن ایجاد نمایید :

ادامه نوشته

آشنایی با ابزار مخصوص برقراری ارتباط با پایگاه داده

 

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

» دو ابزار یا کنترلی که امکان ایجاد این ارتباط را به ما می دهند عبارتند از :

1- Data Control : این کنترل که به طور پیشفرض در جعبه ابزار یا Tool Box ویژوال بیسیک وجود دارد یکی از ابزارهای قدرتمند VB در زمینه کار با پایگاه داده است . در واقع این کنترل نماینده پایگاه داده در ویژوال بیسیک است و کارهایی از قبیل مدیریت جداول و اندیکس ها و همچنین ایجاد و حذف جدول و رکورد و جستجو و فیلتر سازی و غیره را به عهده دارد . کارایی این کنترل بسیار گسترده و وسیع است و می تواند بهترین انتخاب برای نوشتن برنامه هایی باشد که قرار است فقط روی یک کامپیوتر به طور مستقل اجرا گردند .

2- ADO Objects : این کنترل ابزار دیگری برای ایجاد ارتباط با پایگاه داده است و گستردگی کمتری نسبت به Data Control دارد . از این کنترل معمولا برای ایجاد ارتباط سریع و آسان با پایگاه داده استفاده می شود . همچنین این کنترل توانایی برقراری ارتباط با پایگاه داده واقع در مکانی دیگر با استفاده از سیستم شبکه ای را دارد . ولی این کنترل در جعبه ابزار وجود ندارد و باید به آن اضافه گردد که بعدا خود این کنترل به طور کامل توضیح داده خواهد شد .

» برای کار با پایگاه داده فقط ایجاد ارتباط با آن کافی نیست . بلکه ما نیاز داریم که اطلاعات درون جدول ها و رکوردها را مشاهده کنیم و بر روی آنها پردازش انجام دهیم که این کار مستلزم استفاده از ابزارها و کنترل های دیگر است . برای نمونه اگر ما بخواهیم اطلاعات درون یک رکورد که نام یک شخص در آن ذخیره شده است را ببینیم باید آن را توسط یک کنترل که با پیوندی به یکی از کنترل های ایجاد کننده ارتباط با پایگاه داده متصل است به نمایش در آوریم . برای مثال ازکنترل Label استفاده کنیم . حال اگر بخواهیم بر روی این مقدار پردازش هم انجام دهیم باید آن را توسط کنترل Text Box نمایش دهیم چون درون آن را می توانیم ویرایش کنیم.

» برای شروع ما با Data Control کار خواهیم کرد.خصوصیت های مهم شی ء Data Control :

Connect

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

DataBaseName

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

ReadyOnly

این خاصیت مشخص می کند که آیا پایگاه داده میتواند پردازش شود یا باید هیچ تغییری در آن ثبت نشود . که به طور پیشفرض False یعنی قابل پردازش میباشد .

RecordSetType

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

DataSource

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

» نکته اساسی : در واقع مهمترین مشکل ویژوال بیسیک 6 در کار با پایگاه داده Access این است که اگر شما از کنترل Data برای برقراری ارتباط استفاده کنید و فرمت پایگاه داده شما بالاتر از Access 97 باشد یعنی ( 2000 ، XP ، 2003 ) با خطایی مبنی بر عدم پشتیبانی یا شناسایی مواجه خواهید شد . یا به عبارتی شما در صورتی میتوانید از کنترل Data برای برقراری ارتباط با پایگاه داده Access استفاده نمایید که فرمت پایگاه داده شما Access 97 یا همان ( Office 97 ) باشد . برای حل این مشکل چند راه حل وجود دارد :

» راه حل 1 : از کنترل ADO یا Adodc به جای Data استفاده کنید که این کار در بیشتر مواقع نمی تواند به صرفه باشد .

» راه حل 2 : فرمت پایگاه داده شما Access 97 باشد یعنی باید از برنامه Access موجود در Office 97 استفاده کنید که در این صورت مجبور خواهید بود با ویندوز 98 کار کنید . چون XP قادر به پشتیبانیAccess 97 نخواهد بود .

» راه حل 3 : این راه حل بهترین راه حل است ، یعنی استفاده از تکه برنامه ای به نام Service Pack 6 که پس از نصب ویژوال بیسیک6 بر روی کامپیوتر نصب میشود و مشکل را رفع می کند . یعنی شما میتوانید پس از نصب این تکه برنامه از هر کدام از فرمت های پایگاه داده Access در کنترل Data استفاده کنید . ظرفیت فشرده شده این برنامه حدود 26 مگابایت است که شما می توانید از سایت Microsoft دانلود کنید . البته با نرم افزار Download Accelerator Plus می توانید به صورت بخش به بخش این برنامه را دانلود نمایید که به نظر من بهترین روش است .

» پس از دانلود این برنامه برای نصب آن فایل Setupsp6.exe را اجرا نمایید.

» توجه داشته باشید که هنگام نصب این برنامه نباید ویژوال بیسیک شما در حالت اجرا باشد.

روش تغییر پسورد پایگاه داده Access از طریق VB

 

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

1. ابتدا یک پروژه را در VB باز کنید . سپس از منوی Project گزینه References را انتخاب کنید تا دیالوگی نمایش داده شود . از لیستی که مشاهده می کنید گزینه ( Microsoft ADO Data Control 6.0) را علامت بزنید . البته این در صورتی است که پایگاه داده شما پایین تر از فرمت Office 2003 باشد . ( مثلا Office 2000 ) . در غیر این صورت باید گزینه ( MicroSoft DAO 3.6 Object Library )علامت بزنید . تا احیانا با خطایی مواجه نشوید . ( نسخه 3.6 میتواند بهترین انتخاب باشد ).

2. سپس مثلا یک دکمه روی فرم خود گذاشته و نام آن را به Cmd_PassChange و عنوان آن را به PassChange تغییر دهید . حال کدهای زیر را داخل آن بنویسید یا کپی کنید :

 

Dim db As DAO.Database

Set db = DBEngine.OpenDatabase(App.Path & "\Test.mdb", True, False, ";pwd=media")

db.NewPassword "media", "ali"

db.Close

_ در این مثال ابتدا ما یک متغیر ( db ) را از نوع کتابخانه DAO تعریف می کنیم . در دستور Set کردن پایگاه داده Access توجه داشته باشید که چون پایگاه داده ما از قبل دارای کلمه عبور است ، ما مجبوریم برای ورود به آن از کلمه عبور ( در این مثال media ) استفاده کنیم . همچنین دقت داشته باشید که در این دستور حتما باید مقدار ورودی Option ( مقدار دوم که تعیین می کند ما به تنظیمات پایگاه داده دسترسی داشته باشیم یا نه) مقدار True باشد . درغیر این صورت از تغییر کلمه عبور جلوگیری خواهد شد . در دستور سوم هم که مشاهدی می کنید ، اولین پارامتر ورودی کلمه عبور قبلی و دومین پارامتر ورودی کلمه عبور جدید شما خواهد بود . خط آخر هم در اصطلاح برای بستن پایگاه داده به کار می رود .

 

نگاهی گذرا به اجزای بانک اطلاعاتی

جداول:

اگر پایگاه داده, هیچ شی دیگری نداشته باشد, همواره باید حداقل یك جدول داشته باشد. داده های

پایگاه داده را جدول نگهداری می كند. همانطوری كه در درس قبل اشاره شد,جداول اغلب با مقادیر داده

مشترك به یكدیگر مرتبط می شوند, به ترتیبی كه دو یا چند جدول نباید داده های زیادی یا تكراری داشته

باشند. برای نمایش اسامی جداول موجود در پایگاه داده بر روی شاخص Tables در پنجره Database كلیك

كنید. برای باز كردن و مشاهده محتویات هر جدول می توانید بر روی نام آن جدول دوبار كلیك كنید.

ادامه نوشته

انواع عملگرها در اکسس

عملگرهاي مقايسه‌اي :

1. > علامت کوچکتر
2. < علامت بزرگتر
3. = علامت مساوی
4. => علامت کوچکتر و مساوی
5. =< علامت بزرگتر و مساوی
6. < > علامت مخالف

عملگرهاي منطقي:

1. And این شرط در صورتی برقرار است که هر دو شرط درست باشد.
2. Or این شرط در صورتی برقرار است که حداقل یکی از شرط ها درست باشد.
3. Xor این شرط در صورتی برقرار است که حداقل یکی از شرط ها غلط باشد.
4. Not این شرط در صورتی برقرار است که هر دو شرط غلط باشد


 Validation Text :

درصورتي كه كاربر مقاديري خارج از مقادير تعيين شده در خصوصيت قبل وارد نمايد پيغام خطا صادر

 مي‌نمايد.


 Required :

در صورت فعال كردن اين خصوصيت ورود داده براي آن فيلد الزامي مي‌باشددر صورت وارد نكردن داده

پيغام اخطار مي‌دهد. به طور مثال اگر این خصوصیت را برای فیلد نام خانوادگی روی مقدار Yes تنظیم

 کنید ، در نمای ورود داده اگر کاربر ستون این فیلد را خالی گذارد و ان سطر را پر کند هنگامی که

 می خواهد سراغ رکورد بعد برود پیغام خطا مبنی بر اینکه این فیلد نمی تواند خالی باشد می دهد

 و تا زمانی که مقدار ندهید به شما اجازه ورود داده نمی دهد. 

Length Allow Zero:

مشخص مي‌كند كه آيا متني به طول صفر در فيلد قابل قبول است يا خير  برای نام ونام خانوادگی

شماره شناسنامه خوبه

 

فیلدهای کلیدی و ایندکسها (شاخص ها)

 
کلید اصلی:

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

اشیا ء داده Activex- ADO

 

 » از آنجایی که دسترسی سریع به رکوردهای یک منبع داده و استخراج آنها برای برنامه نویسان پایگاه داده  یک نیاز ضروری احساس می شد ، مدل اشیاء داده ADO به وجود آمد .

 » مدل ADO از سایر مدل های پایگاه داده مانند DAO و RDO ( اشیاء داده راه دور ) کوچکتر است . و یا به عبارتی ADO کوچک شده مدل RDO است . با استفاده از ADO میتوان سریعا رکوردست ها را ایجاد کرد ، حتی میتوان پس از ایجاد رکوردست اتصال پایگاه داده را قطع کرده و پس از ایجاد تغییرات لازم در آن ، مجددا به پایگاه داده متصل شده و رکوردست تغییر یافته را به آن ارسال کرد .

 » یکی از مهمترین تفاوت های ADO و RDO در این است که ADO برای کار با داده ها به جای ODBC از واسط OLEDB استفاده می کند و به همین دلیل می تواند دارای انعطاف پذیری بیشتری باشد و به منابع داده غیر SQL نظیر E Mail و AS400 و حتی سرویسهای دایرکتوری شبکه دسترسی داشته باشد .

 » مدل ADO بسیار کوچک است و تنها دارای سه شیء اصلی میباشد :

 1 ) شیء ConnectionString ، که همان اتصال به پایگاه داده است .

2 ) شیء Command ، که برای اجرای جستجو به کار می رود .

3 ) شیء RecordSet ، که همان رکوردست خروجی جستجوی Command است .

 هر کدام از این اشیاء دارای زیر مجموعه ای برای خود هستند که توضیح همه آنه در این مبحث نمی گنجد .

 » خواص ADO :

 مدل ADO دارای تعدادی خواص منحصر به فرد است که در مدل های DAO و RDO وجود ندارند . این خواص نحوه ایجاد DataSet ، جابه جایی اشاره گر در رکوردست و حقوق دسترسی در اتصال را تعیین می کنند :

* ConnectionString

* CommandText

* CommandType

* CursorLocation

* CursorType  

* LockType

* ModeType

 » رشته اتصال ( ConnectionString ): در مدل ADO برای مشخص کردن ارائه کننده OLEDB اتصال منبع داده و نیز سایر جزئیات مود نیاز ، از خاصیت ConnectionString استفاده میشود :

 

برای مثال ایجاد ارتباط با یک پایگاه داده Access :

Provider=Microsoft.Jet.OLEDB.3.51;Data Source=C:\Sample.mdb

اتصال به پایگاه داده SQL Server :

Provider=SQLOLEDB.1;Data Source=Pibs;User ID=sa;Location=mca

» متن فرمان ( CommandText ): این خاصیت در  ADO، جستجویی را که باید برای استخراج داده ها اجرا شود مشخص می کند برای مثال :

 

CommandText="SELECT * FROM Table1"

 

» نوع فرمان CommandType : این خاصیت نوع جستجو را مشخص می کند و مقدار پیش فرض آن adCmdUnknown است . اگر بخواهیم از دستورات SQL استفاده کنیم باید مقدار آن را برابر با adCmdText قرار دهیم .

 adCmdText  (1:   مقدار موجود در CommandText ، متن فرمان مورد نظر است .

 adCmdTable (2:   مقدار موجود در CommandText ، نام جدولیست که جستجوی SQL  

 همه ستونهای آن را بر میگرادند .

 adCmdStoredProc(4:    مقدار موجود در CommandText ، یک روال ذخیره شده است .

 adCmdUnknowm (8:    مقدار پیش فرض است .

 

» استفاده از Adodc :

کنترل Adodc در واقع نماینده گرافیکی برای استفاده از امکانات ADO است . شکل آن تقریبا شبیه به کنترل  Data  است ولی برای استفاده از آن ابتدا آن را به جعبه ابزار ویژوال بیسیک اضافه کنیم . برای این کار شما باید از جعبه Components گزینه MicroSoft ADO Data Control 6.0 (OLEDB) را علامت بزنید . سپس برای استفاده آن را بر روی فرم خود قرار داده و طبق سلیقه خود آن را تنظیم کنید .

روش  اتصال به پایگاه داده اکسس:

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

Private Sub Form_Load()

  Adodc1.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db.mdb;"

  Adodc1.CommandType = adCmdText

  Adodc1.RecordSource = "SELECT * FROM Student"

  Adodc1.Refresh

End Sub

البته بیشتر خصوصیات کنترل Adodc مانند کنترل Data است . یعنی دستوراتی مانند روفتن به رکورد قبل یا بعد همانند دستورات مورد استفاده در کنترل Data می باشد .

 + توجه داشته باشید که در کد با لا باید یک بانک در درایو c با نام "db.mdb" وجود داشته باشد.

 

آشنایی کلی با پایگاه داده

 

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

» پایگاه داده : پایگاه داده یا بانک اطلاعاتی محلی است برای نگهداری اطلاعات و داده های گوناگون به صورت یکپارچه ، منظم و مرتب که هر کدام از اطلاعات آن قابل دسترسی و پردازش می باشند .

» انواع برنامه هایی که توانایی ساخت فایلهای پایگاه داده را دارند و ویژوال بیسیک 6 قادر به ایجاد ارتباط با آنها می باشد عبارتند از : Access ، Foxpro ، dbase ، Paradox ، .... که مهمترین آنها برنامه Access از مجموعه برنامه های آفیس است . و کار با آن ساده تر و راحت تر از پایگاه داده های دیگر است . ما نیز از این پایگاه داده استفاده خواهیم کرد (در اینده سعی می کنیم آموزش SQL Server را هم بگذاريم).

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

» اجزای یک پایگاه داده : فایل با پسوند *.mdb ----> جدول ها ----> فیلد ها ----> رکوردها

» جدول ها از مجموعه فیلدهایی با انواع زیر ساخته می شوند :

Text

نوع متنی که طول ظرفیت آن 256 کاراکتر است

Memo

نوع متنی که طول ظرفیت آن میتواند بیش از 256 کاراکتر باشد.( معمولا ذخیره کردن توضیحات و آدرس و ... )

Number

نوع عددی که خود آن به انواع مختلف تقسیم میشود(Integer، LongInt و ...)

Date\Time

نوعی برای نگهداری داده هایی با فرمت تاریخ و زمان

Currency

برای نگهداری داده های مالی یا ارزی از این نوع استفاده می شود

Yes\No

همانند نوع Boolean است که فقط مقدار -1 و 0 را می پذیرد

AutoNumber

نوعی برای تولید اعداد خودکار و غیر تکراری ( معمولا برای ساخت فیلد کلید )

که رکوردها کوچکترین و اساسی ترین جزء مجموعه بانک اطلاعاتی هستند و داده ها را مستقیما درخود نگهداری می کنند .

» برای مثال جدولی برای نگهداری اطلاعات شخصی افراد که می تواند فیلدی برای نگهداری نام ، فیلد دیگری برای نگهداری نام خانوادگی و انواع فیلدهای دیگر برای ذخیره سازی اطلاعات دیگر داشته باشد که با توجه به نوع داده ای که باید در آن ذخیره شود نوع آن تعیین می گردد . مثلا چون نام افراد باید متنی باشد از نوع Text انتخاب خواهد شد .

» برای آشنایی بیشتر شما برنامه Access را باز کنید و پایگاه داده را با نام Test.mdb ذخیره کرده و جدولی با نام Simple بسازید و فیلد های آن را به صورت زیر تنظیم کنید تا با این مبحث و برنامه Access به طور مختصر آشنا شوید . همچنین از این پایگاه داده که می سازید در ادامه استفاده خواهیم کرد :

ID

از نوعAutonumber برای نگهداری شماره مخصوص هر فرد به طور خودکار

Name

از نوع Text برای نگهداری نام افراد

Family

از نوع Text برای نگهداری نام خانوادگی

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

 

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

» معمولا هر جدول یک فیلد موسوم به فیلد کلید KeyField دارد که از آن برای حفظ یکپارچگی پایگاه داده و برقراری رابطه با جدول های دیگر استفاده می کند . هر جدول می تواند فقط یک فیلد کلید یا کلید اولیه داشته باشد ، ولی می تواند دارای چند فیلد خارجی Foreign Key باشد . نحوه نمایش داده ها را فیلد کلید اصلی کنترل می کند و از فیلد خارجی برای مرتب کردن جدول با جدول های دیگر استفاده می شود .

» برای ایجاد ارتباط بین جدول ها در محیط Access شما باید از منوی Tools گزینه Relationships را انتخاب کنید و پس از انتخاب جدول ها خواهید توانست بین آنها توسط فیلدهای کلید ارتباط با معنی ایجاد کنید .

_ ما توسط فیلد کلید می توانیم انواع روابط زیر را بین جدول ها ایجاد کنیم :

» رابطه یک به یک : در این نوع ارتباط فیلدی در جدول اول یا اصلی به عنوان فیلد کلید تعریف می شود و با فیلد دیگری که در جدول بعدی یا فرعی به عنوان فیلد کلید تعریف شده است ارتباط داده می شود . در این صورت اطلاعات موجود در فیلد جدول فرعی باید کاملا مشابه اطلاعات و داده های موجود در فیلد کلید اصلی اصلی باشد . یعنی برای هر رکورد موجود در فیلد کلید اصلی باید رکورد متناظر با آن در فیلد کلید فرعی موجود باشد . و نمی تواند رکورد تکراری در هر یک از جدول ها وجود داشته باشد .

» رابطه یک به چند : در این نوع ارتباط فیلد اشاره گر می تواند به چند رکورد در جدول های دیگر اشاره کند یا این که برای هر رکورد موجود در فیلد کلید اصلی چند رکورد متناظر با آن در جدول های دیگر موجود باشد .

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

نکته : ارتباط یک به چند مهمترین و پر کاربرد ترین ارتباط موجود در میان جدول ها محسوب میشود .

» رابطه چند به چند : به دلیل این که این نوع ارتباط پیچیدگی زیادی داشته و در مواقع بسیار استثنایی از آن استفاده می شود و خوب ، البته من هم آشنایی چندانی یا بهتر بگم هیچ آشنایی با این نوع رابطه ندارم از شرح آن خود داری میکنم . امیدوارم که منو درک کنید .

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