بازدید: ٢٨٢١

ایجاد ارتباط یک به چند(آموزش پیشرفته اکسس)

بازگشت به صفحه اصلی آموزش پیشرفته اکسس

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

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

1- در ابتدا یک بانک اطلاعاتی جدید اکسس به نام Customer Orders ایجاد می کنیم.

2- یک جدول جدید به نام tblCustomers و با فیلدهای زیر ایجاد می کنیم:

ID (فیلد کلید اولیه ، از نوع autonumber)

FIRSTNAME (از نوع text)

SURNAME (از نوع text)

ADDRESS1( از نوع text)

CITY (از نوع text)

POSTCODE (از نوع text)

 

3- جدول جدیدی به نام tblOrders با فیلدهای زیر ایجاد می کنیم:

ORDERID (فیلد کلید اولیه ، از نوع autonumber)

ITEMORDERED (از نوع text)

DATE (از نوع date)

PRICE (از نوع number. قالب آن را بر روی currency قرار دهید)

CUSTOMERID (از نوع number)

در هنگام ایجاد ارتباط ، فیلد CustomerId ، فیلد خارجی درنظر گرفته می شود.

4- برای ایجاد ارتباط، نوار DATABASE TOOLS را انتخاب کنید و بر روی آیکون RELATIONSHIPS کلیک کنید( از گروه SHOW/HIDE).

 

ارتباط یک به چند

 

5- اکنون پنجره RELATIONSHIPS باز می شود. جدولهایی را که باید برای ایجاد ارتباط استفاده شوند، انتخاب می کنیم.

 

ارتباط یک به چند

 

6- تنها دو جدول در مثال ما وجود دارند. بر روی جدول tblCustomer کلیک کنید تا انتخاب شده و به رنگ آبی درآید. سپس بر روی Add کلیک کنید. همین کار را برای جدول tblOrder انجام دهید و در پایان هم فرم SHOW TABLE را ببندید. اکنون باید در پنجره RELATIONSHIPS دو جدول را مشاهده کنید که هر کدام در کادری جداگانه قرار گرفته اند. در شکل زیر مشاهده می کنید که در هر کادر فیلدهای هردو جدول به همراه کلیدهای اولیه آنها نمایش داده شده اند.

 

ارتباط یک به چند

7- اکنون بر روی فیلد ID در جدول tblCustomer کلیک می کنیم و آن را به سمت فیلد CUSTOMERID در جدول tblOrder  می کشیم. در هنگامی که اشاره گر ماوس را بر روی فیلدهای جدول tblOrder می بریم، به تغییر شکل آن توجه کنید. شکل آن از دایره ای با خطی در وسط به یک علامت بعلاوه تغییر می کند. هنگامی که دکمه ماوس را در انتهای عملیات کلیک کردن و کشیدن، رها می کنید، یک فرم جدید EDIT RELATIONSHIPS باز می شود.

 

ارتباط یک به چند

 

8- اکنون بر روی هر سه گزینه ENFORCE REFERENTIAL INTEGRITY، CASCADE UPDATE RELATED FIELDS و CASCADE DELETE RELATED RECORDS کلیک کنید تا تیک خورده و انتخاب شوند.

9- بر روی CREATE BUTTON کلیک کنید. ارتباط جدول ما اکنون برقرار است. اکنون به خط رسم شده بین فیلد ID از جدول tblcustomet و فیلد CUSTOMERID از جدول tblOrder توجه کنید.

 

ارتباط یک به چند آموزش اکسس

 

تنها کاری که باید الان انجام دهیم این است که رکوردهایی را وارد کنیم تا این ارتباط را مورد آزمایش قرار دهیم. لطفا داده های زیر را در جدول tblCustomer وارد کنید:

 

ارتباط یک به چند آموزش اکسس

 

سپس داده های زیر را در جدول tblOrder وارد کنید:

 

ارتباط یک به چند آموزش اکسس

 

همانطور که مشاهده می کنید هر سفارش در جدول tblOrder دارای یک فیلد CustomerId نظیر، در یکی از فیلدهای ID مشتری در جدول tblCustomer  می باشد. بدین طریق است که هر سفارش را به یک مشتری خاص متصل می کنیم. برای اثبات اینکار کافی است، جدول tblCustomer را باز کنید و بر روی علامت + (سمت چپ جدول) مربوط به هر سطر از مشتریان کلیک کنید. این نشان می دهد که اکسس بطور خودکار هر سفارش از جدول tblOrder  را به مشتری نظیر آن در جدول tblCustomer متصل کرده است.

 

ارتباط یک به چند آموزش اکسس

 

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

بازگشت به صفحه اصلی آموزش پیشرفته اکسس

 

طراحی سایت و سئو توسط ضابط