اگر در دنیای IT تازهوارد هستید و میخواهید بدانید پایگاه اطلاعات داده یا دیتابیس ( Database ) چیست؟ پس باید با یک مثال ساده شروع کنیم. تصور کنید اتاقتان هیچ کمدی ندارد و شما مجبورید هربار در میان انبوهی از لباسهایتان راه بروید. نه لباسهایی که برای بیرون رفتن میپوشید، جای مشخصی دارد و نه لباسهای راحتیتان! لباسهای مجلسی و رسمی هم زیر بقیهی لباسها مدفون شدهاند.
حالا اگر یک کمد بیاورید، همهی لباسها را دستهبندی کنید و با نظم و ترتیب توی کمد بچینید، دیگر میتوانید بهراحتی هر لباسی را که میخواهید پیدا کنید. دراینصورت اگر لباسهایتان را «داده» فرض کنید، کمد لباس میشود پایگاه داده (Database)! اگر میخواهید دربارهی مفهوم پایگاه داده چیزهای بیشتر، دقیقتر و علمیتری بدانید، پس ادامهی این مقاله را از بخوانید.
تعریف دیتابیس (پایگاه داده) به زبان تخصصی و خودمانی
اگر بخواهیم با زبان تخصصی دیتابیس Database را تعریف کنیم باید بگوییم:
«پایگاه داده مجموعهای از دادههای ذخیرهشده و ثابت است که بهصورت یک سیستم، بر پایهی یک ساختار مشخص و به شکل صوری (با حداقل افزونگی) تعریف شده است. یک سیستم کنترل متمرکز این مجموعه را مدیریت میکند و ممکن است یک یا چند کاربر بهطور همزمان از این مجموعهی اطلاعاتی استفاده کنند.»
دست و پایتان را گم نکنید! قبول داریم که درک این تعریف اصلاً کار راحتی نیست. بنابراین ما با یک تعریف بسیار ساده به شما کمک میکنیم تا دیتابیس و محتویاتش را یکجا و راحت قورت بدهید.
در یک تعریف ساده میتوان گفت:
«دیتابیس یا پایگاه داده یا همان بانک اطلاعات، مجموعهای از دادههاست که در جدولهایی با ساختار منظم دستهبندی شدهاند. این جدولها همگی با هم ارتباط دارند، هرچند میتوانند مستقل از یکدیگر هم عمل کنند.»
پایگاه داده فقط در دنیای IT کاربرد ندارد، ما روزانه بارها و بارها با بانکهای اطلاعاتی مختلفی سروکار داریم. اصلاً چرا راه دور برویم؟! همین لیست شماره تلفن گوشیتان خودش یکپا بانک اطلاعاتی است!
مثالهای زیر هم نمونههایی از بانکهای اطلاعاتی هستند که دوروبرمان زیاد میبینیم:
- آرشیو فایلها
- مجموعه اطلاعات دانشآموزان یک مدرسه یا دانشجویان یک دانشگاه
- ذخیرهی اطلاعات مشتریهای یک سازمان
- ذخیرهی گزارشهای فروش یک شرکت
بنابراین میتوان گفت هر سیستمی که حجمی از اطلاعات را بهصورت منظم و دستهبندیشده نگهداری کند یک دیتابیس به حساب میآید. خب برویم سراغ یک سوال و جواب اساسی!
چطور میتوان به اطلاعات موجود در پایگاه داده (دیتابیس) دسترسی پیدا کرد؟
همانطورکه گفتیم یک دیتابیس، بسته به حجم اطلاعات از چندین و چند جدول تشکیل شده است. هر جدول هم سطر و ستونهایی دارد. یعنی هر داده دقیقاً در یک جایگاه مشخص قرار میگیرد که در صورت نیاز میتوان بهراحتی آن را پیدا کرد. به همین دلیل با کمک دیتابیس، دسترسی به اطلاعات بسیار سادهتر میشود.
درواقع در این دنیایی که شب و روز انواع و اقسام اطلاعات از سر و کولمان بالا میرود، استفاده از دیتابیسها به یک ضرورت تبدیل شده است، آن هم به دو دلیل بسیار مهم:
- نظم و یکپارچگی اطلاعات
- دسترسی آسان به اطلاعات
در یک پایگاه داده (دیتابیس) با چه مفاهیمی سروکار داریم؟
شما با هر دیتابیسی که کار کنید از ساده تا پیچیده، با یک سری مفاهیم مشترک سروکار دارید. ما در این قسمت شما را با مفاهیم اساسی دیتابیس Database آشنا میکنیم.
- داده (Data): دادهها نمودی از مفاهیم، معلومات، وقایع و پدیدهها هستند که از طریق مشاهده یا تحقیق بهدست میآیند.
- اطلاعات (Information): اطلاعات درواقع همان مفهمومی است که بعد از پردازش بهصورت داده ذخیره میشوند.
- موجودیت (Entity): موجودیت همان فرد، شی یا پدیدهای است که دربارهاش اطلاعات جمعآوری شده است.
- صفت خاصه (attribute): هر ویژگیای که یک موجودیت را از موجودیت دیگر جدا کند، یک صفت خاصه محسوب میشود.
حالا همهی این مفاهیم تخصصی بدقلق را در یک مثال ساده حل میکنیم تا مثل یک لیوان شربت شیرین، آن را سربکشید.
بانک اطلاعات یک دانشگاه را در نظر بگیرید. مفاهیم دیتابیس در این سیستم، به این صورت است:
- موجودیت: دانشجو، استاد، درس
- صفت خاصه: نام، نام خانوادگی، سال تولد، نام درس، کد درس، تعداد واحد هر درس و …
- داده: کلمات و اعدادی که این اطلاعات را نشان میدهند.
- اطلاعات: ثبتنام دانشجوها، انتخاب واحد و نمرات هر دانشجو
چند نوع دیتابیس وجود دارد؟
دیتابیسها با استفاده از زبانهای مختلفی ایجاد میشوند. این وسط زبان SQL(Structured Query Language) از همه معروفتر و رایجتر است.
زبان SQL تنوع بسیار زیادی دارد و به شما این امکان را میدهد تا انواع دادهها را مدیریت کنید. نمونههای زیر شناختهشدهترین انواع پایگاه داده از نوع SQL هستند.
- Oracle: شرکت اوراکل، در سال 1979 یک دیتابیس بزرگ تجاری به نام Oracle RDBMS ایجاد کرد. این دیتابیس که به Oracle شهرت پیدا کرده، معمولاً در بانکها و سازمانهای بزرگ مورد استفاده قرار میگیرد.
- MySQL: MySQL یک سیستم مدیریت داده رایگان، ساده و کاربردی است که معمولاً برای طراحی وب از آن استفاده میشود. این سیستم از سال 2008 در اختیار شرکت اوراکل قرار گرفته است.
- SQLite: SQLite یک سیستم مدیریت دادهای است که امکان ساخت اپلیکیشن موبایل و همینطور وبسایتهای دینامیک را فراهم میکند.
- Microsoft SQL Server: توسط شرکت مایکروسافت طراحی شده است. این سیستم یک دیتابیس تجاری است که در سیستمهای مبتنی بر ویندوز از آن استفاده میشود.
- Sybase ASE: سیستم Sybase ASE را شرکت SAP ارائه کرده است. دیتابیسی که در زمینهی ساخت اپلیکیشنهای بزرگ خصوصاً اپلیکیشنهای تجاری و صنعتی کاربرد دارد.
- Microsoft Access/ Excell: اکسل و اکسس هم از برنامههای شرکت مایکروسافت هستند که برای ذخیره و پردازش دادههایمان از این برنامهها استفاده میکنیم.
خوب است بدانید که انواع دیگری از پایگاههای داده وجود دارد که با استفاده از زبان NoSQL ساخته و مدیریت میشوند. Foundation DB، OrientDB، RavenDB و MongoDB از معروفترین پایگاه دادههای NoSQL هستند. شرکتهای بزرگی مثل گوگل، فیسبوک، آمازون، لینکدین، سورس فورژ و اوبونتو از این نوع پایگاه داده استفاده میکنند. در این نوع دیتابیسها، به جای استفاده از زبان SQL، از زبانهای JSON و XML استفاده میشود.
اجزای اصلی دیتابیس چیست؟
هر دیتابیس Database از اجزای مختلفی تشکیل شده است. این اجزا باید در کنار هم قرار بگیرند تا یک پایگاه به درستی کار کند. در ادامه این اجزا را یکی یکی بررسی میکنیم.
- سختافزار: سختافزارها از عناصر پردازشی به حساب میآیند. هر بانک اطلاعاتی بسته به نیازش ممکن است از سختافزارهای متفاوتی استفاده کند؛ از جمله سختافزارهای ذخیرهسازی داده، سختافزارهای ارتباطی، سختافزارهای جانبی و …
- نرمافزار: نرمافزارها به کاربر این امکان را میدهند تا با دیتابیس ارتباط برقرار کند؛ درست مثل یک پل ارتباطی. سیستمعامل، نرمافزارهای ارتباطی شبکه، نرمافزار مدیریت دیتابیس و اپلیکیشنها در این دسته قرار میگیرند.
- کاربر: کاربران افرادی هستند که به روشهای مختلفی با دیتابیس ارتباط دارند.
– برنامهنویسها (DBP): افرادی که ساختار دیتابیس را طراحی میکنند.
– طراحان دیتابیس (DBD): افرادی که به کمک زبانهای مختلف از جمله SQL دیتابیسها را میسازند.
– مدیر پایگاه داده (DBA): افرادی که تخصصشان، «دانش مدیریت اطلاعات» است و دیتابیس را مدیریت میکنند.
– کاربران نهایی (End users): کسانی که از دادهها استفاده میکنند.
با ریز و درشت سیستم پایگاه داده (Database) آشنا شوید
سیستم پایگاه داده مثل هر سیستم دیگری سلسله مراتبی دارد. اگر میخواهید به خوبی با اجزای یک پایگاه داده آشنا شوید پس بهتر است با سطوح مختلف این سلسله هم آشنا شوید.
- بیت: به کوچکترین واحد حافظه (Memory) بیت میگویند. باید بدانید عظمت دیتابیسها روی همین بیتهای کوچک بنا شده است.
- بایت: هر 8 بیت، یک بایت را ایجاد میکنند. هر بایت هم نشاندهندهی یک کاراکتر است.
- کاراکتر: کاراکتر یا نویسه، اولین واحد منطقی داده است که انسان میتواند آن را درک کند. عدد، حرف یا هر علامت قراردادیای میتواند یک کاراکتر به حساب بیاید.
- فیلد: فیلد یا میدان، یک مورد از اطلاعات فرد، شی یا یک پدیده است.
- رکورد: رکورد یا سابقهی اطلاعاتی، از ترکیب چند فیلد بهوجود میآید. شرح اطلاعاتی دربارهی فروش محصول یا مشخصات مشتری و یا مشخصات یک کالا همگی نمونههایی از یک سابقهی اطلاعاتی (رکورد) به حساب میآیند.
- فایل: مجموعه رکوردهای مرتبط با هم یک فایل یا پرونده را شکل میدهند.
- جدول: جدولها مهمترین سطح یک دیتابیس محسوب میشوند. هر جدول سطر و ستونهایی دارد که در دادهها در آن ذخیرهسازی، دستهبندی و ساماندهی میشوند.
- پایگاه اطلاعات: در آخر، مجموعهی جدولها در کنار هم بانک اطلاعاتی یا دیتابیس را شکل میدهند.
کاربرد دیتابیس چیست؟
دیتابیسها چه کارهایی که نمیکنند!
حتماً تا الان خودتان متوجه شدهاید که کاربرد دیتابیس چیست؟
در واقع میشود گفت دیتابیسها بر پایهی چهار اصل عمل میکند:
- دریافت
- ذخیره
- جستجو
- گزارشدهی
به همین دلیل دیتابیسها در زمینههای مختلف کاربردهای متنوعی دارند، ازجمله:
- انجام انواع ترکنشهای بانکداری
- رزرو و زمانبندی پرواز خطوط هوایی
- ثبتنام دانشجویان، انتخاب واحد و ثبت نمره در دانشگاه و مراکز آموزشی
- ثبت اطلاعات مشتریها، محصولات و فاکتورهای خریدوفروش
- ثبت و محاسبهی حقوق کارمندان بههمراه کسورات مالیاتی در شرکتها وسازمانهای مختلف
علاوهبر سرویسهای مختلف، دیتایسها در سایتها و نرمافزارها هم کاربرد دارند، برای مثال:
- سایت آمازون دارای یک پایگاه دادهی بزرگ از اطلاعات کتابهاست.
- نرمافزار تپسی، دارای دیتابیسی از اطلاعات رانندههاست.
- سایت آپارات، دیتابیسی عظیم از فایلهای ویدیویی دارد.
مزایای دیتابیس ها در دنیای مدرن چیست؟
حالا که با مفاهیم اساسی دیتابیس و کاربردهایش آشنا شدید، بهتر میتوانید مزایای استفاده از پایگاه داده را درک کنید. در ادامه تعدادی از این مزایا را با هم مرور میکنیم.
- حذف بایگانی کاغذی: دیتابیسها هزینههای نگهداری اسناد و مدارک کاغذی را بهطور کامل حذف کردهاند.
- دسترسی آسان به اطلاعات: ساختار مشخص و منظم دیتابیس ها دسترسی به دادهها و اطلاعات را بسیار ساده کرده است.
- اشترکگذاری آسان اطلاعات: دیتابیس ها امکانات مختلفی را برای اشتراکگذاری دادهها در اختیار کاربران قرار میدهد.
- ذخیرهسازی اصولی دادهها: در بانکهای اطلاعاتی امکان ذخیرهسازی یکپارچهی کل دادهها بهراحتی فراهم شده است و خیلی ساده میتوان تمامی دادهها و اطلاعات مربوط به یک موجودیت (entity) را در یک ساختار مشخص ذخیره کرد.
- پردازش سریع و آسان دادهها: بهدلیل یکپارچه بودن دادهها در دیتابیس، پردازش اطلاعات و انجام تراکنشها بسیار سریعتر و آسانتر انجام میشود.
- بهبود کارایی: سازماندهی اطلاعات در دیتابیس ها، بازده کار را افزایش میدهد.
- کاهش احتمال خطا: یکپارچهسازی و سادهسازی دادهها کمک میکند تا کاربر با دقت بالاتر و خطای کمتری به هدف موردنظرش دست پیدا کند.
تمامی این موارد دست به دست هم میدهند تا دادهها بهخوبی مدیریت شوند. بهاینترتیب هم فرآیند گزارشگیری سادهتر میشود و هم گزارشهای حاصل، از نظر صحت اطلاعات مطمئنتر خواهند بود.
معایب دیتابیس Database چیست؟
دیتابیسها با وجود داشتن مزایای فراوان، معایبی هم دارند. در این قسمت معایب استفاده از دیتابیس را مرور میکنیم.
- طراحی و ساخت سیستمهای دیتابیس، فرآیندی پیچیده، دشوار و زمانبر است.
- ایجاد دیتابیس و استفاده از آن به آموزش و تخصص احتیاج دارد.
- آموزش برنامهنویسان، طراحان و کاربران متخصص هزینهبر است.
- درصورتیکه دیتابیس آسیب ببیند، تمام نرمافزارهایی که با آن در ارتباطند تحت تاثیر قرار خواهند گرفت. به همین دلیل توصیه میشود که همیشه از دادهها حتماً یک پشتیبان (Backup) تهیه کنید.
- تبدیل سیستم قدیمی فایلی به سیستم مدرن دیتابیس هزینهبر است.
- برای استفاده از دیتابیسها ممکن است به سختافزارهای اضافه نیاز باشد.
البته امروزه استفاده از بانکهای اطلاعاتی آنقدر ضروری و مهم شده است که هیچکدام از این موارد نمیتواند ما را از استفاده از دیتابیسها منصرف کند.
جمع بندی
حالا که با مفهوم دیتابیس Database بیشتر آشنا شدهاید با یک نگاه گذرا به محیط اطراف، خواهید دید که دوروبرمان پر از بانکهای اطلاعاتی است. دیتابیسهایی که اگر هرکدامشان نباشند، یک جای کارمان خواهد لنگید!
این دیتابیسهای سوپرمن، با نهایت دقت و امنیت، اطلاعات ضروری زندگیمان را منظمتر از صدها هزار دانه یاقوت، دسته به دسته در کنار هم قرار میدهند تا دسترسی به اطلاعات را برایمان سادهتر کنند. بهاینترتیب، هر زمان که اراده کنیم میتوانیم دادههایمان را ویرایش کنیم یا از اطلاعاتمان گزارش تهیه کنیم و این دقیقاً همان چیزی است که در این عصر ارتباطات و اطلاعات به آن احتیاج داریم.