پایگاه داده یا دیتابیس (Database) مجموعهای ساختاریافته از اطلاعات و دادهها است که بهصورت الکترونیکی در سیستمهای کامپیوتری ذخیره میشوند. قدمت پایگاه داده به بیش از ۶۰ سال قبل برمیگردد که در ابتدا بهصورت ذخیره از نوع Flat File بود. فلت فایلها در واقع نوعی از پایگاه داده بودند که ذخیره سازی دادهها را درون فایلهای متنی ساده انجام میدادند. پایگاه داده یکی از مهمترین بخشهای سامانههای نرمافزاری بهحساب میآید. اکثر نرمافزارها و وبسایتهایی که هر روزه به دفعات زیادی مورد استفاده قرار میگیرند بهنحوی با یک پایگاه داده در ارتباط هستند بنابراین آشنایی با پایگاه دادهها و نحوه عملکرد و کاربرد آن برای هر مهندس کامپیوتری امری الزامی است؛ بههمین جهت درس پایگاه داده جزء یکی از دروس تخصصی در رشتههای کامپیوتری محسوب میشود و تعدادی از تستهای آزمون کنکور ارشد کامپیوتر را به خود اختصاص داده است.
پایگاه داده و کاربردهای آن
پایگاه داده که در متون علمی گاهی به آن “مخزن اطلاعات” و یا “بانک اطلاعاتی” نیز میگویند مجموعهای ساختاریافته از دادهها است و اطلاعات بهطور منسجم و قابل مدیریت درون آن ذخیره میشوند. بهوسیله نرمافزارهای مدیریت پایگاه داده که به آن DBMS یا Database Management System میگویند، میتوان پایگاه دادهها را مدیریت کرد. درج اطلاعات، تغییر اطلاعات، حذف اطلاعات و جستجوی اطلاعات از جمله مهمترین کارهایی است که میتوان بهوسیله این نرمافزارهای مدیریت پایگاه داده انجام داد.
دادههای قابل ذخیرهسازی درون یک پایگاه داده میتواند انواع مختلفی داشته باشد مانند:
- دادههای عددی: مانند INT ،TINYINT ،BIGINT ،FLOAT ،REAL و…
- دادههای زمانی: مانند DATE ،TIME ،DATETIME و…
- دادههای کاراکتری و رشتهای: مانند CHAR ،VARCHAR ،TEXT و…
- دادههای کاراکتری یونیکد: مانند NCHAR ،NVARCHAR ،NTEXT و…
همچنین این دادهها میتوانند در دو نوع پایگاه داده رابطه ای (Relational) و غیر رابطه ای (Non-relational) ذخیره شوند.
کاربردهای پایگاه داده
امروزه رد و پای پایگاه دادهها در اکثر صنعتهای کامپیوتری مشاهده میشود. شاید اینطور بهنظر برسد که استفاده از پایگاه داده تنها مخصوص شرکتها و صنعتهای بزرگ است؛ اما باید بدانید که حتی نرمافزارهای چند مگابایتی گوشیهای هوشمند نیز برای ذخیره اطلاعات کاربران خود از پایگاه دادههای محلی که در خود گوشی هوشمند ایجاد میشود استفاده میکنند. در لیست زیر چند نمونه از کاربردهای مختلف پایگاه داده را مشاهده میکنید:
- استفاده از پایگاه داده در امورات مالی: تمامی اطلاعات حسابهای بانکی کاربران یک بانک درون پایگاه دادهها ذخیره میشوند. جزئیات تراکنشها مانند تاریخ تراکنش، مقدار وجه انتقالی، گیرنده، فرستنده و یا میزان مانده حساب کاربر، همه و همه درون پایگاه دادههای رابطهای موجود در سیستمهای بانکی قرار میگیرند. نمونه بارز دیگر استفاده از پایگاه داده در امورات مالی، بازار بورس است. تمامی سهامهای خریداری شده و پوزیشینهای باز شده برای خرید و یا فروش سهام درون پایگاه دادههای سیستمهای بورسی و کارگزاران ذخیره میشود و امکان بررسی کلیه امورات شما بهوسیله این پایگاه دادهها وجود دارد.
- استفاده از پایگاه داده ها در وبسایتها و وبلاگها: میتوان گفت اکثر وبسایتهایی که امکان بهروز شدن دارند (مانند قرار دادن پست جدید و یا نظر دادن) بهنحوی از پایگاه داده استفاده میکنند. محتواهایی که روزانه در وبسایتها قرار میگیرند، لینک ویدیوها، تصاویر، نظرات کاربران و… درون پایگاه دادهها ذخیره میشوند.
- استفاده از پایگاه داده برای آموزش: تمامی مدارس و دانشگاهها در تمامی مقاطع تحصیلی از ابتدایی گرفته تا دکترا، از پایگاه داده برای ذخیره اطلاعات دانشآموزان و دانشجویان و همچنین مدیریت آنها استفاده میکنند. اطلاعات فردی، ریز نمرات ثبت شده و دروس اخذ شده از بارزترین اطلاعاتی است که درون این پایگاه دادهها ذخیره میشوند.
- پایگاه داده ها برای شرکتها: علاوه بر استفاده از پایگاه داده برای پیشبرد یک بازار کار، درون خود شرکتها هم پایگاه دادههایی وجود دارد که تنها برای بررسی و مدیریت کارمندان و مدیریت شرکت مورد استفاده قرار میگیرد؛ بهعنوان مثال میزان حقالزحمه تمامی کارمندان در یک ماه، میزان درآمد ناخالص در یک سال مالی و اموراتی از این قبیل.
درس پایگاه داده
درس پایگاه داده یکی از دروس تخصصی رشتههای مهندسی کامپیوتر و مهندسی فناوری اطلاعات (IT) است. این درس جزء دروس مهم رشته مهندسی کامپیوتر بهحساب میآید، بهخصوص برای دانشجویان رشته شبکه و امنیت که تقریبا در تمامی زمینههای شغلی میبایست از اطلاعات کافی در مورد سیستمهای پایگاه داده برخوردار باشند. درسهایی مانند ساختمان داده و جبر خطی از جمله درسهای مهمی هستند که به درک و فهم این درس کمک بسیاری میکنند.
پیشنیازهای درس پایگاه داده
پیشنیاز درس پایگاه داده برای رشتههای مهندسی کامپیوتر و مهندسی فناوری اطلاعات درس ساختمان داده میباشد اما از آن جایی که درسهای پیشنیاز به نوبه خود پیشنیازهای دیگری دارند، باعث میشود سلسه مراتبی از دروس پیشنیاز بهوجود آید .
سرفصلهای درس پایگاه داده
فصل اول – مفاهیم اولیه پایگاه داده
- تعاریف اولیه پایگاه داده
- روشهای ساخت سیستمهای کاربردی
- ذخیره و بازیابی اطلاعات
- عنصرهای محیط پایگاه دادهها
- ساختارهای دادهای
- معماری پایگاههای داده
- مباحث مربوط به استقلال دادهای
- کاتالوگ سیستم
- تراکنشها
- ساختار سیستم پایگاه دادهها
فصل دوم – مدل سازی داده ها با استفاده از مدل ER
- مفاهیم اساسی در مدل ER
- نمودار ER
- نوعهای مشترک
- درجه ارتباط
- انواع تناظر
- روش ERR
فصل سوم – مدل رابطهای
- تعریف رابطه
- معرفی و بررسی انواع کلید
- قاعده جامعیت
فصل چهارم – جبر رابطهای
- عملگرهای جبر رابطهای
- مثالهایی برای عملگرهای گزینش، پرتو، ضرب و تقسیم
- عملگر پیوند
- چند مثال انتزاعی از پایگاه داده
- عملگر نیمپیوند
- عملگر نیمتفاضل
- ضریب گزینش عملگر پیوند
- عملگرهای فراپیوند
- دستهبندی عملگرها
- عملگر گروهبندی
- حساب رابطهای
فصل پنجم – زبان رابطهای SQL
- زبان رابطهای SQL
- دستورهای اصلی زبان SQL
- توابع جمعی
- مرتبسازی رکوردها
- عملگر LIKE
- عملگر BETWEEN
- عملگر UNION
- دستهبندی اطلاعات
- استفاده از HAVING در دستور SELECT
- پیوند رابطهها
- پرسشهای تودرتو
- نمونه مثالهای پایگاه داده
- مجوزها در SQL
- تعریف و کاربرد VIEW
- متغیرها، ساختارهای تصمیم و رویههای ذخیره شده
فصل ششم – انواع وابستگیها
- انواع وابستگیها
- وابستگی تابعی (FD)
- وابستگی تابعی کامل (FFD)
- وابستگی با واسطه (TD)
- وابستگی چندمقداری (MVD)
- وابستگی پیوندی (JD)
- قواعد استنتاج آرمسترانگ
- پیدا کردن کلید کاندید
فصل هفتم – نرمال تر سازی رابطهها
- آنومالی چیست
- صورتهای نرمال
- رابطه ۱NF
- رابطه ۲NF
- رابطه ۳NF
- رابطه BCNF
- رابطه ۴NF
- رابطه ۵NF
- تبدیل رابطهها
- مزایا و معایب نرمالترسازی
- قضیه هیث