جلسه 5
جلسه پنجم: مقدمهای بر پایگاه داده اکسس و طراحی جداول
اهداف آموزشی:
در پایان این جلسه، دانشجویان باید قادر باشند:
- مفهوم پایگاه داده (Database) و تفاوت آن با فایلهای صفحهگسترده (مانند اکسل) را درک کنند.
- با نرمافزار Microsoft Access و کاربردهای آن در مدیریت اطلاعات حسابداری آشنا شوند.
- مفاهیم کلیدی پایگاه داده مانند جداول (Tables)، فیلدها (Fields)، رکوردها (Records)، انواع داده (Data Types) و کلیدهای اصلی (Primary Keys) را تعریف کنند.
- نحوه ایجاد یک پایگاه داده جدید در Access را بیاموزند.
- جداول پایگاه داده را با رعایت اصول طراحی صحیح (مانند نرمالسازی مقدماتی) طراحی کنند.
- انواع دادههای مناسب برای فیلدهای مختلف در Access را انتخاب کنند (متن، عدد، تاریخ، بله/خیر و…).
- مقداردهی اولیه به جداول و ورود دادهها را انجام دهند.
- اهمیت طراحی صحیح جداول برای انسجام و دقت دادهها را درک کنند.
مقدمه:
تاکنون در اکسل با دادهها سر و کار داشتیم، اما حجم زیاد دادهها و نیاز به روابط پیچیده بین اطلاعات مختلف، محدودیتهایی را برای اکسل ایجاد میکند. در این جلسه، وارد دنیای پایگاههای داده میشویم و با نرمافزار Microsoft Access، یکی از ابزارهای رایج برای مدیریت اطلاعات، آشنا خواهیم شد. درک اصول پایگاه داده و نحوه طراحی صحیح جداول، سنگ بنای ایجاد سیستمهای اطلاعاتی کارآمد در حسابداری است که به ما کمک میکند دادهها را به شکلی منظم، قابل دسترس و قابل اعتماد سازماندهی کنیم.
۱. مبانی پایگاه داده (Database Fundamentals):
- پایگاه داده چیست؟
- مجموعهای سازمانیافته از دادههای مرتبط که به صورت الکترونیکی ذخیره و مدیریت میشوند.
- هدف اصلی: ذخیره، بازیابی، مدیریت و بهروزرسانی کارآمد اطلاعات.
- تفاوت پایگاه داده (Access) با صفحهگسترده (Excel):
- ساختار: اکسل عمدتاً برای محاسبات و تحلیل دادهها در یک جدول یا چند جدول ساده طراحی شده است. پایگاه داده برای مدیریت روابط پیچیده بین چندین جدول اطلاعاتی طراحی شده است.
- حجم داده: پایگاه داده قادر به مدیریت حجم بسیار بزرگتری از دادهها نسبت به اکسل است.
- یکپارچگی دادهها (Data Integrity): پایگاه داده مکانیزمهای قویتری برای اطمینان از صحت، سازگاری و عدم تکرار دادهها دارد.
- امنیت و دسترسی: پایگاه داده امکان کنترل دقیقتر دسترسی کاربران به اطلاعات را فراهم میکند.
- سیستم مدیریت پایگاه داده (DBMS - Database Management System):
- نرمافزاری که رابط بین کاربر و پایگاه داده است و امکان ایجاد، دسترسی و مدیریت پایگاه داده را فراهم میکند. Microsoft Access یکی از انواع DBMSهای رابطهای (RDBMS) است.
۲. آشنایی با Microsoft Access:
- معرفی Access: بخشی از مجموعه Microsoft Office که برای ایجاد و مدیریت پایگاههای داده رابطهای استفاده میشود.
- اشیاء اصلی پایگاه داده در Access:
- جداول (Tables): برای ذخیرهسازی دادهها. (موضوع اصلی این جلسه)
- پرسوجوها (Queries): برای استخراج و تحلیل دادهها بر اساس معیارهای خاص.
- فرمها (Forms): برای ورود، ویرایش و نمایش دادهها به شکلی کاربرپسند.
- گزارشها (Reports): برای نمایش و چاپ دادهها به صورت سازمانیافته.
- (اشیاء دیگر مانند ماکروها و ماژولها که در جلسات بعد پوشش داده خواهند شد.)
۳. طراحی و ایجاد جداول (Designing and Creating Tables):
مفهوم جدول: اساس ذخیرهسازی داده در پایگاه داده. شامل ردیفها (رکوردها) و ستونها (فیلدها).
مفاهیم کلیدی:
فیلد (Field): یک ستون در جدول که یک ویژگی خاص از داده را نشان میدهد (مانند نام مشتری، تاریخ فاکتور، مبلغ).
رکورد (Record): یک ردیف در جدول که نمایانگر یک موجودیت کامل است (مانند اطلاعات یک مشتری خاص، جزئیات یک فاکتور).
نوع داده (Data Type): نوع اطلاعاتی که در یک فیلد ذخیره میشود (متن کوتاه، متن بلند، عدد، تاریخ/زمان، بله/خیر، پیوست، پیوند به اشیاء و…). انتخاب صحیح نوع داده برای کارایی و دقت پایگاه داده حیاتی است.
کلید اصلی (Primary Key - PK): یک یا چند فیلد که به طور منحصربهفرد هر رکورد را در جدول شناسایی میکنند. هر جدول باید یک کلید اصلی داشته باشد و مقدار آن نباید تکراری یا خالی باشد. (مثال: کد پرسنلی، شماره فاکتور).
کلید خارجی (Foreign Key - FK): فیلدی در یک جدول که به کلید اصلی جدول دیگر ارجاع میدهد. برای ایجاد ارتباط (Relationship) بین جداول استفاده میشود.
مراحل ایجاد جدول در Access:
- ایجاد پایگاه داده جدید: File > New > Blank database. نام و محل ذخیرهسازی را تعیین کنید.
- رفتن به نمای Design View: پس از ایجاد جدول اول (که Access به طور پیشفرض ایجاد میکند)، روی نام آن راست کلیک کرده و Design View را انتخاب کنید.
- تعریف فیلدها:
- نام فیلد (Field Name): نامی توصیفی و کوتاه برای هر ستون.
- نوع داده (Data Type): انتخاب نوع مناسب از لیست کشویی.
- توضیحات (Description): شرح اختیاری فیلد.
- تنظیم خصوصیات فیلد (Field Properties):
- اندازه فیلد (Field Size): برای فیلدهای متنی، حداکثر تعداد کاراکتر.
- مقدار پیشفرض (Default Value): مقداری که به طور خودکار در فیلد قرار میگیرد اگر کاربر مقداری وارد نکند.
- قوانین اعتبارسنجی (Validation Rule) و متن اعتبارسنجی (Validation Text): برای اطمینان از ورود دادههای معتبر.
- ضروری (Required): تعیین اینکه آیا فیلد باید حتماً پر شود یا خیر (معمولاً برای کلید اصلی True است).
- تعیین کلید اصلی: روی فیلد(های) کلید اصلی راست کلیک کرده و Primary Key را انتخاب کنید. (Access معمولاً یک فیلد ID از نوع AutoNumber را به عنوان کلید اصلی پیشفرض پیشنهاد میدهد).
- ذخیره جدول: روی آیکون ذخیره کلیک کرده و نامی مناسب برای جدول انتخاب کنید (مثلاً Clients, Products, Orders).
- رفتن به نمای Datasheet View: برای ورود دادهها.
- اصول طراحی جداول (مقدماتی):
- هر جدول باید یک موضوع واحد داشته باشد: مثلاً جدولی فقط برای اطلاعات مشتریان، جدولی فقط برای محصولات. از ترکیب اطلاعات غیرمرتبط در یک جدول خودداری کنید.
- از کلید اصلی استفاده کنید: برای شناسایی منحصربهفرد هر رکورد.
- از انواع داده مناسب استفاده کنید: برای بهینهسازی فضا و جلوگیری از خطا.
- از مقادیر تکراری در فیلدهای غیرکلیدی اجتناب کنید (نرمالسازی مقدماتی): اگر اطلاعاتی در چندین رکورد تکرار میشود، آن اطلاعات را در یک جدول جداگانه قرار دهید و با استفاده از کلید خارجی به جدول اصلی مرتبط کنید. (مثال: اطلاعات یک محصول نباید برای هر بار فروش تکرار شود؛ بلکه در جدول محصولات ذخیره شده و در جدول فروش فقط کد محصول ذکر شود).
- نامگذاری معنادار: برای جداول و فیلدها.
مثال کاربردی: طراحی جداول برای یک سیستم انبارداری ساده
فرض کنید میخواهیم اطلاعات مربوط به محصولات موجود در انبار و اطلاعات تامینکنندگان آنها را در Access مدیریت کنیم.
جدول ۱: تامینکنندگان (Suppliers)
SupplierID(کلید اصلی، AutoNumber) - شناسه تامینکننده
SupplierName(Short Text) - نام تامینکننده
ContactName(Short Text) - نام شخص مسئول تماس
Phone(Short Text) - شماره تلفن
Address(Long Text) - آدرس
جدول ۲: محصولات (Products)
ProductID(کلید اصلی، AutoNumber) - شناسه محصول
ProductName(Short Text) - نام محصول
SupplierID(Number، کلید خارجی) - شناسه تامینکننده (این فیلد جدول Products را به جدول Suppliers مرتبط میکند)
UnitPrice(Currency) - قیمت خرید واحد
UnitsInStock(Number) - تعداد موجودی در انبار
ReorderLevel(Number) - حداقل سطح موجودی برای سفارش مجدد
مراحل در Access:
- یک پایگاه داده جدید به نام
WarehouseDBایجاد کنید. - جدول
Suppliersرا با فیلدهای مشخص شده طراحی کنید وSupplierIDرا به عنوان کلید اصلی تنظیم کنید. - جدول
Productsرا طراحی کنید.ProductIDرا کلید اصلی قرار دهید. نوع دادهSupplierIDدر این جدول باید Number باشد تا بتواند باSupplierIDدر جدولSuppliers(که از نوع Number است) ارتباط برقرار کند. - برای ایجاد رابطه بین جداول: Tools > Relationships > جداول Suppliers و Products را اضافه کنید. فیلد
SupplierIDاز جدولSuppliersرا بکشید و روی فیلدSupplierIDدر جدولProductsرها کنید. تیک “Enforce Referential Integrity” را بزنید. - جداول را ذخیره کنید و به نمای Datasheet View بروید تا دادههای نمونه را وارد کنید.
تمرینهای پایان جلسه:
۱. یک پایگاه داده جدید در Access ایجاد کرده و آن را CompanyDB نامگذاری کنید.
۲. جدولی به نام “کارکنان” (Employees) طراحی کنید که شامل فیلدهای زیر باشد:
EmployeeID(کلید اصلی، AutoNumber)FirstName(Short Text)LastName(Short Text)HireDate(Date/Time)Department(Short Text)Salary(Currency)- مطمئن شوید که
EmployeeIDکلید اصلی است و فیلدSalaryاز نوع Currency باشد.
۳. جدولی به نام “دپارتمانها” (Departments) طراحی کنید:
DepartmentID(کلید اصلی، Short Text) - مثلاً “HR”, “IT”, “Sales”DepartmentName(Short Text) - نام کامل دپارتمان، مثلاً “منابع انسانی”Location(Short Text) - محل دپارتمان
- یک رابطه بین جدول “کارکنان” و “دپارتمانها” برقرار کنید. در جدول “کارکنان”، فیلدی به نام
EmpDepartmentID(نوع داده: Short Text) اضافه کنید که بهDepartmentIDدر جدول “دپارتمانها” ارجاع دهد. سپس این رابطه را در پنجره Relationships ایجاد کنید و “Enforce Referential Integrity” را فعال نمایید.
۵. چرا انتخاب صحیح “نوع داده” (Data Type) برای هر فیلد اهمیت دارد؟ دو مثال بزنید.
۶. تفاوت بین کلید اصلی (Primary Key) و کلید خارجی (Foreign Key) را به زبان خودتان توضیح دهید.
خلاصه جلسه:
در این جلسه، دانشجویان با مفاهیم اساسی پایگاه داده و سیستم مدیریت پایگاه داده (DBMS) آشنا شدند و تفاوتهای کلیدی بین پایگاه داده Access و صفحات گسترده اکسل مورد بررسی قرار گرفت. نرمافزار Microsoft Access به عنوان ابزار اصلی این درس معرفی شد و اجزای مهم آن مانند جداول، پرسوجوها، فرمها و گزارشها شناخته شدند. تمرکز اصلی جلسه بر روی طراحی و ایجاد جداول بود؛ مفاهیمی چون فیلد، رکورد، انواع داده، کلید اصلی و کلید خارجی به تفصیل شرح داده شد. مراحل عملی ایجاد جدول در نمای Design View، تنظیم خصوصیات فیلدها و تعیین کلید اصلی آموزش داده شد. همچنین، اصول اولیه طراحی جداول برای حفظ یکپارچگی دادهها و همچنین نحوه ایجاد روابط بین جداول (Relationships) با استفاده از کلیدهای خارجی معرفی گردید. طراحی صحیح جداول، پایه و اساس ساخت یک سیستم اطلاعاتی قوی و قابل اعتماد در حوزه حسابداری است.
نکات کلیدی:
- پایگاه داده: سازماندهی دادهها فراتر از صفحات گسترده؛ ایدهآل برای اطلاعات زیاد و روابط پیچیده.
- Access: ابزار قدرتمند مایکروسافت برای مدیریت پایگاههای داده رابطهای.
- جدول: بلوک سازنده پایگاه داده؛ شامل رکوردها (ردیفها) و فیلدها (ستونها).
- کلید اصلی (PK): شناسایی منحصربهفرد هر رکورد؛ ضروری برای هر جدول.
- انواع داده (Data Types): انتخاب صحیح نوع داده (متن، عدد، تاریخ و…) حیاتی است.
- طراحی خوب = دادههای خوب: اجتناب از تکرار دادهها (نرمالسازی) و استفاده از کلیدهای خارجی برای ایجاد روابط، اساس یکپارچگی دادههاست.
- روابط (Relationships): اتصال منطقی جداول برای جلوگیری از افزونگی و تسهیل تحلیل.