بانک اطلاعاتی چیست و چطور آن را یاد بگیریم؟ — راهنمای شروع به زبان ساده

۱۰۲۸۲ بازدید
آخرین به‌روزرسانی: ۱۴ اسفند ۱۴۰۲
زمان مطالعه: ۴۵ دقیقه
بانک اطلاعاتی چیست و چطور آن را یاد بگیریم؟ — راهنمای شروع به زبان ساده

بانک اطلاعاتی یا همان پایگاه داده (دیتابیس | Database) به مجموعه‌ای سازمان‌دهی شده از اطلاعات یا داده‌ها گفته می‌شود. در این مقاله به طور جامع به این سوال پاسخ داده شده است که بانک اطلاعاتی چیست و همچنین کلیه موارد مربوط به آموزش بانک اطلاعاتی شرح داده خواهند شد. مفاهیم مقدماتی و پایه آموزش بانک اطلاعاتی را به بیان ساده پوشش داده و همچنین دوره‌های آنلاین و ویدیویی آموزش پایگاه داده نیز در این مقاله معرفی شده‌اند. علاوه بر آن، در طول این مقاله به اکثر سوالات رایج بانک اطلاعاتی نیز پاسخ داده شده است.

فهرست مطالب این نوشته

بانک اطلاعاتی چیست ؟

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

بانک‌های اطلاعاتی کامپیوتری معمولاً حاوی انباشتی از رکوردهای «داده» (Data) هستند. برای مثال، این رکوردهای داده می‌توانند حاوی اطلاعاتی راجع به تراکنش‌های مالی یا تعاملات مربوط به مشتریان باشند. داده یا همان دیتا مفهومی اساسی در بانک اطلاعاتی به شمار می‌رود. بنابراین، برای درک بهتر مفهوم پایگاه داده و پیش از پاسخ به این سوال که بانک اطلاعاتی چیست ، باید ابتدا به این سوال پاسخ داده شود که داده چیست ؟

تصویر مربوط به بخش بانک اطلاعاتی چیست برای آموزش بانک اطلاعاتی

داده چیست ؟

به بیان ساده، داده می‌تواند حقایقی (اطلاعاتی) مربوط به هر شی یا موجودیت مورد نظر باشد. داده به جمع‌آوری یک واحد اطلاعاتی متمایز گفته می‌شود. داده به شکل‌های مختلفی در قالب متن، عدد، رسانه و بسیاری از موارد دیگر مورد استفاده قرار می‌گیرد.

به لحاظ محاسباتی، دیتا یا همان داده اساساً اطلاعاتی است که می‌تواند برای انتقال و پردازش بهینه به یک قالب مشخص ترجمه شود. برای مثال، نام، سن، قد، وزن و سایر موارد، هر یک داده‌هایی مربوط به یک فرد هستند. یک تصویر، فایل PDF و مواردی از این دست هم می‌تواند به عنوان داده در نظر گرفته شود.

برخی اصطلاحات مهم در خصوص داده‌ها — متعلقات ساختاردهی داده در بانک اطلاعاتی

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

در ادامه، هر یک از این اصطلاحات به اختصار تعریف شده‌اند:

  • فیلد (Field): در یک بانک اطلاعاتی، «فیلد» حاوی جزئی‌ترین اطلاعات (داده‌ها) درباره رویدادها، افراد، اشیا و تراکنش‌ها است.
  • رکورد (Record): یک رکورد مجموعه‌ای از فیلدهای مرتبط به حساب می‌آید.
  • جدول (Table): جدول مجموعه‌ای از رکوردها به شمار می‌رود که دارای یک نام مشخص است.
  • بانک اطلاعاتی (Database | پایگاه داده): مجموعه‌ای از جدول‌های مرتبط محسوب می‌شود.
متعلقات یا همان پراپرتی های جدول در پایگاه داده | بانک اطلاعاتی چیست | آموزش بانک اطلاعاتی

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

مفهوم بانک اطلاعاتی چیست ؟

به مجموعه‌ای ساختاریافته (سیستماتیک) از داده‌ها، بانک اطلاعاتی یا همان پایگاه داده (دیتابیس) گفته می‌شود. بانک‌های اطلاعاتی از امکان ذخیره‌سازی الکترونیکی و کار با داده‌ها پشتیبانی می‌کنند. بانک اطلاعاتی مدیریت داده‌ها را ساده‌سازی می‌کند. برای درک بهتر اینکه مفهوم بانک اطلاعاتی چیست ، در ادامه چند مثال در دنیای واقعی بیان شده است.

مثال‌هایی برای درک بهتر مفهوم بانک اطلاعاتی

پایگاه داده بیش‌ترین شباهت را به یک کتابخانه دارد. کتابخانه شامل مجموعه‌ای عظیم از کتاب‌ها با موضوعات مختلف است. کتابخانه همان بانک اطلاعاتی و کتاب‌ها داده‌های آن هستند. مثال‌های ارائه شده در این بخش مقدماتی از آموزش بانک اطلاعاتی در ادامه فهرست شده‌اند:

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

بانک اطلاعاتی در کامپیوتر چیست ؟

دفتر بایگانی در دانشگاه‌ها و سازمان‌ها یک بانک اطلاعاتی محسوب می‌شود. اما امروزه مفهوم بانک اطلاعاتی بیش‌تر در دنیای کامپیوتر کاربرد دارد. بنابراین، ممکن است این سوال وجود داشته باشد که بانک اطلاعاتی در کامپیوتر چیست؟ در پاسخ باید گفت که پایگاه داده یا بانک اطلاعاتی در کامپیوتر ، مجموعه‌ای از اطلاعات یا همان داده‌های ساختاریافته (Structured Data) است که به صورت الکترونیکی در یک سیستم کامپیوتری ذخیره می‌شوند.

بانک اطلاعاتی در کامپیوتر معمولاً به وسیله یک سیستم مدیریت بانک اطلاعاتی (Database Management System) کنترل می‌شود. اکثر بانک‌های اطلاعاتی از زبان پرس و جوی ساخت‌یافته (Structured Query Language) که مخفف آن همان SQL است استفاده می‌کنند. از SQL برای کدنویسی و کوئری (پرس و جوی) روی داده‌ها استفاده می‌شود.

تاریخچه بانک اطلاعاتی — حقایقی کوتاه و مختصر درباره پایگاه داده

در این بخش از مقاله «بانک اطلاعاتی چیست» ضمن ارائه فهرستی از حقایق مهم درباره بانک‌های اطلاعاتی، به نوعی تاریخچه کوتاه و مختصر بانک‌های اطلاعاتی نیز شرح داده شده است.

  • بانک‌های اطلاعاتی از زمان شکل‌گیری در اوایل دهه ۱۳۴۰ (۱۹۶۰ میلادی) به میزان قابل توجهی متحول شده‌اند.
  • برخی از بانک‌های اطلاعاتی مبتنی بر ردیابی، نظیر پایگاه داده سلسله مراتبی و بانک اطلاعاتی شبکه‌ای، سیستم‌های اولیه‌ای بودند که برای ذخیره‌سازی و کار با داده‌ها به کار گرفته شدند.
  • در اوایل دهه ۱۳۶۰ (۱۹۸۰ میلادی) بانک‌های اطلاعاتی رابطه‌ای (Relational Databases) بسیار رواج پیدا کردند. این روند بعدها در خصوص پایگاه داده‌های شی‌گرا نیز ادامه پیدا کرد.
  • اخیراً، بانک‌های اطلاعاتی یا همان پایگاه داده‌های «NoSQL» با هدف پاسخ به رشد اینترنت، نیاز به سرعت بالاتر و پردازش داده‌های بدون ساختار پدید آمده‌اند.
  • امروزه با پیدایش بانک‌های اطلاعاتی ابری و پایگاه داده‌های خودران، در خصوص نحوه جمع‌آوری، ذخیره‌سازی، مدیریت و مصرف داده‌ها تحولاتی به وجود آمده است.
تصویری برای مقاله بانک اطلاعاتی چیست که برای آموزش بانک اطلاعاتی ارائه شده است.

اجزای بانک اطلاعاتی چه هستند؟

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

۱. سخت افزار

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

۲. نرم‌افزار

نرم‌افزار به مجموعه‌ای از برنامه‌ها گفته می‌شود که برای مدیریت و کنترل بانک اطلاعاتی مورد استفاده قرار می‌گیرند و نرم‌افزار پایگاه داده، سیستم عامل، نرم‌افزار مربوط به شبکه (برای به اشتراک‌گذاری داده‌ها با سایر کاربران) و همچنین اپلیکیشنی را شامل می‌شود که برای دسترسی به داده‌ها به کار گرفته می‌شود.

3. داده‌ها

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

۴. دستورالعمل‌ها

دستورالعمل‌ها یا پروسیجرها (Procedures) به دستوراتی گفته می‌شود که در یک سیستم مدیریت پایگاه داده برای اهداف زیر به کار گرفته می‌شوند:

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

۵. زبان دسترسی به بانک اطلاعاتی

زبان دسترسی به پایگاه داده (Database Access Language) زبانی است که برای کدنویسی دستورات لازم برای دسترسی، به‌روزرسانی و حذف داده‌های ذخیره شده در یک پایگاه داده به کار گرفته می‌شود.

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

انواع بانک اطلاعاتی کدامند؟

فناوری بانک اطلاعاتی در طول سال‌ها، بسیار دستخوش تحول شده است. اصطلاحاتی از قبیل رابطه‌ای (Relational)، سلسله مراتبی (Hierachical) و سایر موارد در خصوص بانک‌های اطلاعاتی به کار برده می‌شوند که ممکن است گیج کننده و گُنگ به نظر برسند. اما، ذخیره‌سازی و سازمان‌دهی داده‌ها لزوماً یک مضمون پیچیده نیست.

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

  1. رابطه‌ای (Relational)
  2. NoSQL
  3. ابری (Cloud)
  4. ستونی (Columnar)
  5. ستون گسترده (Wide Column)
  6. شی‌گرا (Object-Oriented)
  7. کلید-مقدار (Key-Value)
  8. سلسله مراتبی (Hierarchical)
  9. سند-گرا (Document)
  10. گراف (Graph)
  11. سری زمانی (Time Series)
تصویری نمادین برای یک پایگاه داده رابطه ای در مقاله بانک اطلاعاتی چیسا برای آموزش بانک اطلاعاتی

بانک های اطلاعاتی رابطه‌ای

بانک‌ها یا پایگاه داده‌های رابطه‌ای (Relational Database) از آغاز دهه ۵۰ شمسی (۱۹۷۰ میلادی) تاکنون مورد استفاده قرار گرفته‌اند. در بانک اطلاعاتی رابطه‌ای ، داده‌ها در جدول‌های مختلف ذخیره می‌شوند و نام این نوع بانک اطلاعاتی نیز از همین مضمون برگرفته شده است. «سیستم مدیریت پایگاه داده رابطه‌ای» (Relational Database Management System) که به اختصار RDBMS خطاب می‌شود، برنامه‌ای است که امکان ایجاد، به‌روزرسانی و مدیریت یک پایگاه داده رابطه‌ای را فراهم می‌سازد.

