ایجاد دیتابیس در اکسس

مقدمه

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

آشنایی با محیط عملیاتی

در بسیاری از محیط های عملیاتی از نرم افزاری برای ذخیره اطلاعات استفاده می شود. این نرم افزار می تواند Oracle، SQL Server، My SQL، Access و غیره باشد. نرم افزار اکسس به دلیل اینکه در بسته نرم افزار آفیس قرار دارد، بر روی اکثر سیستمها نصب بوده و بنابراین یکی از برنامه های رایج برای ذخیره و بازیابی اطلاعات به شمار می رود. علت انتخاب این نرم افزار، سادگی این محیط می باشد به دلیل اینکه اغلب افرادی که با نرم افزار اکسس کار می کنند، قبلا تجربه کار با نرم افزار اکسل، ورد و پاورپوینت را داشته ند. اگر هم شما جزء افرادی هستند که تصمیم گرفته اید برای محیط کاری خود یک سیستم ذخیره و بازیابی اطلاعات طراحی کنید با ما همراه باشید.

موجودیت

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

صفات

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

ارتباط

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

عملکرد

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

رسم نمودار ERD

برای اینکه آنچه تجزیه و تحلیل کرده ایم و به صورت نوشتاری به رشته تحریر درآورده ایم برای کارفرما قابل فهم باشد، بهتر است نوشته ها را به نمودار تبدیل کنیم. نمودار ERD یا Entity Relational Diagram نمودار ارتباط موجودیت ها است. برای ترسیم آن به راحتی ابتدا به تعداد موجودیت ها، مستطیل ترسیم کرده و نام موجودیت را در آن بنویسید. برای هر موجودیت به تعداد صفات تشخیص داده شده بیضی رسم کرده و صفت را درون آن بنویسید و سپس با خط آن را به موجودیت متصل کنید. سپس بین هر دو موجودیتی که به هم ارتباط دارند یک لوزی رسم کرده و عملکرد آن را درون لوزی بنویسید. با استفاده از خط مستطیل (موجودیت) را به لوزی (عملکرد) متصل کنید. با توجه به نوع ارتباط عدد ۱ یا حرف N را بر روی خطوط ارتباطی بنویسید. اگر نوع ارتباط ۱:۱ است کنار مستطیل هر دو طرف عدد ۱ قرار دهید. اگر ارتباط یک به چند است یک طرف عدد ۱ و طرف مقابل حرف N قرار دهید و اگر ارتباط چند به چند است یک طرف حرف N و طرف دیگر حرف M قرار دهید.
یک نمونه ERD را در شکل زیر مشاهده می کنید.

نمودار ERD

ایجاد دیتابیس

پس از انجام تمامی مراحل فوق اکنون وارد محیط اکسس می شویم و اولین قدم ایجاد پایگاه داده می باشید. نرم افزار اکسس را باز کرده و در پنجره باز شده گزینه Blank Desktop Database را انتخاب کنید.

ایجاد پایگاه داده خالی

نام و مسیر ذخیره سازی دیتابیس را وارد کرده و بر روی دکمه Create کلیک کنید.

ایجاد پایگاه داده

ایجاد جدول

به صورت پیش فرض یک جدول به نام Table1 توسط اکسس ایجاد می شود. روی سربرگ حاوی نام جدول کلیک راست کرده و Close را انتخاب کنید. اکنون لازم است از روی نمودار ERD، اقدام به ایجاد جدول کنید. هر کدام از موجودیت ها یک جدول را در محیط اکسس تشکیل می دهند. برای مثال در سیستم مدرسه موجودیتهای معلم، دانش آموز، درس و نمره تشکیل ۴ جدول در اکسس را می دهند و باید به صورت مجزا جدول مربوط به هر کدام ایجاد شود. برای ایجاد جدول روش های مختلفی وجود دارد اما پرکاربردترین روش ایجاد جدول از طریق Table Design است. زیرا در این روش فیلدها و نوع داده آنها را خودتان تنظیم می کنید. برای ایجاد جدول همانند تصویر زیر از ریبون Create گزینه Table Design را انتخاب کنید.

ایجاد جدول در اکسس

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

ایجاد جدول دانش آموز در اکسس

نوع داده

نوع داده مربوط به هر فیلد را با توجه به اینکه قرار است چه داده در آن ذخیره شود انتخاب کنید. برای مثال شماره دانش آموزی از نوع عددی است اما عملیات محاسباتی روی آن صورت نمی گیرد بنابراین بهتر است از نوع Short Text انتخاب شود. به همین دلیل برای تلفن نیز نوع داده Short Text انتخاب شده است. با توجه به نوع داده در بخش پایین آن فیلد می توانید ویژگی های دیگری را برای فیلد تنظیم کنید. برای مثال در بخش Filed Size حداکثر اندازه متنی که کاربر می توان برای کد دانش آموزی یا هر فیلد دیگر از نوع متنی وارد کند را تنظیم کنید. برای مثال همانطور که در تصویر زیر مشاهده می کنید برای کد دانش آموزی اندازه فیلد ۱۲ در نظر گرفته شده است با فرض اینکه در این سیستم کد دانش آموزی ۱۲ رقمی است. یا مثلا برای کد ملی می توانید از نوع متنی انتخاب کرده و اندازه آن را ۱۰ رقم انتخاب کنید.

