مفاهیم بنیادین پایگاه داده‌ها

در جامعه‌ای که اطلاعات از پایه‌های اساسی و مهم آن به‌شمار می‌آید، سازمان‌های موفق آن‌هایی هستند که مدیریت اطلاعات در آن‌جا به موثرترین نحو انجام می‌شود. مدیریت اطلاعات گردآوری و نگهداری اطلاعات مورد نیاز سازمان و فراهم آوردن امکان دسترسی سریع و بدون شکل به آن‌ها است.

همین نیاز فزاینده به سازمان‌دهی و پردازش اطلاعات است که پایگاه‌های داده‌(بانک اطلاعاتی) را همچون سیستم‌های عامل به یکی از مهم‌ترین اجزای سیستم‌های کامپیوتری تبدیل کرده است. تکنولوژی بانک‌های اطلاعاتی به‌عنوان یکی از زمینه‌های علوم کامپیوتر از لحاظ رشد سریع در رده اول است و اغراق نخواهد بود اگر بگوییم که در سطح جهانی ادامه حیات بسیاری از سازمان‌ها به موفقیت و کارایی سیستم‌های پایگاه داده‌ آن‌ها وابسته است.

مفاهیم بنیادین پایگاه داده‌ها:

یک پایگاه داده‌یا بانک اطلاعاتی چیست؟ یک بانک اطلاعاتی در اساس چیزی بیشتر از یک نرم‌افزار نگهدارنده اطلاعات نیست و اطلاعات نیز همه آن چیزهایی هستند که برای یک سازمان اهمیت دارند. یا به بیان دقیق‌تر بانک اطلاعاتی محل ذخیره داده‌هایی است که از روابط بین آن‌ها اطلاعات کسب می‌شود. اجزای بانک اطلاعاتی می‌تواند به‌شرح زیر باشد:

داده‌ها:

پایه و اساس یک بانک اطلاعاتی، داده‌ها هستند. در حقیقت هر سازمان داده‌های عملیاتی خود را در بانک‌اطلاعات ذخیره می‌کند. منظور از داده‌های اطلاعاتی و عملیاتی، داده‌هایی هستند که هر سازمان بنابر وظایفش با آن‌ها رابطه دارد. مثلا در مورد یک بانک، داده‌های مربوط به انواع حساب‌ها با افراد خواهد بود.

نرم‌افزار:

در یک سیستم بانک اطلاعاتی طیف وسیعی از نرم‌افزار مدیریت بانک اطلاعاتی تا نرم‌افزارهای کاربری، گزارش‌نویس و فرم‌سازها را دربر می‌گیرد.

سخت‌افزار:

در ارتباط با بانک‌های اطلاعاتی منظور از سخت‌افزار همان حافظه‌های جانبی نگهدارنده داده‌های انبوه مثل دیسک و نوار و کارتریج و… است.

کاربران:

دربر گیرنده طیف وسیعی شامل مدیر سیستم بانک اطلاعاتی که مسؤولیت نگهداری و تنظیم سیستم را برای استفاده سایر کاربران دارد تا استفاده‌کنندگانی که صرفا از پشت ترمینال‌های خود به پرسش از بانک اطلاعاتی می‌پردازند، است.

مزایای بانک اطلاعاتی:

بدون وجود تفاوت‌های اساسی بین بانک‌های اطلاعاتی و روش فایلینگ، که در آن‌ها هر سیستم کاربردی اطلاعات مورد نیاز خود را به‌طور جداگانه نگهداری کرده و مورد استفاده قرار می‌دهد، صرف پول، وقت و تلاش و زمان برای ایجاد بانک‌های اطلاعاتی توجیه‌ناپذیر خواهد بود.

محاسن بانک‌های اطلاعاتی را می‌توان این‌طور برشمرد:

1- جلوگیری از تکرار اطلاعات: با توجه به اینکه در روش‌های سنتی، امکان استفاده از سیستم‌های کاربردی جداگانه از اطلاعات یکدیگر وجود ندارد، تکرار اطلاعات در پرونده‌های مختلف، امری طبیعی است. در سیستم‌های بانک‌های اطلاعاتی همه سیستم‌های کاربردی از یک انبار اطلاعات مشترک بهره‌برداری می‌کند و می‌‌توان تکرار اطلاعات را به حداقل رساند.