همچنین، SQL نیز به عنوان رایج‌ترین زبان برای خواندن، ایجاد، به‌روزرسانی و حذف داده‌ها در این نوع از انواع بانک‌های اطلاعاتی به حساب می‌آید. پایگاه داده‌های رابطه‌ای بسیار قابل اطمینان و پایا هستند. پایگاه داده‌های رابطه‌ای با خصایص ACID (تجزیه ناپذیری، هم‌خوانی، انزوا و پایایی) سازگاری دارند. ACID مجموعه‌ای از خصوصیت‌ها برای تراکنش‌های پایا در پایگاه داده‌ها به حساب می‌آید. سازمان‌هایی که دارای انبوهی از داده‌های «بدون ساختار» یا «نیمه ساخت‌یافته» (Semi-Structed) هستند، نباید از بانک اطلاعاتی رابطه‌ای استفاده کنند. نمونه‌هایی از بانک‌های اطلاعاتی از نوع رابطه‌ای به شرح زیرند:

  • مایکروسافت اس‌کیو‌ال سرور (Microsoft SQL Server)
  • پایگاه داده اوراکل (Oracle Database)
  • مای اس‌کیو‌ال (MySQL)
  • PostgreSQL
  • IBM Db2

بانک های اطلاعاتی NoSQL

بانک‌های اطلاعاتی NoSQL یک دسته وسیع از انواع پایگاه داده به حساب می‌آیند. NoSQL هر نوع پایگاه داده‌ای را شامل می‌شود که از SQL به عنوان زبان اصلی دسترسی به داده‌ها در آن استفاده نمی‌شود. این نوع از بانک‌های اطلاعاتی گاهاً «پایگاه داده‌های غیر رابطه‌ای» (Non-Relational Database) نیز خطاب می‌شوند.

برخلاف پایگاه داده‌های رابطه‌ای،‌ لازم نیست داده‌ها در یک پایگاه داده NoSQL با طرح‌واره (Schema) از پیش تعریف شده، مطابقت داشته باشد. بنابراین، این نوع از بانک‌های اطلاعاتی برای سازمان‌ها و شرکت‌هایی که به دنبال ذخیره‌سازی داده‌های بدون ساختار یا نیمه ساخت‌یافته هستند، بسیار مطلوب است. یک برتری بانک‌های اطلاعاتی NoSQL این است که توسعه‌دهندگان می‌توانند به سرعت و در حین اجرا بدون تحت تاثیر قرار دادن اپلیکیشن‌هایی که از پایگاه داده استفاده می‌کنند، تغییراتی را در آن اِعمال کنند. از جمله بانک‌های اطلاعاتی NoSQL می‌توان به موارد زیر اشاره کرد:

  • آپاچی کاساندرا (Apache Cassandra)
  • MongoDB
  • CouchDB
  • CouchBase

بانک های اطلاعاتی ابری

یک پایگاه داده ابری (Cloud) به هر پایگاه داده‌ای گفته می‌شود که برای اجرا در فضای ابری طراحی شده است. مشابه سایر کاربردهای مبتنی بر فناوری رایانش ابری (Cloud Computing)، بانک‌های اطلاعاتی ابری نیز نقاط مثبتی همچون انعطاف‌پذیری، قابلیت ارتقا، انطباق‌پذیری و همچنین دسترس‌پذیری بالایی را ارائه می‌دهند.

همچنین، بانک‌های اطلاعاتی ابری، اغلب نیاز به تعمیر و نگهداری اندکی دارند. چرا که، بسیاری از آن‌ها از طریق یک مدل SaaS (نرم‌افزار به عنوان یک سرویس) ارائه می‌شوند. برخی از بانک‌های اطلاعاتی نوع ابری در ادامه فهرست شده‌اند:

  • پایگاه داده SQL مایکروسافت Azure
  • سرویس پایگاه داده رابطه‌ای آمازون
  • بانک اطلاعاتی خودگردان اوراکل

بانک های اطلاعاتی ستونی

بانک‌های اطلاعاتی ستونی (Columnar) داده‌ها را به جای سطری، به صورت ستونی ذخیره می‌کنند. این نوع از بانک‌های اطلاعاتی اغلب در انباره‌های داده (Data Warehouse) استفاده می‌شوند. چرا که در اداره کوئری‌های تحلیلی عملکرد مطلوبی از خود نشان می‌دهند. زمانی که در یک پایگاه داده ستونی کوئری (پرس و جو) انجام می‌شود، تمام داده‌هایی که به کوئری ارتباطی ندارند، نادیده گرفته می‌شوند. مثال‌هایی از بانک‌های اطلاعاتی نوع ستونی به شرح زیر است:

  • BigQuery گوگل
  • کاساندرا
  • HBase
  • MariaDB
  • انباره داده Azure SQL
در این تصویر مقایسه ای بین ذخیره سازی ستونی و ذخیره سازی سطری در پایگاه داده صورت گرفته است | آموزش بانک اطلاعاتی | بانک اطلاعاتی چیست

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

بانک‌های اطلاعاتی ستون گسترده فاقد و نافی طرح‌واره (Schema) هستند. در این نوع پایگاه داده ،‌ داده‌ها به جای ذخیره شدن در سطرها و ستون‌ها، در «خانواده‌هایی از ستون‌ها» ذخیره می‌شوند. بانک‌های اطلاعاتی ستون گسترده که به میزان زیادی قابل ارتقا هستند، می‌توانند میلیون‌ها گیگابایت (چندین پتابایت) از داده‌ها را اداره کنند که این مسئله، بانک‌های اطلاعاتی ستون گسترده را تبدیل به یک پایگاه داده ایده‌آل برای پشتیبانی از کاربردهای زمان واقعی کلان داده کرده است. فهرستی از برخی پایگاه داده‌های ستون گسترده در ادامه آمده است:

  • BigTable
  • Apache Cassandra
  • Scylla

بانک های اطلاعاتی شی‌گرا

یک بانک اطلاعاتی شی‌گرا (Object-Oriented Database)، مبتنی بر برنامه نویسی شی‌گرا (OOP) است. بنابراین، داده‌ها و تمام صفت‌های آن به عنوان یک شی به هم وابسته هستند. بانک‌های اطلاعاتی شی‌گرا به وسیله «سیستم‌های مدیریت بانک‌های اطلاعاتی شی‌گرا» (OODBMS) مدیریت می‌شوند. این نوع از پایگاه‌های داده با زبان‌های برنامه‌نویسی شی‌گرا نظیر C++‎ و جاوا به خوبی سازگار هستند. مشابه پایگاه‌های داده رابطه‌ای، بانک‌های اطلاعاتی شی‌گرا نیز با استانداردهای ACID مطابقت دارند. از جمله بانک‌های اطلاعاتی شی‌گرا می‌توان به واکاندا (Wakanda) و ObjectStore اشاره کرد.

بانک های اطلاعاتی کلید-مقدار

یکی از ساده‌ترین انواع پایگاه داده‌های NoSQL،‌ بانک‌های اطلاعاتی کلید-مقدار (Key/Value) هستند که داده‌ها را به عنوان گروهی از زوج‌های کلید-مقدار ذخیره می‌کنند که هر یک از دو آیتم داده تشکیل شده‌اند. بانک‌های اطلاعاتی کلید-مقدار به میزان زیادی قابل ارتقا و انطباق‌پذیر هستند و می‌توانند حجم‌های بزرگی از ترافیک را اداره کنند. این مسئله، پایگاه داده‌های کلید مقدار را برای پردازش‌هایی نظیر موارد زیر تبدیل به یک بانک اطلاعاتی ایده‌آل کرده است:

از جمله بانک‌های اطلاعاتی از نوع کلید-مقدار، می‌توان DynamoDB آمازون و Redis را نام برد.

بانک های اطلاعاتی سلسله مراتبی

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

بانک‌های اطلاعاتی سلسله مراتبی اولین بار در سال ۱۳۳۹ توسط شرکت IBM توسعه داده شدند. بانک‌های اطلاعاتی سلسله مراتبی معمولاً برای پشتیبانی از اپلیکیشن‌های با عملکرد بالا و با دسترسی بالا مورد استفاده قرار می‌گیرند. برخی از این نوع از بانک‌های اطلاعاتی شامل موارد زیر است:

بانک های اطلاعاتی سند-گرا

بانک‌های اطلاعاتی سند-گرا به جای سطرها و ستون‌ها از اسناد JSON گونه برای مدل‌سازی داده‌ها استفاده می‌کنند. این نوع از بانک‌های اطلاعاتی برای ذخیره‌سازی و مدیریت اطلاعات مبتنی بر اسناد استفاده می‌شوند. به این نوع اطلاعات، داده‌های نیمه ساخت‌یافته هم گفته می‌شود.

تصویر برای مقایسه مدل بانک اطلاعاتی رابطه ای با مدل مبتنی بر سند ارائه شده است.

بانک‌های اطلاعاتی مبتنی بر گراف

پایگاه داده‌های گراف (Graph Database)‌ نوعی از پایگاه داده‌های NoSQL مبتنی بر نظریه گراف هستند. سیستم‌های مدیریت پایگاه داده‌های مبتنی بر گراف برای شناسایی و کار با اتصال‌های میان نقاط داده طراحی شده‌اند. بنابراین، بانک‌های اطلاعاتی گراف اغلب برای تجزیه و تحلیل روابط میان نقاط داده ناهمگون (Heterogeneous) استفاده می‌شوند؛ نظیر آنچه در پیشگیری از کلاه‌برداری (Fraud Detection) یا برای داده‌کاوی داده‌های مشتریان از شبکه‌های اجتماعی انجام می‌شود. مثال‌هایی از بانک‌های اطلاعاتی مبتنی بر گراف شامل موارد زیر است:

  • Datastax Enterprise Graph
  • Neo4J

بانک های اطلاعاتی سری زمانی

یک پایگاه داده سری زمانی (Time Series Database) نوعی بانک اطلاعاتی است که برای داده‌های با مُهر زمانی یا سری زمانی بهینه‌سازی شده است. مثال‌هایی از این نوع داده‌ها شامل داده‌های شبکه، داده‌های حسگرها و داده‌های نظارت بر عملکرد اپلیکیشن‌ها است. تمام آن حسگرهای اینترنت اشیایی که به اشیا مختلفی متصل می‌شوند، یک جریان ثابت را از داده‌های سری زمانی تولید می‌کنند.

برخی از پایگاه داده‌های سازگار با سری‌های زمانی در ادامه فهرست شده‌اند:

  • Druid
  • eXtremeDB
  • InfluxDB

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

مزایا و معایب بانک اطلاعاتی

آگاهی از مزایا و معایب پایگاه داده برای درک بهتر و آموزش بانک اطلاعاتی ضروری به نظر می‌رسد. بنابراین، در این بخش از آموزش بانک اطلاعاتی در مقاله «بانک اطلاعاتی چیست» به شرح مزایا و معایب بانک اطلاعاتی پرداخته شده است.

مزایای بانک اطلاعاتی چیست؟