تغییر نوع داده در اکسس

ذخیره جدول

پس از وارد کردن فیلد و نوع داده آنها بر روی سربرگ جدول که نام آن در حال حاضر Table1 است کلیک راست کرده و Save را انتخاب کنید. نامی برای جدول وارد و بر روی دکمه OK کلیک کنید. سعی کنید برای نامگذاری هر شیء در اکسس قوانینی برای خود در نظر گرفته و برای همه اشیاء از آن قوانین پیروی کنید. به هیچ عنوان نام فارسی وارد کنید. من در پروژه ها نام جدول را با پیشوند tbl آغاز می کنم و حرف اول کلمات بعد را با حروف بزرگ می نویسم. شما نیز می توانید از این روش برای نامگذاری اشیاء استفاده کنید.

ذخیره جدول در اکسس

کلید اصلی

اگر مراحل ذخیره سازی را انجام داده باشید باید با پیغام خطای زیر مواجه شوید.

خطای عدم تعریف کلید در اکسس

این خطا به دلیل این است که برای جدول فیلد کلیدی در نظر گرفته نشده است. فیلدی کلیدی به فیلدی گفته می شود که باعث یکتایی و منحصر به فرد شدن رکورد می شود. در اکثر جدولهای اکسس نیاز به تعریف فیلد کلیدی وجود دارد. برای اینکه شما فیلدی را به عنوان کلیک انتخاب کنید در پاسخ به این خطا بر روی No کلیک کنید تا اکسس فیلدی به جدول شما اضافه نکند و خودتان فیلد کلیدی را تعریف کنید. در این مثال برای اینکه هر دانش آموز از دیگری متمایز شود باید برای آن فیلد کلیدی در نظر بگیریم. من در این مثال فیلد Scode را به عنوان فیلد کلید انتخاب می کنم. بنابراین بر روی فیلد Scode کلیک راست کرده و گزینه Primary Key را انتخاب کنید. پس از تعریف کلید، علامت کلید در کنار نام فیلد به نمایش در می آید.

تعریف فیلد کلیدی در اکسس

ایجاد جدول معلم

با کلیک بر روی سربرگ جدول tblStudent و انتخاب Close جدول را ببندید. اکنون به روش توضیح داده شده یک جدول برای معلم ایجاد می کنیم. جدول معلم را با فیلدهایی مشابه تصویر زیر ایجاد کنید. می توانید نوع داده فیلدها را با توجه به نیاز خود نغییر دهید. برای فیلد کد پرسنلی نوع آن را Auto Number در نظر گرفته ایم این نوع باعث می شود اکسس خود شماره ای را به معلم نسبت دهد. در عمل بهتر است این فیلد از نوع Short Text باشد اما به دلیل اینکه خواستیم تنوع انواع داده را بررسی کنیم آن را از نوع Auto Number در نظر گرفتیم. برای آدرس سایت نوع Hyperlink تعریف شده است تا هنگامی که آدرس سایت وارد می شود قابلیت کلیک کردن و رفتن به سایت آن معلم فراهم شود. برای تصویر نیز می توان از فیلد Attachment استفاده کرد. اما برای مدرک تحصیلی شاید بهتر باشد یک لیست کشویی ایجاد شود و کاربر از بین مدارک فهرست شده، مدرک مورد نظر را انتخاب نماید. بنابراین نوع داده را Lookup Wizard انتخاب نمایید.

ایجاد جدول معلم در اکسس

نوع داده Lookup Wizard

فیلد مدرک تحصیلی (Degree) را انتخاب کنید و گزینه Lookup Wizard را کلیک کنید. در پنجره ای که باز می شود گزینه I will type the values that I want را انتخاب کرده و بر روی Next کلیک کنید.

نوع داده Looup wizard در اکسس

در پنجره بعدی داده های مربوط به مدرک تحصیلی را وارد کنید.

تایپ داده های مدرک تحصیلی

بر روی دکمه Next کلیک کنید. در پنجره بعدی برای اینکه کاربر محدود به انتخاب فقط از بین مقدارهای وارد شده باشد گزینه Limit To List را علامتدار کنید. همچنین اگر بخواهید کاربر امکان انتخاب چند گزینه را داشته باشید گزینه Allow Multiple Values را علامتدار کنید. در نهایت بر روی دکمه Finish کلیک کنید.

