نگاهی عمیقتر به مفاهیم پایگاه داده
پایگاههای داده اهمیت زیادی در دنیای امروز دارند. آشنایی با مفاهیم پایگاه داده از مباحث ضروری جهت درک ساختار داده و نگهداری بهتر از آن است.
مقدمه
در بخش قبل در خصوص مشی فایلینگ در ذخیره داده و مزایا و معایب آن که یکی از روشهای ابتدایی ذخیره داده به شمار میرفت، نکات لازم را ذکر کردیم. روش پایگاه داده به شکل امروزی برای رفع کمبودها و معایب یا مشکلاتی که در سیستم فایلینگ با آن مواجه بودیم، به وجود آمده است. داده و به خصوص پایگاه داده اهمیت زیادی در علوم امروزی از آمار گرفته تا هوش مصنوعی و … دارد. از این رو لازم است درک عمیقی از مفاهیم آن داشته باشیم تا در صورت استفاده از آنها هوشمندانه از آنها استفاده کنیم که در ادامه ایم مقاله در خصوص آنها بیشتر سخن خواهیم گفت.
تعریف پایگاه داده
اگر بخواهید تعریفی کلی و جامع از پایگاه داده داشته باشید، باید بدانید که پایگاه داده یک فضا یکپارچه و مجتمع از حافظه است که در آنجا دادهها با حداقل افزونگی (تکرار) براساس یک ساختار قرار گرفتهاند. پایگاه داده میتواند مورد استفادهی یک یا چند کاربر به صورت همزمان یا اشتراکی قرار گیرد.
معماری سه لایه ANSI پایگاه داده
در سال 1975 توسط گروه ANSI/SPARC یک استاندارد سه لایه برای طراحی سیستمهای مدیریت پایگاه داده معرفی شد. این معماری سه سطح مجزا یا سه دید را برای توصیف پایگاه داده تعریف میکند.
- دید خارجی یا کاربری
- دید ادراکی مفهومی یا منطقی
- دید داخلی یا فیزیکی
اما این سطوح که در استاندارد ANSI برای پایگاه داده ذکر شدهاند چه چیزهایی هستند و چه مفاهیمی دارند؟
دید خارجی: دیدی است که کاربر نسبت به دادههای ذخیره شده در پایگاه داده دارد.
دید مفهومی: دیدی است که طراح نسبت به دادههای پایگاه داده دارد. این دید از دو بخش دید مفهومی عام و دید مفهومی خاص تشکیل شده است. دید مفهومی عام دیدی است که طراح در هنگام طراحی پایگاه داده دارد؛ از مثالهای این دید میتوان به UML، EERD و NIAM اشاره کرد. برای مثال UML یک زبان مدلسازی و روشی برای توصیف ویژگیها، نمایش گرافیکی و مستندسازی اجزای یک سیستم نرمافزاری در حال توسعه است. دید مفهومی خاص دیدی است که طراح در هنگام پیادهسازی پایگاه داده دارد. از جمله مثالهای این دید می-توان به مدل رابطهای RM، مدل شیگرایی OOM، مدل شبکهای NM و مدل سلسله مراتبی HM اشاره نمود. در بخشهای آینده با تعدادی چند از این مدلها آشنا خواهیم شد.
دید داخلی: دیدی است که سیستم مدیریت پایگاه داده نسبت به آن دارد. در این دید، رسانههای فیزیکی قرار میگیرند.
استقلال دادهای در پایگاه دادهها
استقلال دادهای در پایگاه داده یعنی اینکه هر تغییری که در دیدها یا لایههای سطوح پایین پایگاه داده رخ دهد، افراد لایههای بالاتر متوجه آن نشوند. برای مثال اگر نوع رسانههای فیزیکی حافظه در لایه سوم پایگاه داده تغییر کند، فردی که در لایهی مفهومی یا در لایهی فیزیکی قرار دارد، متوجه آن نخواهد شد. به همین ترتیب لایهی ادراکی عام دارای استقلال دادهای است. اما لایهی ادراکی خاص دارای استقلال دادهای نیست. چرا که مثلا اگر طراح در هنگام پیادهسازی پایگاه داده بجای مدل رابطهای از مدل شیگرایی بهره ببرد، کاربری که در دید خارجی قرار دارد، متوجه این تغییر میشود.
ارزیابی پایگاه دادهها
یک پایگاه داده به وسیلهی یک سری از ویژگیها ارزیابی میشود که در اینجا به تعریف این ویژگیها میپردازیم.
- در دسترس پذیری یا Availability: در دسترس پذیری پایگاه داده یعنی اینکه هر زمان از شبانه روز که به آن مراجعه کنیم، باید به ما خدمات بدهد. اگر یک پایگاه داده در دسترس نباشد، میتواند مشتریانی که به سراغ آن آمدهاند را از دست بدهد و مثلا این بر سئوی سایت هم اثر منفی میگذارد؛ البته این را در نظر داشته باشید که پایگاه داده تنها به وبسایتها محدود نمیشود.
- جامعیت یا Integrity: جامعیت یک پایگاه داد یعنی اینکه اولا در حالت فعلی سازگار باشد یا به زبان دیگر، هیچ عملیات غیرمُجازی در لحظه وجود نداشته باشد و ثانیا در ادامه نیز تنها عملیات مجاز در آن انجام شود.
- امنیت یا security: امنیت پایگاه داده یعنی اینکه چه کسانی در چه زمانی به چه میزان از پایگاه داده اجازه دارند که دسترسی داشته باشند. بحث امنیت باید یکی از مهمترین مواردی باشد که باید به آن پرداخته شود چرا که لو رفتن اطلاعات خصوصی و شخصی افراد میتواند هزینه هنگفتی هم برای شخصی که به یک سازمان یا اپلیکیشن برای ذخیره اطلاعات خود اعتماد کرده است داشته باشد و هم اینکه سبب مشتری گریزی و بی اعتمادی برای آن سازمان و در نتیجه کمتر شدن درآمد برای کسب و کارهای تجاری گردد. همانطور که میدانید در خبرهای سال قبل (سال 1402 خورشیدی) متاسفانه ادعا شده بود که اطلاعات قضایی افراد در سازمانها قضایی هک شده است؛ همینطور اطلاعات خصوصی مشتریانی که از اسنپ فود استفاده کرده بودند نیز هک و برای فروش آن مبلغی پیشنهاد شده بود؛ این اطلاعات شامل نوع سفارشات افراد، موقعیت یا لوکیشن و آدرس و مواردی از این دست بود. نفوذ به پایگاههای داده میتواند برای اهدافی مثل هدفهای باج افزاری، کسب اطلاعات و ضربه زنی از طرف رقبا، مسائل مرتبط با امور امنیتی و نظامی انجام گیرد.
تراکنش در پایگاه داده
هر عمل در پایگاه داده را تراکنش یا Transaction میگویند. تراکنش یک واحد بسیار کوچکی از برنامه است و ممکن است شامل چندین وظیفهی سطح پایین باشد. تراکنشهای بانکی یک نمونهی بسیار قابل لمس و قابل درک از تراکنش در پایگاههای داده هستند.
خواص ACID پایگاه داده
برای برقراری جامعیت در پایگاه داده باید خواص ACID در آن برقرار باشد اما این خواص چه میباشند؟ خواص ACID نام اختصاری است و این کلمه ابتدای حروف کلماتی هستند که در زیر بدانها پرداخته شده است.
Atomicity: همه یا هیچ. یعنی اینکه در یک پایگاه داده یا تمام تراکنش به درستی انجام میشود یا کلا انجام نمیشود. برای مثال فرض کنید در یک تراکنش بانکی مقداری از پولتان را به فرد دیگری انتقال میدهید. اما حساب آن فرد بسته شده است. در این حالت، تراکنش نصفه انجام نمیشود و تمام پول به حساب شما برگشت میخورد.
- Consistency: در پایگاه داده عملیات مُجاز انجام میشود.
- Isolation: تراکنشهای همروند روی یکدیگر اثر نامطلوب نمیگذارند.
- Durability: پایایی پایگاه داده یعنی اینکه اگر یک تراکنش موفق در پایگاه داده رخ داد، اثر آن ماندگار است و تغییر نمیکند.
سیستم مدیریت پایگاه داده یا DBMS
سیستم مدیریت پایگاه داده یا DBMS یک نرمافزار رایانهای است که با هدف مدیریت پایگاه داده طراحی شده است. DBMS در سیستم عامل قرار گرفته است و همانند یک رابط یا پل ارتباطی بین دیتابیس، کاربر آن و اپلیکیشن عمل کرده و امکان ارتباط و تعامل بین اجزا را فراهم میکند.
مدیر پایگاه داده یا DBA
مدیر(ان) پایگاه داده فرد یا گروهی از افراد که مسئول طراحی، پیادهسازی و نگهداری از پایگاه داهها هستند. این افراد میتوانند به تمام لایههای پایگاه داده دسترسی پیدا کنند.
کاتالوگ سیستم
کاتالوگ سیستم حاوی دادههایی در رابطه با دادههای ذخیره شده در پایگاه داده است. به این دادهها متا داده میگویند. تعریف جدولهای مبنا، تعریف شاخصها، دسترسیها و ... در کاتالوگ سیستم انجام میشود. به یاد داشته باشید که خود دادهها به هیچ وجه در کاتالوگ سیستم ذخیره نمیشوند.
جمعبندی مفاهیم پایگاه داده
در این مقاله در خصوص پایگاه داده مفاهیم عمیق اولیهای ارائه شد که شامل تعریف پایگاه داده، معماری سه لایه ANSI، روشهای ارزیابی پایگاه داده، تراکنشها، خواص ACID و سیستم مدیریت پایگاه داده یا DBMS بود. آشنایی با این مفاهیم سبب درک بهتر داده، ساختار، ذخیره سازی، نگهداری صحیح داده، امنیت و استفاده از آنها میشود که میتوانید با مطالعه آن تا حدود زیادی درک ابتدایی عمیقی را به دست آورید تا در مقالات آتی که در وبسایت نیوسان وب در این خصوص ارائه خواهد شد، به تکمیل دانش خود در این خصوص بپردازید.
لینک این مقاله را در شبکههای اجتماعی به اشتراک بگذارید.