در این بخش از آموزش بانک اطلاعاتی ۹ نقطه برتری بانک اطلاعاتی یا همان پایگاه داده شرح داده شده است. ابتدا بهتر است فهرستی از هر یک از این مزیت‌ها ارائه شود:

  1. انتزاع داده (Data Abstraction)
  2. کنترل افزونگی داده‌ها (Controlling Data Redundancy)
  3. ناسازگاری حداقلی داده‌ها (Minimized Data Inconsistency)
  4. ساده‌سازی کار با داده‌ها
  5. امکان به‌اشتراک‌گذاری داده‌ها
  6. امنیت داده‌ها
  7. دسترسی همزمان (همروند)
  8. کمک به تصمیم‌گیری بر اساس داده‌ها
مزایای بانک اطلاعاتی | بانک اطلاعاتی چیست | آموزش بانک اطلاعاتی

حال در ادامه، هر یک از مزایای بانک اطلاعاتی فهرست شده در بالا، به اختصار شرح داده شده‌اند.

امکان انتزاعی کردن داده‌ها

انتزاع داده‌ به معنی پنهان کردن پیچیدگی داده‌ها از کاربرانی است که سطح دسترسی ابتدایی دارند. یک سیستم مدیریت بانک اطلاعاتی یا همان DBMS، داده‌هایی را که برای کاربران کاربرد ندارند،‌ انتزاعی می‌کند.

امکان کنترل افزونگی داده‌ها

افزونگی داده‌ها (Data Redundancy) به معنی داشتن چند نسخه از داده‌های یکسان است. با سازمان‌دهی داده‌ها در یک بانک اطلاعاتی و استفاده از یک سیستم مدیریت پایگاه داده ، می‌توان افزونگی داده‌ها را مدیریت کرد. یک DBMS، داده‌های افزونه را مدیریت و تمام داده‌ها را در یک فایل پایگاه داده ادغام می‌کند. با مدیریت افزونگی، امکان حفظ فضای ذخیره‌سازی و افزایش سرعت بازیابی و به‌روزرسانی داده‌ها فراهم خواهد شد.

امکان کمینه‌سازی ناسازگاری داده‌ها

ناسازگاری داده‌ها (Data Inconsistency) به این معنی است که فایل‌های مختلف ممکن است حاوی اطلاعات متفاوتی درباره یک شی یا شخص خاص باشند. به طور کلی، با کاهش افزونگی داده‌ها می‌توان ناسازگاری داده‌ها را نیز مدیریت کرد. به این ترتیب، آیتم‌های داده تنها یک بار ظاهر می‌شوند و هیچ افزونگی وجود نخواهد داشت و مقادیر به‌روزرسانی شده بلافاصله برای تمام کاربران در دسترس خواهند بود.

آسان شدن کار با داده‌ها

در یک سیستم مدیریت بانک اطلاعاتی ، به دلیل اینکه داده‌ها متمرکز هستند، می‌توان به آسانی با آن‌ها کار کرد. بنابراین، زمانی که ساختار داده‌ها تعریف شوند، می‌توان به راحتی داده‌ها را تغییر داد و مواردی مثل درج، ویرایش یا حذف را روی آن‌ها اِعمال کرد.

امکان به اشتراک‌گذاری داده‌ها

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

امکان حفظ امنیت داده‌ها

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

یک سیستم مدیریت بانک اطلاعاتی، ابزارهای امنیت (Security) داده را برای حفظ داده‌های با ارزش سازمان‌های تجاری فراهم می‌سازد. با استفاده از DBMS می‌توان دسترسی به داده‌ها را طبقه‌بندی کرد؛ به گونه‌ای که تنها کاربران مجاز امکان دسترسی به داده‌ها را خواهند داشت. یک پایگاه داده تنها با احراز هویت (Authentication) مناسب قابل دسترسی است. این احراز هویت معمولاً با استفاده از وارد کردن شناسه کاربری و رمز عبور انجام می‌شود.

امکان دسترسی همزمان

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

کمک به تصمیم‌گیری بر اساس داده‌ها

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

تصویری برای بازنمایی تصمیم گیری بر اساس داده ها در مقاله آموزش بانک اطلاعاتی | بانک اطلاعاتی چیست

معایب بانک اطلاعاتی کدامند؟

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

برخی از این هزینه‌ها شامل هزینه‌های سخت‌افزاری و نرم‌افزاری، هزینه‌های تبدیل داده‌ها (Data Conversion) و هزینه‌های مربوط به آموزش کارکنان است. در ادامه، به طور مختصر توضیحاتی پیرامون هر یک از این هزینه‌های تحمیلی به عنوان معایب بانک اطلاعاتی ارائه شده است.

هزینه‌های سخت‌افزاری و نرم‌افزاری

برای اجرای نرم‌افزار مدیریت بانک اطلاعاتی ، نیاز به یک پردازنده (CPU) پرسرعت و حجم عظیمی از حافظه در سرورها وجود دارد. استقرار این سخت‌افزارها نیازمند صرف هزینه‌های لازم خواهد بود. علاوه بر این،‌ بسترهای نرم‌افزاری لازم که مهم‌ترین آن‌ها، سیستم مدیریت پایگاه داده یا همان DBMS است نیز هزینه‌هایی را در پی خواهد داشت.

هزینه تبدیل داده‌ها

در زمان جایگزینی یک سیستم مبتنی بر فایل‌های کامپیوتری با یک سیستم مبتنی بر بانک اطلاعاتی ، داده‌های ذخیره شده در آن فایل‌ها باید به فایل‌های پایگاه داده تبدیل (Convert) شوند. این فرآیند، بسیار دشوار و زمان‌بر خواهد بود و در نتیجه هزینه‌هایی را به سازمان‌ها تحمیل خواهد کرد.

هزینه‌های مربوط به آموزش کارکنان

سیستم‌های مدیریت پایگاه داده اغلب سامانه‌های پیچیده‌ای هستند و بنابراین، برای استفاده از DBMS نیاز به آموزش وجود دارد. بنابراین، سازمان‌ها ناچارند هزینه‌های هنگفتی بابت آموزش کارکنان بپردازند تا امکان استقرار سیستم مدیریت پایگاه داده فراهم شود. یکی از سوالاتی که پیش از استقرار بانک اطلاعاتی برای افراد و سازمان‌ها به وجود می‌آید، این است که کدام بانک اطلاعاتی از بقیه بهتر است؟ بنابراین، در ادامه آموزش بانک اطلاعاتی در مقاله «بانک اطلاعاتی چیست» به معرفی بهترین بانک‌های اطلاعاتی موجود پرداخته شده است.

بهترین بانک اطلاعاتی کدام است؟

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

در این بخش از آموزش بانک اطلاعاتی از مقاله «بانک اطلاعاتی چیست» به معرفی شش بانک اطلاعاتی برتر پرداخته شده است. باید توجه داشت که انتخاب یک پایگاه داده به عنوان بهترین بانک اطلاعاتی چندان کار صحیح و ساده‌ای نیست. چرا که، بهترین بانک اطلاعاتی بسته به نوع پایگاه داده مورد نیاز، پلتفرم مربوطه، نوع کاربری، میزان بودجه، حجم داده‌ها و سایر موارد می‌تواند متفاوت باشد. شش پایگاه داده برتر در زمان تدوین این نوشته و در سال ۱۴۰۰ در ادامه فهرست و سپس هر یک به اختصار معرفی خواهند شد:

  • پایگاه داده MySQL (مای‌اس‌کیوال)
  • بانک اطلاعاتی PostgreSQL (پُست‌جی‌آرای‌اس‌کیو‌ال)
  • پایگاه داده Microsoft SQL Server (مایکروسافت اس‌کیو‌ال سرور)
  • بانک اطلاعاتی MongoDB (مونگودی‌بی)
  • پایگاه داده Oracle (اوراکل)
  • بانک اطلاعاتی اکسس (Access)

بانک اطلاعاتی MySQL چیست‌؟

پایگاه داده MySQL در سال ۱۳۷۴ (1995 میلادی) پدید آمده است. این بانک اطلاعاتی یک سیستم مدیریت پایگاه داده رابطه‌ای متن‌باز مبتنی بر زبان SQL است. طبق اعلام سایت پرسش و پاسخ Stack Overflow، بانک اطلاعاتی MySQL توسط ۵۵.۶ درصد از پاسخ دهندگان مورد استفاده قرار می‌گیرد.

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

تصویر مربوط به لوگوی پایگاه داده MySQL که در بخش معرفی این بانک اطلاعاتی در مقاله آموزش بانک اطلاعاتی چیست ارائه شده است

انواع مختلف برنامه‌های کاربردی که می‌توان با استفاده از پایگاه داده MySQL توسعه داده، به شرح زیرند:

  • وب‌اپلیکیشن‌ها
  • اپلیکیشن‌های جانشانی شده (Embeded)
  • اپلیکیشن‌های موبایل
  • برنامه‌های کاربردی ابری (Cloud Software as a Service | Cloud SaaS)
  • برنامه‌های پلتفرم به عنوان یک خدمت (Platform as a Service | PaaS)
  • اپلیکیشن‌های پایگاه داده به عنوان یک خدمت (Database as a Service | DBaaS)

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

ویژگی های MySQL

برخی از ویژگی‌های کلیدی MySQL در ادامه این بخش فهرست شده‌اند:

  • مدیریت و استقرار MySQL بسیار ساده و آسان است.
  • MySQL‌ از استانداردهای ACID‌ پشتیبانی می‌کند و به همین دلیل این DBMS بسیار قابل اطمینان است.
  • سیستم مدیریت پایگاه داده رابطه‌ای (RDBMS) در MySQL ابزارهای بارگذاری سریع را با کش‌های حافظه متفاوت برای نگهداری و مدیریت سرورها ارائه می‌دهد.
  • MySQL با هر زبان برنامه‌نویسی قابل پیکربندی است، اما به طور عمده به همراه زبان PHP استفاده می‌شود.
  • بانک اطلاعاتی MySQL، نتایج با عملکرد بالایی را بدون تحت تاثیر قرار دادن قابلیت‌های کلیدی از خود بروز می‌دهد.
  • مای‌اس‌کیو‌ال امنیت کاملی را برای داده‌ها فراهم می‌سازد. چرا که، این سیستم بانک اطلاعاتی شامل لایه‌های یکپارچه امنیت داده است. تنها کاربران مجاز می‌توانند با استفاده از کلمه‌های عبور رمزنگاری شده به پایگاه داده دسترسی داشته باشند.

بانک اطلاعاتی PostgreSQL چیست ؟

PostgreSQL یک پایگاه داده رایگان و متن‌باز سیستم مدیریت پایگاه داده شی-رابطه (Object-Relational Database Management System) است که به اختصار ORDBMS خطاب می‌شود.

PostgreSQL بر گسترش‌پذیری تمرکز دارد و منطبق بر SQL‌ است.

تصویر لوگوی PostgreSQL برای بخش معرفی این بانک اطلاعاتی در مقاله بانک اطلاعاتی چیست و آموزش بانک اطلاعاتی

