یکی از رایجترین اصطلاحات در دنیای کامپیوتر، پایگاه داده یا Database است. شاید برای شما هم این سوال پیش آمده باشد که پایگاه داده چیست؟ با ورود این مفهوم به حوزه اپلیکیشن ها، انقلابی در توسعه آنها ایجاد شد. تقریبا امروزه، پیدا کردن اپلیکیشنهای کاربردی که از پایگاه داده استفاده نمیکنند، کار بسیار دشواری خواهد بود. اگر میخواهید بیشتر در مورد پایگاه داده و کاربردهای آن بدانید، شما را به ادامه این مطلب دعوت میکنیم.
پایگاه داده چیست؟
پایگاه داده یا Database مجموعه ای از اطلاعات سازمان یافته است که بر اساس ترتیب و قوائدی مشخص در کنار یکدیگر نگهداری میشوند. به عبارتی دیگر زمانی که دادههای خود را با نظم و سازماندهی در کنار هم قرار دهیم به آن دیتابیس ، بانک اطلاعاتی یا پایگاه داده میگوییم. بر اساس این تعریف یک دفترچه تلفن و یا لیستی از کالاهای موجود در انبار یک فروشگاه نیز به نوعی دیتابیس یا پایگاه داده به حساب میآیند.
ما در مقاله mysql چیست به معرفی یکی از معروفترین و پرکاربردترین پایگاه دادههای موجود پرداختیم.
در علم رایانه منظور از Database محلی است که اطلاعات مربوط به یک نرم افزار، وب سایت و... ذخیره میشوند. دیتابیس بر اساس قوائدی که در ساماندهی اطلاعات به کار میگیرد، امکان دسترسی و مدیریت اطلاعات ذخیره شده را بسیار سادهتر میکند. استفاده از دیتابیس این امکان را در اختیار ما قرار میدهد تا اطلاعات خود را به صورت دقیق با نظمی مشخص ذخیره کنیم. با این کار میتوانیم در کوتاهترین زمان به بخش و یا کل این اطلاعات دسترسی پیدا کنیم. همچنین استفاده از Database مزایای دیگری از جمله استقلال اطلاعات، حذف فرآیندهای تکراری، افزایش امنیت، امکان پشتیبان گیری از دادهها و... در اختیار ما قرار میدهد.
مثالی ساده از پایگاه داده
حال که دانسیم پایگاه داده چیست ، قصد داریم مثالی ساده از آن را مورد بررسی قرار دهیم. تصور کنید قصد دارید خانه ای را در یکی از مناطق تهران اجاره کنید. برای انجام این کار به صورت سنتی باید به یکی از مشاورین املاک در آن منطقه مراجعه کنید. مشاور املاک لیستی از خانه هایی که در آن منطقه برای اجاره هستند در اختیار شما قرار میدهد. در این لیست اطلاعات مختلفی در مورد خانههای اجاره ای آن منطقه از جمله نام مالک، آدرس خانه، اجاره بها، مبلغ ودیعه و... ذکر شده میباشد. در این مثال لیستی که در اختیار شما قرار گرفته است، یک دیتابیس از اطلاعات خانههای اجاره ای در آن منطقه است.
یکی از رایجترین کاربردهای استفاده از پایگاه داده یا Databaseمدیریت اطلاعات در نرم افزارها است. در این بخش مثالی از کاربرد پایگاههای داده در نرم افزارها ذکر خواهیم کرد. برای این منظور سایت 7learnرا در نظر بگیرید :
سایت سون لرن، حاوی یک جدول از اطلاعات کاربران ثبت نامی در دیتابیس خود است.
تمام مقالات و پستهای سایت در جدولی جداگانه ذخیره میشوند.
در جدولی دیگر ویدئوهای آموزشی و فایلهای تصویری نگهداری میشوند.
و....
این اطلاعات میتوانند شامل اطلاعات قابل نمایش و غیر قابل نمایش برای کاربران باشند. بنابراین مجموع این جداول که هر کدام نگهدارنده ویژگیهای مختلفی از موجودیتها هستند، دیتابیس سایت سون لرن را تشکیل میدهند. هر کدام از این جداول با نظم و ساختار مناسبی برای نگهداری اطلاعات طراحی شده است. حال تصور کنید اگر پایگاههای داده وجود نداشتند، مدیریت این حجم از اطلاعات چگونه امکان پذیر میشد؟!
در فایل چیت شیت Sql server به بررسی مجموعه دستورات این نرم افزار مدیریت پایگاه داده پرداختیم
اصطلاحات و مفاهیم مرتبط با پایگاه داده
دیتابیس شامل اجزا و بخشهای مختلفی است که در کنار یکدیگر وظیفه سازماندهی اطلاعات را بر عهده دارند. هر کدام از این اجزا و بخشها وظایف و نامهای متفاوتی دارند. شناخت هر کدام از این بخشها برای کسانی که قصد دارند به طراحی دیتابیس بپردازند، ضروری است. از جمله مهمترین اصطلاحات در زمینه طراحی پایگاه داده میتوان به عبارتهای زیر اشاره کرد :
جدول (Table) : دیتابیس میتواند یک یا چند جدول یا Table داشته باشد. هر جدول در دیتابیس وظیفه نگهداری گروهی از اطلاعات را بر عهده دارد. هر جدول میتواند چندین ستون و ردیف داشته باشد.
ستون یا ویژگی (Column یا Attribute): هر جدول از پایگاه داده میتواند چندین ستون داشته باشد. هر ستون وظیفه نگهداری ویژگی یا مقداری خاص از یک متغیر را بر عهده دارد. مثلا ستون نام، نام خانوادگی و...
ردیف یا سطر (Row) : به هر سطر یا ردیف از جدول داده ها، رکورد (Record) میگویند. هر رکورد مجموعه ای از ویژگی هایی است که در ستونهای آن جدول در نظر گرفته شده اند. مثلا اطلاعات مربوط به یک کاربر، یک رکورد از جدول کاربران است.
نوع (Type یا Domain) : هر ستون از ویژگیها دارای فرمت خاصی از داده است که به آن Type یا نوع میگویند. دادهها میتوانند انواع مختلفی داشته باشند از جمله رشته (String)، عدد صحیح (Integer) و... باشد.
موجودیت (Entity) : موجودیت یک مفهوم کلی است از چیزی است که قصد داریم ویژگیها و اطلاعات مربوط به آن را در پایگاه داده ذخیره کنیم. مثلا یک شی، انسان، مشتری و... نمونه هایی از یک موجودیت در دیتابیس هستند که هر کدام از آنها ویژگیهای خاص خود را دارند.
مشکلات متداول در طراحی پایگاه داده
طراحی و ایجاد دیتابیس برای نرم افزارهای مختلف نیازمند تخصص، تجربه و دانش از نحوه عملکرد DBMSهای مختلف است. افراد متفاوتی در طراحی، ساخت و مدیریت یک پایگاه داده نقش ایفا میکنند. هر یک از آنها دارای مسئولیتهای مختلفی از جمله طراح دیتابیس (Database Designer)، مدیر پایگاه داده (Database Administrator) و برنامه نویسان پایگاه داده (Database Programmers) هستند. معمولا بیشترین مشکلات در مرحله طراحی پایگاههای داده به وجود میآیند. متداولترین مشکلات در طراحی پایگاه داده عبارتند از :
انتخاب نامناسب DBMS با توجه هدف مورد نظر
طراحی نامناسب دیتابیس
نام گذاری ضعیف جداول
نداشتن مستندات
تست نکردن دیتابیس
نداشتن Primary key
ورود تمام اطلاعات در یک جدول
برقراری ارتباط نامناسب میان جداول مختلف
نتیجه گیری
در هر لحظه از دنیای ما، حجم عظیمی از اطلاعات و دادهها ایجاد و سپس میان سیستمهای مختلف رد و بدل میشوند. این اطلاعات و دادهها در عصر ارتباطات و تکنولوژی جایگاه بسیار مهمی دارند. به همین منظور همه برنامه نویسان باید بدانند که پایگاه داده چیست و چگونه میتوانند با استفاده از آنها نرم افزارهایی کاربردی ایجاد کنند.تصور کنید که تمام این اطلاعات بدون هیچگونه نظم و سامانی در محلی بدون امنیت و قائده خاصی ذخیره شوند.
سپس بخواهیم به تمام این دادهها و یا بخشی از آنها دسترسی پیدا کنیم تا آنها را مورد پردازش و بررسی قرار دهیم. قطعا چنین کاری بدون سازماندهی این اطلاعات غیرممکن خواهد بود. بنابراین استفاده از دیتابیس برای ذخیره و سازماندهی اطلاعات بسیار ضروری است. به همین منظور سیستم های جدید مدیریت دیتابیس، با هدف برطرف ساختن نیاز ما برای ذخیره اطلاعات در حجم زیاد ساخته شده اند.
خیلی مفید و عالی مخصوصا اصطلاحات معرفی شده
لطفا کاربردیترین دیتابیسها , موارد استفاده شون و تفاوت هاشون رو هم قرار بدید
آیا Oracle برای Go مناسب هست؟
نازنین کریمی مقدم۳۰ دی ۱۴۰۲، ۰۶:۳۱
درود
پیشنهادتون در تیم محتوا بستگی میشه و در صورت امکان مقاله ای رو به این موضوع اختصاص میدیم.
در جواب سوالتون هم کلا دیتابیسهای مختلفی رو میشه به گولنگ متصل کرد که محبوبترینشون mysql و nosql هست. اوراکل هم بسته به کاربردی که دارید میتونه مناسب باشه.
۱۶ مرداد ۱۴۰۱، ۱۹:۱۵
سلام
در پایگاههای داده، اظلاعاتی مثله فایل عکس یا ویدیو در ؛الب int و str ذخیره میشن؟ یه ویدیو به چه شکل میره تو یه رکورد؟
نازنین کریمی مقدم۱۷ مرداد ۱۴۰۱، ۰۸:۰۳
درود
راه منطقی ذخیره ویدیو و عکس در cdn و ذخیره کردن آدرس شون در دتابیس هست. وگرنه هنگام عملیات با کندی مواجه میشید و یا بخشی از داده رو از دست میدید.
علی خسروی۲۷ اردیبهشت ۱۳۹۸، ۱۹:۳۴
خیلی مفید بود تشکر
محمد محبتی۲۵ اردیبهشت ۱۳۹۸، ۱۴:۱۸
مفید بود خیلی ممنون.
alireza۱۶ اردیبهشت ۱۳۹۸، ۲۰:۲۹
سلام. ممنونیم از ویدیوهای خوبتون. برای یادگیری پایگاه داده ی سایت من از کجا باید شروع کنم؟ نیازه که زبان sql رو یاد بگیرم؟
لقمان آوند۲۱ اردیبهشت ۱۳۹۸، ۱۹:۲۱
سلام
بله sql رو وقت بزارید براش.
یه سرچ کنید منابع زیاده