پایگاه دادهها چیست؟
پایگاه داده یا دیتابیس (Database) مجموعهای ساختاریافته از اطلاعات و دادهها است که بهصورت الکترونیکی در سیستمهای کامپیوتری ذخیره میشوند. قدمت پایگاه داده به بیش از 60 سال قبل برمیگردد که در ابتدا بهصورت ذخیره از نوع Flat File بود. فلت فایلها در واقع نوعی از پایگاه داده بودند که ذخیره سازی دادهها را درون فایلهای متنی ساده انجام میدادند. پایگاه داده یکی از مهمترین بخشهای سامانههای نرمافزاری بهحساب میآید. اکثر نرمافزارها و وبسایتهایی که هر روزه به دفعات زیادی مورد استفاده قرار میگیرند بهنحوی با یک پایگاه داده در ارتباط هستند بنابراین آشنایی با پایگاه دادهها و نحوه عملکرد و کاربرد آن برای هر مهندس کامپیوتری امری الزامی است؛ بههمین جهت درس پایگاه داده جزء یکی از دروس تخصصی در رشتههای کامپیوتری محسوب میشود و تعدادی از تستهای آزمون کنکور ارشد کامپیوتر را به خود اختصاص داده است.
پایگاه داده چیست و چه کاربردهایی دارد؟
همانطور که گفته شد پایگاه داده که در متون علمی گاهی به آن "مخزن اطلاعات" و یا "بانک اطلاعاتی" نیز میگویند مجموعهای ساختاریافته از دادهها است و اطلاعات بهطور منسجم و قابل مدیریت درون آن ذخیره میشوند. بهوسیله نرمافزارهای مدیریت پایگاه داده که به آن DBMS یا Database Management System میگویند، میتوان پایگاه دادهها را مدیریت کرد. درج اطلاعات، تغییر اطلاعات، حذف اطلاعات و جستجوی اطلاعات از جمله مهمترین کارهایی است که میتوان بهوسیله این نرمافزارهای مدیریت پایگاه داده انجام داد.
اهمیت یادگیری پایگاه دادهها و اصول طراحی آن چیست؟
پایگاه دادهها یکی از دروسی است که دانشجویان رشته کامپیوتر باید در مقطع کارشناسی بگذرانند. دانشجویان در این درس میآموزند چگونه یک پایگاه داده را به صورت منطقی و فیزیکی طراحی کنند و از آن استفاده کنند. همچنین از این آموزش می توان جهت آمادگی برای کنکور ارشد نیز استفاده کرد.
از طرفی پایگاه دادهها یکی از مهمترین بخشها در حوزهی فناوری اطلاعات است. با طراحی یک پایگاه داده خوب میتوان دادهها را به خوبی تحلیل کرده و با کنترل و مدیریت دسترسی کاربران به دادهها، امنیت اطلاعات را تضمین کرد .همچنین با توجه به اینکه پایگاه دادهها بسیاری از اطلاعات را نگهداری میکنند و با طراحی مناسب میتوان زمان پاسخدهی را کاهش و سرعت جستوجوی اطلاعات و امنیت را افزایش داد.
کاربردهای پایگاه داده
مروزه رد و پای پایگاه دادهها در اکثر صنعتهای کامپیوتری مشاهده میشود. شاید اینطور بهنظر برسد که استفاده از پایگاه داده تنها مخصوص شرکتها و صنعتهای بزرگ است؛ اما باید بدانید که حتی نرمافزارهای چند مگابایتی گوشیهای هوشمند نیز برای ذخیره اطلاعات کاربران خود از پایگاه دادههای محلی که در خود گوشی هوشمند ایجاد میشود استفاده میکنند. در لیست زیر چند نمونه از کاربردهای مختلف پایگاه داده را در حوزههای مختلف مشاهده میکنید:
- استفاده از پایگاه داده در امورات مالی: تمامی اطلاعات حسابهای بانکی کاربران یک بانک درون پایگاه دادهها ذخیره میشوند. جزئیات تراکنشها مانند تاریخ تراکنش، مقدار وجه انتقالی، گیرنده، فرستنده و یا میزان مانده حساب کاربر، همه و همه درون پایگاه دادههای رابطهای موجود در سیستمهای بانکی قرار میگیرند. نمونه بارز دیگر استفاده از پایگاه داده در امورات مالی، بازار بورس است. تمامی سهامهای خریداری شده و پوزیشینهای باز شده برای خرید و یا فروش سهام درون پایگاه دادههای سیستمهای بورسی و کارگزاران ذخیره میشود و امکان بررسی کلیه امورات شما بهوسیله این پایگاه دادهها وجود دارد.
- استفاده از پایگاه داده ها در وبسایتها و وبلاگها: میتوان گفت اکثر وبسایتهایی که امکان بهروز شدن دارند (مانند قرار دادن پست جدید و یا نظر دادن) بهنحوی از پایگاه داده استفاده میکنند. محتواهایی که روزانه در وبسایتها قرار میگیرند، لینک ویدیوها، تصاویر، نظرات کاربران و... درون پایگاه دادهها ذخیره میشوند.
- استفاده از پایگاه داده برای آموزش: تمامی مدارس و دانشگاهها در تمامی مقاطع تحصیلی از ابتدایی گرفته تا دکترا، از پایگاه داده برای ذخیره اطلاعات دانشآموزان و دانشجویان و همچنین مدیریت آنها استفاده میکنند. اطلاعات فردی، ریز نمرات ثبت شده و دروس اخذ شده از بارزترین اطلاعاتی است که درون این پایگاه دادهها ذخیره میشوند.
- پایگاه داده ها برای شرکتها: علاوه بر استفاده از پایگاه داده برای پیشبرد یک بازار کار، درون خود شرکتها هم پایگاه دادههایی وجود دارد که تنها برای بررسی و مدیریت کارمندان و مدیریت شرکت مورد استفاده قرار میگیرد؛ بهعنوان مثال میزان حقالزحمه تمامی کارمندان در یک ماه، میزان درآمد ناخالص در یک سال مالی و اموراتی از این قبیل.
درس پایگاه داده
درس پایگاه داده یکی از دروس تخصصی رشتههای مهندسی کامپیوتر و مهندسی فناوری اطلاعات (IT) است. این درس جزء دروس مهم رشته مهندسی کامپیوتر بهحساب میآید، بهخصوص برای دانشجویان رشته شبکه و امنیت که تقریبا در تمامی زمینههای شغلی میبایست از اطلاعات کافی در مورد سیستمهای پایگاه داده برخوردار باشند. درسهایی مانند ساختمان داده و جبر خطی از جمله درسهای مهمی هستند که به درک و فهم این درس کمک بسیاری میکنند. بر اساس چارت درسی، درس پایگاه داده معمولا در نیمه دوم تحصیلات کارشناسی یعنی ترم 4 به بعد (معمولا ترم 5 و یا 6) اخذ میشود. با توجه به تعداد تستهای نسبتا بالا با ضریب 3 و 4 در گرایشهای مختلف کامپیوتری، درس پایگاه داده یک درس مهم محسوب میشود.
پیشنیازهای درس پایگاه داده
پیشنیاز درس پایگاه داده برای رشتههای مهندسی کامپیوتر و مهندسی فناوری اطلاعات درس ساختمان داده میباشد اما از آن جایی که درسهای پیشنیاز به نوبه خود پیشنیازهای دیگری دارند، باعث میشود سلسه مراتبی از دروس پیشنیاز بهوجود آید که در زیر میتوانید تمامی این دروس را مشاهده کنید:
پیشنیاز درس پایگاه داده: ساختمان داده
پیشنیاز درس ساختمان داده: دروس برنامهسازی پیشرفته و ریاضیات گسسته
پیشنیاز درس برنامه سازی پیشرفته: مبانی کامپیوتر و برنامهسازی
همنیاز درس ریاضیات گسسته: دروس ریاضی عمومی 1 و مبانی کامپیوتر و برنامهسازی
بنابراین برای اخذ درس پایگاه داده در دوره کارشناسی نیاز است تا تمامی دروس زیر را پاس کرده باشید:
- ریاضی عمومی 1
- مبانی کامپیوتر و برنامهسازی
- ریاضیات گسسته
- برنامهسازی پیشرفته
- ساختمان داده
سرفصلها
- درس یکم: تعاریف اولیه سیستم پایگاه داده
- تعاریف اولیه سیستم پایگاه داده
- داده
- اطلاع
- تعریف پایگاه داده
- عناصر تشکیل دهنده محیط پایگاه داده ها
- داده ها
- سخت افزار
- نرم افزار
- کاربر
- اجزای معماری پایگاه داده
- دید مفهومی (ادراکی)
- دید خارجی
- دید یا سطح داخلی
- HL زبان میزبان
- DSL زبان داده ای فرعی
- سیستم مدیریت بانک اطلاعاتی
- مدیر بانک اطلاعاتی DBA
- ساختار داده ای
- انواع ساختارهای داده ایی
- تراکنش
- تعاریف اولیه سیستم پایگاه داده
- درس دوم: ساختار داده ای رابطه ای
- تعریف رابطه
- خصوصیات رابطه
- کلید کاندید
- کلید اصلی
- کلید فرعی
- کلید خارجی
- مثال های متنوع
- ابر کلید
- قاعده جامعیت موجودیتی
- قاعده جامعیت ارجاعی
- درس سوم: مدل ER
- انواع موجودیت ها
- انواع صفت ها
- درجه ارتباط و نوع ارتباط
- مثال های متنوع
- انواع موجودیت ها
- درس چهارم: جبر رابطه ای
- عملگرهای گزینش و پرتو
- عملگرهای اجتماع، اشتراک و تفاضل
- عملگرهای پیوند (Join)
- ضرب دکارتی
- تقسیم (Division)
- پیوند طبیعی
- نیم پیوند (Semi join)
- فراپیوند (Outer join)
- عملگر درج (Insert)
- بهنگام سازی داده ها (Update)
- عملگر حذف (Delete)
- کامل بودن جبر رابطه ای
- مثال های متنوع
- درس پنجم: زبان SQL
- انواع داده ها در SQL
- اپراتورها در SQL
- Update
- Insert
- Delete
- SELECT
- عملگر Like
- دستورهای Select متداخل
- Group By و Having در select
- مثال های متنوع
- دیدها (View)
- درس ششم: وابستگی تابعی
- وابستگی تابعی (FD)
- وابستگی تابعی کامل
- مجموعه وابستگی بهینه
- به دست آوردن کلیدهای کاندید
- مثال های متنوع
- وابستگی چند مقداری (MVD)
- وابستگی پیوندی (JD)
- درس هفتم: نرمال تر سازی
- مفهوم آنومالی
- سطوح نرمال سازی
- رابطه ۱NF
- رابطه ۲NF
- رابطه ۳NF
- رابطه BCNF
- رابطه ۴NF
- رابطه ۵NF
- مثال های متنوع