این بانک اطلاعاتی در سال ۱۳۷۵ (۱۹۹۶ میلادی) توسعه داده شده است. PostgreSQL با بسیاری از سیستم عامل‌ها سازگاری دارد. این سیستم عامل‌ها شامل موارد زیرند:

  • ویندوز
  • لینوکس
  • مک OS
  • یونیکس
  • سایر موارد

PostgreSQL ویژگی‌ها و قابلیت‌های بسیاری را در خود جای داده است. این امکانات شامل ارث‌بری (Inheritance) و بارگذاری تابع (Function Loading) است که PostgreSQL را به یکی از بهترین بانک‌های اطلاعاتی موجود بدل کرده است. این قابلیت‌ها برای تقویت گسترش‌پذیری، پایایی و تمامیت داده‌ها در زمان اداره آن‌ها مورد استفاده قرار می‌گیرند. PostgreSQL به همراه انواع داده مختلف و مجموعه ویژگی‌های منسجم ارائه می‌شود که این قابلیت‌ها به سازمان‌های تجاری کمک می‌کند تا به اهداف مرتبط با اداره و مدیریت داده‌های خود دست یابند. در ادامه به این ویژگی‌های کلیدی در PostgreSQL پرداخته شده است.

ویژگی های PostgreSQL

در این بخش از معرفی بهترین بانک اطلاعاتی در دهه اول ۱۴۰۰ که در خلال آموزش بانک اطلاعاتی از مقاله «بانک اطلاعاتی چیست» ارائه شده است،‌ ویژگی‌های مهم پایگاه داده PostgreSQL فهرست شده‌اند:

  • در بانک اطلاعاتی PostgreSQL،‌ محدودیت‌های بسیاری تعبیه شده‌اند که به واسطه آن،‌ حفظ تمامیت داده‌ها تضمین می‌شود. این محدودیت‌ها شامل موارد زیرند:
    • کلید‌های اصلی
    • کلید‌های بیرونی (Foreign Keys)
    • قفل‌های صریح (Explicit Locks)
    • قفل‌های مشورتی (Advisory Locks)
    • محدودیت‌های استثناء (Exclusion Constraints)
  • بانک اطلاعاتی PostgreSQL، بسیاری از ویژگی‌های SQL‌ را پشتیبانی می‌کند. این ویژگی‌ها شامل موارد زیر هستند:
    • کنترل هم‌روندی چند‌نسخه‌ای (Multi-Version Concurrency Control)
    • زیرانتخاب‌های اس‌کیو‌ال (SQL Sub-Selects)
    • پرس و جوهای پیچیده اس‌کیو‌ال (Complex SQL Queries)
    • تکرار جریان (Streaming Replication)
    • سایر موارد
  • بانک اطلاعاتی PostgreSQL با چندین نوع داده سازگاری دارد. این انواع داده شامل موارد زیر است:
    • ساخت‌یافته (Structured)
    • بدوی (Primitive)
    • سفارشی (Customization)
    • هندسی (Geometry)
    • سند (Document)
  • پایگاه داده PostgreSQL در بسیاری از مراحل و بخش‌ها مثل «عبارت‌های مسیر JSON/SQL» و «رویه‌ها و توابع ذخیره شده» به میزان زیادی گسترش‌پذیر است.

بانک اطلاعاتی SQL Server چیست؟

SQL Server مایکروسافت در سال ۱۳۶۸ توسط شرکت مایکروسافت توسعه داده شد. SQL Server در حال حاضر به عنوان یکی از بهترین سیستم‌های مدیریت پایگاه داده رابطه‌ای هم در محیط‌های ابری و هم در محیط محلی سازمان‌ها به حساب می‌آید.

این پایگاه داده چابک و اثبات شده در کاربردهای سازمانی، دارای هوش داخلی است که به کسب و کارها اجازه می‌دهد تا مقیاس کارایی، دسترس‌پذیری و امنیت را بر اساس نیازمندی‌های خود به طور یکپارچه تنظیم کنند. SQL Server هم در ویندوز و هم در لینوکس در دسترس است.

تصویر لوگوی بانک اطلاعاتی SQL Server مایکروسافت که در مقاله بانک اطلاعاتی چیست برای آموزش بانک اطلاعاتی استفاده شده است

این پایگاه داده دارای ویژگی‌های رقابتی بسیاری است و جایگاه ویژه‌ای را در صنعت تجزیه و تحلیل پیدا کرده است. حال در ادامه به برخی از ویژگی‌های این پایگاه داده اشاره شده است.

ویژگی های SQL Server

در این بخش از معرفی بهترین بانک اطلاعاتی در دهه اول ۱۴۰۰ که در حین آموزش بانک اطلاعاتی از مقاله «بانک اطلاعاتی چیست» ارائه شده است، ویژگی‌های بانک اطلاعاتی SQL Server فهرست شده‌اند:

  • پایگاه داده SQL Server و دیگر ابزارهای Big Data می‌تواند برای ساخت یک دریاچه داده اشتراکی (Shared Data Lake) مورد استفاده قرار بگیرد.
  • بانک اطلاعاتی SQL Server به کاربران اجازه می‌دهد تا با کوئری زدن در کل مجموعه داده‌ها و بدون انتقال یا تکثیر داده‌ها به یک دید کلی دست یابند.
  • پایگاه داده SQL Server دارای قابلیت‌های داخلی برای طبقه‌بندی، محافظت و نظارت بر داده‌ها است و در خصوص فعالیت‌های مشکوک،‌ شکاف‌های امنیتی و تنظیمات اشتباه هشدارهایی را ارسال می‌کند.
  • بانک اطلاعاتی SQL Server از داده‌های ساخت‌یافته، نیمه ساخت‌یافته و داده‌های فضایی پشتیبانی می‌کند.
  • دیتابیس SQL Server به همراه انظمام شخصی‌سازی شده ارائه می‌شود و به کاربران اجازه می‌دهد تا طرح‌ها و جداول گوناگونی بسازند و داده‌ها را بدون سینتکس ببینند.
  • SQL Server به کاربران امکان می‌دهد تا داده‌ها را از هر منبعی به وسیله بهره برداری از یک کتابخانه اتصال دهنده گسترده و تبدیل‌های جدید در مدل جدول‌وار خدمات تحلیلی مایکروسافت SQL Server ترکیب کنند.

فیلم های آموزش SQL Server فرادرس

تصویر مربوط به معرفی فیلم های آموزش SQL Server فرادرس در مقاله بانک اطلاعاتی چیست برای آموزش بانک اطلاعاتی

در زمان انتشار این نوشته، سه دوره آموزشی برای SQL Server در سایت فرادرس ارائه شده است که این دوره‌ها به همراه لینک دسترسی به آن‌ها در ادامه معرفی و فهرست شده‌اند:

  • فیلم آموزش SQL Server - مقدماتی : (طول مدت: ۹ ساعت و ۶ دقیقه، مدرس: ضحی شبر): این دوره در سطح مقدماتی ارائه شده و برای افرادی مناسب است که می‌خواهند SQL Server را از ابتدا بیاموزند. جهت دسترسی به این دوره آموزشی + اینجا کلیک کنید.
  • فیلم آموزش SQL Server - تکمیلی : (طول مدت: ۵ ساعت و ۵۸ دقیقه، مدرس: یوسف مسعودی سبحان زاده): مباحث تکمیلی SQL Server در این فرادرس پوشش داده شده است و استفاده از آن پس از گذراندن دوره مقدماتی SQL Server به علاقه‌مندان پیشنهاد می‌شود. برای دسترسی به این دوره آموزشی + اینجا کلیک کنید.
  • فیلم آموزش کار با دستورهای پایگاه داده در SQL Server : (طول مدت: ۳ ساعت، مدرس: سید رضا هاشمیان): این دوره شامل هفت درس و برای یادگیری نحوه کار با دستورات مدیریت پایگاه داده در SQL Server مناسب است. جهت دسترسی به این دوره آموزشی + اینجا کلیک کنید.

آموزش SQL Server Management Studio

SQL Server Management Studio که به اختصار SSMS خطاب می‌شود، نرم‌افزار رسمی مایکروسافت برای مدیریت پایگاه داده مبتنی بر SQL Server است. SSMS یک برنامه کاربردی با رابط کاربری گرافیکی است که می‌توان با استفاده از آن، کدنویسی کوئری‌های SQL و مدیریت بانک‌های اطلاعاتی SQL Server را به سادگی انجام داد. برای آموزش SQL Server Management Studio یک مقاله جامع و کاربردی در مجله فرادرس منتشر شده است. مطالعه این مقاله برای افرادی که قصد یادگیری راه‌اندازی و مدیریت پایگاه داده SQL Server را با استفاده از SSMS دارند، پیشنهاد می‌شود.

بانک اطلاعاتی MongoDB چیست؟

MongoDB یک پایگاه داده متن‌باز مبتنی بر اسناد (Document-Oriented) است که برای ذخیره‌سازی داده‌های حجیم استفاده می‌شود و در سال ۱۳۸۶ (۲۰۰۷ میلادی) بنیان‌گذاری شده است. MongoDB، یک پلتفرم قابل گسترش و انعطاف‌پذیر است که بر رویکرد پایگاه داده رابطه‌ای غلبه می‌کند. این پایگاه داده میزان انعطاف‌پذیری بی‌نظیری را به وسیله مقیاس‌پذیری افقی و ظرفیت‌های توازن بار فراهم می‌سازد.

MongoDB برای ذخیره‌سازی داده به صورت سلسله مراتبی مناسب است و سرعتی تقریباً ۱۰۰ برابری نسبت به سیستم‌های مدیریت بانک اطلاعاتی رابطه‌ای دارد. این پلتفرم حول قاعده CAP متمرکز است. CAP مخفف عبارت «Consistency, Availability, and Partition tolerance» به معنی «پایایی، دسترس‌پذیری و تحمل تقسیم داده‌ها» است.

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

MongoDB قابلیت‌ها و امکانات بسیاری را به طور پیش‌فرض و از ابتدا به توسعه‌دهندگان ارائه می‌دهد. حال در ادامه این بخش، به شرح ویژگی‌های کلید MongoDB پرداخته می‌شود.

ویژگی های MongoDB

ویژگی‌های کلیدی MongoDB به شرح زیرند:

  • پایگاه داده MongoDB به میزان زیادی مقیاس‌پذیر است. شرکت‌های بسیاری در میان صنایع مختلف MongoDB را برای ایجاد خوشه‌های داده (Clusters) با بیش از ۱۰۰ نود (Node) و میلیون‌ها سند به کار می‌گیرند.
  • بانک اطلاعاتی MongoDB دسترس‌پذیری بالایی را به وسیله پردازش‌های Replica Set (مجموعه‌های همتا) ارائه می‌دهد.
  • پایگاه داده MongoDB بسیار انعطاف‌پذیر و انطباق‌پذیر است. چرا که داده‌ها را در اسناد ذخیره می‌کند.
  • در صورت بروز خرابی سخت‌افزاری، بانک اطلاعاتی MongoDB می‌تواند روی چندین سرور اجرا شود که این رویکرد به منظور اجرای دائمی و پایدار سیستم از طریق متعادل‌سازی بار (Load Balancing) یا تکثیر داده‌ها انجام می‌شود.
  • مدل داده در دسترس در بستر پایگاه داده MongoDB کاربران را قادر می‌سازد تا روابط سلسله مراتبی را بازنمایی و آرایه‌ها و دیگر ساختارهای مختلط (پیچیده) را به طور پیوسته ذخیره کنند.

