مفهوم پایگاه داده ها : پایگاه داده ها در ساده ترین وجه به مثابه مخزنی میماند که اطلاعات و داده ها به صورت منسجم و احتمالا ساخت یافته در آن نگهداری میشود .
این مخزن میتواند یک فایل متنی یا باینری ساده باشد .
همزمان با پیدایش تکنولوژی ذخیره سازی اطلاعات و فایلها ، پایگاه داده ها نیز متولد شد و همزمان با رشد تکنولوژی ذخیره و بازیابی اطلاعات و سیستم فایلینگ ، پایگاه داده ها نیز به صورت موازی و با آن رشد کرد .
پایگاه داده ها از زمان تولد تا کنون پنج نسل را سپری کرده است .
همزمان با گسترش نیاز کاربران برای ذخیره سازی و بازیابی اطلاعات برنامه نویسان متعددی اقدام به ایجاد برنامه هایی با اهداف و کاربردهای متفاوت کردند .
صرف نظر از برنامه هایی که از نظر کاربرد کاملا متفاوت بودند برنامه هایی نیز وجود داشتند که ماهیت و کاربرد یکسانی داشتند ولی توسط برنامه نویسان متعدد ایجاد شده بودند .
بهترین مثال برای این مطلب دفترچه تلفن میباشد .
چندین و چند نسخه متفاوت دفترچه تلفن موجود بود که همه آنها امکانات کاملا مشابهی داشتند ولی الگوریتمها و روشهای برنامه نویسی آنها کاملا متفاوت بود .
مهمترین وعمده ترین تفاوتهای که بین این برنامه ها وجود داشت در زیر ذکر شده اند : نوع و ماهیت فایلی که اطلاعات در آن ذخیره میشد ( بعضیهااز نوع باینری و بعضی TXT و...
بودند ) الگوریتم و روش ذخیره سازی داده ها در فایل نام توابع ( فرضا تابع مربوط به جستجو در هر برنامه نامی مطابق با سلیقه برنامه نویس داشت ) تمام این برنامه ها در واقع نوعی بانک اطلاعاتی هستند که برای اهداف خاص ایجاد شده اند .
لذا به منابع داده در هر برنامه به جز در همان برنامه در جای دیگری کاربرد نداشت و به هیچ درد دیگری نمیخورد حتی برنامه هایی که مشابه بودند ( مانند دفترچه تلفن ) نیز ( بنا به دلایل ذکر شده ) نمیتوانستند با هم تبادل اطلاعات داشته باشند و اگر میخواستیم از فایل حاوی داده های یک دفترچه تلفن در دفترچه تلفن دیگری استفاده کنیم هیچ راهی وجود نداشت .
در ضمن در تمام این برنامه ها به جز فایل و برنامه نوشته شده توسط برنامه نویس هیچ چیز دیگری وجود نداشت که بتواند امنیت داده ها را تضمین کند .
و به طور کلی داده ها را کنترل و مدیریت کند .
مشکل دیگری که این برنامه ها داشتند این بود که این برنامه ها تنها قابلیت این را داشتند که یک کاربر از آنها استفاده کند و استفاده به صورت اشتراکی از منابع داده ها امکان پذیر نبود .
با گسترش روز افزون اطلاعات و نیاز روز افزون کاربران برای ذخیره و بازیابی اطلاعات و دسترسی سریع به اطلاعات و لزوم تامین امنیت اطلاعات ، لازم بود برنامه های تخصصی و ویژه ای برای این منظور ایجاد شوند .
لذا چندین شرکت تصمیم به طراحی و تولید چنین برنامه هایی را گرفتند که از شرکتهای IBM و Microsoft و چند شرکت دیگر به عنوان پیشگامان این امر میتوان نام برد .
برنامه های مذکور پایگاه داده ها نام گرفتند .
شرکتهای مذکور باید برنامه هایی را ایجاد میکردند که قابلیت استفاده برای مصارف گوناگون را داشته باشد .
در ضمن این برنامه ها باید دارای قسمتی باشند که به عنوان واسط بین برنامه کاربردی و فایلها (منابع داده ) قرار بگیرد و عملیاتهای مربوط به ایجاد ، حذف و تغییر و ...
را در منابع داده را کنترل و مدیریت کند .
این برنامه واسط را DBMS نامیدند .
DBMS اختصار (DATABASE MANANGMENT SYSTEM ) میباشد که معنای لغوی آن سیستم مدیریت پایگاه داده یا سیستم مدیریت داده ها میباشد .
باید خدمتتون عرض کنم که بزرگترین جهشی که پایگاه داده ها در راستای رشد و تکامل داشت مربوط به همین قسمت یعنی تولید و تکامل DBMS میباشد .
گفتیم که وظیفه DBMS این است که بین برنامه کاربردی و منابع داده ها قرار بگیرد و کلیه عملیاتهای مربوط به( ایجاد ، تغییر ، حذف و ....
) منابع داده ها را کنترل و مدیریت کند .
کنترل و مدیریت منابع داده ها بسیار کلی و میباشد و اگر بخواهیم منظور از کنترل و مدیریت را کامل شرح دهیم باید ساعتها وقت صرف کنیم و دهها صفحه مطلب بنویسیم که قطعا در این مجموعه نخواهد گنجید ضمن آنکه این مطالب کاربردی نیط نیستند و تنها جنبه اطلاعاتی دارند لذا تنها چند نکته مهم را ذکر میکنم و در صورتی که علاقمند بودید بیشتر بدانید میتوانید به کتابهای موجود در این زمینه مراجعه فرمایید .
منظور از کنترل و مدیریت : مصون کردن برنامه های کاربردی در قبال تغییرات در سخت افزار ذخیره سازی .
مدیریت رکوردهای سرریز که پس از لود اولیه باید در فایل وارد شوند .
ایجاد فایل با ساختارهای گوناگون فراهم کردن امکاناتی برای دستیابی مستقیم و ترتیبی به رکوردها و فیلدها جدا کردن ساختار فیزیکی و منطقی فایلها از یکدیگر تامین ایمنی و حفاظت داده ها جلوگیری از تکرار ذخیره سازی داده ها ( تاحدی ) فراهم کردن امکاناتی برای پردازش بلادرنگ (real time ) بسته به نوع سیستم عامل تامین صحت داده های ذخیره شده ( تاحدی ) فراهم کردن امکاناتی برای بازیابی بکمک چند کلید فراهم کردن امکاناتی برای استفاده چند کاربر به صورت همزمان از منبع داده و کنترل آن کنترل و مدیریت مسائل مربوط به همزمانی و سطح دسترسی کاربران به منبع داده ها و .....
با توجه به موارد ذکر شده شرکتها سیستمهای گوناگونی را به این منظور طراحی و تولید کردند که هر سیستم دارای یک رابط گرافیکی برای گرفتن و انجام فرامین کاربر و یک DBMS بود که تمام مطالب ذکر شده در بالا در این سیستمها لحاظ شده بودند .
علاوه بر این دو دفترچه ای نیز به همراه سیستم ارائه میشد که حاوی نام و کاربرد توابع موجود در سیستم بود .
برنامه نویسان در صورت نیاز میتوانستند از این توابع در برنامه های خود استفاده کنند و دستوری را به سیستم ارسال کنند .
رابطه این توابع با سیستم مورد نظر دقیقا مانند رابطه توابع API موجود در ویندوز و خود ویندوز میباشد .
اندک زمانی پس از تولید این سیستمها کنسرسیومی تشکیل شد که اقدام به تهیه استانداردهایی در زمینه تولید نرم افزارهای بانک اطلاعاتی کرد و از آن پس تمام شرکتهای تولید کننده ملزم به رعایت این استانداردها بودند .
یکی از این تصمیمات و استانداردها یکسان سازی نام توابع در تمام سیستمها بود .
دیگر آنکه قرار بر آن شد که یکسری کلمات و عبارات ویژه درنظر گرفته شوند که هر یک معرف عملیاتی ویژه باشند و برنامه ای به تمام سیستمها اضافه شود که وظیفه آن دریافت ، تفسیر و اجرای این عبارات (دستورات ) باشد .
مجموعه این کلمات و برنامه ای که وظیفه تفسیر آنها را داشت ، منجر به تولید زبان مشترکی برای بانک های اطلاعاتی شد .
این زبان برنامه نویسی زبان پایه تمام بانکهای اطلاعاتی میباشد که آن را T-SQL مینامند که اختصار (Transact Structured Query Language ) میباشد با توجه به موارد ذکر شده شرکتها سیستمهای گوناگونی را به این منظور طراحی و تولید کردند که هر سیستم دارای یک رابط گرافیکی برای گرفتن و انجام فرامین کاربر و یک DBMS بود که تمام مطالب ذکر شده در بالا در این سیستمها لحاظ شده بودند .
مجموعه این کلمات و برنامه ای که وظیفه تفسیر آنها را داشت ، منجر به تولید زبان مشترکی برای بانکهای اطلاعاتی شد .
این زبان برنامه نویسی زبان پایه تمام بانکهای اطلاعاتی میباشد که آن را T-SQL مینامند که اختصار (Transact Structured Query Language ) میباشد .
در واقع وظیفه این کلمات و عبارات فراخوانی توابع موجود در سیستم میباشد .
دستورات زبانSQL به دوبخش تقسیم میشود : دستورات مربوط به کار با داده ها ( DML) دستورات مربوط به تعریف داده ها ( DDL ) تمامی سیستمهای ارائه شده در DML دستورات کاملا مشابهی را دارا میباشند اما در بخش DDL دارای تفاوتهای جزئی میباشند .
در ضمن سیستمهای مختلف ارائه شده علاوه بر دستوراتی که کار یکسانی را انجام میدهند ممکن است دستورات اضافه تری نیز داشته باشند که وظیفه این دستورات اضافی انجام عملیاتهای ترکیبی میباشد .
جلوتر بیشتر با این زبان برنامه نویسی و دستورات آن آشنا خواهیم شد و در مثالهای مختلف از دستورات مختلف این زبان استفاده خواهیم کرد .
خوب تا اینجا با تاریخچه پایگاه داده ها به صورت کلی و ساده آشنا شدیم .
در زیر چکیده ای از مطالب بالا را به همراه مزیتهای بوجود آمدن تکنولوژی بانک اطلاعاتی را ذکر خواهم کرد .و از این پس میرویم سراغ مفاهیم کاربردی پایگاه داده ها .
دقت کنید که مفاهیم و کلمات مهم را به صورت زیر خط دار و زردرنگ نوشته ام .
از مجموعه مطالب ذکر شده در بالا فهمیدیم که : با گسترش روز افزون اطلاعات و نیاز کاربران به ذخیره و بازیابی اطلاعات سیستمهایی طراحی شدند که قابلیت استفاده برای مصارف گوناگون را دارا میباشند .
همچنین این برنامه ها امکان استفاده اشتراکی از منابع داده را نیز فراهم کردند .
در این سیستمها ما به هر فایلی که اطلاعاتی با ساختار معین در آن قرار گرفته است را منبع داده مینامیم.
این سیستمها به صورت تخصصی برای ذخیره و بازیابی اطلاعات طراحی و ساخته شده اند از این رو به این سیستمها پایگاه داده ها یا همان بانک اطلاعاتی میگوییم .
تمامی پایگاه داده های موجود دارای بخشی با عنوان DBMS یا سیستم مدیریت داده ها میباشند که به عنوان واسط مابین برنامه کاربردی و منبع داده قرار میگیرد و کلیه موارد مربوط به ذخیره و بازیابی لطلاعات را به صورت خودکار کنترل میکند .
این سیستم همچنین مسئول تامین امنیت داده های ذخیره شده نیز میباشد .
سیستمهای ارائه شده محصول هر شرکتی که باشند از استاندارد واحدی برای ذخیره و بازیابی اطلاعات تبعیت میکنند .
در ضمن تمامی پایگاه داده های موجود دارای یک زبان پایه و مشترک با نام T-SQL مبباشند که برنامه نویسان در اکثر موارد بدون آنکه نوع بانک مورد نظر مهم باشد میتوانند از این زبان برای انجام امور بانکی در برنامه های خود استفاده کنند .
علاوه بر مطالب ذکر شده باید خدمتتون عرض کنم که بانکهای اطلاعاتی دارای مزیتهای بینظیری میباشند که این مزیتها به تدریج به این تکنولوژی اضافه شدند .از جمله این مزیتها میتوان کنترل متمرکز روی تمام داده هارا نام برد که یکی از مزایای این امر کاهش میزان افزونگی در ذخیره سازی داده ها میباشد .در واقع در تکنولوژی بانکهای اطلاعاتی تکرار ذخیره سازی داده ها به حداقل میرسد که این امر خود دارای مزایای فراوانی میباشد که صرفه جویی در فضای ذخیره سازی و کاهش عملیات سیستم از جمله مهمترین آنها میباشد .
یکی دیگر از مزیتهای مهم بانکهای اطلاعاتی این است که با گسترش این تکنولوژی مفهوم چند سطحی بودن و معماری چند لایه به تدریج قوت یافت و بسط پیدا کرد .
از دیگر مزایای این تکنولوژی این است که مفاهیمی چون منطق صوری ، سیستمهای خبره ، مفاهیم هوش مصنوعی و ...
نیز در این تکنولوژی رخنه کرده اند که این امر موجب میشود که سیستم قادر به استنتاج منطقی از داده های ذخیره شده باشد .
و به عنوان آخرین مزیت نیز میتوان این مورد را ذکر کرد که در این سیستمها کاربران در یک محیط انتزاعی (ABSTRACTIVE) و مبتنی بر یک ساختار داده یی تجریدی کار میکنند و بکمک احکام زبانی خاص ، عملیات مورد نظر خود را انجام میدهندو بدین ترتیب برنامه های کاربردی ازداده های محیط فیزیکی کاملا مستقل میشوند .من گفتم آخرین مزیت اما این آخرین مزیت نیست بلکه آخرین مزیتی است که من ذکر میکنم و مزیتهای استفاده از بانک اطلاعاتی نیز آنقدر زیاد است که از حوصله این مقاله خارج میباشد .
تا اینجا بحث بارها به کلمات داده ها و اطلاعات برخورد کرده ایم .
اما مفهوم واقعی این دو چیست ؟
در زیر تعریف این دو واژه را برای شما ذکر خواهم کرد و با تفاوتهای این دو آشنا خواهیم شد .
توجه : مطالبی که از اینجا به بعد ذکر خواهند شد بسیار بسیار مهم و حیاتی میباشند لذا خواهشمندم تا زمانی که هر خط را کاملا متوجه نشده اید هرگز سراغ خط بعدی نروید .
حتی اگر صد بار یک خط را تکرار کنید .
مفهوم داده : داده عبارت است از مقادیر صفات خاصه (ATTRIBUTES) انواع موجودیت ها .
خوب با ارائه تعریفی برای داده با دو واژه دیگر نیز برخوردکردیم که احتمالا برای شما نامفهوم میباشد لذا تعریفی برای این دو نیز ارائه خواهم داد .
نوع موجودیت : مفهوم کلی یک پدیده ، شی و یا فرد که در ورد آنها میخواهیم اطلاع داشته باشیم .
صفت خاصه : ویژگی جداساز یک نوع موجودیت