گروه مقاله : اکسس
تاريخ انتشار : 1395/07/21 - 17:38
كد :7193
در این قسمت ایجاد یک کلید برای ایندکس جدول روابط بین جداول و غیره توضیح داده خواهد شد.
آموزش اکسس مقدماتی قسمت 2
جداول
کلید جدول ستونی است که برای هر یک از داده های وارد شده منحصر به فرد باشد. شاید اولین چیزی که به ذهن برسد نام خود کالا یا افرادی است که اطلاعاتشان در جدول ثبت شده ولی نام ها می توانند تکراری باشند. فقط تصور کنید در یک بانک با هزاران داده از کاربران در آن چند نام احمد می تواند داشته باشد. شاید صدها نفر هم بیشتر . اغلب برای ایجاد کلید از یک ستون شناسه که بصورت اتوماتیک توسط بانک برای هر نفر بصورت افزایشی یا کاهشی پر می شود استفاده می کنند. ولی من اغلب برای این کار اگر بخواهم افراد را لیست کنم از شماره کارت ملی یا شماره شناسنامه استفاده می کنم. یکی از اساتیدم در دانشگاه برای تلفن افراد دو ستون اختصاص می داد یکی پیش شماره و یکی شماره تلفن که شماره تلفن همیشه کلید جداولی بود که با مشخصات افراد پر می شد. مثل کارکنان، دانشجویان، کاربران وبسایت و غیره.
ارتباط بین جداول :
وقتی بانک های داده ساخته شدند سازندگان آن متوجه شدند که اگر بتوانند جداول را باهم مرتبط کنند از میزان اطلاعاتی که باید ثبت شود بشدت کاسته می شود.
مثلا فروشگاهی را فرض کنید که ماکارانی و سس ماکارانی می فروشد . این فروشگاه مجبور بود برای هزاران مشتری خود نام محصول را درج کند.تا بتواند در آخر ماه یا سال میزان فروش ماکارانی و سس ماکارانی را بطور جداگانه محاسبه کند. ولی کافیست که یک جدول به نام محصولات ایجاد و به ماکارانی و سس ماکارانی یک کد منحصر به فرد بدهیم و همه مشکلات حل می شود حالا بجای ورود نام می توانیم از کد استفاده کنیم . لازم نیست کاربر کد را حفظ کند. کاربر بانک میتواند همان نام را ببیند و انتخاب کند ولی در بانک فقط یک کد چند بایتی ضخیره میشود. که برای بانک های معمولی این عدد به ندرت از یک بایت بیشتر حجم می گیرد.
ولی اتصال جداول دلیل دیگری هم دارد . جداول دو نوع رابطه باهم دارد .
1 . رابطه ی یک به یک
2 . رابطه ی یک به چند .
3 . و البته از طرف جدول چند رابطه چند به یک .
ولی گاهی ارتباط بین دو موضوع چند به چند است. در این هنگام شما باید یک جدول واسطه ایجاد و این دو جدول را به هم ربط می دهیم.
مثلا رابطه بین جدول رانندگان یک تاکسی سرویس و مشتریانش را تصور کنید.
هر راننده می تواند چند مشتری داشته باشد.
هر مشتری می تواند در دفعات مختلف با رانندگان مختلف جابه جا شود.
برای ارتباط این دو جدول شمابه جدول واسطه ای به نام سرویس نیاز دارید.
رابطه جدول راننده با جدول سرویس یک به چند . و رابطه جدول مشتریان با این جدول هم یک به چند است. زیرا هم هر راننده می تواند چندین سرویس برود و هم هر مشتری. ولی برای هر سرویس تنها می توان یک راننده و یک مشتری متصور بود.
در اکسس چند نوع رابطه برای ایجاد وجود دارد برای ارتباط شما از روی جدول چند جدولی که از طریق فیلدی که کلید نیست به یک فیلد کلید دار جدول دیگر مرتبط می شود. با دراگ موس به روی فیلد کلید جدول دیگر می روید و اکسس سه امکان برای ایجاد جدول به شما می دهد در تصویر بالا من حالت پیشفرض را پذیرفتم ولی این حالا چه هستند .
کمی پیچیده است. رابطه ی پیشفرض براساس پذیرش داده ها بشرط آنکه در جدول یک و چند وجود داشته باشد.
بگذرید دقیقتر ببینیم این انتخاب دارد به ما می گوید که تنها سطر های را شامل می شود که در جدول یک و چند دقیقا برابر باشند.
گذینه دوم : شامل تمام سطرهای جدول یک شده ولی فقط سطر های از جدول چند را می پذیرد که با این داده ها برابر باشند.
گذینه سوم: شامل تمام سطرهای جدول چند و تنها سطرهای از جدول یک است که با داده های جدول چند دقیقا برابر باشد.
در sql رابطه ی اول innerjoin . رابطه دوم left outer join و رابطه سوم Right outer join نامیده می شود.
در باره ی گذینه ی enforcing referential Integrity باید بگوییم اگر می خواهید با تغییر داده هایتان در یک جدول داده های جدول دیگر هم تغییر یابند از این ویژگی استفاده کنید. بوضوح گذینه delete برای حذف و گذینه update برای تغییرات است.
اجازه بدهید جلسه ی دوم را همینجا به پایان برسانیم.