بانک اطلاعاتی اوراکل چیست؟

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

این سیستم پایگاه داده رابطه‌ای چند مدلی در اصل برای محاسبات شبکه‌ای طراحی شده بود. پس از موفقیت پایگاه داده 19C، پایگاه داده اوراکل 21C نیز منتشر شده است که قابلیت‌های گسترده‌ای را نظیر بهبود حجم کاری چندگانه با AutoML به همراه دارد.

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

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

ویژگی های اوراکل

ویژگی‌ها و قابلیت‌های بارز پایگاه داده اوراکل به شرح زیرند:

  • اوراکل قابلیت‌های متعددی نظیر خوشه‌بندی واقعی اپلیکیشن و قابلیت حمل را در خود دارد که این مسئله مقیاس‌پذیری این سیستم مدیریت پایگاه داده را در طول رشد کسب و کار بسیار افزایش می‌دهد.
  • برای اجرای اپلیکیشن‌های زمان واقعی، نیاز به در دسترس بودن همیشگی اطلاعات وجود دارد. اوراکل یک محیط محاسباتی با عملکرد بالا را ارائه می‌دهد که برای در دسترس بود دائمی اطلاعات به اندازه کافی قدرتمند است. همچنین، اوراکل در دسترس باقی ماندن اطلاعات را در طول زمان‌های خرابی (Downtime) تضمین می‌کند. در زمان خرابی، هر پایگاه داده‌ای نیاز به بازیابی سریع دارد تا بتواند دسترس‌پذیری همیشگی داده‌ها را فراهم کند. اوراکل مملو از ویژگی‌های بازیابی فراگیر برای نجات داده‌ها در هنگام خرابی است. در طول چنین مواقعی، بخشی از داده‌ها که تحت تاثیر قرار نگرفته‌اند برای استفاده به صورت همزمان مناسب خواهند بود. بخش تاثیریافته نیز در طول چند دقیقه تعمیر خواهد شد تا از دسترس‌پذیری داده‌ها در آن بخش نیز اطمینان حاصل شود.

بانک اطلاعاتی اکسس چیست ؟

Microsoft Access 2019 آخرین نسخه از نرم‌افزار بانک اطلاعاتی مایکروسافت به شمار می‌رود. اکسس یک سیستم مدیریت پایگاه داده ارائه شده توسط شرکت مایکروسافت است. در مایکروسافت اکسس، موتور جت دیتابیس مایکروسافت با یک رابط کاربری گرافیکی و ابزارهای توسعه نرم‌افزار ادغام شده‌اند.

اکسس در تجزیه و تحلیل مقادیر عظیمی از اطلاعات و مدیریت بهینه‌تر داده‌های مرتبط به کاربر کمک می‌کند و در این زمینه عملکرد بهتری نسبت به اکسل و سایر برنامه‌های Spreadsheet (صفحه گسترده) از خود نشان می‌دهد.

تصویر لوگوی بانک اطلاعاتی اکسس (Access) که در مقاله بانک اطلاعاتی چیست برای آموزش بانک اطلاعاتی ارائه شده است.

اکسس عضوی از بسته نرم‌افزاری مایکروسافت ۳۶۵ است. اکسس داده‌ها را در قالب اختصاصی خودش و بر اساس «موتور پایگاه داده جت اکسس» (Access Jet Database Engine) ذخیره می‌کند. علاوه بر این در اکسس می‌توان داده‌های ذخیره شده در سایر اپلیکیشن‌ها و بانک‌های اطلاعاتی را وارد کرد یا مستقیماً به آن داده‌ها پیوند ایجاد کرد. توسعه دهندگان نرم‌افزار، معماران داده و کاربران حرفه‌ای (Power Users) می‌توانند از اکسس برای توسعه نرم‌افزارهای کاربردی استفاده کنند.

چگونه می‌توان کار با اکسس را شروع کرد؟

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

امروزه یکی از روش‌های نوین یادگیری مهارت‌های مختلف، استفاده از دوره‌های آموزش آنلاین ویدیویی است. برای شروع به کار با اکسس نیز می‌توان از دوره‌های آموزشی ارائه شده توسط مجموعه فرادرس استفاده کرد. بدین سبب، این دوره‌ها در ادامه به علاقه‌مندان معرفی شده‌اند:

مقالات آموزش اکسس مجله فرادرس

در این بخش از آموزش بانک اطلاعاتی مقاله «بانک اطلاعاتی چیست» کلیه مقالاتی مرتبط با آموزش پایگاه داده اکسس فهرست شده‌اند:

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

آموزش بانک اطلاعاتی مقدماتی

در این بخش از مقاله «بانک اطلاعاتی چیست»، مفاهیم پایه سیستم‌های مدیریت پایگاه داده و دلایل برتری این سیستم‌ها نسبت به برنامه‌های صفحه گسترده (Spreadsheet) مثل اکسل برای ذخیره و بازیابی اطلاعات شرح داده شده‌اند. آموزش بانک اطلاعاتی در این بخش، افراد مبتدی را هدف قرار داده است.

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

برای ذخیره‌سازی داده‌ها چه روش‌هایی وجود دارد؟

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

فایل متنی

برای مثال، فرض می‌شود فایلی با نام Artists.csv وجود دارد که محتوای آن شبیه به تصویر صفحه نمایش زیر است:

تصویر صفحه نمایش از یک فایل متنی با فرمت CSV که در آن فهرست اسامی هنرمندان ذخیره شده و یکی از روش های ذخیره سازی اطلاعات یا داده ها به حساب می آید | آموزش بانک اطلاعاتی | بانک اطلاعاتی چیست

این یک فایل متنی است که یکی از روش‌های ذخیره‌سازی اطلاعات به شمار می‌رود. به بیان دقیق‌تر، این فایل یک فایل با قالب (فرمت) CSV به حساب می‌آید. CSV مخفف «Comma Separated Values» به معنی «مقادیر جدا شده با کاما (ویرگول)» است. در این قالب، فیلدهای یک سطر با کاما از هم جدا می‌شوند. در واقع با استفاده از کاما در داده‌ها ساختار ایجاد می‌شود و می‌توان فیلدهای ArtistID و ArtistName را از یکدیگر متمایز کرد.

می‌توان به راحتی فیلدهای بیش‌تری اضافه و آن‌ها را با کاما از هم جدا کرد. هر سطر، «رکورد» (Record) متفاوتی را بازنمایی می‌کند. در این مثال، هر سطر بازنمودی از یک هنرمند (خواننده | Artist) متفاوت است. به لحاظ فنی، همین فایل متنی CSV یک بانک اطلاعاتی به حساب می‌آید. چرا که این فایل حاوی داده‌های ساختارمند است. این ساختارمندی به گونه‌ای است که بازیابی داده‌ها ساده می‌شود. برای یک فهرست کوچک مشابه تصویر فوق، این فایل متنی ساده کفایت می‌کند.

صفحه گسترده (Spreadsheet)

یک روش دیگر برای ذخیره‌سازی اطلاعات، استفاده از صفحه گسترده (Spreadsheet | صفحه جدول‌بندی شده) در یک نرم‌افزار صفحه گسترده مثل اکسل است. در این روش، می‌توان برخی کارهای اضافه را با فهرست خود انجام داد. برای مثال، می‌توان آن را بر اساس نام هنرمند مرتب‌سازی کرد و بسیاری از موارد دیگر را انجام داد.

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

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

نرم افزار بانک اطلاعاتی

یک روش بهتر برای ذخیره‌سازی داده‌ها، استفاده از یک جدول بانک اطلاعاتی یا همان پایگاه داده است که در یک برنامه مخصوص بانک اطلاعاتی مثل مایکروسافت اکسس انجام می‌شود. سیستم‌های مدیریت پایگاه داده نظیر اکسس با هدف ذخیره‌سازی و بازیابی اطلاعات ایجاد می‌شوند.

اما دقیقاً چه تفاوتی میان یک برنامه صفحه گسترده (مثل اکسل) و یک پایگاه داده (مثل اکسس) وجود دارد؟ مگر اینطور نیست که هر دوی این نرم‌افزارها داده‌ها را در قالب سطرها و ستون‌ها سازمان‌دهی می‌کنند؟ تفاوت‌های بسیاری میان یک برنامه صفحه گسترده و نرم‌افزار پایگاه داده وجود دارد. در ادامه آموزش بانک اطلاعاتی در مقاله «بانک اطلاعاتی چیست»، مشخص خواهد شد که چرا یک نرم‌افزار بانک اطلاعاتی انتخاب بهتری برای ایجاد پایگاه‌های داده است.

تصویر محیط کاربری نرم افزار بانک اطلاعاتی اکسس در مقاله بانک اطلاعاتی چیست برای آموزش بانک اطلاعاتی

سیستم مدیریت بانک اطلاعاتی چیست ؟

یک سیستم مدیریت بانک اطلاعاتی یا همان پایگاه داده (Database Management System | DBMS) نرم‌افزاری است که ایجاد و مدیریت بانک‌های اطلاعاتی را امکان‌پذیر می‌سازد. به طور کلی، بانک‌های اطلاعاتی نسبت به یک فایل متنی یا یک صفحه گسترده پیچیده‌ترند.

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

  • ایجاد پایگاه داده
  • جدول‌ها
  • افزودن داده به بانک اطلاعاتی
  • پرس و جو در یک بانک اطلاعاتی (کوئری)
  • طراحی یا معماری بانک اطلاعاتی رابطه‌ای

ویژگی‌های یک سیستم مدیریت پایگاه داده چه هستند؟

برخی از سیستم‌های مدیریت پایگاه داده دارای یک رابط کاربری گرافیکی (GUI) هستند که به کاربر اجازه می‌دهند تا یک پایگاه داده را با استفاده از نشانگر ماوس ایجاد و مدیریت کنند. سایر سیستم‌های بانک اطلاعاتی از یک رابط خط فرمان استفاده می‌کنند که در آن‌ها، دستورات برنامه نویسی خاصی برای ایجاد و نگهداری بانک اطلاعاتی استفاده می‌شود. البته، اکثر سیستم‌های پایگاه داده علاوه بر خط فرمان، امکان نصب ابزارهای گرافیکی را هم برای مدیریت بانک اطلاعاتی فراهم می‌کنند. سیستم‌های مختلف ظاهر متفاوتی دارند، اما به طور کلی در اکثر سیستم‌های پایگاه داده ویژگی‌های مشترکی وجود دارند.

