دیتابیس چیست؟ – تعریف، کاربرد و انواع به زبان ساده
دیتابیس یا همان پایگاه داده که به آن بانک اطلاعاتی هم میگویند، پیشینهای طولانی دارد و دیتابیسها از سال ۱۹۶۰ میلادی (۱۳۳۸ خورشیدی) که برای اولین بار مفهومسازی و خلق شدند، تا کنون پیشرفتهای چشمگیری داشتهاند. اخیراً برای پاسخدهی و واکنش به ظهور اینترنت و نیاز به سرعت بالاتر و حجم ذخیرهسازی بیشتر، دیتابیسهای خودکار (خودران) و دیتابیسهای ابری پدید آمدهاند و به واسطه آنها بنای تازهای آغاز شده است. اما دقیقاً دیتابیس چیست و چه کاربردی دارد؟ در ادامه این مطلب سعی شده است به طور جامع به این پرسش پاسخ داده شود. همچنین به سایر مباحث و موضوعات مهم پیرامون دیتابیس از جمله چیستی دیتابیس سایت، دیتابیس تلگرام، انواع دیتابیس و بسیاری از موارد دیگر نیز پرداخته شده است.
سازمانهای آیندهنگر از دیتابیس یا پایگاه دادهها اینگونه به نفع خود بهره میبرند که پا را از نیاز به ذخیرهسازی ابتدایی دادهها و نیازهای مربوط به تراکنشها فراتر میگذارند و دادههای خود را از طریق چندین سیستم مورد تجزیه و تحلیل قرار میدهند. برای اینکه بتوان به این پرس مهم پاسخ داد که دیتابیس چیست ابتدا باید بدانیم که داده چیست و چه مفهومی دارد.
داده چیست ؟
به بیان ساده، «داده» (دیتا | Data) اطلاعاتی است که در قالبها یا فرمتهای مختلفی مثل اعداد، متن، چندرسانهای و سایر موارد جمعآوری و نگهداری میشود و همچنین پس از جمعآوری، مورد استفادههای مختلفی قرار میگیرد.
در حیطه محاسبات، داده را میتوان به شکل دودویی (باینری) دیجیتال تبدیل کرد که این کار انعطافپذیری لازم را فراهم میکند تا بتوان دادهها را انتقال داد و به طور بهینهتری آنها را پردازش کرد. برای مثال، یک پلتفرم آموزش آنلاین دادههایی مثل نام، سن، مقطع و مدارک تحصیلی و جزئیات مربوط به دورههای خریداری شده کاربران خود را در اختیار دارد و میتواند این اطلاعات را به صورت دیجیتالی جمعآوری کند.
اصطلاح داده را میتوان هم به صورت مفرد و هم به صورت جمع به کار برد. گاهی هم اصطلاح «داده خام» (Raw Data) را میشنویم. داده خام در واقع سادهترین نوع داده دیجیتالی است. در روزهای اولیه، وقتی میزان اهمیت دادهها شروع به شتاب گرفتن کرده بود، اصطلاحاتی مثل «پردازش دادههای الکترونیکی» یا همان «پردازش داده» (Data Processing) در صنعت و جامعه IT به میزان وسیعی مورد استفاده قرار میگرفت.
با رشد تولید دادهها در طول این سالها، واحدهای اندازهگیری دادهها به رشد خود ادامه دادهاند. PwC بیان داشته است که ۴.۴ «زتابایت» (zettabytes | ZB) داده در سال ۲۰۱۹ در سطح جهان تولید شده است.
از طرف دیگر، IDC اقدام به پیشبینی کرده و اعلام داشته است که تا سال ۲۰۲۵ میزان دادههای تولید شده به ۱۷۵ زتابایت خواهد رسید. دیتابیسها، «سیستمهای مدیریت دیتابیس» (DBMS) و «سیستمهای مدیریت دیتابیسهای رابطهای» (RDBMS) به سرعت ظهور پیدا کردهاند تا بتوان این حجم عظیم دادهها را مدیریت و سازماندهی کرد.
دیتابیس چیست ؟
دیتابیس مجموعهای نظامیافته یا سازمانیافته از اطلاعات مرتبط است که ذخیرهسازی شدهاند، بهگونهای که به راحتی بتوان به دادهها دسترسی پیدا کرد، بازیابی آنها را انجام داد، مدیریتشان کرد و همچنین بهروزرسانی آنها را انجام داد. دیتابیس محلی است که تمام دادهها در آن ذخیره میشوند، بسیار شبیه به یک کتابخانه که میزبان بازه وسیعی از کتابها با موضوعات و ژانرهای مختلف است. در این تشبیه، کتابها در واقع همان دادهها هستند.
در یک پایگاه داده یا همان دیتابیس، میتوان دادهها را در سطرها و ستونها و در واقع در قالب جدولهایی سازماندهی کرد که البته این ساختار جدولی تنها در دیتابیسهای رابطهای وجود دارد. شاخصگذاری (اندیسگذاری | ایندکسگذاری) دادهها، پیدا کردن و بازیابی دوباره آنها را در زمان نیاز آسان میسازد.
بسیاری از وبسایتها در دنیای وب به کمک دیتابیس مدیریت میشوند. برای ایجاد دیتابیسی که به وسیله آن دادهها تنها از طریق مجموعه خاصی از برنامههای نرمافزاری برای کاربران در دسترس باشند، از «گردانندههای دیتابیس» (Database Handler) استفاده میشود. در ادامه برخی از رایجترین دیتابیسها یا در واقع همان سیستمهای مدیریت دیتابیس فهرست شدهاند.
- MySQL
- SQL Server
- MongoDB
- دیتابیس اوراکل
- PostgreSQL
- informix
- Sybase
- سایر موارد
دیتابیسهای مُدرن و امروزی به وسیله سیستمهای مدیریت دیتابیس یا همان DBMSها مدیریت و کنترل میشوند. «زبان پُرسمان ساختارمند» (Structured Query Language) که اکثراً با مخفف SQL از آن یاد میشود و البته بسیار شناخته شده و پر استفاده است، برای انجام عملیات مختلف روی دادهها در دیتابیس مورد استفاده قرار میگیرد. دیتابیسها معمولاً با استفاده از شمایلی استوانهای نمایش داده میشوند.
دیتابیس واتساپ چیست ؟
پوشه Databases در اپلیکیشن «واتساَپ» (WhatsApp) حاوی فایلهای پشتیبان (بکآپ) است. حجم و اندازه این فایلها و پوشه دیتابیس واتساپ به تعداد گفتگوهایی بستگی دارد که کاربر در این اپلیکیشن با دیگران داشته است. نرمافزار واتساپ، پشتیبانگیری را در حدود هر ۷ روز انجام میدهد. بنابراین، بر اساس میزان استفاده فرد، اندازه و حجم فایل دیتابیس افزایش خواهد داشت.
نمیتوان ایجاد دوباره فایلهای بکآپ را متوقف کرد. پشتیبانگیری از چتها در واتساپ هر روز در ساعت ۲ بامداد انجام می شود. کاری که میتوان برای آزادسازی فضای حافظه دستگاه انجام داد این است که تمام فایلهای داخل پوشه Databases را به غیر از آخرین فایل حذف کنیم. بهتر است آخرین فایل را حذف نکنیم، زیرا وقتی بخواهیم چتهای خود را بازیابی کنیم، مورد نیاز خواهد بود.
دیتابیس تلگرام چیست ؟
تلگرام هم دارای یک دیتابیس محلی در داخل دستگاههای کاربران است که بسیاری از دادههای مربوط به کاربران مثل گفتگوها و سایر موارد در آن ذخیره میشوند. باید در خصوص حذف دادههای دیتابیس تلگرام مراقب بود، چرا که در صورت حذف برخی موارد، دیگر امکان بازیابی آنها وجود نخواهد داشت.
ممکن است منظور از دیتابیس تلگرام، «Telegram Database Library» (کتابخانه دیتابیس تلگرام) باشد که به اختصار آن را TDLib خطاب میکنند. TDLib یک کلاینت تلگرام محسوب میشود که چندپلتفرمی و کاملآً کاربردی است. این ابزار توسط خود تلگرام طراحی و ساخته شده تا به واسطه آن برنامه نویسان امکان ساخت اپلیکیشنهای سفارشی و دلخواه خود را با استفاده از پلتفرم تلگرام داشته باشند.
دیتابیس وردپرس چیست ؟
دیتابیس وردپرس محل ذخیرهسازی تمام دادههای وبسایت وردپرسی با استفاده از سیستم اپن سورس مدیریت دیتابیس MySQL است. در دیتابیس وردپرس، اطلاعاتی شامل پُستها، صفحات وب، برچسبها، دادههای کاربران، دیدگاهها و بسیاری از موارد دیگر ذخیرهسازی و مدیریت میشوند.
دیتابیس گوشی چیست ؟
دیتابیس گوشی، دیتابیسی است که به طور خاص برای نگهداری از دادهها در اپلیکیشنهای موبایل اغلب در خودِ دستگاه به عنوان ذخیرهگاه محلی مورد استفاده قرار میگیرد. این کاربرد و استفاده از دیتابیس گوشی برای این منظور است که حتی در صورت عدم اتصال گوشی به شبکه، اپلیکیشن همچنان کار کند. همچنین از دیتابیس گوشی به عنوان حافظه موقت برای بارگذاری دادهها در صورت کندی اتصال استفاده میشود.
دیتابیس سایت چیست ؟
دیتابیس سایت، سیستم ذخیرهسازی اطلاعات است که امکان دسترسی از طریق وبسایت را دارد. در دیتابیس سایت اطلاعاتی مثل نام کاربری، پسوردها و بسیاری از موارد دیگرِ مورد نیاز به منظور فراهمسازی تجربه کاربری بهتر برای بازدیدکنندگان سایت ذخیره میشود. برای دیتابیس سایت، سیستم مدیریت MySQL انتخابی رایج و محبوب به حساب میآید. از MySQL به همراه زبان برنامه نویسی PHP استفاده میشود. PHP زبان برنامه نویسی سمت سرور برای دسترسی به دیتابیس به حساب میآید.
دیتابیس در برنامه نویسی چیست ؟
برنامه نویسی دیتابیس شیوه طراحی و نگهداری از دیتابیس برای یک برنامه کابربردی و اپلیکیشن نرمافزاری به وسیله کد نویسی است. بهترین شیوهها برای برنامه نویسی دیتابیس شامل سازماندهی روابط میان مجموعه دادههای مختلف و آزمایش برای بررسی خطاها و رکوردهای تکراری میشود. بازیابی نمونههایی از دادهها از پایگاه داده یکی دیگر از مسئولیتهای کلیدی در برنامه نویسی دیتابیس به حساب میآید.
از برنامه نویسی دیتابیس برای ایجاد و نگهداری از دیتابیسِ نرمافزارها و اپلیکیشنها استفاده میشود. از دیتابیس در برنامه نویسی برای ذخیرهسازی و بهروزرسانی دادهها به منظور جلوگیری از ورودیها یا رکوردهای تکراری دادهها استفاده میشود. در برنامههای بزرگتر که چندین جدول داده دارند، رسم رابطهها میان این جدولها نیز از جمله مواردی است که باید انجام شود. تمام برنامهنویسان لازم است هر یک به میزان متفاوتی بسته به نوع کاری که انجام میدهند و پروژهای که در آن شرکت دارند با دیتابیسها سر و کار داشته باشند.
چگونه دیتابیس بسازیم ؟
برای ساخت دیتابیس ابتدا باید مشخص کنیم که برای چه هدف و منظوری میخواهیم دیتابیس بسازیم؟ آیا دیتابیس را میخواهیم برای نرمافزار یا وبسایت بسازیم یا میخواهیم به منظور تجزیه و تحلیل دادهها یا دیگر موارد دیتابیسی را توسعه دهیم. نکته دیگری که در ساخت دیتابیس اهمیت دارد، انتخاب ابزارها و فناوریهای مورد استفاده برای ساخت دیتابیس است.
در واقع بر اساس هدف و نیاز خود باید مناسبترین سیستمها و ابزارهای مدیریت دیتابیس را انتخاب و بعد کار ساخت دیتابیس را آغاز کنیم. باید ابزارها و به طور کلی طراحی و ساخت دیتابیس شامل فرایندی میشود که در ادامه در زیربخشی جداگانه به آن پرداختهایم.
چگونه دیتابیس طراحی کنیم ؟
در این بخش فهرستی از مراحل فرایند طراحی دیتابیس ارائه شده است.
- تعیین هدف و مقصود ساخت دیتابیس: به آمادهسازی برای سایر گامهای طراحی دیتابیس کمک میکند.
- پیدا کردن و سازماندهی اطلاعات مورد نیاز: لازم است تمام انواع اطلاعاتی که ممکن است برای ثبت در دیتابیس نیاز باشد (مثل نام محصول و شماره سفارش) را جمعآوری کنیم.
- تقسیمبندی اطلاعات در جدولها: در این مرحله، اقلام اطلاعاتی به موجودیتها یا موضوعهایی اصلی و اساسی (مثل محصولات یا سفارشها) تقسیم میشوند و سپس هر موضوع تبدیل به یک جدول خوهد شد.
- تبدیل آیتمهای اطلاعاتی به ستونها: باید در خصوص این مسئله تصمیمگیری کنیم که چه اطلاعاتی قرار است در هر جدول ذخیرهسازی شود. برای مثال، جدول کارمندان ممکن است شامل فیلدهایی مثل «Last Name» (نام خانوادگی) و «Hire Date» (تاریخ استخدام) شود.
- مشخص کردن «کلیدهای اصلی» (Primary Keys): لازم است کلید اصلی هر جدول را انتخاب کنیم. کلید اصلی در واقع ستونی است که به طور منحصربهفرد برای شناسایی هر سطر استفاده میشود. برای مثال شناسه محصول یا شناسه سفارش میتوانند گزینههای مناسبی برای کلید اصلی در هر یک از جدولهای محصولات و سفارشها باشند.
- مشخص کردن رابطهها: باید به هر جدول نگاهی بیاندازیم و تصمیم بگیریم دادهها در یک جدول چگونه با دادههای سایر جدولها مرتبط میشوند. سپس باید فیلدهایی را به جدولها اضافه کنیم. باید فیلدهایی به جدولها اضافه شود یا جدولهای جدیدی ایجاد شوند تا شفافسازی رابطهها به میزان لازم صورت پذیرد.
- بهبود بخشیدن و رفع ایرادهای طراحی: در این مرحله باید طراحی خود را برای یافتن خطاهای احتمالی مورد تجزیه و تحلیل قرار داد. لازم است پس از ایجاد جدولها تعدادی رکورد حاوی دادههای نمونه را اضافه کنیم. سپس باید ارزیابی شود که آیا میتوان نتایج دلخواه را از جدولها بدست آورد یا خیر و بعد لازم است تنظیمات و اصلاحات لازم را انجام دهیم.
- اِعمال قوانین نرمالسازی: در گام آخر، قوانین نُرمالسازی دادهها را انجام میدهیم تا ببینیم آیا جدولها به درستی ساختاردهی شدهاند یا خیر و سپس میزانسازیهای لازم در جدولها در صورت لزوم صورت خواهد گرفت.
تیونینگ دیتابیس چیست ؟
«میزانسازی» (تنظیم | تیونینگ | Tuning) دیتابیس گروهی از فعالیتها را توصیف میکند که برای بهینهسازی و همگن کردن عملکرد دیتابیس مورد استفاده قرار میگیرند. هدف از تیونینگ دیتابیس بیشینهسازی استفاده از منابع سیستمی به منظور انجام تا حد امکان بهنیه و سریع کارها است.
اکثر سیستمهای مدیریت دیتابیس به گونهای طراحی شدهاند تا استفاده از منابع سیستم را مدیریت کنند، اما همچنان فضای زیادی برای بهبود عملکرد به وسیله سفارشیسازی تنظیمات و پیکربندی آنها برای دیتابیس و DBMS وجود دارد.
به طور کلی نحوه ساخت دیتابیس بحثی طولانی است که به انتشار مطلبی جداگانه نیاز دارد و بنابراین در این مطلب به همین میزان از توضیحات بسنده کردهایم. امید است در آینده نزدیک، مطلبی جامع و کاربردی پیرامون اینکه چگونه دیتابیس بسازیم و طراحی کنیم در مجله فرادرس منتشر شود.
البته در مطلب «آموزش SQL Server Management Studio» نیز آموزشهای عملی کاربردی از جمله نحوه ساخت دیتابیس ارائه شده است که میتوان برای یادگیری بیشتر به این مطلب مراجعه کرد.
سیر تکاملی دیتابیس
دیتابیس حدوداً ۵۰ سال پیش با سیستمی مبتنی بر فایل آغاز شد. در طول زمان، پدیده دیتابیس از نسلهای متمادی تکامل عبور کرده است.
در ادامه فهرستی از سیر تکاملی و تاریخچه دیتابیس ارائه شده است.
- دیتابیس ابتدا در سال ۱۹۶۸ به صورت دیتابیسهای «Flat-File» (فایل مسطح) به جهان معرفی شد.
- سپس «دیتابیس سلسلهمراتبی» (Hierarchical Database) به وجود آمد و تا سال ۱۹۸۰ از این نوع دیتابیس استفاده میشد. اولین دیتابیس شرکت IBM به نام IMS که مخفف «Information Management System» (سیستم مدیریت اطلاعات) است نیز مبتنی بر دیتابیسهای سلسلهمراتبی بود.
- «چارلز باکمن» (Charles Bachman) اولین مدل داده شبکهای به نام «ذخیرهگاه داده یکپارچه» (Integrated Data Store) یا همان IDS را توسعه داد. این مدل در آغاز سال ۱۰۶۰ معرفی شد و در سال ۱۹۷۱ نیز استانداردسازی آن صورت گرفت.
- در سال ۱۹۷۰، «دیتابیس رابطهای» (Relational Database) به جهانیان معرفی شد.
- امروزه عصر دیتابیسهای رابطهای و سیستمهای مدریت پایگاه داده به حساب میآید. البته دیتابیس NoSQL و دیتابیسهای خودگردان و ابری هم از جمله جدیدترین فناوریهای این حوزه به حساب میآیند که در ابتدای مطلب به آنها اشاره شد و همچنین در ادامه نیز سعی خواهیم داشت بیشتر به آنها بپردازیم.
اجزای دیتابیس چیست ؟
در این بخش هر یک از اجزای دیتابیس یا همان پایگاه داده را به طور خلاصه معرفی کرده و شرح دادهایم.
- سختافزار: دستگاههای الکترونیکی فیزیکی مثل دستگاههای ذخیرهسازی، دستگاههای ورودی/خروجی و بسیاری از موارد دیگر از جمله سختافزارهای مورد استفاده در دیتابیس به حساب میآیند.
- نرمافزار: برنامههایی هستند که برای مدیریت و کنترل همهجانبه دیتابیس مورد استفاده قرار میگیرند. DBMS یا همان سیستم مدیریت دیتابیس نیز نوعی از نرمافزارهای مورد استفاده به عنوان اجزای دیتابیس محسوب میشود. سیستم عامل، برنامههای کاربردی دیتابیس که در DBMSها امکان دسترسی را فراهم میسازند، نرمافزار شبکهای که دادهها را به اشتراک میگذارد و سایر موارد از جمله دیگر اجزای نرمافزاری دیتابیس به شمار میروند.
- داده (دیتا): پیشتر به این پرسش پاسخ دادیم که داده چیست و توضیح داده شد که دادهها اطلاعاتی هستند که جمعآوری و ذخیرهسازی میشوند تا مورد دسترسی قرار بگیرند و به وسیله DBMS پردازش شوند. مثلاً میتوان به اصل دادهها، دادههای عملیاتی و فرادادهها (متادیتا) اشاره کرد.
- «رویه» (Procedure): مجموعهای مشخص از دستورالعملها و قوانین به حساب میآید که از آنها به منظور استفاده از دیتابیس برای طراحی و اجرای DBMS و همچنین با هدف هدایت کاربران در خصوص نحوه انجام عملیات و مدیریت آن استفاده میشود.
- زبان دسترسی دیتابیس: به انتقال دادهها و دسترسی به آنها در پایگاه داده کمک میکند. برای وارد کردن دادههای جدید یا بهروزرسانی یا بازیابی دادهها از دیتابیس، میتوان دستوراتی را به زبان دسترسی دیتابیس نوشت. سپس DBMS نتایج را در قالب قابل خواندن توسط کاربران نمایش میدهد.
اسکیما در دیتابیس چیست ؟
«اسکیمای دیتابیس» (Database Schema)، نقشه یا دیاگرامی (نموداری) است که به ساختار و سازماندهی دادههای ذخیره شده در پایگاه داده یا همان دیتابیس اشاره دارد. ۲ نوع اسکیمای دیتابیس وجود دارد، یکی اسکیمای منظقی و دیگری اسکیمای فیزیکی است.
اسکیمای منطقی بیانگر این است که دادهها چگونه سازماندهی شدهاند و اسکیمای فیزیکی هم ساختار فیزیکی ذخیرهسازی دادهها در دیتابیس را تعریف میکند.
ایندکس Index در دیتابیس چیست ؟
«ایندکس» (Index) در دیتابیس نسخه کپی شدهای از ستونهای انتخابی دادهها از یک جدول است که برای فراهمسازی امکان جستجوی بسیار بهینه طراحی شده است. ایندکس یا همان اندیس در پایگاه داده معمولاً شامل کلید یا پیوندی مستقیم به سطر اصلی دادههایی میشود که از آنها کپی شده است تا امکان بازیابی کامل سطر مربوطه را به گونهای بهینه فراهم کند.
ویو در دیتابیس چیست ؟
در دیتابیس، «ویو» (View) یا همان «نما» مجموعه نتایجی از پرسمانی ذخیرهسازی شده روی دادهها است که کاربران دیتابیس میتوانند پرسمان کنند، درست مثل کاری که در شی مجموعه پایگاه داده پایدار انجام میشود.
به بیان ساده، ویو در دیتابیس زیرمجموعهای از دیتابیس به حساب میآید و مبتنی بر پرسمانی است که روی یک یا بیش از یک جدول پایگاه داده اجرا میشود. ویوهای دیتابیس در پایگاه داده به عنوان پرسمانهای نامگذاری شده ذخیره میشوند و میتوان از آنها برای ذخیرهسازی پرسمانهای پراستفاده و پیچیده استفاده کرد.
ویو در دیتابیس درست مثل جدول در پایگاه داده حاوی سطرها و ستونها است. فیلدها در یک نمای دیتابیس فیلدهایی هستند که از یک یا بیش از یک جدول واقعی در دیتابیس دریافت شدهاند. میتوان عبارتها و توابع SQL را به یک ویو در دیتابیس اضافه کرد و دادهها را بهگونهای ارائه کرد که گویی دادهها از یک جدول واحد آمدهاند. ویو در دیتابیس را با استفاده از گزاره «CREATE VIEW» ایجاد میکنند.
کاربرد دیتابیس چیست ؟
دیتابیس کاربردهای بسیار گستردهای دارد و امروزه در اکثر کسب و کارها و مشاغل از دیتابیس به صورت مستقیم یا غیر مستقیم استفاده میشود. از یک سوپر مارکت کوچک گرفته تا سازمانهای تجاری بزرگ، همگی نیازمند استفاده از دیتابیس برای سازماندهی دادههایشان هستند.
در این بخش به انواع کاربرد دیتابیس پرداخته و هر یک از کاربردهای دیتابیس را فهرست کردهایم. به علاوه توضیحات کوتاهی هم در خصوص دادههای قابل مدیریت در کاربردهای مختلف دیتابیس به دنبال هر مورد ارائه شده است.
- کاربرد دیتابیس در حوزه خدمات ریلی: اطلاعات رزرو، بلیتها، زمانبندی قطارها و سایر موارد را میتوان با استفاده از دیتابیسها به خوبی مدیریت کرد.
- استفاده از دیتابیس در کتابخانهها: اطلاعات کتابها، تاریخ صدور و سایر موارد نیز به وسیله دیتابیسها به خوبی قابل مدیریت و سازماندهی است.
- کاربرد دیتابیس در بانکداری: اطلاعات مشتریان، حساب کاربری، فعالیتهای مالی مشتریان، وامها و سایر موارد.
- به کارگیری دیتابیس در حوزه آموزش: اطلاعات دانشآموزان، دورهها و کلاسهای آموزشی، نمرهها و دیگر موارد.
- خدمات کارتهای اعتباری: اطلاعات کارت اعتباری مربوطه، موجودی کارتها و غیره.
- شبکههای اجتماعی: دادههای کاربران، ویژگیهای جمعیتشناختی، ترجیحها و سلیقهها و سایر موارد.
- پخش زنده: اطلاعات کاربران، صورت حسابها و دیگر موارد
- تجارت الکترونیک: اطلاعات موجودی کالا، خریدها، فاکتورها و سایر موارد.
- مدیریت منابع انسانی: اطلاعات کارمندان، حقوق، فیشها حقوقی و غیره.
- تولید: اطلاعات تامین کننده، مخارج، موجودی موارد اولیه، سایر موارد.
- هواپیماییها: اطلاعات پرواز، زمانبندیها و غیره.
انواع دیتابیس چیست ؟
در ادامه این بخش به معرفی و شرح مختصر انواع دیتابیس پرداخته شده است.
- «دیتابیس رابطهای» (Relational Database): یکی از بهترین روشها برای دسترسی به اطلاعات ساختاریافته به حساب میآید. دادهها در قالب مجموعهای از جدولهای دارای سطرها و ستونهای مختلف سازماندهی میشوند.
- «دیتابیس شیگرا» (Object Oriented Database): در این نوع از دیتابیس، دادهها مشابه برنامه نویسی شیگرا یا همان شیگرایی در قالب اشیا بازنمایی میشوند.
- «دیتابیس توزیع شده» (Distributed Database): این نوع پایگاه داده یک یا بیش از یک فایل دارد که در محلهای متفاوتی قرار گرفتهاند. دیتابیس توزیع شده ممکن است در محل فیزیکی یکسانی روی چندین کامپیوتر باشد یا احتمال دارد در شبکههای مختلفی پخش شده باشد.
- پایگاه داده NoSQL چیست: این نوع دیتابیس پایگاه دادهای «غیر رابطهای» (Non-Relational) به حساب میآید که حاوی دادههای بدون ساختار یا نیمهساختارمند است. محبوبیت این نوع دیتابیس با ظهور و رواج وباپلیکیشنها و پیچیدهتر شدن آنها بیشتر و بیشتر شده است.
- «گراف دیتابیس چیست» (Graph Database): در این نوع بانک اطلاعاتی یا همان پایگاه داده، دادهها در قالب «نهاد» (Entity) و رابطه میان آنها ذخیرهسازی میشوند. «دیتابیس گراف» (Graph Database) پایگاه دادهای است که از ساختارهای گراف برای پرسمانهایی معنایی با استفاده از گرهها، راسها و ویژگیها برای نمایش و ذخیرهسازی دادهها استفاده میکند.
- «پایگاه داده ابری» (Cloud Database): این نوع بانک اطلاعاتی روی پلتفرمهای محاسبات ابری اجرا و دسترس در آن به «عنوان سرویس» (As a Service) فراهم میشود.
- «دیتابیس متمرکزسازی» (Centralization Database): این نوع دیتابیس که به اختصار آن را CDB خطاب میکنند، در یک محل واحد و مرکزی مستقر، ذخیرهسازی و نگهداری میشود. برای مثال، یک کامپیوتر Mainframe، کامپیوتر دسکتاپی یا سیپییو سرور از جمله بسترهایی برای دیتابیسهای متمرکز به حساب میآیند.
- «پایگاه داده عملیاتی» (Operational Database): این نوع از پایگاه داده که همچنین با مخفف OLTP (مخفف عبارت online Transactional Processing dDatabase به معنی دیتابیس پردازش تراکنشی آنلاین) هم شناخته میشود، برای ایجاد یا بهروزرسانی مقادیر زیادی از دادهها و ذخیرهسازی تراکنشهای اجرا شده به وسیله چندین کاربر به صورت زنده و لحظهای مورد ساتفاده قرار میگیرد.
- «انبار داده» (Data Warehouse): این نوع از دیتابیس مخزنی مرکزی برای دادهها به حساب میآید. انبارهای داده دادههای کنونی و قدیمی را در محلی یکتا برای گزارشهای تحلیلی در سراسر نگهداری میکنند.
معماری دیتابیس
معماری دیتابیس در کسب و کارها و سازمانها شامل استفاده از زبانهای برنامه نویسی برای طراحی نرمافزار میشود. معماری دیتابیس در اصل شامل طراحی، پیادهسازی، توسعه و نگهداری برنامههای کامپیوتری به منظور مدیریت دادهها برای کسب و کارها میشود.
معماری دیتابیس، طراحی DBMS را تعیین میکند. معماری میتواند یا «تکلایه» (Single-Tier) یا «چندلایه» (Multi-Tier) باشد. مثلاً در دیتابیس، معماری «۲ لایه» (2-Tier Architecture)، «۳ لایه» (3-Tier Architecture) و به طور کلی «معماری n لایه» (n-Tier Architecture) وجود دارد.
در ادامه معماری تکلایه در تصویر زیر به صورت بصری نشان داده شده است.
در ادامه، برای معماری ۲ لایه دیتابیس نیز به منظور درک بهتر آن تصویری ارائه شده است.
معماری ۳ لایه را هم میتوان به صورت تصویر زیر نمایش داد.
همچنین در تصویر زیر نیز معماری n لایه نمایش داده شده است.
فواید دیتابیس چیست ؟
در ادامه برخی از مزایای استفاده از دیتابیسها و پیادهسازی آنها در انواع کسب و کارهای کوچک و بزرگ یا حتی برای استفاده و نیازهای شخصی به طور مختصر فهرست شدهاند.
- کمترین میزان افزونگی داده
- بهبود امنیت دادهها
- افزایش ثًبات، انسجام و سازگاری
- کاهش بروز خطا در هنگام بهروزرسانیها
- کاهش هزینه وارد کردن دادهها و همچنین ذخیره و بازیابی آنها
- بهبود دسترسی به دادهها با استفاده از زبانهای پرس و جو
- یکپارچگی و درستی بیشتر دادهها به وسیله فراهم شدن امکان استفاده از برنامههای کاربردی
معایب دیتابیس چیست ؟
هیچ فناوری و موجودیتی بینقص نیست و حتی اگر مزایای بسیار زیادی هم داشته باشد، باز هم قطعاً حداقل یک عیب و ایراد وجود خواهد داشت. دیتابیس و استفاده از آن نیز از این قاعده مستثنی نیست و پیادهسازی و بهکارگیری آن معایبی هر چند اندک را به همراه خواهد داشت. بنابراین لازم است در این بخش به برخی از مهمترین آنها پرداخته شود.
- هزینههای بیشتر
- پیچیدگیهای گستردهتر
- نیاز به چرخههای بهروزرسانی و جایگزینی منظم
- نیاز به فضای ذخیرهسازی بیشتر
- قیمت بالاتر DBMS-های چند کاربره
- ضعف مقطعی در عملکرد
- تحت تاثیر قرار گرفتن تمام برنامههای کاربردی وابسته در صورت آسیبدیدگی دیتابیس
زبان های برنامه نویسی دیتابیس
دیتابیسها و سیستمهای مدیریت آنها، زبانهای برنامه نویسی مناسب را برای کاربران فراهم میکنند تا بتوان در دیتابیسها عملیات جستجو و سایر مواردی مثل بهروزرسانی بانکهای اطلاعاتی را مدیریت کرد.
اساساً با استفاده از سیستمهای مدیریت پایگاه دادهها یا همان DBMS-ها و زبانهای برنامه نویسی مربوط به آنها میتوان ایجاد، نگهداری و مدیریت دیتابیس را انجام داد. از جمله زبانهای دیتابیس میتوان به SQL، دیتابیس اوراکل، dBase، اکسس، FoxPro و سیار موارد اشاره کرد. به طور رایج، زبانهای دیتابیس به موارد زیر تقسیم میشوند.
- «زبان تعریف دیتابیس» (Database Definition Language | DDL)
- «زبان کنترل دادهها» (Data Control Language | DCL)
- «زبان کار با دادهها» (Data Manipulation Language | DML )
- «زبان کنترل تراکنشها» (Transaction Control Language | TCL)
زبان تعریف دیتابیس چیست ؟
زبان تعریف دیتابیس یا به اختصار DLL به تعریف کردن دادهها و رابطه آنها با سایر انواع دادهها، ایجاد دیتابیس، فایلها، جدولها و دیکشنریهای داده در داخل دیتابیسها و سایر موارد کمک میکند.
زبان کنترل داده چیست ؟
زبان کنترل دیتابیس یا همان DCL، مدیریت دسترسی به دادهها و دیتابیس را میسر میسازد.
زبان مدیریت داده ها
زبان DML از عملیات اساسی و پایهای کار با دادهها و مدیریت آنها مثل قراهم کردن امکان «درج» (Insert)، «بازیابی» (Retrive)، «بهروزرسانی» (Update) و «حذف» (Delete) دادهها از دیتابیس پشتیبانی میکند.
زبان کنترل تراکنش ها
به وسیله این نوع زبان دیتابیسی که به اختصار TCL خطاب میشود میتوان مدیریت تغییرات در پایگاه داده را به وسیله گزارهها یا عبارتهای DML انجام داد.
سیستم مدیریت دیتابیس DBMS چیست ؟
«سیستم مدیریت دیتابیس» (Database Management System) که به اختصار DBMS خطاب میشود، نوعی نرمافزار است که به مدیریت پایگاه داده کمک میکند. از DBMS برای پیدا کردن و ذخیرهسازی اطلاعات در داخل پایگاه داده استفاده میشود.
سیستم مدیریت پایگاه داده را میتوان بسته به نیازهای کاربران و برنامهنویسان ویرایش کرد و تغییر داد. چنین سیستمی برای مدیریت دیتابیس، لایه امنیتی افزودهای را به دیتابیس اضافه میکند.
مثال هایی از سیستم های مدیریت دیتابیس ها
در این بخش چند مثال از دیتابیسهای مختلف ارائه شده است.
- SQL Server مایکروسافت: این سیستم مدیریت دیتابیس از نوع رابطهای به حساب میآید (RDBMS) و بر اساس SQL، یعنی زبان پرسمان استاندارد برای DBMS-ها ساخته شده است.
- دیتابیس اوراکل: این سیستم توسط شرکت اوراکل توسعه داده شده و بر پایه سیستم مدیریت دیتابیس چند مدلی (Multi-Model) بنا شده است. دیتابیس اوراکل برای پردازش تراکنشهای آنلاین به طور گسترده مورد استفاده قرار میگیرد.
- دیتابیس MySQL: این DBMS هم بر اساس زبان پرسمان ساختیافته یا همان SQL ساخته شده و سیستم مدیریت رابطهای به حساب میآید. از MySQL در پلتفرمهای تجارت الکترونیک، «انبارداری دادهها» (Data Warehousing) و سایر موارد استفاده میشود. دیتابیس MySQL به طور گسترده به عنوان سیستم مدیریت پایگاه داده مبتنی بر وب مورد استفاده قرار میگیرد.
- IBM Db2: این دیتابیس هم از نوع رابطهای است که توسط شرکت IBM توسعه داده شده است. دیتابیس Db2 برای تجزیه و تحلیل، ذخیرهسازی و بازیابی بهینه دادهها طراحی شده است.
- دیتابیس PostgreSQL: پستگرسکیوال سیستم مدیریت پایگاه داده رابطهای مبتنی بر شی به حساب میآید که استفاده از آن نیز رایگان است. از این سیستم به طور گستردهای برای انبارداری دادهها استفاده میشود.
دیتابیس SQLite چیست ؟
SQLite کتابخانهای نرمافزاری است که امکان ذخیرهسازی دادههای ساختارمندی مثل متن یا اعداد را در یک فایل دیتابیس در هارد درایو کامپیوتر فراهم میسازد. ذخیرهسازی اطلاعات به این شکل را مدیریت تعبیه شده دیتابیس مینامند. در این روش نیازی به کاربران نامگذاری شده یا تمهیدات اختصاصی مدیریت دیتابیس وجود ندارد.
دیتابیس SQLite فایلی واحد و معمولی روی دیسک به حساب میآید که فرمت فایل آن معین و مشخص است. این در حالی است که در سیستمهای دیگر، دیتابیس معمولاً تعداد زیادی از فایلهای مجزایی به حساب میآید که در شاخههای مبهم سیستم فایل از دسترس مخفی یا حتی در ماشینهای مختلفی توزیع شدهاند. اما در SQLite یک دیتابیس کامل تنها یک فایل دیسک معمولی و ساده است.
مزایای سیستم های مدیریت دیتابیس چیست ؟
در این بخش به ارائه فهرستی از برخی مزایای مهم DBMS-ها پرداخته شده است.
- دادهها در دیتابیس به گونهای منظمتر ذخیرهسازی میشوند و بنابراین، دادههای بیشتری را میتوان ذخیرهسازی کرد.
- دیتابیس پلتفرمی بسیار ایمن به حساب میآید، بنابراین دادههای محرمانه و با ریسک بالا را هم میتوان ذخیرهسازی کرد و به طور ایمن به آنها دسترسی داشت.
- سیستمهای مدیریت دیتابیس کار با دادهها را بسیار ساده میکنند.
- ناسازگاری در دادهها به وسیله استفاده از DBMS به خوبی طراحی شده به میزان زیادی کاهش پیدا میکند.
- با DBMS دسترسی به دادهها به سرعت انجام میشود.
معایب سیستم های مدیریت دیتابیس کدامند؟
در این بخش برخی از معایب DBMS-ها فهرست شدهاند.
- نگهداری از نرمافزار و ساختافزار مورد نیاز برای استقرار DBMS معمولاً گرانقیمت است.
- هر چه دادههای بیشتری به DBMS خورانده شوند، فضای ذخیرهسازی بیشتری هم اشغال خواهد شد.
- استفاده از DBMS-ها میتواند برای شخصی با پیشینه غیرفنی بسیار دشوار به نظر برسد.
- به دلیل اینکه تمام دادهها در یک DBMS ذخیرهسازی میشوند، اگر نرمافزار با مشکل مواجه شود، ممکن است تمام دادههای سازمان از دست بروند.
جمعبندی
به کمک دیتابیسها و سایر ابزارهای مدیریت و تجزیه-تحلیل دادهها، افراد حرفهای مستقل یا شاغل در شرکتهای تجاری مختلف میتوانند از دادههای سازماندهی شده برای سادهسازی تصمیمگیری موثر، چابُکی و انطباقپذیری استفاده کنند. انواع دیتابیسها، به همراه تغییر و تحولات در رویکردهای تکنولوژی، پیشرفتها در حوزه خودکارسازی (اتوماسیون) و فناوریهای ابری در حال هدایت دیتابیسها به سمت جهتهایی جدید هستند.