پایگاه داده یا Database چیست؟ همه چیز دربارهی دیتابیس (صفر تا صد)
حتما شما هم واژهی دیتابیس (Database) یا پایگاه داده به گوشتان خورده است. شاید این واژه در ابتدا خیلی عجیب و بسیار فنی به نظر برسد. اما اگر بگوییم که شما با مفهوم این علم، هرروز سر و کار دارید، باورتان میشود؟ در این مقاله و فایل آموزشی بصورت کامل میخواهیم به این سوال پاسخ دهیم که پایگاه داده یا Database چیست؟ هر آن چیزی که دربارهی پایگاه داده یا دیتابیس نیاز است بدانید را با مثال هایی بسیار جذاب و روزمره عنوان میکنیم. پس با من، مهدی خسروی، همراه باشید یا یاد بگیریم که پایگاه داده یا Database چیست؟
پایگاه داده یا Database چیست؟
اگر بخواهیم این مفهوم را تعریف کنیم، به ۲ صورت میتوانیم اینکار را انجام دهیم. هم میتوانیم از تعریف های خیلی تخصصی و عجیب غریب و بسیار فنی صحبت کنیم که افراد متخصص فقط آنرا متوجه شوند، و هم میتوانیم خیلی ساده این مفهوم را توضیح دهیم.
ما راه دوم را انتخاب میکنیم و میخواهیم خیلی ساده و با مثالهایی جذاب، این مفهوم را توضیح دهیم که برای همیشه در ذهنتان نقش ببندد و متوجه شوید که واقعا پایگاه داده یا Database چیست؟ با دو مثال زیر، توضیحاتمان را شروع میکنیم.
لیستی از رستوران ها!
فرض کنید که با دوستان یا اقوام هستید و میخواهید از یک فست فود، غذا سفارش دهید؟ معمولا چه کاری انجام میدهید؟ یا به سراغ اپلیکیشن های سفارش آنلاین غذا میروید، و یا بروشورهای تبلیغاتی فست فود ها می آورید و از حاضران میخواهید که غذای مورد نظرشان را انتخاب کنند.
در واقع در این مثال، شما لیستی از فست فود هایی دارید که اطلاعاتی مثل اسم غذاها، قیمت آنها و… در آن لیست درج شده است.
در این حالت میتوانیم به مجموعه بروشورهای تبلیغاتی شما، یک پایگاه داده یا Database از فست فود های اطرافتان بگوییم.
یا مثلا دفترچه تلفن
در مثال دوم، میخواهیم دربارهی یکی از نوستالژی هایی صحبت کنیم که در گذشته بیشتر در خانههایمان وجود داشت. دفترچه تلفن هایی که حاوی شماره تماس تمامی اقوام و دوستانی بود که میخواستیم به آنها تماس بگیریم.
هر زمان میخواستیم با شخصی تماس بگیریم، به سراغ آن دفترچه تلفن میرفتیم، به دنبال اسم شخص مورد نظرمان میگشتیم و شماره او را پیدا میکردیم و با او تماس میگرفتیم.
در این مثال هم میتوانیم بگوییم که آن دفترچه تلفن، یک پایگاه داده یا Database از شماره تلفن ها بود.
حالا با استفاده از این دو مثالی که گفتیم، میخواهیم به این سوال پاسخ دهیم: پایگاه داده یا Database چیست؟
یک تعریف بسیار ساده
اگر بخواهیم یک تعریف بسیار ساده از دیتابیس یا پایگاه داده داشته باشیم، میتوانیم بگوییم:
سیستمی که برای ما مجموعه اطلاعاتی را بصورت سازماندهی شده، منظم و مرتب نگه داری میکند. برای مثال دیتابیسی از شماره تلفن ها، دیتابیسی از رستوران های اطرافمان، دیتابیسی از مشتریان کسب و کارمان، دیتابیسی از دانش آموزان یک مدرسه و… . پس پایگاه داده یا Database اطلاعاتی که ما نیاز داریم را برایمان نگهداری میکند و دسترسی به آن ها را برایمان ساده و راحت میکند.
ممکن است برایتان سوال پیش بیاید که پایگاه داده یا Database چطور دسترسی به اطلاعات را برای ما ساده و راحت میکند.
یک دیتابیس یا پایگاه داده، میتواند حاوی یک یا چند جدول باشد. هر جدول هم میتواند حاوی ستون ها و سطر های مختلفی باشد که اطلاعات را در جدول بصورت سازماندهی شده برایمان نگه داری میکند. در ادامه بیشتر به این مفاهیم میپردازیم و دقیق تر به سوال پایگاه داده یا Database چیست؟ پاسخ میدهیم.
چرا باید از پایگاه داده یا دیتابیس استفاده کنیم؟
ممکن است برایتان سوال پیش بیاید که اصلا چرا باید از پایگاه داده یا Database استفاده کنیم؟ سوال بسیار خوبی است.
ممکن است شما بتوانید مجموعه رستوارن های اطرافتان، شاگردان یک مدرسه و… بدون استفاده از پایگاه داده و جدول ها، نگه داری کنید. ولی هنگامی که تعداد آیتم های شما (رستوران یا دانش آموزان) زیاد میشود، دسترسی و جست و جو در این داده ها و اطلاعات بسیار سخت و گاهی غیرممکن میشود.
پس پایگاه داده یا Database با استفاده از ساختاربندی منظمی که به داده ها و اطلاعات ما میدهد، باعث میشود که اطلاعات ما در بلند مدت، بسیار منظم و یکپارچه باشند و دسترسی به آنها نیز بسیار ساده باشد.
پس در پاسخ به سوال «چرا باید از دیتابیس استفاده کنیم؟» میتوانیم بگوییم که:
پایگاه داده یا Database اطلاعات و دادههای ما را درون جدول ها قرار میدهد. این جداول، نگهداری اطلاعات را برای ما بسیار ساده و منظم میکنند و یکپارچگی بسیار خوبی به آنها میدهند. برای مثال میتوان به یک دفترچه تلفن که با نظم خاصی نوشته شده است و دارای سطر و ستون هایی یکپارچه می باشد، یک دیتابیس گفت.
کاربرد Database در نرم افزارها
تا اینجا سعی کردیم که به سوال پایگاه داده یا Database چیست؟ پاسخ دهیم. اما مثال هایمان همه در دنیای واقعی بود. حالا میخواهیم دربارهی دنیای نرم افزارها و کاربرد دیتابیس در آنها صحبت کنیم.
یکی از اصلی ترین جاهایی که پایگاه داده یا Database ها به کار میروند، نرم افزارها هستند.
میتوانیم بگوییم تقریبا تمام نرم افزارها، بوسیلهی پایگاه داده یا Database قدرت واقعی خود را پیدا میکنند و بدون آن هیچ کار خاصی نمیتوانند انجام دهند. برای مثال:
- نرم افزار اسنپ، حاوی یک دیتابیس از راننده ها میباشد.
- سایت دیجی کالا، حاوی دیتابیس عظیمی از کالاها میباشد.
- سایت یادیفای، حاوی پایگاه داده بزرگی از آموزش های فوق العاده میباشد.
- آپارات، یک دیتابیس عظیم از فایل های ویدئویی دارد.
- یک سیستم مدیریت یک باشگاه ورزشی، نیاز به دیتابیس و پایگاه دادهای از افرادی که در آن ثبت نام کردهاند دارد.
- و همینطور یک نرم افزار مدیریت دبیرستان، نیاز به پایگاه دادهای از دانش آموزان آن دبیرستان دارد.
تمام سایت ها، سرویس ها و نرم افزارهایی که در بالا مثال زدیم، قدرت اصلی خود را از پایگاههای داده میگیرند و اگر پایگاه دادهای در کار نبود، این سایت ها و سرویس ها هم معنایی نداشتند. مثلا شما میتوانید دیجی کالا را بدون محصولات تصور کنید؟ یا اسنپ را بدون راننده؟ غیر ممکن است!
پس کار پایگاه داده یا Database در نرم افزارها، سایت ها و سرویسها، این است که مجموعه از اطلاعات مورد نیاز را در خود ذخیره میکنند، سپس آن اطلاعات را به نرم افزار تحویل میدهند و آن نرم افزار، مجموعه عملیات و پردازش هایی با آن داده ها و اطلاعات انجام میدهد (مثلا آن اطلاعات را به کاربران نشان میدهد)
در ادامهی پاسخ به سوال پایگاه داده یا Database چیست؟ ، باید بگوییم که در دنیای نرم افزارها، هر پایگاه داده یا Database شامل یک سری اصطلاحات است که در زیر میخواهیم دربارهی آنها صحبت کنیم:
مفهوم جدول (Table) در کار با دیتابیس
هر پایگاه داده یا Database میتواند شامل چندین جدول مختلف باشد. برای مثال فرض کنید که میخواهید یک وبسایت برای خودتان برنامه نویسی کنید. این وبسایت یک پایگاه داده باید داشته باشد که اسم آنرا myDatabase میگذاریم.
این دیتابیس که مخصوص به سایت شماست، باید چندین جدول متفاوت داشته باشد. برای مثال:
- جدولی برای کاربران سایت
- جدولی برای مطالب ارسالی در سایت
- جدولی برای محصولات سایت
- جدولی برای نظرات کاربران
- جدولی برای ثبت سفارشات
- و…
تمام این جدول ها، در دیتابیس و پایگاه داده اصلی شما که آنرا MyDatabase نامگذاری کردیم، قرار میگیرد. و اینگونه یک دیتابیس، میتواند حاوی چندین جدول یا Table مختلف باشد.
مفهوم ستون (Column) در کار با دیتابیس
هر جدول در دیتایس، دارای ستون های مختلفی است. بیایید با هم همان مثال بالا را بررسی کنیم. یکی از جداول، مثل جدول محصولات سایت را انتخاب میکنیم. این جدول میواند حاوی ستون های زیر باشد:
- ستون نام محصولات
- ستون تاریخ انتشار محصولات
- ستون تعداد خریداران محصولات
- ستون قیمت محصولات
- ستون دسته بندی محصولات
- و…
پس هر جدول، برای نگه داری اطلاعات مختلف محتویات آن، نیاز به ستون های مختلفی دارد.
مفهوم سطر (Row) در کار با دیتابیس
در یک دیتابیس یا پایگاه داده، به هر عنوانی که وارد یک جدول میشود. یک سطر میگوییم.
اگر بخواهیم مفاهیم بالا را بسیار عالی و در یک عکس توضیح دهیم، عکس زیر بهترین توضیح میباشد:
RDBMS چیست؟
در ادامه ی پاسخ به سوال پایگاه داده یا Database چیست؟ میخواهیم دربارهی یک مفهوم کلی صحبت کنیم. اگر بخواهیم خیلی ساده بگوییم که RDBMS چیست، میتوانیم اینگونه آنرا توضیح دهیم.
همانطور که ما به یک پایگاه داده یا Database نیاز داریم، به چیزی نیاز داریم که این دیتابیس یا پایگاه داده ما را مدیریت کند. RDBMS مخفف Relational Database Management System میباشد که یک ساز و کار برای مدیریت پایگاه داده میباشد. در این خصوص در همین حد صحبت میکنیم و در آینده، بصورت کامل به آن خواهیم پرداخت.
یک مثال: PHP و MySQL
در ادامهی پاسخ به سوال پایگاه داده یا Database چیست؟ میخواهیم یک مثال عملی بزنیم. زبان ها و محیط های برنامه نویسی مختلف، پایگاه های داده و دیتابیس های متفاوتی دارند.
برای مثال شما وقتی که میخواهید با PHP برای وب برنامه نویسی کنید، نیاز دارید که از دیتابیس MySQL استفاده کنید. اگر میخواهید در این باره بیشتر بدانید پیشنهاد میکنم حتما مقالهی PHP چیست و همینطور MySQL چیست را مطالعه کنید. بسیار برایتان مفید خواهد بود.
در این مقاله بصورت کامل سعی کردیم به سوال پایگاه داده یا Database چیست؟ پاسخ دهیم. اگر سوالی داشتید، آنرا در قسمت نظرات با ما مطرح کنید.
اگر به دنبال مطالعهی بیشتر در خصوص پایگاه داده ها هستید، پیشنهاد میکنم سایت متمم وویکی پدیا را نیز مطالعه کنید.
درباره مهدی خسروی
۸ سال پیش که یادگیری برنامه نویسی رو آغاز کردم، با یک مشکل بزرگ مواجه شدم: کمبود منابع آموزشی حرفهای و کاربردی به زبان فارسی. به همین دلیل، بعد از چندین سال فعالیت حرفهای در زمینهی برنامه نویسی، تصمیم گرفتم دانستهها و تجربیات خودم را با شما عزیزان به اشتراک بگذارم. پیشنهاد میکنم به آدرس yadify.com/gifts حتما سر بزنید :)
نوشته های بیشتر از مهدی خسرویمطالب زیر را حتما مطالعه کنید
16 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
دیدگاهتان را بنویسید لغو پاسخ
این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش میشوند.
ممنون بابت توضیح ساده و کاملتون
خیلی مطلب خوبی بود با قدرت ادامه بدین
توضیحاتتون کامل و ساده بود ممنون
سلام خیلی توضیحاتتون خوب بود . من خیلی دوس دارم دیتا بیس و… یاد بگیرم ولی نمیدونم چطوری و باید چیکارکنم ممنونم میشم بتونید راهنمایی منید
سلام. مرسی از شما
بهترین راه برای یادگیری هر موضوعی در برنامه نویسی، انجام دادن پروژههای عملی و کاربردی هست. اقدام کنید و یک پروژهی واقعی رو استارت بزنید که بتونید بصورت دقیق و کاربردی یاد بگیرید. برخی از محصولات سایت هم میتونه برای شما مفید باشه
ممنون خیلی ساده روان و جذاب هست یعنی خسته کننده نبود ممنون بازهم
سلام خیلی عالی توضیح دادین مرسی
موفق باشید.
واقعا عالی بود مرسی
مقاله ی خوبی بود.
سلام اقا واقعا سایتتون خوبه واقعا ممنون بابت مطالب مفیدتون خسته نباشید خدا قوت
سلام
من قصد دارم در آینده یک دیکشنری آلمانی به فارسی و بالعکس بسازم. میخواهم این دیکشنری هم آنلاین از طریق وبسایت و هم از طریق اپلیکشن های تلفن همراه در دسترس باشد. اما الان میخواهم شروع به ساخت پایگاه داده شخصی کنم و درحال جمع آوری لغات آلمانی و معانی فارسی آنها هستم. شما برای کار من کدام پایگاه داده را مناسب میدانید؟
تشکر فراوان
علی
سلام. تبریک میگم به شما بابت پروژهتون
بستگی داره که با کدوم زبان برنامه نویسی بخواید کار کنید. اما MySQL میتونه خیلی جاها به کمکتون بیاد و تقریبا هرکاری که بخواید رو باهاش میتونید انجام بدید.
دیکشنری هم نیاز به سرعت در پردازش دادهها داره که اون هم تا حد زیادی بستگی به روش کد نویسی شما داره.
موفق باشید.
عالی بود