رابط کاربری بانک اطلاعاتی اکسس: تصویری از محیط کاربری اکسس در بخش قبلی نمایش داده شد. بخش بالایی رابط کاربری این برنامه شامل یک نوار ابزار است که در اکسس به آن روبان (Ribbon) گفته می‌شود. پنجره ناوبری در سمت چپ، شامل اشیای پایگاه داده برای بانک اطلاعاتی فعلی هستند. اشیای پایگاه داده مواردی مثل جدول‌ها، کوئری‌ها، فُرم‌ها، گزارش‌ها و سایر موارد را شامل می‌شوند. برخی از این اشیا در میان تمام سیستم‌های مدیریت بانک اطلاعاتی مشترک هستند. تمام سیستم‌های پایگاه داده به کاربران اجازه ساخت جدول‌ها،‌ ایجاد کوئری‌‌ها، طراحی یک پایگاه داده جدید و باز کردن یک پایگاه داده موجود را می‌دهند.

رابط کاربری بانک اطلاعاتی SQL Server

SQL Server نسبت به اکسس، سیستم مدیریت بانک اطلاعاتی قدرتمندتری به حساب می‌آید. در حالی که اکسس بیش‌تر برای استفاده خانگی و دفاتر کوچک مناسب است، SQL Server بیش‌تر در کاربردهای سازمانی مثل وب‌سایت‌ها و سیستم‌های مدیریت ارتباط با مشتریان در شرکت‌های بزرگ مورد استفاده قرار می‌گیرد. تصویر زیر، نمای آنچه در هنگام باز کردن SQL Server از طریق برنامه SQL Server Management Studio یا همان SSMS ملاحظه می‌شود را نشان می‌دهد.

تصویر رابط کاربری و محیط برنامه SSMS‌یا همان SQL Server Management Studio برای آموزش بانک اطلاعاتی در مقاله آموزش بانک اطلاعاتی

SSMS یک ابزار داخلی برای مدیریت SQL Server و بانک‌های اطلاعاتی آن به حساب می‌آید. مشابه اکسس، SSMS نیز یک نوار ابزار در قسمت بالای صفحه دارد و همچنین یک پنجره ناوبری که به آن «مرورگر شی» (Object Explorer) می‌گویند نیز در سمت چپ رابط کاربری آن قرار دارد. تمام بانک‌های اطلاعاتی که کاربر به آن‌ها متصل است در مرورگر شی فهرست می‌شوند.

رابط کاربری بانک اطلاعاتی MySQL

MySQL رقیبی برای SQL‌ Server به حساب می‌آید. MySQL محبوب‌ترین و رایج‌ترین سیستم بانک اطلاعاتی متن‌باز در جهان به شمار می‌رود. یک ابزار انتخابی مدیریتی به نام MySQL Workbench برای این DBMS ارائه شده است. MySQL Workbench مشابه SSMS است که در آن، امکان انجام وظایف بیش‌تری از طریق رابط کاربری گرافیکی (GUI)‌ فراهم شده است. حال این سوال به وجود می‌آید که باید از کدام سیستم بانک اطلاعاتی استفاده کرد؟ در ادامه آموزش بانک اطلاعاتی در مقاله «بانک اطلاعاتی چیست» به این سوال مهم پاسخ داده شده است.

از کدام سیستم بانک اطلاعاتی استفاده کنم؟

در صورتی که یک بانک اطلاعاتی برای استفاده خانگی یا یک دفتر کوچک مورد نیاز باشد، مایکروسافت اکسس یا Filemaker کفایت می‌کند. در صورتی که نیاز به ایجاد پایگاه داده برای یک وب‌سایت وجود داشته باشد، بهتر است از سیستم DBMS قدرتمندتری مثل MySQL ،SQL Server یا اوراکل استفاده شود. دستورات و وظایف اجرا شده در مثال‌های مربوط به آموزش بانک اطلاعاتی در این مقاله وظایفی هستند که فارق از نام سیستم مدیریت پایگاه داده به کار گرفته می‌شوند. هدف اصلی مقاله «بانک اطلاعاتی چیست» در خصوص آموزش بانک اطلاعاتی ، فراهم‌سازی یک دید کلی است نسبت به آنچه در ایجاد و نگهداری یک بانک اطلاعاتی انجام می‌شود.

آموزش ایجاد بانک اطلاعاتی

در یک سیستم مدیریت بانک اطلاعاتی، بسیاری از وظایف را می‌توان با کدنویسی یا از طریق رابط کاربری گرافیکی انجام داد. ایجاد بانک اطلاعاتی نیز از این قاعده مستثنی نیست. بنابراین، در ادامه نحوه ایجاد یک پایگاه داده به هر یک از این دو روش آموزش داده شده است.

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

بسیاری از مدیران پایگاه داده (Database Administrator | DBA) برای اجرای بسیاری از عملیات در بانک اطلاعاتی از زبان SQL استفاده می‌کنند. جهت کدنویسی با SQL‌، معمولاً یک رابط برای وارد کردن کدها در نرم‌افزارهای مختلف مدیریت پایگاه داده وجود دارد. برای مثال در صورت استفاده از SQL Server، معمولاً از Query Analyzer استفاده می‌شود. برای ایجاد یک بانک اطلاعاتی با زبان SQL از خط کد زیر استفاده می‌شود:

1CREATE DATABASE MyDatabase

آموزش ایجاد بانک اطلاعاتی از طریق رابط کاربری

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

۱. رفتن به منوی فایل: این منوی مربوط به اکسس ۲۰۱۶ در تصویر زیر نشان داده شده است. برای ایجاد پایگاه داده در اکسس، به سادگی در قسمت New‌ باید روی Blank Desktop Database کلیک کرد. به جای این کار، می‌توان یک قالب (Template) را هم انتخاب کرد. قالب، یک بانک اطلاعاتی از پیش ساخته شده برای یک منظور خاص به حساب می‌آید.

تصویر مربوط به مرحله اول ایجاد یک بانک اطلاعاتی جدید از طریق رابط کاربری در اکسس که در مقاله «بانک اطلاعاتی چیست» برای آموزش بانک اطلاعاتی ارائه شده است.

۲. نام‌گذاری پایگاه داده: اولین چیزی که هر سیستم مدیریت پایگاه داده‌ای نیاز دارد، تعیین یک نام برای بانک اطلاعاتی است. با مشخص کردن یک نام، بانک اطلاعاتی مربوطه می‌تواند در سیستم ایجاد شود. بنابراین، در این مرحله باید یک نام برای پایگاه داده تعیین و سپس دکمه Create را کلیک کرد:

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

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

آموزش جدول در بانک اطلاعاتی

در یک بانک اطلاعاتی رابطه‌ای، جدول‌ها حاوی داده‌ها هستند. در زمان پرس و جوی پایگاه داده یا همان کوئری زدن، این کوئری در جدول‌ها انجام می‌شود. پیش از پرداختن به نحوه ایجاد یک جدول در بانک اطلاعاتی، بهتر است به این سوال پاسخ داده شود که یک جدول در بانک اطلاعاتی چیست؟

جدول در بانک اطلاعاتی چیست ؟

در خصوص بانک اطلاعاتی رابطه‌ای، یک جدول مسئولیت «مرتب‌سازی داده‌ها» در پایگاه داده را بر عهده دارد. جدول‌های بانک اطلاعاتی از سطرها و ستون‌ها تشکیل شده‌اند. برای مثال، یک جدول با نام Albums در پایگاه داده فرضی Artists در تصویر زیر آمده است:

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

سطر در جدول های بانک اطلاعاتی چیست ؟

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

ستون در جداول پایگاه داده چیست ؟

ستون‌ها به صورت عمودی در جدول قرار می‌گیرند و توصیفی را برای هر فیلد در جدول ارائه می‌دهند. به هر ستون یک نام نسبت داده می‌شود. این نام، داده‌های ذخیره شده را توصیف می‌کند. برای مثال، نام ستون‌ها می‌تواند Price ،ProductId ،LastName ،FirstName و سایر موارد باشد. در تصویر زیر، دومین ستون (به نام AlbumName) انتخاب/هایلایت شده است.

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

اکثر بانک‌های اطلاعاتی رابطه‌ای دارای چندین جدول هستند. مثلاً در پایگاه داده ممکن است یک جدول برای مشتریان با نام Customers، یک جدول برای محصولات به نام Products، یک جدول برای سفارش‌ها به نام Orders و بسیاری از جداول دیگر وجود داشته باشد. حال پس از شرح چیستی جدول و اجزای آن در یک بانک اطلاعاتی، در ادامه مقاله «بانک اطلاعاتی چیست» به چگونگی ایجاد جدول در پایگاه داده پرداخته شده است.

آموزش بانک اطلاعاتی: ایجاد جدول

در این بخش نیز نحوه ایجاد جدول به دو روش از طریق کدنویسی و رابط کاربری شرح داده شده است.

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

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

1CREATE TABLE Albums (
2    AlbumId int,
3    AlbumName Varchar(255),
4    ReleaseDate dateTime,
5    ArtistId int,
6    Genre int
7)

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

برای ایجاد جدول، اکثر سیستم‌های مدیریت پایگاه داده دارای یک «نمای طراحی» (Design View) یا چیزی شبیه به آن هستند. نمای طراحی این امکان را فراهم می‌سازد تا کاربر نام هر ستون را ایجاد و همچنین نوع داده هر ستون و هر محدودیت دیگری که نیاز است را تعیین کند. ایجاد محدودیت برای نوع داده هر ستون در بانک‌های اطلاعاتی رابطه‌ای بسیار اهمیت دارد. این اهمیت به این دلیل است که ایجاد محدودیت نوع داده به حفظ یکپارچگی داده‌ها کمک می‌کند.

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

تصویر مربوط به تنظیمات خصوصیات هر ستون در نرم افزار اکسس برای آموزش بانک اطلاعاتی در مقاله بانک اطلاعاتی چیست

نمای طراحی

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

ویرایش یک جدول در نمای صفحه گسترده

برخی از سیستم‌های بانک اطلاعاتی ممکن است به کاربران اجازه دهند در حالی که در نمای صفحه گسترده قرار دارند، بتوانند تغییراتی را در تعریف جدول‌ها ایجاد کنند. این امکان در اکسس نیز وجود دارد. برای مثال، می‌توان روی سرآیند (header) یک ستون برای انتخاب نوع داده آن راست کلیک کرد. همچنین، می‌توان خصوصیت‌های فیلدها را در نوار ابزار بالایی (که اکسس آن را Ribbon یا همان روبان می‌نامد) تغییر داد.

تصویر مربوط به تغییر پراپرتی های یک ستون در اکسس که در آموزش بانک اطلاعاتی برای مقاله بانک اطلاعاتی چیست نمایش داده شده است.

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

آموزش افزودن داده به بانک اطلاعاتی

راه‌های مختلفی برای وارد کردن داده‌ها در یک جدول بانک اطلاعاتی وجود دارد که هر یک از آن‌ها در ادامه فهرست شده‌اند:

  • وارد کردن داده‌ها به طور مستقیم
  • از طریق فُرم
  • Import کردن
  • با استفاده از زبان SQL
  • از طریق وب‌سایت یا سایر اپلیکیشن‌ها

هر یک از روش‌های فوق در ادامه این بخش از آموزش بانک اطلاعاتی به اختصار شرح داده شده‌اند.

