طراحی و پیاده سازی پایگاه داده

609 views
524 views

Published on

درس سیستم‌های مدیریت پایگاه داده
دانشگاه آزاد اسلامی - واحد الکترونیکی
نام استاد: دکتر بازایی
ارائه کننده: امیر جبلی
پاییز ۹۰

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
609
On SlideShare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
22
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

طراحی و پیاده سازی پایگاه داده

  1. 1. ‫ًام دسس: سيستن ّاي هذيشيت تاًك ّاي اطالػاتي‬ ‫استاد گشاهي خٌاب آلاي دكتش تاصايي‬ ‫اهيش خثلي‬ ‫ياسش اتذال تيگي‬ ‫پاييض 09‬
  2. 2. ‫همذهِ‬ ‫ّواًطَس كِ تشاي پيادُ ساصي يك پشٍطُ هؼواسي يا تَليذ يك دستگاُ‬‫دس اتتذا ًياص تِ يك طشح اٍليِ است تشاي پيادُ ساصي پايگاُ دادُ ًيض‬ ‫ًياص تِ يك طشح اٍليِ داسين.‬
  3. 3. ‫هشاحل اغلي دس طشاحي پايگاُ دادُ‬ ‫(‪)Requirement Analysis‬‬ ‫تحليل ًياصهٌذي ّا‬ ‫‪‬‬‫سسن دياگشام استثاط هَخَديت ّا (‪)Entity Relationship Diagram‬‬ ‫‪‬‬ ‫تْيِ هذل ساتطِ اي (‪)Relational Model‬‬ ‫‪‬‬ ‫ًشهال ساصي (‪)Normalization‬‬ ‫‪‬‬ ‫ايداد هذل فيضيكي (‪)Physical Model‬‬ ‫‪‬‬
  4. 4. ‫تحليل ًياصهٌذي ّا‬ ‫‪ ‬دس ايي هشحلِ ًياصهٌذيّاي پايگاُ دادُ ضٌاسايي هيضَد.‬ ‫‪ ‬اًتظاسات دليك كاستش اص پايگاُ دادُ ٍ تواهي اطالػات هشتثط تا‬ ‫سيستن استخشاج هيگشدد.‬‫‪ ‬تِ طَس دليمي هطخع ضَد كِ چِ دادُّايي لشاس است دس پايگاُ‬ ‫دادُ رخيشُ ضَد ٍ ّوچٌيي ايي دادُ ّا تِ چِ غَست لشاس است‬ ‫اص پايگاُ دادُ تاصياتي ضَد.‬
  5. 5. ‫تحليل ًياصهٌذي ّا‬‫تشسسي هستٌذات، فشمّا ٍ پايگاُدادُّاي هَخَد‬ ‫‪‬‬ ‫تحميمات ٍ تشسسي ّاي هحيطي‬ ‫‪‬‬ ‫هطاّذُي هحيط كاس‬ ‫‪‬‬ ‫استفادُ اص پشسطٌاهِ‬ ‫‪‬‬ ‫هػاحثِ ٍ گفتگَ تا غاحة ًظشاى‬ ‫‪‬‬ ‫ايداد ًوًَِ اٍليِ‬ ‫‪‬‬ ‫تشگضاسي خلسات گشٍّي تشاي سفغ اضكاالت‬ ‫‪‬‬
  6. 6. ‫خطت اٍل چَى ًْذ هؼواس كح ...‬ ‫تشسسي ًياصهٌذيْاي هْنتشيي هشحلِ دس طشاحي پايگاُ دادُ هيتاضذ‬ ‫صيشا طشاحي پايگاُ دادُ، تا كوك اطالػات تذست اهذُ اص ايي فاص‬‫اًدام هيضَد ٍ ها دس طَل هشاحل طشاحي، تاسّا اص يافتِّاي ايي فاص‬ ‫استفادُ خَاّين كشد.‬
  7. 7. ‫يك پيطٌْاد‬‫طشاحاى پايگاُ دادُاي كِ تدشتِ كوي دس ايي صهيٌِ داسًذ تْتش است‬‫اتتذا پايگاُ دادُّاي لذيوي ساصهاى سا تشسسي كٌٌذ تا تشاي طشاحي‬ ‫پايگاُ دادُ خذيذ يك چاسچَب كلي تذست آٍسًذ.‬‫تشاي سسيذى تِ ايي چاسچَب تايذ تثيٌين ساصهاى دادُّاي هشتثط تا‬ ‫ّش تخص سا دس حال حاظش تِ چِ غَست رخيشُ ساصي كشدُ ٍ تِ چِ‬ ‫طشيمي اص آى استفادُ هيكٌذ.‬
  8. 8. ‫هشاحل اغلي دس طشاحي پايگاُ دادُ‬ ‫تحليل ًياصهٌذي ّا‬ ‫‪‬‬ ‫سسن دياگشام استثاط هَخَديت ّا‬ ‫‪‬‬ ‫تْيِ هذل ساتطِ اي‬ ‫‪‬‬ ‫ًشهال ساصي‬ ‫‪‬‬ ‫ايداد هذل فيضيكي‬ ‫‪‬‬
  9. 9. ‫دياگشام استثاط هَخَديتّا‬ ‫‪ Entity Relationship Diagram‬كِ تِ طَس خالغِ تِ آى ‪ERD‬‬ ‫‪‬‬ ‫هي گَيٌذ.‬ ‫‪ERD‬يك هذل سطح تاال تشاي تياى طشاحي پايگاُ دادُ است .ايي‬ ‫‪‬‬ ‫هذل تِ طَس سادُ ٍ تِ غَست گشافيكي، تا كوك تؼذادي سوثل‬ ‫ساختاس پايگاُ دادُ سا هطخع هيكٌذ.‬‫دادُّايي كِ دس هشحلِ "تحليل ًياصهٌذيّا "تذست آهذ اكٌَى دس‬ ‫‪‬‬ ‫ًوَداس ‪ERD‬ظاّش هيضًَذ.‬‫ايي دادُّا دس لالة هَخَديتّا ٍ سٍاتط تيي آًْا دس ًوَداس ‪ERD‬‬ ‫‪‬‬ ‫لشاس هيگيشًذ.‬
  10. 10. ‫اخضا تطكيل دٌّذُي ‪ERD‬‬ ‫‪ ‬هَخَديت ّا‬ ‫‪ ‬غفات‬ ‫‪ ‬سٍاتط‬
  11. 11. ‫هَخَديتّا (‪)Entities‬‬ ‫تخطي اص هحيط كاسي است كِ دس سيستن ها ٍخَد داسد.‬ ‫اًَاع هَخَديتّا:‬‫‪ ‬هَخَديت هيتَاًذ ٍخَد فيضيكي داضتِ تاضذ هثل خاًِ ٍ هاضيي‬ ‫‪ ‬هَخَديت هيتَاًذ يك اتفاق تاضذ هثل فشٍش يك خاًِ يا تؼويش‬ ‫هاضيي‬‫‪ ‬هَخَديت هيتَاًذ يك هفْوَم تاضذ هثل سفاسش هطتشي ٍ يا يك‬ ‫تشاكٌص‬
  12. 12. ‫غفات‬ ‫دادُّايي ّستٌذ كِ ها دس خػَظ هَخَديت ّا خوغ آٍسي كشدُ‬ ‫‪‬‬ ‫اين ٍ ايي دادُ ّا هَخَديت ّا سا تَضيح هيدٌّذ.‬ ‫هثال غفات يك هاضيي هيتَاًذ هذل، سًگ، ضواسُ هَتَس ، تؼذاد‬ ‫‪‬‬ ‫سيلٌذس ٍ …تاضذ.‬ ‫غفات يك هَخَديت هثل تؼويش هاضيي هيتَاًذ ًام تؼويشكاس،‬ ‫‪‬‬ ‫ايشاد هاضيي ٍ …تاضذ.‬‫غفات يك هَخَديت هثل سفاسش هطتشي هيتَاًذ هثلغ سفاسش،‬ ‫‪‬‬ ‫تاسيخ سفاسش ٍ آيتنّاي سفاسش تاضذ.‬
  13. 13. ‫سٍاتط‬ ‫‪ ‬سٍاتط استثاطات تيي هَخَديت ّا سا هطخع هيكٌذ .‬ ‫‪ ‬تِ ػٌَاى هثال دس يك ساتطِ تيي هطتشي ٍ سفاسش ساتطِ‬ ‫"سفاسش دادى "ٍخَد داسد.‬‫‪ ‬تيي هَخَديت فشد ٍ ضْش ساتطِ “صًذگي كشدى” ٍخَد داسد.‬
  14. 14. ‫ًوًَِ اي اص يك ‪ERD‬‬‫‪ ‬يك تيواس دس يك تخص تستشي‬ ‫هيضَد ٍ يك دكتش تشاي ّش‬ ‫تيواس هطخع هيضَد.‬‫‪ ‬تؼذادي پشستاس تشاي هشالثت‬‫اص تيواساى ٍخَد داسًذ كِ دس‬ ‫ّش تخص تؼذادي پشستاس‬ ‫هطغَل كاس ّستٌذ.‬
  15. 15. ERD ‫هؼشفي اتضاسّايي تشاي سسن‬ ‫ٍخَد داسد كِ هتذاٍل تشيي اًْا دس‬ERD ‫ اتضاسّاي صيادي تشاي سسن‬ :‫اداهِ آٍسدُ ضذُ است‬ Avolution, dbForge Studio for MySQL, ER/Studio, ERwin, MEGA International, ModelRight, OmniGraffle, Oracle Designer, PowerDesigner, Rational Rose, Sparx Enterprise Architect, SQLyog, System Architect, Toad Data Modeler, and Visual Paradigm MySQL Workbench(Open Source) Open ModelSphere(Open Source)
  16. 16. Power Designer ‫ًشم افضاس‬
  17. 17. MySQL Workbench ‫ًشم افضاس‬
  18. 18. ‫هشاحل اغلي دس طشاحي پايگاُ دادُ‬ ‫تحليل ًياصهٌذي ّا‬ ‫‪‬‬ ‫سسن دياگشام استثاط هَخَديت ّا‬ ‫‪‬‬ ‫تْيِ هذل ساتطِ اي‬ ‫‪‬‬ ‫ًشهال ساصي‬ ‫‪‬‬ ‫ايداد هذل فيضيكي‬ ‫‪‬‬
  19. 19. ‫تْيِ هذل ساتطِ اي‬ ‫‪ ‬هطخع ضذى سٌاسيَي پشٍطُ اص سٍي ‪ERD‬تسياس ساحت است.‬‫ٍلي تشاي پيادُ ساصي، هذل تْتشي ًياص است كِ تتَاًين اص سٍي آى‬ ‫پايگاُ دادُ سا ايداد كٌين.‬ ‫‪ ‬تِ ايي هٌظَس اص هذل ساتطِ اي استفادُ هيكٌين.‬ ‫‪ ‬دس هذل ساتطِاي، هَخَديت ّا ٍ سٍاتط دس دياگشام ‪ERD‬تِ‬ ‫خذاٍل تثذيل هيضَد.‬
  20. 20. ‫تثذيل هَخَديت ّا ٍ سٍاتط‬‫تشاي تثذيل هَخَديتّا ٍ سٍاتط 3 لاًَى اغلي ٍخَد داسد:‬ ‫‪ ‬لاًَى هَخَديتّا‬ ‫‪ ‬لاًَى يك تِ چٌذ‬ ‫‪ ‬لاًَى چٌذ تِ چٌذ‬
  21. 21. ‫لاًَى هَخَديتّا‬ ‫‪ّ ‬ش هَخَديت تِ يك خذٍل تثذيل هيضَد.‬ ‫‪ ‬كليذ اغلي هَخَديت تِ كليذ اغلي دس خذٍل تثذيل هيضَد.‬‫‪ ‬غفتّاي هَخَديت تِ ستَىّايي دس خذٍل تثذيل خَاّذ ضذ.‬‫تشاي هثال هَخَديت داًطدَ تِ خذٍل داًطدَ تثذيل ضذُ ٍ ضواسُ داًطدَيي كليذ‬ ‫اغلي ايي خذٍل خَاّذ تَد.‬
  22. 22. ‫لاًَى يك تِ چٌذ‬‫‪ ‬دس سٍاتط يك تِ چٌذ يك كليذ خاسخي تِ خذٍل فشصًذ هٌتمل‬ ‫هيضَد.‬ ‫تِ ػٌَاى هثال:‬
  23. 23. ‫لاًَى چٌذ تِ چٌذ‬‫‪ّ ‬ش ساتطِي چٌذ تِ چٌذ، تِ يك خذٍل تثذيل هيضَد تِ طَسي كِ‬ ‫كليذّاي اغلي دٍ طشف ساتطِ، تِ خذٍل ايداد ضذُ هٌتمل‬‫هيضَد ٍ تشكية آًْا كليذ اغلي خذٍل خذيذ سا تطكيل هيدّذ.‬
  24. 24. ‫لاًَى چٌذ تِ چٌذ‬
  25. 25. ‫هشاحل اغلي دس طشاحي پايگاُ دادُ‬ ‫تحليل ًياصهٌذي ّا‬ ‫‪‬‬ ‫سسن دياگشام استثاط هَخَديت ّا‬ ‫‪‬‬ ‫تْيِ هذل ساتطِ اي‬ ‫‪‬‬ ‫ًشهال ساصي‬ ‫‪‬‬ ‫ايداد هذل فيضيكي‬ ‫‪‬‬
  26. 26. ‫ًشهال ساصي‬‫ًشهال ساصي فشايٌذي است كِ تِ كوك آى افضًٍگي دادُ دس پايگاُ‬ ‫‪‬‬ ‫دادُ كاّص يافتِ يا اص تيي هيسٍد.‬ ‫ّوچٌيي تِ كوك ًشهال ساصي احتوال افضٍدُ ضذى دادُّاي‬ ‫‪‬‬ ‫هتٌالض دس پايگاُ دادُ كاّص هيياتذ.‬ ‫تشاي ًشهال ساصي خذاٍل تايذ ‪3NF‬يا ضكل ًشهال سَم سا تذست‬ ‫‪‬‬ ‫آٍسين.‬ ‫تشاي ايٌكِ تِ ضكل ‪3NF‬تشسين تايذ ‪2NF , 1NF‬سا ًيض تذست‬ ‫‪‬‬ ‫آٍسين.‬
  27. 27. ‫فشم ًشهال ‪1NF‬‬‫تشاي تذست آٍسدى فشم ًشهال ‪1NF‬اتتذا تايذ ستَىّايي كِ داساي‬‫دادُّاي يكساًي ّستٌذ پيذا كشدُ ٍ سپس ّش گشٍُ اص ايي ستَى‬ ‫ّا سا تِ يك خذٍل خذيذ هٌتمل كٌين.‬ ‫سپس تا استفادُ اص يك كليذ اغلي استثاط تيي خذاٍل سا تش لشاس‬ ‫هيكٌين.‬
  28. 28. ‫هثال ‪1NF‬‬‫كذ دسس 4‬ ‫كذ دسس 3‬ ‫كذ دسس 2‬ ‫كذ دسس 1‬ ‫ًام داًطدَ‬ ‫كذ داًطدَ‬ ‫301‬ ‫201‬ ‫101‬ ‫001‬ ‫اهيش خثلي‬ ‫508968088‬ ‫601‬ ‫501‬ ‫301‬ ‫001‬ ‫ياسش اتذال تيگي‬ ‫608868088‬ ‫كذ دسس‬ ‫كذ داًطدَ‬ ‫ًام داًطدَ‬ ‫كذ داًطدَ‬ ‫001‬ ‫508068088‬ ‫اهيش خثلي‬ ‫508968088‬ ‫001‬ ‫608968088‬ ‫ياسش اتذال تيگي‬ ‫608968088‬ ‫101‬ ‫508968088‬ ‫601‬ ‫608968088‬ ‫چِ هطكلي ٍخَد داضت ؟‬ ‫301‬ ‫608968088‬ ‫اگش تؼذاد دسس ّا اص 4تا تيطتش ضَد تايذ طشاحي‬ ‫....‬ ‫....‬ ‫خذاٍل تغييش هي كشد.‬
  29. 29. ‫فشم ًشهال ‪2NF‬‬‫‪ّ ‬ذف اص ايداد ضكل ًشهال ‪2NF‬حزف دادُّاي تكشاسي اص خذاٍل‬ ‫است.‬ ‫‪ ‬تشاي ايداد ايي فشم 2هشحلِ صيش سا طي هيكٌين:‬ ‫‪ ‬پيذا كشدى ٍ حزف دادُّاي تكشاسي دس ّش يك اص خذاٍل‬ ‫‪ ‬لشاس دادى دادُّاي حزف ضذُ دس يك خذٍل خذيذ ٍ ايداد استثاط‬ ‫تيي خذاٍل تا استفادُ اص كليذ خاسخي‬
  30. 30. ‫هثال ‪2NF‬‬ ‫ًام ضْش‬ ‫ًام استاى‬ ‫آدسس پستي‬ ‫ًام داًطدَ‬ ‫كذ داًطدَ‬ ‫هطْذ‬ ‫خشاساى سضَي‬ ‫خياتاى كَّسٌگي‬ ‫اهيش خثلي‬ ‫508968088‬ ‫تْشاى‬ ‫تْشاى‬ ‫خياتاى هالغذسا‬ ‫ياسش اتذال تيگي‬ ‫608868088‬ ‫تْشاى‬ ‫تْشاى‬ ‫خياتاى سشٍ‬ ‫ػلي اكثش حذاد ّشًذي‬ ‫708068088‬‫ًام ضْش‬ ‫ًام استاى‬ ‫كذ هٌطمِ‬ ‫كذ هٌطمِ‬ ‫آدسس پستي‬ ‫ًام داًطدَ‬ ‫كذ داًطدَ‬‫هطْذ‬ ‫خشاساى سضَي‬ ‫1‬ ‫1‬ ‫خياتاى كَّسٌگي‬ ‫اهيش خثلي‬ ‫508968088‬‫تْشاى‬ ‫تْشاى‬ ‫2‬ ‫2‬ ‫خياتاى هالغذسا‬ ‫ياسش اتذال تيگي‬ ‫608968088‬‫اغفْاى‬ ‫اغفْاى‬ ‫3‬ ‫2‬ ‫خياتاى سشٍ‬ ‫ػلي اكثش حذاد ّشًذي‬ ‫708968088‬ ‫هطكل چِ تَد ؟‬ ‫- اگش ًام يك استاى تغييش هي كشد تايذ اطالػات كذ خذٍل داًطدَياى تشٍص هي ضذ.‬ ‫- ٍخَد افضًٍگي‬
  31. 31. ‫فشم ًشهال ‪)1( 3NF‬‬ ‫‪ ‬دس ضكل ًشهال ‪3NF‬تِ حزف ستَىّايي هيپشداصين كِ تِ كليذ‬ ‫اغلي ٍاتستگي ًذاسًذ.‬‫ٍاحذ‬ ‫ًوشُ‬ ‫كذ داًطدَ‬ ‫هؼذل كل‬ ‫ًام داًطدَ‬ ‫كذ داًطدَ‬ ‫3‬ ‫91‬ ‫508968088‬ ‫81‬ ‫اهيش خثلي‬ ‫508968088‬ ‫2‬ ‫81‬ ‫608968088‬ ‫91‬ ‫ياسش اتذال تيگي‬ ‫608868088‬ ‫2‬ ‫02‬ ‫708968088‬ ‫02‬ ‫ػلي اكثش حذاد ّشًذي‬ ‫708068088‬ ‫ًام داًطدَ‬ ‫كذ داًطدَ‬ ‫اهيش خثلي‬ ‫508968088‬ ‫ياسش اتذال تيگي‬ ‫608968088‬ ‫ػلي اكثش حذاد ّشًذي‬ ‫608968088‬
  32. 32. ‫فشم ًشهال ‪)2( 3NF‬‬‫تا تَخِ تِ ايٌكِ هؼذل كل اص سٍي ًوشات داًطدَ هحاسثِ هيضَد ٍ‬ ‫ٍاتستگي تا ضواسُ داًطدَيي فشد ًذاسد تايذ اص خذٍل اطالػات‬ ‫داًطدَ حزف ضذُ ٍ دس غَست ًياص همذاس آى هحاسثِ ضَد.‬ ‫چِ اضكالي ٍخَد داضت ؟‬ ‫‪ ‬دس غَستي ّش يك اص ًوشات يك داًطدَ دس ّش صهاى تؼييش كٌذ تايذ هؼذل ًيض‬‫تشٍص ضَد كِ ايي هَضَع ّن سًٍذ كذ ًَيسي سا پيچيذُ هيكٌذ ٍ ّن هوكي است‬ ‫ػول تشٍص سساًي هؼذل كل تِ دليل خطاي تشًاهِ (‪ )runtime error‬يا ... اًدام‬ ‫ًطَد.‬
  33. 33. ‫فشمّاي ًشهال ديگش‬ :‫ تشاي ًشهال ساصي فشمّاي ديگشي ًيض ٍخَد داسد كِ ػثاستٌذ اص‬ Elementary Key Normal Form (EKNF) Boyce–Codd normal form (BCNF) Fourth normal form (4NF) Fifth normal form (5NF) Domain/key normal form (DKNF) Sixth normal form (6NF) ُ‫6تشاي ًشهال ساصي اًثاسُ داد‬NF ‫ تِ ػٌَاى هثال اص فشم ًشهال‬ .‫استفادُ هيضَد‬
  34. 34. ‫هشاحل اغلي دس طشاحي پايگاُ دادُ‬ ‫تحليل ًياصهٌذي ّا‬ ‫‪‬‬ ‫سسن دياگشام استثاط هَخَديت ّا‬ ‫‪‬‬ ‫تْيِ هذل ساتطِ اي‬ ‫‪‬‬ ‫ًشهال ساصي‬ ‫‪‬‬ ‫ايداد هذل فيضيكي‬ ‫‪‬‬
  35. 35. ‫اص ‪ERD‬تا هذل فيضيكي !‬ ‫‪ ‬اكٌَى يك پايگاُ دادُ سا دس ًشم افضاس ‪MySQL Workbench‬‬‫ساختِ، اص ًشم افضاس يك خشٍخي ‪SQL‬دس لالة يك فايل هيساصين‬‫ٍ سپس اص طشيك ًشمافضاس هذيشيت پايگاُ دادُ ‪PHPMyAdmin‬‬‫ايي خشٍخي سا تِ پايگاُ دادُ ‪MySQL‬هٌتمل كشدُ ٍ هذل فيضيكي‬ ‫سا ايداد هيكٌين.‬
  36. 36. MySQL Workbench ‫ايداد خذاٍل دس‬
  37. 37. ‫تْيِ خشٍخي ‪SQL‬‬
  38. 38. ‫خشٍخي ‪SQL‬‬
  39. 39. ‫ايداد خذاٍل دس پايگاُ دادُ اص طشيك فايل ‪SQL‬‬
  40. 40. ‫خذاٍل ايداد ضذُ پس اص ‪Import‬فايل ‪SQL‬‬
  41. 41. ‫دادُّاي ٍاسد ضذُ دس خذاٍل‬
  42. 42. ‫ساختاس فيضيكي‬ ‫‪ ‬خذاٍل تش سٍي فايل سيستن تِ غَست فايلّاي تايٌشي كذ ضذُ‬ ‫ًگْذاسي هيضَد.‬‫‪ ‬ضيَُ رخيشُ ساصي فايلّا تستِ تِ ًَع پايگاُ دادُ هتفاٍت است.‬
  43. 43. ‫هٌاتغ‬ http://www.relationaldbdesign.com/relational-database-design/module4/sequence-analysis-requirements-tasks.php http://www.programmerfish.com/4-steps-to-a-professional-database-design/ http://www.leesweblog.com/2008/10/12/practical-application-of-database-normalization/ http://www.javaguicodexample.com/erdrelationalmodelnotes.html http://www.javaguicodexample.com/erdrelationalmodelnotes1.html http://www.jkinfoline.com/steps-in-database-design.html http://en.wikipedia.org/wiki/Database_model http://en.wikipedia.org/wiki/Database_normalization http://en.wikipedia.org/wiki/Entity-relationship_model http://en.wikipedia.org/wiki/Database_design http://en.wikipedia.org/wiki/Relational_model http://en.wikipedia.org/wiki/Data_modeling
  44. 44. amir.jebelli@gmail.com ‫اهيش خثلي‬y_a112@yahoo.com ‫ياسش اتذال تيگي‬

×