2- جلوگیری از ناسازگاری اطلاعات: به‌دلیل عدم ارتباط سیستم کاربردی جداگانه به روش‌های سنتی اطلاعات ناسازگاری در پرونده‌وجود دارد. چون ممکن است اطلاعات از یک شخص واحد در یک پرونده تغییر کند اما در پرونده دیگر بدون تغییر بماند و ایجاد تناقض کند. اما کنترل این موضوع در یک انبار مشترک اطلاعات به نام یک اطلاعات ممکن خواهد بود.

3- این موجود می‌آید که اطلاعات به اشتراک گذاشته شوند.

4- مدیریت متمرکز: وقتی داده‌ها در یک انبار مشترک نگهداری می‌شوند امکان اعمال مدیریت متمرکز در همه زمینه‌ها روی آن‌ها فراهم می‌شود. این تمرکز مدیریت به‌خصوص در زمینه‌های مسایل امنیتی و اعمال استانداردها بهتر مشخص می‌شود.

هرچند گردآوری همه داده‌ها در یک انبار، امکان به خطر افتادن همه آن‌ها را در پی دارد، اما در عین حال امکان کنترل یک انبار، بیشتر و آسان‌تر از امکان کنترل چندین انبار کوچک است. در مورد اعمال استانداردها نیز وضع به همین منوال است.

5- استقلال داده‌ها: منظور از استقلال داده‌ها، استقلال آن‌ها از سیستم‌های کاربردی خاص است و این موضوع تنها در سیستم‌های پایگاه داده می‌تواند تحقق پیدا کند.

در حقیقت در سیستم‌های بانک‌اطلاعاتی، داده‌ها مستقل از سیستم‌های کاربردی و بنابر مدل داده‌ها ذخیره می‌شوند و سیستم‌های کاربردی از آن‌ها بهره‌برداری می‌کنند، بنابراین امکان تغییر داده‌ها بدون نیاز به تغییر سیستم کاربردی وجود دارد.

انواع پایگاه داده

انواع پایگاه داده بنابر ساختمان داده‌ها و نحوه سازمان‌دهی داده‌ها از یکدیگر متمایز می‌شوند. نحوه سازمان‌دهی داده‌ها در یک بانک اطلاعاتی را مدل اطلاعاتی می‌نامند و بر همان اساس می‌توان چندین نوع بانک اطلاعاتی زیر را بیان کرد:

1- بانک‌های اطلاعاتی رابطه‌ای یا Relational Doutabase: اساس این نوع بانک‌ها، رابط یا جدول است. این مورد را در ادامه بیشتر توضیح خواهیم داد.

2- بانک‌های اطلاعاتی سلسله‌مراتبی یا Hierarchical Database: داده‌ها در این نوع در ساختارهای درختی ذخیره می‌شوند.

3- بانک‌های اطلاعاتی شبکه‌ای یا Network Database: داده‌ها در این نوع در ساختارهای درختی چندمسیره ذخیره می‌شوند.

در مقایسه‌ای بین انواع بانک‌های اطلاعاتی فوق، اگر معیار سادگی ایجاد سیستم‌های کاربردی و نیز وجود یک تئوری فوق در سطح مدل داده‌ها باشد، بانک‌های اطلاعاتی رابطه‌ای از برتری نسبتا چشمگیری برخوردارند. این برتری موجب شده که تمایل عمومی به تولید بانک‌های اطلاعاتی رابطه‌ای معطوف باشد.

بانک‌های اطلاعاتی رابطه‌ای:

نحوه سازمان‌دهی اطلاعات بر اساس مدل داده‌های رابطه‌ای است. معنای مدل رابطه‌ای در عمل این است که داده‌ها در قالب جداولی مرکب از ستون‌ها و ردیف‌ها نمایش داده می‌شوند.

جدول: یک بانک اطلاعاتی رابطه‌ای مجموعه‌ای از جداول است و اطلاعات در یک یا تعداد بیشتری جدول گروه‌بندی می‌شوند. در یک بانک اطلاعاتی رابطه‌ای حق دسترسی به جداول به‌صورت جدول به جدول کنترل می‌شود، به‌طوری که بعضی کاربران حق خواهند داشت بعضی از جداول را ببینند و یا اصلاح کنند و در مورد بعضی جدول‌های دیگر این حق را نخواهند داشت.