وارد کردن داده‌ها به طور مستقیم

در حالی که کاربر در نمای صفحه گسترده قرار دارد، می‌تواند داده‌ها را مستقیماً در جدول‌ها وارد کند. در ابتدا این ممکن است سریع‌ترین و ساده‌ترین راه به نظر برسد. اما در صورتی که داده‌های زیادی برای وارد کردن وجود داشته باشند یا کاربران معمولی (غیر فنی) قصد وارد کردن داده‌ها را داشته باشند، این روش مناسبی نیست.

تصویر مربوط به افزودن مستقیم داده ها به جدول در آموزش بانک اطلاعاتی برای مقاله بانک اطلاعاتی چیست

افزودن داده‌ها به جدول از طریق فُرم

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

اکثر سیستم‌های بانک اطلاعاتی، قابلیت راه‌اندازی و ایجاد یک فُرم را ندارند. احتمالاً به این دلیل که این سیستم‌ها بر خلاف اکسس برای کاربردهایی در مقیاس بزرگ‌تر با صدها، هزاران یا حتی میلیون‌ها کاربر طراحی شده‌اند. در چنین محیط‌هایی یک فُرم به روش‌های دیگری مثل استفاده از صفحات HTML ایجاد می‌شود. اپلیکیشن‌هایی مثل اکسس یک ابزار راهنمای مرحله‌ای (Wizard) را برای ایجاد فرم‌ها ارائه می‌دهند. این ابزار، کاربر را در فرآیند ایجاد یک فُرم هدایت و راهنمایی می‌کند.

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

افزودن داده به جدول از طریق گزاره INSERT در SQL

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

می‌توان از همان اسکریپت‌ها در محیط‌های توسعه، تست و تولید، مجدداً استفاده کرد. اسکریپت‌های SQL معمولاً برای درج داده‌های «جستجو» (Lookup) استفاده می‌شوند. داده‌های جستجو به طور کلی یک مجموعه داده پایه است که هیچ‌گاه یا به ندرت تغییر می‌کنند. برای مثال می‌توان کشورها، جنسیت و سایر موارد را نام برد. اجرای چنین اسکریپتی معمولاً تمام رکوردها را در چند ثانیه (یا میلی ثانیه) درج خواهد کرد.

تصویر مربوط به استفاده از SQL و کوئری INSERT‌ برای درج داده ها در جدول پایگاه داده اکسس برای آموزش بانک اطلاعاتی در مقاله بانک اطلاعاتی چیست

درج داده‌ها در جدول از طریق وارد کردن آن‌ها

اکثر سیستم‌های مدیریت بانک اطلاعاتی، امکان وارد کردن (Import) داده‌ها را از منابع خارجی فراهم می‌کنند. برای مثال، می‌توان داده‌ها را از یک فایل CSV، یک فایل اکسل یا یک بانک اطلاعاتی دیگر وارد کرد. در تصویر زیر، تنظیمات Import در مایکروسافت اکسس نشان داده شده است. برای وارد کردن داده‌ها از یک برنامه راهنما به نام Import Wizard استفاده می‌شود. در ابتدا می‌توان انتخاب کرد که داده‌ها وارد یک جدول فعلی شوند یا اینکه یک جدول جدید برای وارد کردن آن‌ها ایجاد شود.

وارد کردن داده به بانک اطلاعاتی | آموزش بانک اطلاعاتی | بانک اطلاعاتی چیست

درج داده‌ها از طریق وب سایت یا اپلیکیشن دیگر

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

اکثر سیستم‌های بانک اطلاعاتی کلاینت-سروری مثل MySQL ،SQL Server و سایر موارد به این شکل عمل می‌کنند. بانک اطلاعاتی به صورت جدا از اپلیکیشن نگهداری می‌شود. در بسیاری از موارد، چندین اپلیکیشن از یک بانک اطلاعاتی واحد استفاده می‌کنند. این معمولاً رایج‌ترین روش اضافه کردن داده به بانک اطلاعاتی است. وقتی کاربر در یک وب‌سایت ثبت‌نام می‌کند، اطلاعات مربوطه با استفاده از این روش در یک پایگاه داده درج خواهند شد.

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

آموزش کوئری در بانک اطلاعاتی

در بانک‌های اطلاعاتی، از کوئری (Query |‌ پرس و جو) برای بازیابی داده‌ها از یک پایگاه داده استفاده می‌شود. معمولاً می‌توان به میزان مورد نیاز و به صورت انتخابی میزان داده‌های لازم را از پایگاه داده بازیابی کرد. در صورتی که داده‌های زیادی در بانک اطلاعاتی وجود داشته باشد، به احتمال زیاد فرد پرس و جو کننده نمی‌خواهد همه داده‌ها را ببیند.

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

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

 

آموزش کوئری نویسی در بانک اطلاعاتی با نوشتن کد

برای بازیابی داده‌ها از بانک اطلاعاتی با SQL، باید از گزاره SELECT استفاده کرد. برای بازیابی تمام رکوردهای یک جدول از دستور زیر استفاده می‌شود:

1SELECT * FROM Albums;

همچنین، می‌توان تنها برخی از رکوردها را انتخاب (بازیابی) کرد:

1SELECT * FROM Albums
2WHERE ArtistId = 1;

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

آموزش کوئری در بانک اطلاعاتی از طریق رابط کاربری

ممکن است برای برخی از کاربران، استفاده از رابط کاربری جهت تولید کوئری‌ها خصوصاً‌ در صورت پیچیده بودن آن‌ها روش مناسب‌تری باشد. سیستم‌های مدیریت بانک اطلاعاتی برای کوئری نویسی معمولاً یک نمای طراحی ارائه می‌دهند. نمای طراحی این امکان را برای کاربر فراهم می‌کند تا این انتخاب را داشته باشد که کدام ستون دلخواه را نمایش دهند و از کدام معیار برای فیلتر کردن داده‌ها استفاده کنند. در تصویر زیر نحوه طراحی یک کوئری در نمای طراحی نرم‌افزار اکسس نمایش داده شده است:

تصویر مربوط به طراحی یک کوئری از طریق رابط کاربری نمای طراحی در مایکروسافت اکسس که برای آموزش بانک اطلاعاتی در مقاله بانک اطلاعاتی چیست استفاده شده است.

فارق از روش مورد استفاده (کوئری با کدنویسی یا رابط کاربری)،‌ نتایج معمولاً در قالب جدول نمایش داده خواهند شد. بنابراین، خروجی کوئری انجام شده به صورت زیر است:

تصویر مربوط به نمایش خروجی و نتیجه کوئری در اکسس که به صورت جدول است. این تصویر برای آموزش بانک اطلاعاتی در مقاله بانک اطلاعاتی چیست ارائه شده است.

طراحی پایگاه داده رابطه‌ای

در این بخش از آموزش بانک اطلاعاتی در مقاله «بانک اطلاعاتی چیست» نگاه کلی به مدل داده استفاده شده در سیستم‌های مدیریت پایگاه داده رابطه‌ای صورت گرفته است. اکثر سیستم‌های مدیریت بانک اطلاعاتی رایج و محبوب، سیستم‌های رابطه‌ای (Relational Systems) هستند و معمولاً به آن‌ها سیستم‌های مدیریت پایگاه داده رابطه‌ای یا به طور مخفف، RDBMS گفته می‌شود.

در بانک‌های اطلاعاتی رابطه‌ای می‌توان چندین جدول ایجاد کرد که برخی یا تمام این جدول‌ها به یکدیگر مرتبط هستند. حال در ادامه به این سوال پاسخ داده شده است که در RDBMS به چه چیزی رابطه (Relationship) گفته می‌شود؟

در سیستم مدیریت بانک اطلاعاتی رابطه‌ای به چه چیزی رابطه می‌گویند؟

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

مثالی برای رابطه در پایگاه داده رابطه‌ای

تصویر زیر مثالی از یک رابطه را نمایش می‌دهد. در این تصویر مشخص شده است که جدول‌های Artists و Albums با هم در ارتباط هستند. این یعنی جدول Albums یک ستون به نام ArtistId دارد که مربوط به جدول Artists است. در این مورد، جدول Artists جدول والد (یا جدول اصلی) و جدول Albums نیز جدول فرزند است. هر مقداری که در ستون Albums.ArtistId ذخیره می‌شود، باید با یک مقدار در ستون Artists.ArtistId متناظر باشد. انجام این کار،‌ کاربر را قادر می‌سازد تا برای هر آلبوم مفروض، بتواند نام خواننده آن را بدست آورد.

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

رابطه در پایگاه داده رابطه‌ای چگونه عمل می‌کند؟

برای شرح چگونگی عملکرد رابطه در یک RDBMS از مثال فوق در این بخش نیز کمک گرفته شده است. تصویر زیر داده‌هایی را نشان می‌دهد که در رابطه فوق نقش دارند:

تصویر مربوط به داده هایی که در رابطه نقش دارند | آموزش بانک اطلاعاتی رابطه ای | بانک اطلاعاتی چیست ؟

اول از همه، در جدول Artists، هر رکورد دارای یک کلید اصلی (Primary Key) است. یک کلید اصلی، ستونی است که یک تعیین کننده هویت (شناسه| Identifier) منحصر به فرد را برای هر رکورد در خود ذخیره می‌کند. مقدار این شناسه منحصر به فرد می‌تواند به سادگی یک عدد افزایشی باشد. بنابراین، در جدول Artists، اولین رکورد دارای مقدار یک، دومین رکورد دارای مقدار ۲ است و به همین ترتیب شماره کلید اصلی برای هر رکورد افزایش می‌یابد. علاوه بر این، وقتی که هر آلبوم وارد جدول Albums می‌شود، به جای نوشتن نام کامل یک خواننده در آن جدول، تنها نیاز به اضافه کردن شناسه منحصر به فرد آن خواننده وجود خواهد داشت. در این مثال، شناسه منحصر به فرد یک عدد است؛ بنابراین این عدد در ستون ArtistId در جدول Albums وارد می‌شود.

به این ستون کلید بیرونی (کلید خارجی | Foreign Key) گفته می‌شود. به این دلیل به آن کلید خارجی می‌گویند که این ستون به داده‌های کلید اصلی در یک جدول دیگر ارجاع می‌دهد. به این ترتیب، می‌توان در جدول Albums ملاحظه کرد که اولین آلبوم متعلق به هنرمند شماره ۳ است. سپس، با نگاه کردن به جدول Artists می‌توان متوجه شد که هنرمندان شماره سه، همان گروه Iron Maiden هستند. تا اینجا مفاهیم مقدماتی پایگاه داده و همچنین چیستی پایگاه داده رابطه‌ای آموزش داده شده است. نوع دیگری از انواع بانک‌های اطلاعاتی به نام پایگاه داده NoSQL نیز وجود دارد که روز به روز از آن‌ها بیش‌تر استفاده می‌شود. بنابراین، در ادامه آموزش بانک اطلاعاتی از مقاله «بانک اطلاعاتی چیست» به معرفی و شرح چیستی آن پرداخته شده است.

بانک اطلاعاتی NoSQL چیست ؟