مرحله نهایی Lookup Wizard

تعریف کلید و ذخیره جدول

فیلد Tcode را به عنوان فیلد کلیدی در نظر گرفته و جدول را به نام tblTeacher ذخیره کنید. جدول را ببندید.

جدول درس

برای درس نیز مانند روشهای توضیح داده شده یک جدول ایجاد کنید. فیلدها و نوع داده ها را تعریف کرده و فیلد کلیدی را مشخص کنید. برای نوع درس مقدارهای عمومی و تخصصی (Lookup Wizard) تنظیم کنید. جدول را با نام tblCourse ذخیره کرده و جدول را ببندید.

ایجاد جدول درس در اکسس

جدول رابط

بین دانش آموز، معلم و درس یک رابطه ای وجود دارد. این رابطه از طریق نمره است. بنابراین نیاز به یک جدول داریم که در آن مشخص کنیم نمره متعلق به کدام دانش آموز است. پس لازم است کد دانش آموزی را در این جدول رابط وارد کنیم. همچنین باید مشخص شود که کدام معلم این نمره را وارد کرده است. بنابراین کد پرسنلی معلم را نیز وارد می کنیم. علاوه بر این دو مورد باید مشخص شود که نمره مربوط به کدام درس است. پس کد درس را نیز در این جدول وارد می کنیم. به عبارت دیگر کلید اصلی مربوط به سه جدول دیگر را در این جدول وارد می کنیم و در نهایت فیلد نمره را نیز وارد می کنیم. از آنجاییکه یک معلم برای یک درس هر دانش آموز نمی تواند بیش از یک نمره وارد کند باید این سه فیلد را با هم به عنوان فیلد کلیدی تعریف کنیم یعنی کلید مرکب ایجاد کنیم. بنابراین فیلدهای Scode، Tcode و Ccode را با گرفتن کلید Ctrl انتخاب کرده و سپس بر روی علامت Primary Key از ریبون کلیک کنید تا علامت کلید در کنار هر ۳ فیلد انتخاب شده به نمایش در آید. همانند تصویر زیر جدول نمره به نام tblMark ایجاد کنید.

ایجاد جدول نمره در اکسس

نوع داده فیلد رابط

نکته بسیار مهم در مورد جدول رابط این است که دارای فیلدهایی است که اصطلاحا به آنها کلید خارجی گفته می شود. در جدول نمره ۳ فیلد کلید خارجی وجود دارد. Scode در جدول tblStudent کلید اصلی است و نمی تواند تکراری باشد در صورتی که در جدول tblMark کلید خارجی است و می تواند مقدار تکراری بگیرد (چون در جدول نمره برای یک دانش آموز در درسهای مختلف نمرات مختلفی وارد می شود و کد دانش آموزی می تواند در این جدول تکرار شود). در این قسمت باید نوع داده Scode در جدول tblStudent را مشاهده کنید و نوع داده این قسمت هم باید متناسب به همان باشد. اگر Short Text و اندازه ۱۲ است اینجا نیز باید Short Text با اندازه ۱۲ باشد. چنانچه این مرحله را با دقت تنظیم نکنید در هنگام ارتباط بین جدولها اکسس به شما پیغام خطا می دهد. نوع داده Tcode در جدول tblTeacher از نوع AutoNumber است و اکسس خودش شماره به هر معلم نسبت می دهد اما در این جدول باید از نوع Number باشد چون هنگام وارد کردن نمره اپراتور باید کد پرسنلی معلم را وارد نماید و اکسس نباید مقداری برای کد پرسنلی در جدول نمره وارد نماید. فیلد Ccode نیز از نوع Short Text بود بنابراین در این جدول هم باید از نوع Short Text باشد. اما برای Mark یعنی نمره از آنجائیکه قصد داریم نمره با دو رقم اعشار ثبت شود پس در قسمت General نوع آن را Single و تعداد رقم اعشار (Decimal Places) را به ۲ تنظیم می کنیم. از آنجائیکه اپراتور هنگام وارد کردن نمره ممکن است اشتباه کند و مثلا به جای نمره ۲۰ نمره ۲۵ را وارد کند، باید به نحوی تا جایی که امکان دارد جلوی ورود داده های اشتباه گرفته شود. بنابراین از Validation Rule استفاده می کنیم و شرط را در این قسمت وارد می کنیم. چنانچه نمره نامعتبر وارد شود اکسس پیغامی به انگلیسی به کاربر نشان می دهد. بهتر است پیغام را فارسی کنیم. بنابراین در قسمت Validation Text متن پیغام را به فارسی وارد می کنیم. همانند تصویر زیر تنظیمات را انجام دهید. تغییرات را ذخیره کرده و جدول را ببندید.

نوع داده فیلد رابط در اکسس

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

فیلم آموزشی ایجاد جدول در اکسس

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *