آموزش پایگاه داده – مرور مفاهیم پایه
فصل اول : مفاهیم اولیه
فایل های اطلاعاتی که به نوعی به هم مرتبط هستند، تشکیل یک بانک اطلاعاتی را می دهند. فایل چیست؟ فایل شامل مجموعه ای از رکوردها می باشد. رکورد چیست؟ رکورد مجموعه ای از فیلد های بهم مرتبط است. فیلد چیست؟ فیلد کوچکترین جزء یک بانک اطلاعاتی می باشد.
فصل اول : مفاهیم اولیه
فایل های اطلاعاتی که به نوعی به هم مرتبط هستند، تشکیل یک بانک اطلاعاتی را می دهند.
فایل چیست؟ فایل شامل مجموعه ای از رکوردها می باشد.
رکورد چیست؟ رکورد مجموعه ای از فیلد های بهم مرتبط است.
فیلد چیست؟ فیلد کوچکترین جزء یک بانک اطلاعاتی می باشد.
بعنوان مثال در بانک اطلاعاتی دانشگاه چندین فایل وجود دارد مانند فایل دانشجویان که شامل چندین رکورد است، هر رکورد شامل اطلاعات یک دانشجو می باشد که از چندین فیلد مانند شماره دانشجویی ، نام ، آدرس ، معدل و … تشکیل شده است.
چند تعریف
داده: نمایش پدیده ها و مفاهیم به صورت صوری و مناسب برای برقراری ارتباط یا پردازش را داده گویند.
اطلاع: داده پردازش شده را اطلاع گویند.
داده همان مقدار ذخیره شده و اطلاع معنای داده است.
تعاریف زیادی برای پایگاه داده ها وجود دارد که رایجترین تعریف پایگاه داده عبارت است از: مجموعه ای از داده های ذخیره شده و پایا (ماندگار) به صورت مجتمع و بهم مرتبط، با کمترین افزونگی، تحت مدیریت یک سیستم کنترل متمرکز، مورد استفاده یک یا چند کاربر به صورت همزمان و اشتراکی.
روش های ایجاد سیستم های کاربردی
- روش پایگاهی
در این روش نیازهای اطلاعاتی تمامی قسمتها مورد مطالعه قرار می گیرد تا بتوان یک سیستم یکپارچه (integrated) طراحی کرد. در این روش یک محیط ذخیره سازی واحد، مجتمع و اشتراکی، تحت کنترل متمرکز وجود دارد که کاربران بر اساس نیاز خاص خود، پایگاه خود را تعریف کرده و هر کاربر تصور می کند که پایگاه خود را دارد.
- روش فایلینگ (ناپایگاهی)
در این روش مراحل اولیه طراحی و تولید برای هر قسمت به طور کلاسیک انجام شده و بعد از طراحی، مشخصات هر سیستم همراه با وظایف آنها مشخص می شود. برای ایجاد محیط ذخیره سازی اطلاعات از یک سیستم فایل و برای برنامه سازی از یک زبان سطح بالا استفاده می شود و در نهایت برای هر قسمت ، یک سیستم کاربردی ایجاد می شود.
روش مورد مطالعه ما در این درس روش پایگاهی است
پایگاه داده ها در محیط خود دارای چهار عنصر است که عبارتند از:
۱ ) نرم افزار ( – DBMSنرم افزار شبکه – برنامه های کاربردی – رویه های ذخیره شده)
۲ ) سخت افزار (ذخیره سازی – ارتباطی – پردازشگر)
۳ ) کاربر (موردی – همیشگی)
۴ ) داده
ساختارهای داده ای
یک مدل داده ای شامل یک ساختار داده است همچنین شامل امکانات عملیات بر روی پایگاه داده ها و کنترل جامعیت پایگاه داده ها است.
ساختار داده ای امکانی است برای نمایش داده های موجودیت ها و انواع ارتباطات بین آنها.
انواع ساختارهای داده ای
۱ ) رابطه ای ((RDS
۲ ) سلسله مراتبی (HDS)
۳ ) شبکه ای (NDS)
ساختار رایج و مورد بحث ما ساختار رابطه ای است. از دید کاربر، بانک اطلاعاتی از تعدادی جدول تشکیل یافته است از آنجا که رابطه با جدول معادل است پس می توانیم بانک رابطه ای را بانک جدولی بنامیم.
ویژگی های ساختار رابطه ای عبارتند از:
۱ ) مبنای تئوریک قوی دارد
۲ ) دارای نمایش ساده از نظر کاربر
۳ ) دارای فقط یک عنصر ساختاری اساسی (جدول )
۴ ) امکان ارتباطات ۱:۱ , ۱:N , N:M
۵ ) ساده بودن منطق و دستور بازیابی
معماری پایگاه داده ها
معماری استاندارد پایگاه داده ها که توسط ANSI پیشنهاد شد، یک معماری سه سطحی می باشد
۱ ) سطح خارجی(External level)
۲ ) سطح ادراکی (Conceputual level)
۳ ) سطح داخلیinternal level) )
شکل معماری پایگاه داد ها
شکل زیر معماری پایگاه داده ها را با همه اجزاء آن نمایش می دهد:
تعریف دید ها
دید، پنجره ای است که از آن کاربر می تواند محدوده پایگاه خود را ببیند و خارج از این محدوده، چیزی نمی بیند.
۱ ) دید خارجی: دید کاربر نسبت به داده های ذخیره شده در پایگاه داده ها
۲ ) دید ادراکی: دید طراح نسبت به داده های ذخیره شده در پایگاه داده ها
۳ ) دید داخلی: دید DBMS نسبت به داده های ذخیره شده در پایگاه داده ها
زبان داده ای فرعی (DSL: Data Sub Language)
دستورات زبان داده ای فرعی به سه قسمت تقسیم می شوند:
۱) دستورات تعریف داده ها ( DDL)
۲) دستورات کنترل داده ها (DCL)
۳) دستورات عملیات روی داده ها (DML)
در مبحث SQL با این دستورات بیشتر آشنا می شویم
به طور کلی دو دسته زبان داده ای وجود دارد
۱) lDSL (مستقل از زبان میزبان)
۲) EDSL (ادغام شده با زبان میزبان)
یعنی DSL می تواند هم مستقل باشد و هم ادغام شدنی باشد.
ادغام می تواند صریح یا ضمنی باشد. در حالت ادغام صریح، عین دستورات DSL در برنامه به زبان میزبان نوشته می شود و در حالت ادغام ضمنی، دستورهای DSL به صورت توابع فراخوانده می شوند.
در حالت ادغام صریح، محیط برنامه سازی دو زبانی است و دو کامپایلر نیاز دارد.
سیستم مدیریت پایگاه داده ها (DBMS)
این سیستم یکی از نرم افزار های واسط بین محیط فیزیکی ذخیره و بازیابی و محیط منطقی برنامه سازی می باشد.
DBMS به برنامه ساز امکان می دهد تا پایگاه داده های خود را تعریف کرده و در آن عملیات خود را انجام دهند.
مدیر پایگاه داده ها (DBA)
مدیر پایگاه داده ها فردی است متخصص در پایگاه داده ها، با مسئولیت علمی و فنی که همراه با یک تیم تخصصی کار می کند.
چند وظیفه از وظایف تیمDBA :
- مشارکت در انتخاب DBMS و پیکر بندی سخت افزاری و نرم افزاری لازم
- تصمیم گیری در مورد تعیین معماری سیستم پایگاه داده ها
- تصمیم گیری در مورد چگونگی سازماندهی مجدد پایگاه داده ها
- طراحی سطح ادراکی پایگاه داده ها (طراحی منطقی )
- نظارت بر تعیین دیدهای خارجی و نوشتن شماهای خارجی
استقلال داده ای
وابسته نبودن برنامه های کاربردی به داده های ذخیره شده را استقلال داده ای می نامند که مهمترین اهداف تکنولوژی پایگاه داده ها می باشد. به عبارتی استقلال داده ای عبارت است از تاثیر پذیری برنامه های کاربردی در سطح خارجی در قبال رشد پایگاه داده ها و تغییر در ساختار داده های عملیاتی است.
انواع استقلال داده ای:
۱ – استقلال داده ای فیزیکی: مصونیت دید های کاربران و برنامه های کاربردی در قبال تغییرات در سطح داخلی – فیزیکی
۲ – مصونیت دیدهای کاربران و برنامه های کاربردی در قبال تغییرات در سطح ادراکی.
کاتالوگ سیستم
کاتالوگ سیستم حاوی داده هایی است در مورد داده های ذخیره شده در پایگاه داده های کاربر. (متا داده )
استفاده از کاتالوگ باعث افزایش استقلال از داده می شود.
استفاده از کاتالوگ، تغییری در سرعت ذخیره و بازیابی اطلاعات نمی گذارد.
تعریف جدول های مبنا، تعریف شاخص ها و تعریف جدول های مجازی در کاتالوگ ذخیره می شود.
مقادیر داده های درون جداول، در کاتالوگ سیستم ذخیر نمی شود.
محتویات کاتالوگ
- شماهای خارجی، ادراکی، داخلی
- ضوابط کنترل ایمنی داده ها
- مشخصات پیکربندی سخت افزاری سیستم
- شرح سازمان فیزیکی داده های ذخیره شده
- مشخصات کاربران و حقوق دستیابی آنها به داده ها
- مشخصات برنامه های کاربردی
- مشخصات پایانه های متصل به سیستم
- قواعد جامعیت
- ارتباط بین برنامه های کاربردی و داده های ذخیره شده
- توابع تعریف شده توسط کاربران
تراکنش (TRANSACTION)
تراکنش : برنامه ای که یک کاربر در محیط بانک اطلاعاتی اجرا می کند.
پایان یک تراکنش یا موفق (commit) است و یا ناموفق (abort)
DBMS بر روی هر تراکنش کنترل هایی را انجام می دهد تا جامعیت بانک اطلاعاتی تضمین شود.
ACID
۱ – یکپارچگی (Atomicity)
به این معنی است که یا تمام دستورات یک تراکنش انجام می شود یا هیچکدام از دستورات اجرا نمی شوند. این خاصیت به همه یا هیچ موسوم است (مثلا تراکنش انتقال مبلغی از یک حساب به حساب دیگر)
۲ – همخوانی (Consistency)
یعنی هر تراکنش اگر به تنهایی اجرا شود بانک را از حالت صحیح به حالتی صحیح دیگر منتقل می کند.
۳ – انزوا (Isolation)
یعنی اثر تراکنش های همروند روی یکدیگر چنان باشد که ظاهرا هر کدام به طور مجزا و در انزوا انجام می شوند.
۴ – پایائی (Durability)
به این معنی است که اثر تراکنش هایی که به مرحله انجام (commit) می رسند ماندنی است و به طور تصادفی از بین نمی رود مثلا در تراکنش انتقال پول از حسابی به حساب دیگر ، بعد از واریز مبلغ تحت هیچ شرایطی (همچون آتش سوزی ) اثر عمل انجام شده از بین نمی رود.
مجموعه: اخبار و تازه ها