بانک‌های اطلاعاتی NoSQL یک مدل داده جایگزین برای مدل پایگاه داده رابطه‌ای فراهم می‌کنند. در بخش انواع بانک‌های اطلاعاتی به طور مختصر پیرامون پایگاه داده NoSQL توضیحاتی ارائه شد. در این بخش یک نگاه کلی با جزئیات بیش‌تر به این نوع بانک اطلاعاتی صورت گرفته است.

پایگاه داده‌های رابطه‌ای تنها سیستم‌های مدیریتی مورد استفاده نیستند و یک گونه جدید از سیستم مدیریت پایگاه داده با نام بانک اطلاعاتی NoSQL نیز پدید آمده است. این نوع پایگاه داده از مدل رابطه‌ای استفاده نمی‌کند، بلکه کاملاً یک مدل متفاوت را به کار می‌گیرد.

مدل داده‌ای که پایگاه داده NoSQL به کار می‌گیرد، به پایگاه داده بستگی دارد. NoSQL یک اصطلاح بسیار گسترده است که تنها به یک مدل پایگاه داده خاص اطلاق نمی‌شود. بلکه، NoSQL به انواع مختلفی از مدل‌ها اشاره دارد که جز مدل رابطه‌ای نیستند. اگرچه، با وجود اینکه بانک‌های اطلاعاتی NoSQL از سال ۱۳۳۹ (۱۹۶۰ میلادی) وجود داشته‌اند، تنها در اوایل هزاره دوم (دهه ۱۳۸۰) رویکرد NoSQL مورد توجه قرار و پیشرفت آن سرعت بیش‌تری گرفته است.

انواع بانک‌های اطلاعاتی NoSQL کدامند؟

انواع بانک‌های اطلاعاتی NoSQL معمولاً در دسته‌های زیر قرار می‌گیرند. به اکثر این انواع پایگاه داده در بخش انواع بانک اطلاعاتی اشاره شده است:

  • پایگاه داده گراف (Graph Database)
  • بانک اطلاعاتی کلید مقدار (Key-Value)
  • پایگاه داده سند-گرا (Document Store)
  • بانک اطلاعاتی ستون‌گرا (Column Store)

در ادامه هر کدام از این انواع بانک اطلاعاتی NoSQL به اختصار شرح و تصویری از هر یک نمایش داده شده است.

بانک اطلاعاتی گراف چیست؟

پایگاه داده گراف (Graph Database) از یک مدل گرافیکی برای ذخیره‌سازی و نمایش داده‌ها استفاده می‌کند. بانک‌های اطلاعاتی گراف معمولاً داده‌ها را به عنوان گره‌ها و رابطه‌ها ذخیره کرده و نمایش می‌دهند. گره‌ها به عنوان دایره‌های کوچک و رابطه‌ها نیز به صورت پیکان‌های پیوند دهنده داده‌ها نمایش داده می‌شوند. بانک‌های اطلاعاتی گراف برای کاربردهایی مثل شبکه‌های اجتماعی، پیشنهاد محصول زمان واقعی، نمودارهای شبکه، شناسایی کلاه‌برداری، مدیریت دسترسی و سایر موارد بسیار مناسب هستند.

مثالی از یک نوع داده گراف در مقاله بانک اطلاعاتی چیست برای آموزش بانک اطلاعاتی

بانک اطلاعاتی کلید مقدار چیست؟

یک بانک اطلاعاتی کلید مقدار، پایگاه داده‌ای است که از روش ساده کلید/مقدار برای ذخیره‌سازی داده‌ها استفاده می‌کند. بخش مربوط به کلید-مقدار به این موضوع اشاره دارد که این نوع بانک اطلاعاتی داده‌ها را به عنوان مجموعه‌ای از جفت‌های کلید و مقدار ذخیره می‌کند. این یک روش ساده برای ذخیره‌سازی اطلاعات به حساب می‌آید و به لحاظ مقیاس‌پذیری نیز شناخته شده و معتبر است. از یک دفترچه تلفن ساده، می‌توان به عنوان مثالی کلاسیک از یک پایگاه داده کلید/مقدار یاد کرد:

کلیدمقدار
Ali09155151515
Hashem09199999191
Bahman09122122222
Morteza09030909090

بانک اطلاعاتی سندگرا چیست؟

یک بانک اطلاعاتی سندگرا (Document Store) از مدل مبتنی بر سند برای ذخیره‌سازی داده‌ها استفاده می‌کند. این نوع پایگاه داده مشابه یک بانک اطلاعاتی کلید-مقدار است و در آن از رویکرد کلید-مقدار استفاده می‌شود. تفاوت بانک اطلاعاتی سندگرا در این است که مقدار در یک پایگاه داده سندگرا از داده‌های نیمه ساخت‌يافته تشکیل شده است.

سندها در بانک‌های اطلاعاتی سندگرا معمولاً در قالب XML یا JSON هستند، اما برخی از سیستم‌های مدیریت پایگاه داده از زبان‌های دیگری مثل YAML ،BSON و سایر موارد استفاده می‌کنند. نمونه‌ای از یک سند JSON در ادامه آمده است:

1{
2  '_id' : 1,
3  'artistName' : { 'Iron Maiden' },
4  'albums' : [
5    {
6      'albumname' : 'The Book of Souls',
7      'datereleased' : 2015,
8      'genre' : 'Hard Rock'
9    }, {
10      'albumname' : 'Killers',
11      'datereleased' : 1981,
12      'genre' : 'Hard Rock'
13    }, {
14      'albumname' : 'Powerslave',
15      'datereleased' : 1984,
16      'genre' : 'Hard Rock'
17    }, {
18      'albumname' : 'Somewhere in Time',
19      'datereleased' : 1986,
20      'genre' : 'Hard Rock'
21    }
22  ]
23}

بانک اطلاعاتی ستون‌گرا چیست؟

یک بانک اطلاعاتی ستون‌گرا عملکردی مشابه یک پایگاه داده رابطه‌ای دارد. این نوع بانک اطلاعاتی NoSQL درست مثل یک RDBMS از سطرها، ستون‌ها و جدول‌ها (که همچنین خانواده‌های ستونی نامیده می‌شوند) تشکیل شده است. اگرچه، این اجزا در بانک‌های اطلاعاتی ستون‌گرا به شکل متفاوتی عمل می‌کنند. در یک پایگاه داده ستون‌گرا، ستون‌های هر سطر در داخل آن سطر قرار دارند.

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

وب‌سایت دارای بانک اطلاعاتی

یک وب‌سایت دارای بانک اطلاعاتی (Database Driven Website)، وب‌سایتی است که درصد بالایی از محتوای آن در یک پایگاه داده بارگذاری شده است. در یک وب‌سایت دارای بانک اطلاعاتی، محتوای وب‌سایت به صورت فایل‌های HTML روی سرور قرار ندارد، بلکه این داده‌ها در سطرها و ستون‌های یک پایگاه داده ذخیره می‌شوند.

اغلب به وب‌سایتی که محتوای آن در قالب فایل‌های HTML در سیستم فایل ذخیره شده باشند، یک وب‌سایت «ایستا» (Static) گفته می‌شود. این در حالی است که به یک وب‌سایت دارای بانک اطلاعاتی اغلب وب‌سایت «پویا» (Dynamic) می‌گویند.

سیستم‌های مدیریت محتوا

یک وب‌سایت با محتوای پویا معمولاً یک سیستم مدیریت محتوا (CMS | Content Management System) دارد که برای کمک به تولید کنندگان محتوا در به‌روزرسانی وب‌سایت به کار می‌رود. CMS معمولاً در قالب یک محدوده مدیریتی فراهم می‌شود که در آن تولید کنندگان محتوا پیش از اینکه بتوانند محتوا اضافه کنند باید وارد سیستم شوند. پ س از ورود به سیستم، می‌توانند مقالاتی را ایجاد، به‌روزرسانی یا حذف کنند. ممکن است امکان بارگذاری فایل‌هایی مثل اسناد Word، فایل‌های PDF و دیگر موارد نیز وجود داشته باشد.

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

تالارهای بحث و گفتگو و وبلاگ ها

تالارهای بحث و گفتگو و وبلاگ‌ها تبدیل به یک ویژگی محبوب در بسیاری از وب‌سایت‌ها شده‌اند. اکثر تالارهای بحث و گفتگو و وبلاگ‌ها مبتنی بر بانک اطلاعاتی هستند. کاربران می‌توانند اطلاعات خود را ثبت و سپس محتوا اضافه کنند. وقتی که کاربر دکمه ارسال (Submit) را کلیک می‌کند،‌ جزئیات و محتوای مربوطه در پایگاه داده درج می‌شوند. سپس، وقتی که فردی تصمیم می‌گیرد این محتوا را ببیند، این داده‌ها با استفاده از SQL از بانک اطلاعاتی خوانده (دریافت) می‌شوند.

ترکیب پویا و ایستا

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

یک وب سایت دارای بانک اطلاعاتی چه مزایایی دارد؟

وب‌سایت‌های دارای بانک اطلاعاتی می‌توانند قابلیت‌های عملکردی بیش‌تری را نسبت به یک وب‌سایت ایستا فراهم کنند. این قابلیت‌های تعمیم‌یافته می‌تواند شامل موارد زیر باشد:

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

ساخت یک وب سایت دارای بانک اطلاعاتی چگونه انجام می‌شود؟

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

البته هیچ جای نگرانی از این بابت وجود ندارد. SQL یک زبان ساده است و یادگیری آن چندان دشوار نیست. در بخش‌های قبلی آموزش بانک اطلاعاتی برخی از ساده‌ترین دستورات SQL آموزش داده شدند. همچنین، برای یادگیری بیش‌تر می‌توان از سایر مقالات آموزش SQL مجله فرادرس و همچنین دوره‌های آموزشی ارائه شده در وب‌سایت فرادرس استفاده کرد.

به طورکلی، برای ایجاد یک وب‌سایت دارای بانک اطلاعاتی نیاز به مهارت‌های زیر وجود دارد:

  • باید مهارت ساخت یک وب‌سایت ایستا به زبان HTML و ترجیحاً CSS به همراه جاوا اسکریپت وجود داشته باشد.
  • باید مهارت نوشتن کدهای ابتدایی با استفاده از یک زبان اسکریپت‌نویسی سمت سرور مثل PHP‌ وجود داشته باشد.
  • فرد باید نحوه کدنویسی SQL را فرا بگیرد.
  • یک برنامه نویس وب (بک‌اند) باید بتواند یک بانک اطلاعاتی را طراحی کند و آن را بسازد.

مقاله پیشنهادی: برای کسب اطلاعات بیش‌تر پیرامون ساخت وب‌سایت‌های ایستا و وب‌اپلیکیشن‌های پویا، مطالعه مقاله «برنامه نویسی وب چیست» به علاقه‌مندان پیشنهاد می‌شود.

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

جمع‌بندی

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

بر اساس رای ۱۷ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
guru99SearchDataManagementedurekaCFIMATILLIONThe Study GeniusPenGate SoftwareHEVOQuackit
نظر شما چیست؟

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