* قابل توجه کاربران گرامی: موضوع این مقاله تکراری است.
(http://www.pcpedia.ir/ViewArticle.aspx?ID=3)
لذا سعی کنید قبل از ارائه مقاله جستجو کرده و در صورت وجود مقاله ای با موضوع مشابه، به جای ارسال مقاله جدید مقاله موجود در سایت را تکمیل نمائید. این مقاله استثنائا به منظور احترام به تلاش کاربر ارسال کننده مورد تائید قرار می گیرد.
در این مقاله کلمات "اطلاعات" و "داده ها" به جای هم به کار گرفته می شوند. بعضی از نویسندگان ، "داده ها" را همان چیزهایی می دانند که در بانک اطلاعاتی ذخیره می شوند و "اطلاعات" را معنای آن داده ها از دید کاربر می دانند. تمایز آن ها از اهمیت ویژه ای برخوردار است و در صورت لزوم باید صریحا آن ها را نام برد.
یک سیستم بانک اطلاعاتی از چهار مولفه تشکیل شده است: داده ها، سخت افزار، نرم افزار و کاربران. هرکدام از این چهار مولفه را در اینجا به طور مختصر مورد بررسی قرار می دهیم و شرح جزییات را به مقاله های بعد موکول می کنیم.
داده ها:
سیستم های بانک اطلاعاتی در کامپیوترهای شخصی و کامپیوترهای بزرگ مورد بهره برداری قرار می گیرند. بدیهی است قابلیت هایی که یک سیستم بانک اطلاعاتی ارائه می کند ، تا حد زیادی به کامپیوتری بستگی دارد که این سیستم بر روی آن کار می کند. سیستم ها بر روی کامپیوترهای بزرگ ، معمولا چندکاربره هستند ، در حالی که سیستم ها در کامپیوترهای کوچک ، تک کاربره هستند. سیستم تک کاربره سیستمی است که در آن ، در آن واحد فقط یک نفر می تواند از بانک اطلاعاتی استفاده کند و سیستم چندکاربره سیستمی است که در آن واحد چند نفر می توانند از یک بانک اطلاعاتی استفاده کنند. هرچند که این دونوع سیستم از دید کاربر چندان تفاوت نمی کند. یعنی هدف اصلی سیستم های چندکاربره این است که به کاربر اجازه دهند ، از آن به عنوان یک سیستم تک کاربره استفاده نماید. مشکلات مربوط به سیستم های چندکاربره به داخل سیستم ها بر می گردد ، نه به آنچه که در دید کاربر قرار دارد.
برای سهولت ، فرض می کنیم تمام داده های سیستم در یک بانک اطلاعاتی ذخیره شده اند. این فرض، تاثیری در سایر بحث ها ندارد. اما، در عمل، بهتر است داده ها در چند بانک اطلاعاتی قرار داشته باشند (حتی در سیستم های کوچک). در ادامه ، دلایلی را برای این کار ارائه می کنیم.
به طور کلی ، داده ها در بانک اطلاعاتی ، به خصوص در سیستم های بزرگ ، هم به صورت مجتمع و هم به صورت اشتراکی هستند. این دوجنبه ، یعنی مجتمع بودن و اشتراکی بودن داده ها، در محیط های بزرگ ، به عنوان امتیاز سیستم های بانک اطلاعاتی محصوب می شوند. مجتمع بودن داده ها در سیستم های کوچک ارزشمند است. البته ، امتیازات دیگری وجود دارند که در ادامه مورد بحث قرار می گیرند. اما، هریک از این جنبه ها را به طور مختصر توضیح می دهیم.
مفهوم جامعیت (مجتمع بودن) این است که بانک اطلاعاتی مجموعه ای از فایل هاست که بخشی از اطلاعات اضافی از بین آن ها حذف شده است. به عنوان مثال ، یک بانک اطلاعاتی ممکن است حاوی فایل EMPLOYEE باشد که حاوی نام کارمند ، آدرس ، محل کار، حقوق و غیره باشد و همچنین حاوی فایل ENROLLMENT باشد که تعداد ثبت نام شدگان در دوره های آموزشی را نشان می دهد. اکنون فرض کنید، به منظور اجرای فرآیند مدیریت دوره آموزشی لازم است محل کارمندی که در دوره آموزشی ثبت نام کرده است، تعیین گردد. بدیهی است که لازم نیست این اطلاعات اضافی (محل کار) نیز در فایل ENROLLMENT ذخیره شود، زیرا با مراجعه به فایل EMPLOYEE می توان آن را پیدا کرد.
مفهوم مشترک بودن این است که داده های موجود در بانک اطلاعاتی می تواند بین کاربران مختلف به اشتراک گذاشته شود، یعنی هریک از کاربران می توانند از یک بخش از داده ها برای اهداف خاصی استفاده کنند. همان طور که کاربران مختلف به طور همزمان می توانند به یک بخش از داده ها دستیابی داشته باشند. این شیوه ی اشتراک، همزمانی یا غیره، از این واقعیت ناشی می شود که بانک اطلاعاتی مجتمع است. به عنوان مثال، اطلاعات مربوط به محل کار در فایل EMPLOYEE ، بین کاربران اداه ی پرسنلی و کاربران اداره ی آموزش مشترک است و همان طور که گفته شد ، این دو گروه از کاربران ، برای اهداف مختلفی از این اطلاعات استفاده می کنند. اگر بانک اطلاعاتی مشترک نباشد، بانک اطلاعاتی "شخصی" یا "کاربرد ویژه" نامیده می شود.
نتیجه ای که از مجتمع بودن و مشترک بودن بانک اطلاعاتی ناشی می شود این است که هر کاربر فقط بخشی از داده های بانک اطلاعاتی را مورد استفاده قرار می دهد. علاوه بر این، بخش هایی که کاربران مختلف سروکار دارند با هم همپوشانی دارند. به عبارت دیگر ، کاربران مختلف با دیدگاه های متفاوتی به بانک های اطلاعاتی نگاه می کنند. در واقع، حتی وقتی که دو کاربر در یک بخش از داده ها مشترک هستند ، دیدگاه آن ها نسبت به آن داده ها ممکن است متفاوت باشد.
سخت افزار:
قطعات سخت افزاری سیستم شامل موارد زیر است:
حافظه های جانبی(معمولا دیسک ها) که برای ذخیره ی داده ها به کار می روند و دستگاه های I/O (مثل درایورها و غیره)، کنترلرهای دستگاه ها ، کانال های I/O و غیره
پردازنده های سخت افزار و حافظه های اصلی آن ها که برای پشتیبانی از اجرای نرم افزار بانک اطلاعاتی به کار می روند.
نرم افزار:
بین بانک اطلاعاتی فیزیکی (مثلا داده های ذخیره شده) و کاربران سیستم ، لایه ای از نرم افزار وجود دارد که مدیر بانک اطلاعاتی و یا کارگزار بانک اطلاعاتی (DBMS) نام دارد.امکاناتی از قبیل اضافه و حذف فایل ها (یا جداول) ، بازیابی داده ها از آن ها و به هنگام رسانی داده های این فایل ها و جدول ها از طریق سیستم مدیریت بانک اطلاعاتی ارائه می شود. یکی از کارهایی که سیستم مدیریت بانک اطلاعاتی انجام می دهد این است که کاربران را از مواجه شده با جزییات سخت افزاری برحذر می دارد. (همان طور که سیستم های زبان برنامه سازی، برنامه نویسان کاربردی را از جزییات سخت افزار دور می کنند.) به عبارت دیگر سیستم مدیریت بانک اطلاعاتی موجب می شود تا کاربران تصور کنند که بانک اطلاعاتی در سطح بالاتری از سخت افزار قرار دارد. و عملیات کاربران (مثل عملیات SQL) را پشتیبانی می کند. به چند نکته توجه داشته باشید:
سیستم مدیریت بانک اطلاعاتی ، مهم ترین مولفه نرم افزاری در کل سیستم است. اما تنها مولفه نرم افزاری نیست. بقیه ی اجزای نرم افزاری عبارتند از : برنامه های کمکی، ابزارهای تولید برنامه های کاربردی، ابزارهای طراحی ، نویسندگان گزارش و (مهم تر از همه) مدیر تراکنش (Transaction Manager) یا ناظر TP (پردازنده تراکنش).
سیستم مدیریت بانک اطلاعاتی به محصولات خاصی از فروشندگان خاص نیز اطلاق می شود. مثل بانک اطلاعاتی جهانی DB2 شرکت IBM اصطلاح نمونه سیستم مدیریت بانک اطلاعاتی ، به کپی خاصی از این محصول اطلاق می شود که در نصب کامپیوترهای خاصی به کار می رود. گاهی لازم است این دو مفهوم کاملا از هم تفکیک شوند.
به طور کلی وقتی افراد از بانک اطلاعاتی حرف می زنند، منظورشان سیستم مدیریت بانک اطلاعاتی است.
کاربران:
کاربران بانک اطلاعاتی را می توان به سه دسته تقسیم کرد:
دسته اول برنامه نویسان کاربردی هستند که مسئول نوشتن برنامه های کاربردی بانک اطلاعاتی اند که به زبان های خاصی مثل COBOL ، PL/1 ، ++C ، جاوا و یا زبان های نسل چهارم برنامه نویسی می کنند. این برنامه ها با ارسال درخواست مناسبی به DBMS به بانک اطلاعاتی دستیابی دارند (معمولا با دستورات SQL) برنامه ها می توانند به صورت دسته ای (Batch) و یا به صورت Online باشند که کاربران می توانند از طریق ایستگاه کاری ، پایانه یا کامپیوتر شخصی به طور محاوره ای به آن ها دستیابی داشته باشند.
دسته دوم از کاربران ، کاربران نهایی هستند که از طریق ایستگاه های کاری یا پایانه ها به سیستم دسترسی دارند. هر کاربر می تواند از طریق یکی از برنامه های کاربردی online که در پاراگراف قبلی نام برده شدند به بانک اطلاعاتی دستیابی داشته باشند. این کاربران همچنین از طریق واسطی که به عنوان بخشی از نرم افزار سیستم بانک اطلاعاتی است، به بانک اطلاعاتی دستیابی دارند. واسط ها به وسیله ی ابزارهای برنامه های کاربردی online نیز پشتیبانی می شوند، البته این برنامه ها پیش ساخته بوده، توسط کاربران نوشته نمی شوند. اغلب سیستم های بانک اطلاعاتی حداقل یکی از این برنامه های پیش ساخته را دارا هستند که نامش پردازنده ی زبان تقاضا است.کاربر از طریق آن می تواند تقاضاهای بانک اطلاعاتی مثل SELECT و INSERT را به طور محاوره ای به DBMS ارسال کند. زبان SQL ، نمونه ای از زبان تقاضای بانک اطلاعاتی است. اصطلاح "زبان تقاضا" آن طور که در انگلیسی مرسوم است، به معنی فقط بازیابی است، در حالی که زبان تقاضا ، اعمل UPDATE ، INSERT و DELETE (و احتمالا اعمال دیگر) را فراهم و پشیبانی می کند. اغلب سیستم ها واسط های پیش ساخته ی دیگری را فراهم می کنند که در آن ، کاربران صریحا تقاضاهایی مثل SELECT را ارسال نمی کنند، بلکه گزینه ای از منو را انتخاب می کنند با کادری را در یک فرم پر می کنند. این واسط های منویی یا فرمی برای کاربرانی که آموزش رسمی ندیده اند ، مفید است. واسط های دستوری، مثل زبان های تقاضا ، مستلزم آشنایی با فناوری اطلاعات (IT) است. اما گاهی قابلیت واسط های دستوری امکاناتی دارد که در سایر واسط ها فراهم نشده اند.
سومین دسته از کاربران مدیر(Administrator) بانک اطلاعاتی (DBA) است. وظیفه ی سرپرست بانک اطلاعاتی و سرپرست داده ها در مقاله های دیگر بحث می شود.
این مقاله از ابتدای کتاب "سیستم های بانک اطلاعاتی" توسط آقای سی.جی دیت نوشته شده و ترجمه ی آن را آقای مهندس جعفرنژادقمی برعهده گرفته اند. خیلی سعی کردم که از طریق سایت و یا ایمیل ایشان جهت اجازه ی انتشار این قسمت از کتاب تماس بگیرم که متاسفانه احتمالا به دلیل مسائل و مشغله ی کاری امکان پاسخ گویی به بنده وجود نداشت. اما در هر جهت در اینجا از این استاد گرامی کسب اجازه می کنم.