ستون: هر ستون جدول نمایانگر یک صفت، خاصیت، ویژگی و یا حقیقتی درباره موضوع آن جدول است.

سطر: هر سطر جدول مصداقی از موضوع آن جدول است یعنی یک نمونه منحصر به‌فرد از آن موجودیتی که جدول آن را نشان می‌دهد. مثلا موجودیت هر یک از کارمندان. پس در یک جمع‌بندی جداول و ردیف‌ها و ستون‌ها می‌بینیم که این مدل راهی ساده برای سازمان‌دهی داده‌ها برای انعکاس دنیای واقعی با استفاده از مفاهیم فوق است، یعنی جدول موجودیت تمامی آنچه را که یک بانک اطلاعاتی درباره یک موضوع در خود دارد، نمایش می‌دهد. ستون نمایشگر خاصیت، ویژگی یا حقیقتی درباره موضوع جدول است و سطر یک مصداق یا نمونه منحصر به‌فرد از موضوع مورد بحث جدول است.

در سال‌های اخیر با آنکه مدل‌های رابطه‌ای از بهترین انواع سیستم‌های بانک‌های اطلاعاتی بوده‌اند اما استراتژی‌های مدیریتی دیگری نیز تدوین شده‌اند که از آن جمله می‌توان به مدیریت شیء‌گرا (Object Oriented) و سیستم‌کلاینت-سرور (Client/Server) اشاره کرد. ما در این میان به سیستم Client/Server با دقت بیشتری نگاه می‌کنیم.

سیستم بانک اطلاعاتی مشتری / خادم کلاینت-سرور

Client / Server Computing پردازش بر مبنای سرویس‌گری و سرویس‌گیری است و منظور از آن اشتراک کار بین مشتری و خادم به نحوی است که هر وسیله وظیفه خود را تا حد توان به انجام رساند.

بانک‌های اطلاعاتی مانند فاکس پرو یا اکسس سیستم‌های مدیریت بانک اطلاعاتی File / Server هستند. به‌عبارتی در این سیستم‌ها، داده‌ها برای پردازش ابتدا از سرویس‌گر فایل به کامپیوتر سرویس‌گر منتقل می‌شوند و سپس در آن‌جا مورد پردازش قرار می‌گیرند. بدیهی است که با بزرگ شدن اندازه بانک اطلاعاتی این روش دیگر کارا نیست، چراکه ترافیک اطلاعات انتقالی از سرویس‌گر به سرویس‌گیر روی محیط انتقال شبکه بسیار بالا خواهد رفت و بیشتر وقت شبکه مصروف نقل و انتقال‌های فایل‌های بزرگ اطلاعاتی خواهد شد.

این‌جاست که امتیاز Client / Server نمایان می‌شود. چون در این بانک‌ها، کامپیوتر سرویس‌گیر درخواستی را با استفاده از زبان بانک اطلاعاتی SQL، به برنامه‌ای مخصوص به‌نام بانک اطلاعاتی (Database Engine) ارسال می‌دارد. موتور بانک اطلاعاتی که سرویس‌گر بانک اطلاعاتی (Database Server) نیز نامیده می‌شود، برنامه‌ای است که در سرویس‌گر فایل اجرا می‌شود و وظیفه ایندکس، مرتب‌سازی و جست‌وجوی فایل‌های اشتراکی را خود سرویس‌گر فایل به‌عهده دارد (البته بدون فرستادن نتایج روی شبکه). در نهایت این نتیجه پردازش است که روی محیط انتقال به‌سوی سرویس‌گر ارسال می‌شود و به همین جهت ترافیک چندانی روی محیط انتقال ظاهر نمی‌شود.

موتور بانک اطلاعاتی فقط به فایل‌های به‌خصوص یا نتایجی پاسخ می‌دهد که از سوی کامپیوتر سرویس‌گیر تقاضا می‌شود. در حین انجام وظیفه موتور بانک، کامپیوتر سرویس‌گیر می‌تواند نتایجش را در اختیار کاربرهای دیگر قرار دهد.

پویا بهنام
بزرگراه فناوری

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

اجرا شده توسط: همیار وردپرس