Transcript Slide 1
پايگاه دادهها (بانک اطالعات)
نوع درس :تئوري
مقطع :کارشناس ي
رشته :مهندس ي کامپيوتر و IT
تعداد واحد3 :
منبع اصلي درس:
بانک اطالعات علمي -کاربردي
جلد اول
مولف :دکتر مصطفي حق جو
انتشارات :دانشگاه علم و صنعت ايران
-زمان بندی
طول ترم :شانزده هفته
تعطيالت 2 :جلسه
تعداد جلسات22 :جلسه
نحوه ارتباط سایت دانشگاه www.Shahroodut.ac.ir
نحوه ارزیابی( %5یک جلسه غیبت موجه مجاز،
حضور اجباری
غیبت بیش از دو جلسه هیچ نمره ای تعلق نمی گیرد).
امتحانک (کوئیز) :حداکثر( %10دوره ای -هر کوئیز )%1
%20
تمرین و پروژه:
)94/1/29( %30
ميان ترم:
پایان ترم( %40 :تقویم آموزش ی )94/4/7
ي)
( %10اختيار
فوق برنامه
4
فهرست مطالب
بانک اطالعات چيست؟
تصوير ادراکي عام (مدل )ER
مباني نظري مدل رابطهاي (جبر رابطهاي)
زبان پرس و جوي SQL
ي
وابستگي و نرمالساز
پروژه:
طراحي و پيادهسازي يک بانک اطالعات (بصورت گروهی)
فوق برنامه
مقاله های جدید Data mining
پايگاه داده هاي جديد
پروژه:
طراحي و پيادهسازي يک بانک اطالعات
.1تشکيل گروههاي 2نفره و انتخاب موضوع و نوع پیاده سازی به همراه
خالصه پروژه (جلسهي آينده -بصورت تایپ شده در کاغذ )0/2( )A4
.2گزارش اول ،نمودار EERپروژه و جداول استخراج شده از نمودار
(یکشنبه )0/3( )12/03
.3گزارش دوم ،طرح نیازمندیهای کاربران این سیستم بصورت پرسش و
پاسخ به آنها با استفاده از عملگرهای جبر رابطهاي (شنبه )12/23
()0/5
.4گزارش سوم ،پيادهسازي بانک اطالعات و جداول ،به همراه
پرسوجوهاي SQLبر اساسگزارش دوم و سوم (شنبه )1( )2/19
.5طراحی واسط کاربر برای ارتباط با بانک اطالعات (شنبه )1( )4/13
فوق برنامه
پايگاه دادههاي جديد
.1پيشنهاد موضوع بهمراه مستندات اولیه (حداکثر )12/2
.2ارایه مستندات نهایی تا تاریخ 2/19
.3ارایه در کالس
بانک اطالعات چيست؟
مقدمه
ً
در ابتدا کاربران مستقيما با سخت افزار کار ميکردند و دادهها را روي آنها
ذخیره و بازيابي ميکردند.
با گذشت زمان نرمافزارهاي شيوه دستيابي بوجود آمد که رابط بین کاربر و
کامپيوتر بود(.اين نرم افزار مديريت ذخیره و بازيابي را به عهده داشتند)
انقالب بانک اطالعات در اوايل دهه 1970باعث ايجاد ”نظام مديريت بانک
اطالعات“ )DBMS( Database Management Systemگرديد.
(هرگونه دسترس ي به دادهها توسط آن صورت ميپذيرد).
انواع کاربر
1. DBA (Data Base Administrator)
2. DBP (Data Base Programmer)
3. End user
)Data Base Administrator (DBA
يكی از مهمترين كاربران در سيستم بانك اطالعاتی ،كه مسئوليت
طراحي و تصميمگیري براي كليه موارد يك سيستم بانك اط العاتی را
دارد.
اداره كننده بانك ،فرد يا گروهی از افراد هستند كه مسئوليت
ايجاد ،پيادهسا زی و نگهدا ری بانك را در محيط عملياتی برعهده دارد.
كاربر برنامهن ويس يا )DataBaseProgramer (DBP
اين گروه افراد مسئول ساختن برنامههايي هستند كه از يك طرف
به بانك اطالعات متصل است و از طرف ديگر به كاربر نهايي يا همان
اپراتور .در واقع اين افراد تصميمات مدير را پياده سازي ميكنند.
كاربر نهايي ()End User
كاربران نهايي كساني هستند كه از طريق برنامههاي تهيه شده دادهها
را در حيطه نظارت DBMSدستكاري مينمايند.
بانک اطالعات علمی -کاربردی
مدير بانک
DBAاطالعاتی
نظام مديريت بانک اطالعاتی
کاربر 1
کاربر 2
بانک اطالعات
برنامه ساز بانک
DBPاطالعاتی
nکاربر
Data Base Management System - DBMS
15
نظام بانک اطالعات
ی سيستم بانك اطالعاتی : ANSI /Sparc
معما ر
بعد از سالها بحث پيرامون اينكه ساختار بانك اطالعات چيست،
سرانجام كميته ANSI/SPARSمعماري 3اليه را ارائه داد كه بعدها
يك اليه به آن افزودند و ما معماري 4اليه را بررس ي ميكنيم .اين معماري
يك مدل نظري از بانك اطالعاتي است و به همين جهت قابل تطبيق روي
انواع مدلهاي بانك اطالعاتي است0
16
معما ری سيستم بانك اطالعاتی : ANSI /Sparc
ديد خارجی n
External View
000000
ديد خارجی 2
External View
ديد خارجی 1
External View
ديد ادراکی عام
ديد ادراکی
Conceptual View
ديد داخلی
Internal View
17
ديد ادراکی خاص
-1ديد خارجي يا External View
ديد خارجي ،ديد خاص هر گروه ازكار بران است به دادههای ذخیره شده در بانك
اطالعاتي0
يعني اينكه هر كاربر چه قسمتهايي از بانك اطالعات را اجازه دارد ببيند و چه كارهايي روي
آن قسمتها ميتواند انجام دهد(.امنيت)
اصل اول بانك اطالعات اين اصل ميگويد به هر كس همان مقدار اطالعات بده كه الزم دارد نه بيشتر
هر گروه ازكار بران ديد خاص خود را دا رند و همچنین چند كاربر میتوانند دارای ديد
ترين سطح به كاربران نهايي است.
يكسانی باشند .ديد خارجی نزديك
18
– 2ديد ادراكي عام Public Conceptual View
اين اليه ،ديد منطقي يكپارچه از كل بانك اطالعاتي است0
اليه دوم اليه تصوير ادراكي عام است .تصوير ادراكي عام يعني طراحي بانك
اطالعات بدون وابستگي به مدل خاص و پياده سازي فیزيك خاص .اين اليه را
كاربر نهايي نميبيند(.بسيار مهم)
طراحي اين اليه به عهده مدير بانك ميباشد0
فقط مدير بانك است كه اين اليه براي او قابل استفاده است
19
– 3ديد ادراكي خاص Spec. Conceptual View
اين اليه ،تصوير ادراكي خاص يا همان مدل منطقي است .يعني اينكه دادهها به
صورت منطقي چگونه كنار هم قرار ميگیرند .مدلهاي مرسوم جدول ،درخت،
گراف و مانند اينهاست.
در سطح ادراكی ارتباط موجوديتها و صفات خاصه ،امنيت و جامعيت دادهها
مطرح میگردد.
طراحي اين اليه به عهده مدير بانك ميباشد0
فقط مدير بانك و برنامه نويس هستند كه اين اليه براي آنها قابل استفاده
است.
20
– 4ديد داخلي Internal View
در اين سطح يا ديد در واقع فايلهای محيط فی زيكی از نظر محتوا ،ساختار و
تعريف میش وند.
اتژی دستيابی ،
استر
اتژی
در شمای داخلی ،انواع ركوردها ،فايلها ،صفات خاصه شاخص (استر
تشريح ركوردهای ذخیره شده در فايل ،توالی ركوردها،
دستيابی) ،نحوه نمايش و
تخصيص فضای ذخیرهسا زی برای دادهها ،محل ركورد ،فشردگی دادهای و
تشريح میشوند .در يک سيستم بانک اطالعاتی ،کاربران
ی دادهها
تكنيكهای رمزگذا ر
كترين سطح به رسانه
اساسا به مسائل اين سطح نمی پردازند .سطح داخلی نزدي
ذخیرهسا زی فی زيكی است
21
مدلهاي بانک اطالعات
مدلهاي قديمي
سلسله مراتبي :پيادهسازي با درخت
مدل شبکهاي :پيادهسازي با گراف
مدل سنتي (مدل رابطهاي)
مدلهاي جديد (معنايي -فرا رابطهاي)
مدل ش يءگرا
مدل تابعي
مدل منطقي
مدل استنتاجي
مدل رابطهاي
در مدل رابطهاي دادهها بصورت رکوردهاي مرتبط سازماندهي ميشوند و بانک
اطالعات بصورت مجموعهاي از رابطهها طراحي ميشود.
علل موفقيت مدل رابطهاي:
سادگي
ي
پشتوانهي تئوريک قو
امنيت و جامعيت
امنيت (:)security
محافظت از داده ها در برابر خطرات.
جامعيت (:)integrity
صحت دادهها و پردازشها و پیروي از مقررات سيستم.
تراکنش ()transaction
هر گونه برنامهاي که توسط کاربر در محيط بانک اطالعات اجرا ميشود
تراکنش نام دارد.
تراکنش همواره به DBMSتسليم شده و DBMSدر اعمال هرگونه
کنترل ،به تعويق انداختن و يا ساقط کردن آن تصميمگیري ميکند.
هدف اصلي از اين کنترلها حفظ جامعيت و صحت بانک اطالعات است.
دادههاي بانک اطالعات را مانا ( )persistentمينامند زيرا برنامهها
ميآيند و ميروند اما دادهها ميمانند
خواص ACID
چه کنترلهايي الزم است روي برنامهها اعمال شود تا صحت و جامعيت بانک
اطالعات تضمین گردد؟
.1يکپارچگي ()atomicity
.2همخواني ()consistency
.3انزوا ()isolation
.4پايايي ()durability
يکپارچگي ()atomicity
به معني ”همه“ يا ”هيچ“
يا تمامي دستورالعملهاي يک تراکنش بايد اجرا شود و يا هيچکدام از آنها.
مثال :تراکنش ي براي انتقال مبلغي پول از حسابي به حساب ديگر.
اين تراکنش شامل دو بخش است.
بخش اول ،پول را از حساب اول برداشت ميکند.
بخش دوم ،همان پول را به حساب دوم واريز ميکند.
همخواني ()consistency
اين خاصيت ميگويد که تراکنش بايد تمامي قوانین جامعيت بانک اطالعات را
رعايت کند( .فرض ميشود که تراکنش يک برنامه صحيح است).
مثال :در برنامه انتقال پول اگر مبلغ برداشت شده با مبلغ واريز شده به حساب ديگر
برابر نباشد تراکنش غلط است( .چنین مواردي توسط نظام مديريت بانک اطالعات
به طور اتوماتيک قابل کنترل نيست)
انزوا ()isolation
اثر تراکنشهاي همروند روي يکديگر چنان است که گويا هر کدام در انزوا
هستند( .همروندي تراکنشها کنترل ميشود تا اثر مخرب روي هم نداشته
باشند).
اين عمل توسط بخش ي از DBMSبه نام واحد کنترل همروندي
( )concurrency controlانجام ميشود.
پايايي ()durability
تراکنشهايي که به مرحله انجام ( )commitبرسند ،اثرشان ماندني است و
هرگز بطور تصادفي از بین نميرود.
دو عمل يکپارچگي و پايايي توسط واحدي از DBMSبه نام واحد مديريت
بازگرد ( )recovery managementانجام ميگیرد.
مراحل طراحي بانک اطالعات
.1بررس ي و تجزيه و تحليل
امکان سنجي ،شناخت نيازها و ...
.2طراحي ادراکي عام
طراحي شماتيک مانند مدل ER
.3طراحي ادراکي خاص
انتخاب مدل ،تبديل شماتيک به ساختار مدل و ...
.4طراحي فیزيکي
جلسه آينده
تصوير ادراکي عام