پایگاه داده ها پیرنیا
لیست مراجع :
1- An Introduction to Database Systems , 8th Edition , by C. J. Date , 2004 Addison-Wesley
2- مقدمه ای بر پایگاه داده ها سید محمد تقی روحانی رانکوهی 1378
3- مفاهیم بنیادی پایگاه داده ها سید محمد تقی روحانی رانکوهی ، ویراست دوم 1383
4- Database System Concepts by Korth and Silbershatz 4th Edition 2002
Database پایگاه داده ها
رئوس مطالب جلسات اول و دوم
1) سیر تحول سیستمهای ذخیره و بازیابی اطلاعات (Storage and Retrieval Systems)
1-1) مقدمه : نیاز همیشه انسان به اطلاعات
2-1) تعریف سیستم ذخیره و بازیابی اطلاعات
3-1) تعریف سیستم واسط ذخیره و بازیابی
4-1) عناصر تشکیل دهنده یک سیستم ذخیره و بازیابی اطلاعات
– سخت افزار (Hardware)
– نرم افزار (Software)
– کاربر (User)
– داده (Data)
5-1) تعریف داده و اطلاع
6-1) مروری بر نسلهای تکنولوژی سیستم واسط
2) پایگاه داده ها (Database)
1-2) تعریف
2-2) شرح کلمات مورد استفاده در تعریف
– داده های یکپارچه (Integrated Data)
– افزونگی (Redundancy)
– ساختار داده ها (Data Structure)
3-2) یک مثال مقدماتی برای درک تعریف پایگاه داده
– تعریف ناسازگاری داده ها (Data Inconsistency)
– تعریف بروز رسانی منتشر شونده (Propagating Updates)
– تعریف استقلال داده ای (Data Independence)
3) عناصر اصلی محیط پایگاه داده ها
1-3) سخت افزار (Hardware)
2-3) نرم افزار (Software)
3-3) کاربر (User)
4-3) داده (Data)
1) سیر تحول سیستمهای ذخیره و بازیابی اطلاعات (Storage and Real-time Systems)
1-1) مقدمه : نیاز همیشه انسان به اطلاعات :
شکل 1 – نیاز همیشه انسان به اطلاعات
– سیر تحول رسانه ذخیره سازی :
– لوحهای سنگی، گلی ، چوبی، پوستی
– کاغذ : سیستمهای دستی برای ثبت اسناد و مدارک “دفتر داری” ، “داده داری” ، “ بایگانی” دفترهای مختلفی ایجاد شد.
– نوارهای مغناطیسی (Tapes)
– دیسکها، RAIDS
بازیابی اطلاعات
انسان
همیشه
نیازمند به
پردازش اطلاعات
تولید اطلاعات
ذخیره سازی اطلاعات
2-1) تعریف سیستم ذخیره و بازیابی اطلاعات (Storage and Retrieval System) :
به هر سیستمی گفته می شود که به انسان امکان می دهد تا اطلاعات مورد نظرش را ذخیره و در صورت نیاز بازیابی کند و با تولید اطلاعات جدید بر شناختش از محیط عملیاتی اش بیفزاید .
– انواع سیستم ذخیره و بازیابی اطلاعات
– سیستم دستی (Manual)
– سیستم اتوماتیزه (Automatic)
– سیستم دستی در
– درج اطلاعات (Insert)
– تغییر اطلاعات (Update)
– بازیابی اطلاعات (Retrieval)
دچار مشکل است .
3-1) تعریف سیستم واسط ذخیره و بازیابی – سیستم ذخیره و بازیابی اتوماتیک (کامپیوتری)
بخش اصلی این سیستم نرم افزاری است . در این بحث این بخش نرم افزاری سیستم ، که خود نوعی سیستم است را سیستم واسط ذخیره و بازیابی اطلاعات می گوییم .
انسان برنامه ساز
شکل 2 : سیستم ذخیره و بازیابی اطلاعات
– محیط فیزیکی ذخیره سازی اطلاعات : شامل داده های ذخیره شده روی رسانه ها و خود رسانه ها می باشد .
انسان
شکل 3 : سیستم ذخیره و بازیابی اطلاعات
محیط فیزیکی
ذخیره سازی
اطلاعات
سیستم عامل
سیستم واسط
سیستم واسط
ذخیره و بازیابی
اطلاعات
محیط فیزیکی
ذخیره سازی
اطلاعات
امکان
تماس
4-1) عناطر تشکیل دهنده یک سیستم ذخیره و بازیابی اطلاعات :
– سخت افزار (Hardware)
– نرم افزار (Software)
– کاربر (User)
– داده (Data)
– سخت افزار (Hardware)
شامل : ملزومات و امکاناتی که به اصطلاح ((رسانه های ذخیره سازی )) گفته می شود و همچنین خود کامپیوتر.
– نرم افزار (Software) :
– نرم افزار خود سیستم واسط ( تهیه کنندگان نرم افزارهای سیستمی )
– نرم افزار تماس با سیستم واسط ( کاربران با مهارتهای برنامه سازی )
– نرم افزار خدماتی : مجموعه ای از واحدهای نرم افزاری که تماس انسان با سیستم را تسهیل و تسریع می نمایند . از جمله نرم افزارهایی که شامل فرمهای ورود و تغییر اطلاعات و گزارشات و …
می باشند .
تکوین اطلاع
ذهن انسان
تصمیم گیری
عملیات
شکل 4 : ارتباط بین داده مسئله و اطلاع
مسئله
داده
کاربر (User) :
خود انواعی دارد و طیفی از کاربران با مهارت برنامه سازی تا کاربران فاقد مهارت برنامه سازی را در بر می گیرد.
– مروری بر نسلهای تکنولوژی سیستم واسط
نسل اول (1957 – 1948) : نسل بدون سیستم واسط
نسل دوم (1966 – 1958) : نسل شیوه های دستیابی (Access Methods)
نسل سوم (1973 – 1967) : نسل سیستم مدیریت داده ها (Data Management System)
نسل چهارم (1980 – 1974) : نسل سیستم مدیریت پایگاه داده ها (Database Management System)
نسل پنجم (تاکنون – 1981) : نسل بانکهای معرفت (Knowledge Bases)
– نسل اول (1957-1948) : نسل بدون نرم افزار واسط :
– رسانه ذخیره سازی معمولا نوار بود .
– نسل فایل های ترتیبی ساده .
– رکوردها به ترتیب ورود روی رسانه درج می شوند .
– نرم افزار ابتدایی عملیات ورودی و خروجی را بر عهده دارد .
– هرگونه تغییر در رسانه های ذخیره سازی یا ساختار فایل منطقی ( فیزیکی ) سبب تغییر در برنامه ایجاد کننده و پردازشگر فایل می شود .
– تنها روش پردازش فایلها ، پردازش دسته ای (batch) است .
– نسخه های متعددی از یک فایل نگهداری می شود .
– نرم افزار تنها عملیات ورودی / خروجی را انجام می دهد و نرم افزار واسطی برای مدیریت پردازش فایلها وجود ندارد .
– طراحی ساختار فیزیکی فایلها بر عهده کاربر است . ( در برنامه کاربر )
– داده ها برای کاربرد خاصی طراحی و سازماندهی می شوند .
– استفاده از یک داده در چندین کاربرد نادر است ( اشتراک داده ها مطرح نیست ) .
– تکرار در ذخیره سازی داده ها در بالاترین حد است .
– نسل دوم : نسل شیوه های دستیابی (1966- 1958) (Access Methods) :
– رسانه های با دستیابی مستقیم Disk ها بوجود آمدند .
– نرم افزارهایی به نام شیوه های دستیابی ایجاد شدند .
تعریف شیوه دستیابی (AM) : نرم افزاری است که به جنبه های فیزیکی محیط ذخیره سازی و عملیات در این محیط می پردازد ، به نحوی که دیگر برنامه کاربر نیازی به پرداختن به این جنبه ها را ندارد .
– برنامه های کاربردی در قبال تغییرات در سخت افزار ذخیره سازی و طرح نشست فیزیکی فایلها روی رسانه مصونیت یافتند .
– مفهوم فایل منطقی ( دید کاربر از رکوردهای ذخیره شده ) از مفهوم فایل فیزیکی ( آنگونه که رکورده روی رسانه ذخیره می شوند ) متمایز شد .
– امکان دستیابی ترتیبی و مستقیم به رکوردها ( نه فیلدها ) بوجود آمد .
– پردازش در محیطهای بر خط (Online) و محیطهای بلادرنگ (Real-time) بوجود آمد .
– برنامه کاربردی هنوز از محیط فیزیکی مستقل نیست .
– روشهای تامین ایمنی و حفاظت دهده ها ابتدایی هستند .
– داده ها همچنان برای کاربردهای خاص طراحی می شوند (اشتراک داده ها وجود ندارد) .
– تکرار ذخیره سازی هنوز در حد نسبتا بالایی وجود دارد .
– نرم افزاری برای مدیریت داده ها وجود ندارد .
مثالهایی از (AM) :
VSAM : Virtual Storage Access Method
ISAM : Indexed Sequential Access Method
Btrieve and now Pervasive. SQL : www.pervasive.com
نسل سوم : نسل سیستم مدیریت داده ها (1973-1967) (Data Management System) (DMS) :
– نرم افزاری نسبتا پیچیده بنام سیستم مدیریت داده ها ، واسط است بین برنامه های کاربران و محیط فیزیکی ذخیره سازی .
– فایلهای منطقی متعددی می توانند از داده های فیزیکی مشترک بهره برداری کنند .
– میزان تکرار ذخیره سازی کاهش می یابد .
– داده های مشترک در کاربردهای متنوع بکار می روند .
– نشانی دهی داده ها در سطح فیلدامکان پذیر است .
– نسل چهارم : نسل سیستم مدیریت پایگاه داده ها (1980-1974) (Databse Management System) (DBMS) :
– نسل جهش در تکنولوژی ذخیره و بازیابی اطلاعات بود .
– مستقل شدن برنامه های کاربردی از جنبه ها و خصوصیات محیط فیزیکی ذخیره سازی که آن را اصطلاحا استقلال داده فیزیکی (Physical Data Independence) می نامند .
– نرم افزار پیچیده و جامع موسوم به سیستم مدیریت پایگاه داده ها واسط بین برنامه های کاربران و محیط داخلی فیزیکی ذخیره سازی است .
– داده ها به عنوان مهمترین سرمایه های سازمان مطرح شدند .
– ایمنی داده ها و دسترس پذیری داده ها (Security and Availability) مطرح شدند .
نسل پنجم نسل بانکهای معرفت و شی گرا (تاکنون-1981) :
– Knowledge bases
– Object oriented databases
– Object relational database
– داده (Data) :
– تعریف ANSI : عبارت است از نمایش واقعیات ، پدیده ها ، مفاهیم ، معلومات و شناختها به گونه ای صوری و مناسب برای برقراری ارتباط ، تفسیر یا پردازش توسط انسان یا امکانات خودکار .
– تعریف اطلاع (Information) : معنایی است که انسان به داده منتسب می کند . در واقع هنگامی که داده در یک موقعیت مشخص و در یک بستر خاص و برای حل یک مشکل مشخص مورد تفسیر و ارزیابی قرار گیرد ، اطلاع حاصل می شود .
– داده صرفا جنبه نمایش دهندگی دارد ، در حالیکه اطلاع دارای خاصیت ارتباط دهندگی و انتقال دهندگی است . داده باید در معرض تفسیری هوشمندانه قرار گیرد تا اطلاع عاید شود و انسان از اطلاع که حامل معنا ، مفهوم و شناخت است در حل مسائل (تصمیم گیری) استفاده می کند .
2- پایگاه داده ها (Database) :
– تعریف : پایگاه داده ها مجموعه ای است از داده های ذخیره شده ، بطور یکپارچه (integrated) ، حتی الامکان بدون افزونگی (Redundancy) (با افزونگی کنترل شده) ، مبتنی بر یک ساختار داده ای (DS) مشخص ، تعریف شده بطور صوری (Formal) ، تحت مدیریت متمرکز (Centralized Management) مورد استفاده یک یا چند کاربر ، بطور اشتراکی و همزمان.
– منظور از (Integrated Data) (داده های یکپارچه ) : یعنی یک اتحادی از فایلهای داده ای که در غیر این صورت فایلهای داده ای مجزا و متمایز بودند ، بطوریکه هر گونه افزونگی میان آن فایلها تماما یا تا حدودی حذف شده است .
مثال مقدماتی (صرفا درک بهتر تعریف) :
محیط عملیاتی دانشگاه: زیر محیطها شامل:
هر زیر محیط مجموعه نیازهای اطلاعاتی خاص دارد.
مثلا: اطلاعات پرسنلی، اطلاعات حقوق و دستمزد کارمندان، اطلاعات امور دانشجویان، اطلاعات خوابگاه ها، اطلاعات تیمها و سالن هه و رشته های ورزشی، …
اداره بهداشت
اداره آموزش
اداره امور دانشجویی
اداره امور مالی
…
سازمان
ورزش
مجموعه نیازهای اطلاعاتی مجموعه Application Programs : سیستم حقوق و دستمزد، سیستم پرسنلی، سیستم اطلاعات دانشجویی، …
دو مشی کلی برای ایجاد سیستم اتوماتیزه این محیط عملیاتی وجود دارد:
– مشی فایلینگ (کلاسیک)(غیر بانکی) (Non database policy)
– مشی بانکی (Database policy)
مشی فایلینگ :
– هر یک از زیر محیطها بطور جداگانه مورد مطالعه و تجزیه و تحلیل قرار می گیرند.
– طراحی تعدادی فایل
– تولید تعدادی برنامه ایجاد کننده فایل و برنامه فایل پرداز یا یک مجموعه از AP ها که نهایتا محیط ذخیره و بازیابی اطلاعات ایجاد شود.
Fs
فایلهای محیط
فیزیکی خاص
U1
اداره آموزش
U1
استفاده می شودDMSدر بهترین حالت از
زبان سطح بالا
برنامه ایجاد کننده فایل و ارتباط
بین فایلها و تغییرات فایل پرداز
User interface
سیستم عامل OS
Fs
فایلهای محیط
فیزیکی خاص
U2
اداره امور
دانشجویان
U2
User interface
سیستم عامل OS
یک مجموعه اطلاعات از جمله در مورد موجودیت دانشجو
یک مجموعه اطلاعات از جمله در مورد موجودیت دانشجو (نه لزوما همان اطلاعات قبلی)
App. ها
معایب این سیستم مثالی(Filing):
نا مجتمع بودن (یکپارچه نبودن) داده های ذخیره شده (سیستمهای پراکنده)
درجه قابل ملاحظه ای از افزونگی (Redundancy) در ذخیره سازی
خطر بروز پدیده ناسازگاری داده ها (Data inconsistency) (ناهمخوانی)
عدم امکان اعمال استانداردها (بدلیل وجود سیستمهای پراکنده)
خطر نا ایمن شدن داده ها: عدم وجود سیستم ایمنی کارا در محیط عملیاتی
حجم بالای برنامه سازی: تعداد بیشتر برنامه ها و بالا بودن حجم برنامه ها
وابستگی برنامه های کاربردی به محیط فیزیکی ذخیره سازی اطلاعات.
استانداردها:
در مراحل مختلف تجزیه و تحلیل، طراحی، پیاده سازی، تست، نگهداری و بهره برداری، رفع اشکالات احتمالی، استاندارد واحدی وجود ندارد.
– کنترل چنین محیط پراکنده ای اگر نه نا ممکن بلکه دشوار است.
تمرین: روی چه محورهایی استانداردها وضع می شود ؟ (یا برای چه چیزهایی استاندارد وضع می کنیم؟)
(مثلا: مجموعه استانداردها در تولید برنامه ها یا در تولید مستندات)www.ansi.org
– وابستگی برنامه های کاربردی به محیط فیزیکی ذخیره سازی اطلاعات (محیط فایلینگ) : یعنی هرگونه تغییری در محیط ذخیره سازی ایجاد شود منجر به تغییر در برنامه می شود.
تمرین: چه تغییراتی در محیط فایلینگ پدید می آید؟
جواب : تغییراتی که از سطح فیلد تا ارتباط بین فایلها ممکن است پدید آید از یکسو و تغییرات در رسانه ذخیره سازی از سوی دیگر.
تغییرات در فیلد:
نام فیلد
طول فیلد
مکان فیلد در رکوردها
معایب دیگر مشی فایلینگ پس از بررسی مزایای مشی بانکی مشخص خواهد شد.
افزونگی (Redundancy) :
از آنجا که داده ها integrated (یکپارچه یا مجتمع) نیستند، هر Application فایلهای خاص خود را دارد که می تواند منجر
به میزان قابل ملاحظه ای افزونگی داده های ذخیره شده گردد که یکی از نتایج آن اتلاف فضای ذخیره سازی است.
ناسازگاری داده ها (Data inconsistency) :
اگر این واقعیت که دانشجویی مثلا S1 در گروه مهندسی شیمی درس می خواند، دو بار در فایلهای مختلف ذخیره شده باشد(مثلا برای زیر محیطهای مختلف) وقتی سیستم مدیریت پایگاه داده هایی وجود ندارد و از این دوبار ذخیره سازی مطلع نیست، زمانهایی ممکن است پیش بیاید که دو مجموعه داده وارد شده با هم سازگار نیستند. به عنوان مثال وقتی که فقط یکی از آنها به روز در آمده باشد (update شده باشد)، در چنین مواقعی گفته میشود که: مجموعه داده ها ناسازگار (inconsistence) است.
اگر مجموعه داده فوق الذکر (در ارتباط با دانشجوی S1 ) فقط یکبار ذخیره می شد (یعنی افزونگی وجود نداشت) چنین ناسازگاری امکان نداشت رخ دهد. همچنین اگر افزونگی فوق وجود داشت ولی کنترل شده بود (افزونگی کنترل شده) یعنی DBMS ای وجود داشت و از این افزونگی با خبر بود DBMS می توانست. تضمین کند که Database هیچگاه ناسازگار نباشد.
به چه ترتیب ؟؟
با تضمین اینکه هر تغییری در هر یک از مجموعه داده مربوط به S1 بطور اتوماتیک به دیگری نیز اعمال شود.
این فرآیند Propagating update (به روزرسانی منتشر شونده) نام دارد.
مشی بانکی (Database Policy) :
D
B
M
S
F
S
محیط واحد
و مجتمع
ذخیره سازی
Interconnected
files
محیط
فیزیکی
پایگاه
تعریف جامع داده ها و کار با داده ها
دید واحد و جامع نسبت به داده ها
برنامه تعریف داده
و کار با داده ها(توسط تیم طراح)ها
AP ها
AP ها
وحدت ذخیره سازی
OS
برنامه های تعریف داده ها و کار با داده ها در محدوده ایده آل
اداره آموزش
اداره امور دانشجویی
زبان سطح بالا
نرم افزاری که امکان تعریف جامع
و واحد را می دهد و فایلها را
خودش ایجاد می کند.
(فایلهای لازم برای محیط)
U1
U2
محیطهای مختلف با تعدد نیازهای اطلاعاتی
و تعداد دیدها. حتی گاهی تا حد تضاد و تغایر در دید کاربران نسبت به داده های ذخیره شده یا کثرت (تعدد) دیدها