📚 فصل ۱: پایگاه داده چیست؟ (Database)
بخش ۱: شروع داستان – پایگاه داده در زندگی روزمره
قبل از اینکه وارد تعریفهای کتابی شویم، بیایید پایگاه داده را با مثال سادهای ببینیم.
تصور کن یک سوپرمارکت داری. روزانه:
- مشتریان جدید میآیند.
- محصولات جدید وارد میشود.
- خرید و فروش انجام میشود.
اگر بخواهی همه این اطلاعات را روی کاغذ ثبت کنی:
- باید هر روز اسمها، محصولها، و قیمتها را بنویسی.
- پیدا کردن یک مشتری یا محصول خاص وقت میگیرد.
- اگر برگهای گم شود، اطلاعات دیگر برنمیگردد.
حالا همینکار را یک کامپیوتر با پایگاه داده برایت انجام میدهد:
- اطلاعات به صورت منظم ذخیره میشوند.
- جستجو فقط چند ثانیه طول میکشد.
- میتوانی گزارشهای دقیق بگیری.
بخش ۲: تعریف پایگاه داده به زبان ساده
پایگاه داده یعنی یک سیستمِ سازمانیافته برای ذخیره، بازیابی، و مدیریت اطلاعات.
سه کلمه مهم:
- ذخیره → جایی برای قرار دادن اطلاعات (مثل انبار)
- بازیابی → پیدا کردن اطلاعات در هر زمان (مثل پیدا کردن کالایی در انبار)
- مدیریت → بهروزرسانی، حذف، و تنظیم سطح دسترسی
بخش ۳: تفاوت بین داده و پایگاه داده
💡 نکته مهم: داده (Data) و پایگاه داده (Database) با هم فرق دارند.
داده یعنی:
- اطلاعات خام و بدون ساختار خاص.
- مثال:
"علی"
,"09121234567"
,"تهران"
پایگاه داده یعنی:
- مجموعهای از دادهها که ساختارمند ذخیره شدهاند.
- مثال:
نام | شماره تلفن | شهر |
---|---|---|
علی | 09121234567 | تهران |
سارا | 09351234567 | مشهد |
بخش ۴: اجزای پایگاه داده
هر پایگاه داده معمولاً از چند بخش اصلی تشکیل میشود:
- جداول (Tables) → مثل صفحات اکسل
- سطرها یا رکوردها (Rows / Records) → هر ردیف یک رکورد کامل است
- ستونها یا فیلدها (Columns / Fields) → هر ستون یک ویژگی را مشخص میکند
- کلیدهای اصلی و خارجی (Primary / Foreign Keys) → برای ارتباط بین جداول
📌 مثال جدول مشتریان:
ID | نام | موبایل | شهر |
---|---|---|---|
1 | محمد | 0912… | قم |
2 | زهرا | 0935… | تهران |
بخش ۵: چرا اصلاً پایگاه داده لازم داریم؟
بدون پایگاه داده:
- جستجوی یک آیتم ممکن است ساعتها طول بکشد.
- دادهها ممکن است گم شوند.
- امکان دسترسی همزمان توسط چند نفر وجود ندارد.
- امنیت پایین است (هر کسی میتواند محتوا را تغییر دهد).
با پایگاه داده:
- سرعت بالا → جستجوی حتی میلیونها رکورد در چند ثانیه
- پایداری اطلاعات → امکان پشتیبانگیری و بازیابی
- دسترسی همزمان → چندین کاربر بهطور هماهنگ کار میکنند
- کنترل امنیت → تعیین میکنی چه کسی چه چیزی را ببیند یا تغییر دهد
بخش ۶: پایگاه داده و اکسل – تفاوت مهم
خیلیها میپرسند: «وقتی اکسل داریم، چرا پایگاه داده؟»
اکسل:
- مناسب کارهای کوچک
- ذخیره داده در فایل محلی
- مشکل در کار همزمان چند کاربر
- محدودیت در حجم دادهها
پایگاه داده:
- مناسب کارهای بزرگ و حساس
- ذخیره و مدیریت متمرکز
- کاربران متعدد و همزمان
- توانایی جستجوی فوق سریع
- امنیت و مجوزدهی پیشرفته
بخش ۷: طبقهبندی پایگاه دادهها
پایگاه دادهها انواع مختلفی دارند. معروفترین دستهها:
- رابطهای (Relational DB) → دادهها در جداول با ارتباط بین آنها
- مثال: SQL Server, MySQL, Oracle
- غیررابطهای (NoSQL) → دادهها میتواند به شکل JSON، سند، یا گراف باشد
- مثال: MongoDB, Redis
- پایگاه دادههای ابری → Hosted روی سرویسهای Cloud
- مثال: Amazon RDS, Google BigQuery
- پایگاه دادههای درونحافظهای (In-Memory) → سرعت فوقالعاده با ذخیره در RAM
- مثال: Redis, Memcached
بخش ۸: ساختار ساده یک پایگاه داده فروشگاه
جدول محصولات:
ProductID | نام محصول | قیمت | موجودی |
---|---|---|---|
1 | لپتاپ | 250000 | 10 |
2 | گوشی هوشمند | 150000 | 20 |
جدول مشتریان:
CustomerID | نام | موبایل | شهر |
---|---|---|---|
1 | علی | 0912… | تهران |
2 | سارا | 0935… | مشهد |
جدول فاکتورها:
InvoiceID | CustomerID | ProductID | تاریخ | تعداد |
---|---|---|---|---|
1 | 1 | 2 | 1402/01/12 | 1 |
2 | 2 | 1 | 1402/02/15 | 2 |
📌 همین ارتباط بین جداول باعث میشود بتوانیم گزارشهای پیچیده بگیریم (در فصل JOIN یاد میگیریم).
بخش ۹: کاربردهای پایگاه داده در دنیای واقعی
- بانکداری → اطلاعات حسابها، تراکنشها، کارتها
- آموزش → لیست دانشجویان، نمرات، حضور و غیاب
- شبکههای اجتماعی → پستها، پیامها، نظرات
- سلامت و پزشکی → پرونده بیماران، سوابق درمان
- فروشگاههای آنلاین → موجودی کالا، سفارشها، پرداختها
بخش ۱۰: امنیت در پایگاه داده
یکی از وظایف مهم پایگاه داده «کنترل دسترسی» است:
- چه کاربری میتواند بخواند ولی تغییر ندهد
- چه کاربری اجازه بهروزرسانی دارد
- چه دادههایی برای عموم مخفی هستند
بخش ۱۱: پشتیبانگیری (Backup)
پایگاه دادهها باید همیشه نسخه پشتیبان داشته باشند.
تصور کن یک بانک اطلاعاتی مشتریان داری و هارد سیستم خراب شود → بدون پشتیبان همهچیز از بین میرود.
بخش ۱۲: تمرین عملی پیشنهادی
📌 تمرین شماره ۱:
- یک لیست از ۵ دوست و شماره تلفن آنها تهیه کن.
- آن را به شکل جدولی بنویس (ستون نام، شماره، شهر).
- فکر کن اگر میخواستی شماره تلفن «سارا» را پیدا کنی، چقدر طول میکشید.
📌 تمرین شماره ۲:
- یک جدول محصولات با ستونهای (کد، نام، قیمت، موجودی) ایجاد کن.
- ۵ محصول فرضی با قیمتهای متفاوت وارد کن.
- تصمیم بگیر اگر یک مشتری خرید کند، موجودی محصول چه تغییری کند.
بخش ۱۳: نگاه کوتاه به تاریخچه پایگاه داده
- 1960s → پایگاه دادههای اولیه (سلسلهمراتبی، شبکهای)
- 1970s → معرفی پایگاه داده رابطهای توسط Edgar F. Codd
- 1980s → تولید سیستمهای RDBMS (مثل Oracle, SQL Server)
- 2000s به بعد → ظهور NoSQL و پایگاههای داده ابری
بخش ۱۴: ارتباط پایگاه داده با SQL
پایگاه داده مثل یک انبار است، اما برای مدیریت آن یک «زبان» لازم داریم → این زبان همان SQL است.
در فصل سوم این زبان را یاد میگیریم.
بخش ۱۵: جمعبندی فصل ۱
- پایگاه داده یعنی سیستم ساختاریافته ذخیره و مدیریت داده
- استفاده اصلی → ذخیره، جستجو، ویرایش، حذف
- اجزا → جداول، رکوردها، ستونها
- مزیتها → سرعت، امنیت، چندکاربری، یکپارچگی
- آینده یادگیری → کار با SQL Server، ساخت جداول، نوشتن کوئری