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

این درس به بررسی ساختار جداول در پایگاه داده اکسس و نحوه تعریف و استفاده از روابط مختلف میان آنها میپردازد. دانشآموزان با مفهوم table structure آشنا میشوند، جایی که جداول به صورت مجموعهای از رکوردها و فیلدها سازماندهی میشوند. همچنین، در این آموزش به روابط بین جداول، از جمله one-to-many و many-to-many، و نحوه استفاده از آنها برای ایجاد ارتباطات دادهای مؤثر در پایگاه دادهها اشاره میشود. به علاوه، انواع دادهها و فیلدهای مختلف مانند AutoNumber و Lookup بررسی شده و به کاربران آموزش داده میشود که چگونه از این ویژگیها برای ایجاد ساختارهای دادهای مناسب استفاده کنند. این درس پایهگذار درک اصولی از طراحی پایگاه دادهها در اکسس است و به کاربران کمک میکند تا بتوانند جداول و روابط مختلف را به نحو مؤثر و کارآمد پیادهسازی کنند.
جداول یا به اصطلاح مایکروسافت Tables ها؛ چارچوب هر پایگاه دادهی موفقی هست و یک رکن اساسی برای پایگاه داده محسوب میشه و این موفقیت یعنی عملکرد درست توابع تعریف شده در جداول، و میزان انعطاف پذیریِ پایگاه داده نسبت به وارد کردن داده ها؛ بستگی به ساختار جدولی داره که این داده ها رو قراره نشون بده. آشنایی با عملکرد جدول ها توی اکسس کلید ایجاد یک پایگاه داده بخوبی سازمان یافته هستش.
توی اکسس؛ جدول ها از یک مدل خیلی دقیق تر و جامع تری نسبت به بقیه نرم افزارهایِ پایگاه داده تبعیت می کنن.
به ردیف هایِ افقی در اکسس “رکورد” گفته میشه و رکورد زنجیره محکمی از داده هایی هست که جزئیات یک موجودیت یا اینتتی رو نشون میده و نشون دهنده ی یک ماهیت منحصر بفرد است.
به هر پدیده، شی یا چیز که وجود عینی یا ذهنی داشته باشه یک موجودیت یا پدیده میگیم که در مدل رابطه ای در قالب جدولها پیاده سازی میشن. در واقع هر جدول بیانگر یک موجودیت است. اینم بگم که اینرو با بحث اینتری اشتباه نگیرید.
خیلی ها پیرامون اینتری سوال میکنن؛ خب ، بد نیست بدونید دیتا اینتری یا خلاصه ترش اینتری همون متد وارد کردن اطلاعات در سلول های یک نرم افزار صفحه گسترده هست مثل اکسل یا همین اکسس. خب؛ بریم سراغ بحث جداولمون؛ مثلاً توی لیست کارمندا داده های مربوط به هر فرد توی یک ردیف یا رکورد قرار می گیره.
به ستون های عمودی فیلد گفته میشه. پس تا اینجا دو تا از مهمترین های یادگیری کار با جداول اکسس رو شناختید که گفتم یکیشون رکورد و یکیشون هم فیلد. پس بیاید با این پیش زمینه به آموزشمون ادامه بدیم.
هر فیلدِ جدول یک ویژگی منحصر بفرد برایِ داده هایِ مرتبط با هر رکورد محسوب میشه.
تویِ یک جدول خوب طراحی شده یه اکسس، شاهده اینیم که هر فیلد فقط بخشی از اطلاعات رو ذخیره میکنه؛ که ما بهش صفت ساده میگیم. مثلاً بجایِ نام و نام خانوادگی فقط نام توش دیده میشه.
اینم بدونید که هر فیلد می تونه یک نوع از داده ها رو؛ در خودش نگه داره.
این داده می تونه به انتخابه شما یک متن کوتاه باشه؛ که بدونید نهایتاً تا 255 کاراکتر می تونه طولش تعریف بشه و یا اینکه نه یک متن طولانی باشه که کارکترهاش میتونه تا 65536 حرف طول داشته باشه، چیزی حدوده 65 هزار کاراکتر که بنظرم هر نیازی رو برطرف میکنه. در اصطلاح هم بهتره بدونید به متن های کوچک short text و به متن هایِ بلند long text میگن. متن های طولانی برایِ کامنت ها و یادداشت ها می تونه مناسب باشه.
از داده هایِ عددی هم میشه برایِ انجامِ محاسبات ریاضی استفاده کرد و در اکسس براحتی می تونیم این نوع مقادیر رو ذخیره شون کنیم. که هم اعدادِ صحیح یا باصطلاح برنامه نویس ها مقادیر integers رو شامل میشه و هم اعداد دقیق اعشاری یا decimal ها و همچنین floating point ها یا همون اعداد ممیزدار رو.
اینجا در اکسس از نوع دیتاهایِ زمان و تاریخ یا مقادیره واحدهایِ پول هم میشه استفاده کرد.
فیلد AutoNumberامکانی هست که باهاش میشه بعد از تعریفش؛ داده هایِ بقیه اعداد رو بصورت اتوماتیک و زنجیروار؛ اونهم بطور افزایشی برایِ رکوردهایِ جدیدی که اضافه می کنیم، وارد کرد.
Yes یا No یک فیلدِ باینری هست. می تونه بله یا خیر؛ صحیح یا غلط ؛ روشن و خاموش هم باشه.
آبجکته ویژوالی OLEفرمته قدیمی ای است که برایِ الصاقِ یا أتچ فایل هایی مثله عکس یا فایلِ ورد در اکسس أزش استفاده میشد. اگه نیاز به الصاقِ فایل باشه توصیه می کنم از نوع داده جدید تر و کارآمدتری استفاده کنید . در واقع فرمت قدیمی آبجکت OLE مانع از کارایی مناسب میشه، یجورایی باعث ایجاد عدم سازگاری بین فرمت فایلهایِ أتچ شده و پایگاه دادهتون میشه و بهتره دیگه ازش استفاده نکنیم. اگه دوست نداریم فایل رو بطور مستقیم وارده پایگاه داده مون بکنیم بهتر بجاش از یک hyperlink استفاده بکنیم و به این ترتیب برایِ هر مؤلفه خارجی بجای اینکه بخایم با تمام حجمش وارد پایگاه دادمون بکنیمش بیایم و یک لینک برایِ تعریفشون در اکسس در نظر بگیریم. این مؤلفه ها می تونن فایل هایی تویِ شبکه باشن یا اینکه یک آدرس ایمیل و یا یک آدرس اینترنتی باشن. hyperlink ها خیلی انعطاف پذیرن.
در نهایت فیلدهایِ محاسباتی یا باصطلاح فیلدهایِ Calculated؛ داده هایِ یک یا چند فیلد در یک جدول رو محاسبه می کنن و Lookup Wizard هم کمکتون میکنه برایِ ورودی هایِ در دسترسه موجود در یک لیسته دلخواه؛ مقادیر متناسبی رو از یک درآپدان لیست بزرگ و بلند بالا تهیه کنید. Lookup Wizardرو بعداً در ویدئو هایِ همین دوره آموزشی، کامل بررسیش می کنیم.
به غیر از اینکه از فیلدها یا ستون ها برایِ تعریفِ ویژگی هایِ هر رکورده مجزا میشه استفاده کرد، بلکه می تونیم ازش برای ایجاد پیوند بینِ جدول ها هم استفاده کنیم.
قبلاً گفتم که اکسس داده ها رو تویِ جدولهایِ به هم مرتبط نگهداری میکنه؛ به همین دلیل هر کدوم از رکوردها یا موردها باید منحصر بفرد باشند. برایِ اطمینان از این موضوع و منحصر بفرد کردن رکوردها، معمولاً میایم و یک ستون تنها برایِ همین مورد اختصاص میدیم که بهش primary key میگیم و به هیچ وجه معادله فارسیش یعنی کلید اصلی رو مناسبش نمی بینم. primary key معمولاً نشان دهنده یِ شماره سریال یا یک شناسه یا آیدی منحصر بفرده.
برایِ هر پایگاه داده دیگه که فکرش رو بکنیم باید یک شاخص منحصر بفرد براش در نظر بگیریم. این فیلدprimary key دقیقاً شبیه شماره گواهینامه؛ یا شماره عضویتتون در کتابخونه؛ کدملیتون در ایران و یا شماره امنیتی شماره حسابِ بانکیتون یا یک همچین شماره سریال هایی که برایِ هر شخص منحصر بفرد هستن هست. دلیل استفاده از شماره سریال در سیستم یک همچین جاهایی بجایِ اسمتون اینه که، شماره سریال تضمین کننده منحصر بفرد بودن شما نسبت به بقیه نام هایِ مشابه میشه.اگه فقط به این دلیل که کتابخونه نمی تونه دو نفر رو از هم تفکیک کنه و زمانی بخاطر استفاده نکردن از سریال نامبر در تفکیک اعضاش از نامشون استفاده کنه اونوقت شاید ی آرزو رحمتی بجایِ یک آرزو رحمتی دیگه هزینه دیر آوردن کتاب کتابخونه رو بپردازه خب میبینیم مشکل پیش میاد. دلیل یک همچین مشکلاتی در این کتابخونه صرفاً اینه که این کتابخونه نتونسته افراد رو از هم تفکیک کنه و همونطور که گفتم primary key می تونه در این سناریوها بکار بیاد.
از لینکه primary key ها هم برایِ پیدا کردنِ رکورد هایِ مرتبط به هم تویِ جداوله تعریف کردمون، میشه استفاده کرد.
تویِ جدول های به هم مرتبط، کلید ها اهمیته زیادی دارن ولی با این تفاوت که اینبار بهشون foreign key میگن.
خب؛ به فراینده تفکیکه داده ها تویِ جدول هایِ متفاوت Normalization گفته میشه. Rulesها و قوانینِ Normalization از دسته بندی ها و بخش هایِ مختلفی از سینتکس تعریف شده برنامه نویسیه اکسس به اسمِ Normal Forms تبعیت می کنن.
در پایگاه داده تون، اگه تمامِ سلولها فقط حاوی یک مقدار باشن یا بعبارتی تک مقداری باشن؛ اونوقت میشه گفت که پایگاه داده از Normal Forms یا 1NF بهره میبره.
بجایِ اینکه فقط یک فیلد برایِ نام و نامِ خانوادگیه مثلاً کارمندای شرکتی که در پایگاه داده اکسس تعریفشون کردیم، داشته باشیم، بهتره دو تا داشته باشیم یعنی به دو فیلد، یکی برایِ نام و یکی هم برایِ نام خانوادگی تبدیلش کنیم و بعنوانه یک مثال متداول دیگه برایِ یک همچین مجزا نویسی برایِ فیلدها اینه که بهتره بیایم و یک فیلد فقط برایِ آدرس؛ یک فیلد بصورت نام ایالت، یک فیلد مجزا برایِ نامه شهر؛ همینطور برایِ خیابون و یکی هم برایِ کد پستی بصورت تفکیک شده در نظر بگیریم و نیایم و برایِ تعریف یک آدرس دقیق از یک کارمند همه این اطلاعات مربوط به آدرس رو در یک فیلد وارد کنیم.
دومین Normal Forms که بهش 2NF هم میگن نشون دهنده یِ داده هایی یه که به همون primary key تعریف شده جدول، مربوط میشه. بذارید یک سناریو براتون شرح بدم، لازم نیست که اطلاعاته همه یِ مشتری هایی که هر کارمند داره رو تویِ یک جدول ذخیره کنیم، بجاش بجایِ نشون دادن تعامل بینِ کارمندا و مشتری ها بهتر یک جدول جدید درست کنیم.
بر اساسِ سومین Normal Form یا همون 3NF داده ها رو میشه از فیلد های دیگه محاسبه کرد یا بدستشون آورد و نیازی به ذخیره کردنشون در پایگاه داده نیست.
بذارید در این مورد هم یک سناریو مثال بزنم، مثلاً نیاز نیست که همه اطلاعاتِ کارمندا رو یک جا ذخیره کنیم چون با استفاده از اولین حرفه اسم و اولین حرف از نامِ خانوادگی میشه خیلی راحت به اطلاعاتشون دسترسی پیدا کرد. خب؛ پس با همه این تفاسیر و صحبتایی که در این ویدئویِ آموزشی شد، نتیجه میگیرم جدول محل نگهداریِ داده هایی هست که شما درش تعریف می کنید و در کل پایه و اساس یک پایگاه داده محسوب میشه. ایجاده یک پایگاه داده مستحکم از همون اولش خیلی مهمه و در ادامه تکمیل پایگاه داده با استفاده از کوئری های دیگه؛ فرم های دیگه و گزارشات یا reports هایِ دیگه هم باعث انعطاف پذیری و کارآمدی بیشتر میشه.