ݺߣ

ݺߣShare a Scribd company logo
‫ًام دسس: سيستن ّاي هذيشيت تاًك ّاي اطالػاتي‬
       ‫استاد گشاهي خٌاب آلاي دكتش تاصايي‬


                ‫اهيش خثلي‬
              ‫ياسش اتذال تيگي‬


                 ‫پاييض 09‬
‫همذهِ‬

 ‫ّواًطَس كِ تشاي پيادُ ساصي يك پشٍطُ هؼواسي يا تَليذ يك دستگاُ‬
‫دس اتتذا ًياص تِ يك طشح اٍليِ است تشاي پيادُ ساصي پايگاُ دادُ ًيض‬
                                     ‫ًياص تِ يك طشح اٍليِ داسين.‬
‫هشاحل اغلي دس طشاحي پايگاُ دادُ‬

                      ‫(‪)Requirement Analysis‬‬    ‫تحليل ًياصهٌذي ّا‬    ‫‪‬‬
‫سسن دياگشام استثاط هَخَديت ّا (‪)Entity Relationship Diagram‬‬          ‫‪‬‬
                            ‫تْيِ هذل ساتطِ اي (‪)Relational Model‬‬     ‫‪‬‬
                                        ‫ًشهال ساصي (‪)Normalization‬‬   ‫‪‬‬
                               ‫ايداد هذل فيضيكي (‪)Physical Model‬‬     ‫‪‬‬
‫تحليل ًياصهٌذي ّا‬

        ‫‪ ‬دس ايي هشحلِ ًياصهٌذيّاي پايگاُ دادُ ضٌاسايي هيضَد.‬
     ‫‪ ‬اًتظاسات دليك كاستش اص پايگاُ دادُ ٍ تواهي اطالػات هشتثط تا‬
                                      ‫سيستن استخشاج هيگشدد.‬
‫‪ ‬تِ طَس دليمي هطخع ضَد كِ چِ دادُّايي لشاس است دس پايگاُ‬
 ‫دادُ رخيشُ ضَد ٍ ّوچٌيي ايي دادُ ّا تِ چِ غَست لشاس است‬
                                      ‫اص پايگاُ دادُ تاصياتي ضَد.‬
‫تحليل ًياصهٌذي ّا‬

‫تشسسي هستٌذات، فشمّا ٍ پايگاُدادُّاي هَخَد‬       ‫‪‬‬
                ‫تحميمات ٍ تشسسي ّاي هحيطي‬        ‫‪‬‬
                           ‫هطاّذُي هحيط كاس‬      ‫‪‬‬
                         ‫استفادُ اص پشسطٌاهِ‬     ‫‪‬‬
              ‫هػاحثِ ٍ گفتگَ تا غاحة ًظشاى‬       ‫‪‬‬
                             ‫ايداد ًوًَِ اٍليِ‬   ‫‪‬‬
     ‫تشگضاسي خلسات گشٍّي تشاي سفغ اضكاالت‬        ‫‪‬‬
‫خطت اٍل چَى ًْذ هؼواس كح ...‬

 ‫تشسسي ًياصهٌذيْاي هْنتشيي هشحلِ دس طشاحي پايگاُ دادُ هيتاضذ‬
    ‫صيشا طشاحي پايگاُ دادُ، تا كوك اطالػات تذست اهذُ اص ايي فاص‬
‫اًدام هيضَد ٍ ها دس طَل هشاحل طشاحي، تاسّا اص يافتِّاي ايي فاص‬
                                          ‫استفادُ خَاّين كشد.‬
‫يك پيطٌْاد‬

‫طشاحاى پايگاُ دادُاي كِ تدشتِ كوي دس ايي صهيٌِ داسًذ تْتش است‬
‫اتتذا پايگاُ دادُّاي لذيوي ساصهاى سا تشسسي كٌٌذ تا تشاي طشاحي‬
                 ‫پايگاُ دادُ خذيذ يك چاسچَب كلي تذست آٍسًذ.‬
‫تشاي سسيذى تِ ايي چاسچَب تايذ تثيٌين ساصهاى دادُّاي هشتثط تا‬
  ‫ّش تخص سا دس حال حاظش تِ چِ غَست رخيشُ ساصي كشدُ ٍ تِ چِ‬
                                   ‫طشيمي اص آى استفادُ هيكٌذ.‬
‫هشاحل اغلي دس طشاحي پايگاُ دادُ‬

                     ‫تحليل ًياصهٌذي ّا‬   ‫‪‬‬
         ‫سسن دياگشام استثاط هَخَديت ّا‬   ‫‪‬‬
                     ‫تْيِ هذل ساتطِ اي‬   ‫‪‬‬
                            ‫ًشهال ساصي‬   ‫‪‬‬
                     ‫ايداد هذل فيضيكي‬    ‫‪‬‬
‫دياگشام استثاط هَخَديتّا‬

 ‫‪ Entity Relationship Diagram‬كِ تِ طَس خالغِ تِ آى ‪ERD‬‬          ‫‪‬‬
                                                    ‫هي گَيٌذ.‬
  ‫‪ERD‬يك هذل سطح تاال تشاي تياى طشاحي پايگاُ دادُ است .ايي‬       ‫‪‬‬
   ‫هذل تِ طَس سادُ ٍ تِ غَست گشافيكي، تا كوك تؼذادي سوثل‬
                          ‫ساختاس پايگاُ دادُ سا هطخع هيكٌذ.‬
‫دادُّايي كِ دس هشحلِ "تحليل ًياصهٌذيّا "تذست آهذ اكٌَى دس‬       ‫‪‬‬
                                  ‫ًوَداس ‪ERD‬ظاّش هيضًَذ.‬
‫ايي دادُّا دس لالة هَخَديتّا ٍ سٍاتط تيي آًْا دس ًوَداس ‪ERD‬‬     ‫‪‬‬
                                                ‫لشاس هيگيشًذ.‬
‫اخضا تطكيل دٌّذُي ‪ERD‬‬

             ‫‪ ‬هَخَديت ّا‬
                  ‫‪ ‬غفات‬
                   ‫‪ ‬سٍاتط‬
‫هَخَديتّا (‪)Entities‬‬

             ‫تخطي اص هحيط كاسي است كِ دس سيستن ها ٍخَد داسد.‬
                                            ‫اًَاع هَخَديتّا:‬
‫‪ ‬هَخَديت هيتَاًذ ٍخَد فيضيكي داضتِ تاضذ هثل خاًِ ٍ هاضيي‬
 ‫‪ ‬هَخَديت هيتَاًذ يك اتفاق تاضذ هثل فشٍش يك خاًِ يا تؼويش‬
                                                     ‫هاضيي‬
‫‪ ‬هَخَديت هيتَاًذ يك هفْوَم تاضذ هثل سفاسش هطتشي ٍ يا يك‬
                                                   ‫تشاكٌص‬
‫غفات‬

 ‫دادُّايي ّستٌذ كِ ها دس خػَظ هَخَديت ّا خوغ آٍسي كشدُ‬        ‫‪‬‬
              ‫اين ٍ ايي دادُ ّا هَخَديت ّا سا تَضيح هيدٌّذ.‬
  ‫هثال غفات يك هاضيي هيتَاًذ هذل، سًگ، ضواسُ هَتَس ، تؼذاد‬    ‫‪‬‬
                                           ‫سيلٌذس ٍ …تاضذ.‬
    ‫غفات يك هَخَديت هثل تؼويش هاضيي هيتَاًذ ًام تؼويشكاس،‬     ‫‪‬‬
                                       ‫ايشاد هاضيي ٍ …تاضذ.‬
‫غفات يك هَخَديت هثل سفاسش هطتشي هيتَاًذ هثلغ سفاسش،‬           ‫‪‬‬
                        ‫تاسيخ سفاسش ٍ آيتنّاي سفاسش تاضذ.‬
طراحی و پیاده سازی پایگاه داده
‫سٍاتطĬ

       ‫‪ ‬سٍاتط استثاطات تيي هَخَديت ّا سا هطخع هيكٌذ .‬
  ‫‪ ‬تِ ػٌَاى هثال دس يك ساتطِ تيي هطتشي ٍ سفاسش ساتطِ‬
                           ‫"سفاسش دادى "ٍخَد داسد.‬
‫‪ ‬تيي هَخَديت فشد ٍ ضْش ساتطِ “صًذگي كشدى” ٍخَد داسد.‬
‫ًوًَِ اي اص يك ‪ERD‬‬

‫‪ ‬يك تيواس دس يك تخص تستشي‬
 ‫هيضَد ٍ يك دكتش تشاي ّش‬
      ‫تيواس هطخع هيضَد.‬

‫‪ ‬تؼذادي پشستاس تشاي هشالثت‬
‫اص تيواساى ٍخَد داسًذ كِ دس‬
    ‫ّش تخص تؼذادي پشستاس‬
        ‫هطغَل كاس ّستٌذ.‬
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)
Power Designer ‫ًشم افضاس‬
MySQL Workbench ‫ًشم افضاس‬
‫هشاحل اغلي دس طشاحي پايگاُ دادُ‬

                     ‫تحليل ًياصهٌذي ّا‬   ‫‪‬‬
         ‫سسن دياگشام استثاط هَخَديت ّا‬   ‫‪‬‬
                     ‫تْيِ هذل ساتطِ اي‬   ‫‪‬‬
                            ‫ًشهال ساصي‬   ‫‪‬‬
                     ‫ايداد هذل فيضيكي‬    ‫‪‬‬
‫تْيِ هذل ساتطِ اي‬

  ‫‪ ‬هطخع ضذى سٌاسيَي پشٍطُ اص سٍي ‪ERD‬تسياس ساحت است.‬
‫ٍلي تشاي پيادُ ساصي، هذل تْتشي ًياص است كِ تتَاًين اص سٍي آى‬
                                     ‫پايگاُ دادُ سا ايداد كٌين.‬
                ‫‪ ‬تِ ايي هٌظَس اص هذل ساتطِ اي استفادُ هيكٌين.‬
     ‫‪ ‬دس هذل ساتطِاي، هَخَديت ّا ٍ سٍاتط دس دياگشام ‪ERD‬تِ‬
                                       ‫خذاٍل تثذيل هيضَد.‬
‫تثذيل هَخَديت ّا ٍ سٍاتط‬

‫تشاي تثذيل هَخَديتّا ٍ سٍاتط 3 لاًَى اغلي ٍخَد داسد:‬
                                ‫‪ ‬لاًَى هَخَديتّا‬
                                 ‫‪ ‬لاًَى يك تِ چٌذ‬
                                 ‫‪ ‬لاًَى چٌذ تِ چٌذ‬
‫لاًَى هَخَديتّا‬

                 ‫‪ّ ‬ش هَخَديت تِ يك خذٍل تثذيل هيضَد.‬
  ‫‪ ‬كليذ اغلي هَخَديت تِ كليذ اغلي دس خذٍل تثذيل هيضَد.‬
‫‪ ‬غفتّاي هَخَديت تِ ستَىّايي دس خذٍل تثذيل خَاّذ ضذ.‬

‫تشاي هثال هَخَديت داًطدَ تِ خذٍل داًطدَ تثذيل ضذُ ٍ ضواسُ داًطدَيي كليذ‬
                                                ‫اغلي ايي خذٍل خَاّذ تَد.‬
‫لاًَى يك تِ چٌذ‬

‫‪ ‬دس سٍاتط يك تِ چٌذ يك كليذ خاسخي تِ خذٍل فشصًذ هٌتمل‬
                                             ‫هيضَد.‬
                                         ‫تِ ػٌَاى هثال:‬
‫لاًَى چٌذ تِ چٌذ‬

‫‪ّ ‬ش ساتطِي چٌذ تِ چٌذ، تِ يك خذٍل تثذيل هيضَد تِ طَسي كِ‬
     ‫كليذّاي اغلي دٍ طشف ساتطِ، تِ خذٍل ايداد ضذُ هٌتمل‬
‫هيضَد ٍ تشكية آًْا كليذ اغلي خذٍل خذيذ سا تطكيل هيدّذ.‬
‫لاًَى چٌذ تِ چٌذ‬
‫هشاحل اغلي دس طشاحي پايگاُ دادُ‬

                     ‫تحليل ًياصهٌذي ّا‬   ‫‪‬‬
         ‫سسن دياگشام استثاط هَخَديت ّا‬   ‫‪‬‬
                     ‫تْيِ هذل ساتطِ اي‬   ‫‪‬‬
                            ‫ًشهال ساصي‬   ‫‪‬‬
                     ‫ايداد هذل فيضيكي‬    ‫‪‬‬
‫ًشهال ساصي‬

‫ًشهال ساصي فشايٌذي است كِ تِ كوك آى افضًٍگي دادُ دس پايگاُ‬      ‫‪‬‬
                             ‫دادُ كاّص يافتِ يا اص تيي هيسٍد.‬
       ‫ّوچٌيي تِ كوك ًشهال ساصي احتوال افضٍدُ ضذى دادُّاي‬       ‫‪‬‬
                          ‫هتٌالض دس پايگاُ دادُ كاّص هيياتذ.‬
 ‫تشاي ًشهال ساصي خذاٍل تايذ ‪3NF‬يا ضكل ًشهال سَم سا تذست‬         ‫‪‬‬
                                                      ‫آٍسين.‬
   ‫تشاي ايٌكِ تِ ضكل ‪3NF‬تشسين تايذ ‪2NF , 1NF‬سا ًيض تذست‬         ‫‪‬‬
                                                      ‫آٍسين.‬
‫فشم ًشهال ‪1NF‬‬

‫تشاي تذست آٍسدى فشم ًشهال ‪1NF‬اتتذا تايذ ستَىّايي كِ داساي‬
‫دادُّاي يكساًي ّستٌذ پيذا كشدُ ٍ سپس ّش گشٍُ اص ايي ستَى‬
                            ‫ّا سا تِ يك خذٍل خذيذ هٌتمل كٌين.‬
   ‫سپس تا استفادُ اص يك كليذ اغلي استثاط تيي خذاٍل سا تش لشاس‬
                                                       ‫هيكٌين.‬
‫هثال ‪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تا تيطتش ضَد تايذ طشاحي‬
    ‫....‬       ‫....‬                                            ‫خذاٍل تغييش هي كشد.‬
‫فشم ًشهال ‪2NF‬‬

‫‪ّ ‬ذف اص ايداد ضكل ًشهال ‪2NF‬حزف دادُّاي تكشاسي اص خذاٍل‬
                                                    ‫است.‬
               ‫‪ ‬تشاي ايداد ايي فشم 2هشحلِ صيش سا طي هيكٌين:‬
          ‫‪ ‬پيذا كشدى ٍ حزف دادُّاي تكشاسي دس ّش يك اص خذاٍل‬
 ‫‪ ‬لشاس دادى دادُّاي حزف ضذُ دس يك خذٍل خذيذ ٍ ايداد استثاط‬
                          ‫تيي خذاٍل تا استفادُ اص كليذ خاسخي‬
‫هثال ‪2NF‬‬
          ‫ًام ضْش‬           ‫ًام استاى‬              ‫آدسس پستي‬                ‫ًام داًطدَ‬             ‫كذ داًطدَ‬

          ‫هطْذ‬            ‫خشاساى سضَي‬          ‫خياتاى كَّسٌگي‬                ‫اهيش خثلي‬            ‫508968088‬

          ‫تْشاى‬               ‫تْشاى‬                ‫خياتاى هالغذسا‬         ‫ياسش اتذال تيگي‬         ‫608868088‬

          ‫تْشاى‬               ‫تْشاى‬                 ‫خياتاى سشٍ‬          ‫ػلي اكثش حذاد ّشًذي‬       ‫708068088‬

‫ًام ضْش‬       ‫ًام استاى‬   ‫كذ هٌطمِ‬      ‫كذ هٌطمِ‬        ‫آدسس پستي‬                 ‫ًام داًطدَ‬            ‫كذ داًطدَ‬
‫هطْذ‬        ‫خشاساى سضَي‬      ‫1‬             ‫1‬          ‫خياتاى كَّسٌگي‬               ‫اهيش خثلي‬           ‫508968088‬

‫تْشاى‬             ‫تْشاى‬      ‫2‬             ‫2‬           ‫خياتاى هالغذسا‬           ‫ياسش اتذال تيگي‬        ‫608968088‬

‫اغفْاى‬         ‫اغفْاى‬        ‫3‬             ‫2‬             ‫خياتاى سشٍ‬          ‫ػلي اكثش حذاد ّشًذي‬       ‫708968088‬


                                                                                                  ‫هطكل چِ تَد ؟‬
  ‫- اگش ًام يك استاى تغييش هي كشد تايذ اطالػات كذ خذٍل داًطدَياى تشٍص هي ضذ.‬                      ‫- ٍخَد افضًٍگي‬
‫فشم ًشهال ‪)1( 3NF‬‬

  ‫‪ ‬دس ضكل ًشهال ‪3NF‬تِ حزف ستَىّايي هيپشداصين كِ تِ كليذ‬
                                    ‫اغلي ٍاتستگي ًذاسًذ.‬
‫ٍاحذ‬   ‫ًوشُ‬    ‫كذ داًطدَ‬   ‫هؼذل كل‬        ‫ًام داًطدَ‬         ‫كذ داًطدَ‬
 ‫3‬     ‫91‬     ‫508968088‬      ‫81‬            ‫اهيش خثلي‬        ‫508968088‬
 ‫2‬     ‫81‬     ‫608968088‬      ‫91‬         ‫ياسش اتذال تيگي‬     ‫608868088‬
 ‫2‬     ‫02‬     ‫708968088‬      ‫02‬       ‫ػلي اكثش حذاد ّشًذي‬   ‫708068088‬



                                           ‫ًام داًطدَ‬        ‫كذ داًطدَ‬

                                           ‫اهيش خثلي‬        ‫508968088‬

                                        ‫ياسش اتذال تيگي‬     ‫608968088‬

                                      ‫ػلي اكثش حذاد ّشًذي‬   ‫608968088‬
‫فشم ًشهال ‪)2( 3NF‬‬

‫تا تَخِ تِ ايٌكِ هؼذل كل اص سٍي ًوشات داًطدَ هحاسثِ هيضَد ٍ‬
    ‫ٍاتستگي تا ضواسُ داًطدَيي فشد ًذاسد تايذ اص خذٍل اطالػات‬
      ‫داًطدَ حزف ضذُ ٍ دس غَست ًياص همذاس آى هحاسثِ ضَد.‬


                                                        ‫چِ اضكالي ٍخَد داضت ؟‬
  ‫‪ ‬دس غَستي ّش يك اص ًوشات يك داًطدَ دس ّش صهاى تؼييش كٌذ تايذ هؼذل ًيض‬
‫تشٍص ضَد كِ ايي هَضَع ّن سًٍذ كذ ًَيسي سا پيچيذُ هيكٌذ ٍ ّن هوكي است‬
 ‫ػول تشٍص سساًي هؼذل كل تِ دليل خطاي تشًاهِ (‪ )runtime error‬يا ... اًدام‬
                                                                   ‫ًطَد.‬
‫فشمّاي ًشهال ديگش‬

  :‫ تشاي ًشهال ساصي فشمّاي ديگشي ًيض ٍخَد داسد كِ ػثاستٌذ اص‬
 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 ‫ تِ ػٌَاى هثال اص فشم ًشهال‬
                                           .‫استفادُ هيضَد‬
‫هشاحل اغلي دس طشاحي پايگاُ دادُ‬

                     ‫تحليل ًياصهٌذي ّا‬   ‫‪‬‬
         ‫سسن دياگشام استثاط هَخَديت ّا‬   ‫‪‬‬
                     ‫تْيِ هذل ساتطِ اي‬   ‫‪‬‬
                            ‫ًشهال ساصي‬   ‫‪‬‬
                     ‫ايداد هذل فيضيكي‬    ‫‪‬‬
‫اص ‪ERD‬تا هذل فيضيكي !‬

  ‫‪ ‬اكٌَى يك پايگاُ دادُ سا دس ًشم افضاس ‪MySQL Workbench‬‬
‫ساختِ، اص ًشم افضاس يك خشٍخي ‪SQL‬دس لالة يك فايل هيساصين‬
‫ٍ سپس اص طشيك ًشمافضاس هذيشيت پايگاُ دادُ ‪PHPMyAdmin‬‬
‫ايي خشٍخي سا تِ پايگاُ دادُ ‪MySQL‬هٌتمل كشدُ ٍ هذل فيضيكي‬
                                         ‫سا ايداد هيكٌين.‬
MySQL Workbench ‫ايداد خذاٍل دس‬
‫تْيِ خشٍخي ‪SQL‬‬
‫خشٍخي ‪SQL‬‬
‫ايداد خذاٍل دس پايگاُ دادُ اص طشيك فايل ‪SQL‬‬
‫خذاٍل ايداد ضذُ پس اص ‪Import‬فايل ‪SQL‬‬
‫دادُّاي ٍاسد ضذُ دس خذاٍل‬
‫ساختاس فيضيكي‬
 ‫‪ ‬خذاٍل تش سٍي فايل سيستن تِ غَست فايلّاي تايٌشي كذ ضذُ‬
                                           ‫ًگْذاسي هيضَد.‬
‫‪ ‬ضيَُ رخيشُ ساصي فايلّا تستِ تِ ًَع پايگاُ دادُ هتفاٍت است.‬
‫هٌاتغ‬
   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
amir.jebelli@gmail.com ‫اهيش خثلي‬
y_a112@yahoo.com ‫ياسش اتذال تيگي‬

More Related Content

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

  • 1. ‫ًام دسس: سيستن ّاي هذيشيت تاًك ّاي اطالػاتي‬ ‫استاد گشاهي خٌاب آلاي دكتش تاصايي‬ ‫اهيش خثلي‬ ‫ياسش اتذال تيگي‬ ‫پاييض 09‬
  • 2. ‫همذهِ‬ ‫ّواًطَس كِ تشاي پيادُ ساصي يك پشٍطُ هؼواسي يا تَليذ يك دستگاُ‬ ‫دس اتتذا ًياص تِ يك طشح اٍليِ است تشاي پيادُ ساصي پايگاُ دادُ ًيض‬ ‫ًياص تِ يك طشح اٍليِ داسين.‬
  • 3. ‫هشاحل اغلي دس طشاحي پايگاُ دادُ‬ ‫(‪)Requirement Analysis‬‬ ‫تحليل ًياصهٌذي ّا‬ ‫‪‬‬ ‫سسن دياگشام استثاط هَخَديت ّا (‪)Entity Relationship Diagram‬‬ ‫‪‬‬ ‫تْيِ هذل ساتطِ اي (‪)Relational Model‬‬ ‫‪‬‬ ‫ًشهال ساصي (‪)Normalization‬‬ ‫‪‬‬ ‫ايداد هذل فيضيكي (‪)Physical Model‬‬ ‫‪‬‬
  • 4. ‫تحليل ًياصهٌذي ّا‬ ‫‪ ‬دس ايي هشحلِ ًياصهٌذيّاي پايگاُ دادُ ضٌاسايي هيضَد.‬ ‫‪ ‬اًتظاسات دليك كاستش اص پايگاُ دادُ ٍ تواهي اطالػات هشتثط تا‬ ‫سيستن استخشاج هيگشدد.‬ ‫‪ ‬تِ طَس دليمي هطخع ضَد كِ چِ دادُّايي لشاس است دس پايگاُ‬ ‫دادُ رخيشُ ضَد ٍ ّوچٌيي ايي دادُ ّا تِ چِ غَست لشاس است‬ ‫اص پايگاُ دادُ تاصياتي ضَد.‬
  • 5. ‫تحليل ًياصهٌذي ّا‬ ‫تشسسي هستٌذات، فشمّا ٍ پايگاُدادُّاي هَخَد‬ ‫‪‬‬ ‫تحميمات ٍ تشسسي ّاي هحيطي‬ ‫‪‬‬ ‫هطاّذُي هحيط كاس‬ ‫‪‬‬ ‫استفادُ اص پشسطٌاهِ‬ ‫‪‬‬ ‫هػاحثِ ٍ گفتگَ تا غاحة ًظشاى‬ ‫‪‬‬ ‫ايداد ًوًَِ اٍليِ‬ ‫‪‬‬ ‫تشگضاسي خلسات گشٍّي تشاي سفغ اضكاالت‬ ‫‪‬‬
  • 6. ‫خطت اٍل چَى ًْذ هؼواس كح ...‬ ‫تشسسي ًياصهٌذيْاي هْنتشيي هشحلِ دس طشاحي پايگاُ دادُ هيتاضذ‬ ‫صيشا طشاحي پايگاُ دادُ، تا كوك اطالػات تذست اهذُ اص ايي فاص‬ ‫اًدام هيضَد ٍ ها دس طَل هشاحل طشاحي، تاسّا اص يافتِّاي ايي فاص‬ ‫استفادُ خَاّين كشد.‬
  • 7. ‫يك پيطٌْاد‬ ‫طشاحاى پايگاُ دادُاي كِ تدشتِ كوي دس ايي صهيٌِ داسًذ تْتش است‬ ‫اتتذا پايگاُ دادُّاي لذيوي ساصهاى سا تشسسي كٌٌذ تا تشاي طشاحي‬ ‫پايگاُ دادُ خذيذ يك چاسچَب كلي تذست آٍسًذ.‬ ‫تشاي سسيذى تِ ايي چاسچَب تايذ تثيٌين ساصهاى دادُّاي هشتثط تا‬ ‫ّش تخص سا دس حال حاظش تِ چِ غَست رخيشُ ساصي كشدُ ٍ تِ چِ‬ ‫طشيمي اص آى استفادُ هيكٌذ.‬
  • 8. ‫هشاحل اغلي دس طشاحي پايگاُ دادُ‬ ‫تحليل ًياصهٌذي ّا‬ ‫‪‬‬ ‫سسن دياگشام استثاط هَخَديت ّا‬ ‫‪‬‬ ‫تْيِ هذل ساتطِ اي‬ ‫‪‬‬ ‫ًشهال ساصي‬ ‫‪‬‬ ‫ايداد هذل فيضيكي‬ ‫‪‬‬
  • 9. ‫دياگشام استثاط هَخَديتّا‬ ‫‪ Entity Relationship Diagram‬كِ تِ طَس خالغِ تِ آى ‪ERD‬‬ ‫‪‬‬ ‫هي گَيٌذ.‬ ‫‪ERD‬يك هذل سطح تاال تشاي تياى طشاحي پايگاُ دادُ است .ايي‬ ‫‪‬‬ ‫هذل تِ طَس سادُ ٍ تِ غَست گشافيكي، تا كوك تؼذادي سوثل‬ ‫ساختاس پايگاُ دادُ سا هطخع هيكٌذ.‬ ‫دادُّايي كِ دس هشحلِ "تحليل ًياصهٌذيّا "تذست آهذ اكٌَى دس‬ ‫‪‬‬ ‫ًوَداس ‪ERD‬ظاّش هيضًَذ.‬ ‫ايي دادُّا دس لالة هَخَديتّا ٍ سٍاتط تيي آًْا دس ًوَداس ‪ERD‬‬ ‫‪‬‬ ‫لشاس هيگيشًذ.‬
  • 10. ‫اخضا تطكيل دٌّذُي ‪ERD‬‬ ‫‪ ‬هَخَديت ّا‬ ‫‪ ‬غفات‬ ‫‪ ‬سٍاتط‬
  • 11. ‫هَخَديتّا (‪)Entities‬‬ ‫تخطي اص هحيط كاسي است كِ دس سيستن ها ٍخَد داسد.‬ ‫اًَاع هَخَديتّا:‬ ‫‪ ‬هَخَديت هيتَاًذ ٍخَد فيضيكي داضتِ تاضذ هثل خاًِ ٍ هاضيي‬ ‫‪ ‬هَخَديت هيتَاًذ يك اتفاق تاضذ هثل فشٍش يك خاًِ يا تؼويش‬ ‫هاضيي‬ ‫‪ ‬هَخَديت هيتَاًذ يك هفْوَم تاضذ هثل سفاسش هطتشي ٍ يا يك‬ ‫تشاكٌص‬
  • 12. ‫غفات‬ ‫دادُّايي ّستٌذ كِ ها دس خػَظ هَخَديت ّا خوغ آٍسي كشدُ‬ ‫‪‬‬ ‫اين ٍ ايي دادُ ّا هَخَديت ّا سا تَضيح هيدٌّذ.‬ ‫هثال غفات يك هاضيي هيتَاًذ هذل، سًگ، ضواسُ هَتَس ، تؼذاد‬ ‫‪‬‬ ‫سيلٌذس ٍ …تاضذ.‬ ‫غفات يك هَخَديت هثل تؼويش هاضيي هيتَاًذ ًام تؼويشكاس،‬ ‫‪‬‬ ‫ايشاد هاضيي ٍ …تاضذ.‬ ‫غفات يك هَخَديت هثل سفاسش هطتشي هيتَاًذ هثلغ سفاسش،‬ ‫‪‬‬ ‫تاسيخ سفاسش ٍ آيتنّاي سفاسش تاضذ.‬
  • 14. ‫سٍاتطĬ ‫‪ ‬سٍاتط استثاطات تيي هَخَديت ّا سا هطخع هيكٌذ .‬ ‫‪ ‬تِ ػٌَاى هثال دس يك ساتطِ تيي هطتشي ٍ سفاسش ساتطِ‬ ‫"سفاسش دادى "ٍخَد داسد.‬ ‫‪ ‬تيي هَخَديت فشد ٍ ضْش ساتطِ “صًذگي كشدى” ٍخَد داسد.‬
  • 15. ‫ًوًَِ اي اص يك ‪ERD‬‬ ‫‪ ‬يك تيواس دس يك تخص تستشي‬ ‫هيضَد ٍ يك دكتش تشاي ّش‬ ‫تيواس هطخع هيضَد.‬ ‫‪ ‬تؼذادي پشستاس تشاي هشالثت‬ ‫اص تيواساى ٍخَد داسًذ كِ دس‬ ‫ّش تخص تؼذادي پشستاس‬ ‫هطغَل كاس ّستٌذ.‬
  • 16. 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)
  • 17. Power Designer ‫ًشم افضاس‬
  • 18. MySQL Workbench ‫ًشم افضاس‬
  • 19. ‫هشاحل اغلي دس طشاحي پايگاُ دادُ‬ ‫تحليل ًياصهٌذي ّا‬ ‫‪‬‬ ‫سسن دياگشام استثاط هَخَديت ّا‬ ‫‪‬‬ ‫تْيِ هذل ساتطِ اي‬ ‫‪‬‬ ‫ًشهال ساصي‬ ‫‪‬‬ ‫ايداد هذل فيضيكي‬ ‫‪‬‬
  • 20. ‫تْيِ هذل ساتطِ اي‬ ‫‪ ‬هطخع ضذى سٌاسيَي پشٍطُ اص سٍي ‪ERD‬تسياس ساحت است.‬ ‫ٍلي تشاي پيادُ ساصي، هذل تْتشي ًياص است كِ تتَاًين اص سٍي آى‬ ‫پايگاُ دادُ سا ايداد كٌين.‬ ‫‪ ‬تِ ايي هٌظَس اص هذل ساتطِ اي استفادُ هيكٌين.‬ ‫‪ ‬دس هذل ساتطِاي، هَخَديت ّا ٍ سٍاتط دس دياگشام ‪ERD‬تِ‬ ‫خذاٍل تثذيل هيضَد.‬
  • 21. ‫تثذيل هَخَديت ّا ٍ سٍاتط‬ ‫تشاي تثذيل هَخَديتّا ٍ سٍاتط 3 لاًَى اغلي ٍخَد داسد:‬ ‫‪ ‬لاًَى هَخَديتّا‬ ‫‪ ‬لاًَى يك تِ چٌذ‬ ‫‪ ‬لاًَى چٌذ تِ چٌذ‬
  • 22. ‫لاًَى هَخَديتّا‬ ‫‪ّ ‬ش هَخَديت تِ يك خذٍل تثذيل هيضَد.‬ ‫‪ ‬كليذ اغلي هَخَديت تِ كليذ اغلي دس خذٍل تثذيل هيضَد.‬ ‫‪ ‬غفتّاي هَخَديت تِ ستَىّايي دس خذٍل تثذيل خَاّذ ضذ.‬ ‫تشاي هثال هَخَديت داًطدَ تِ خذٍل داًطدَ تثذيل ضذُ ٍ ضواسُ داًطدَيي كليذ‬ ‫اغلي ايي خذٍل خَاّذ تَد.‬
  • 23. ‫لاًَى يك تِ چٌذ‬ ‫‪ ‬دس سٍاتط يك تِ چٌذ يك كليذ خاسخي تِ خذٍل فشصًذ هٌتمل‬ ‫هيضَد.‬ ‫تِ ػٌَاى هثال:‬
  • 24. ‫لاًَى چٌذ تِ چٌذ‬ ‫‪ّ ‬ش ساتطِي چٌذ تِ چٌذ، تِ يك خذٍل تثذيل هيضَد تِ طَسي كِ‬ ‫كليذّاي اغلي دٍ طشف ساتطِ، تِ خذٍل ايداد ضذُ هٌتمل‬ ‫هيضَد ٍ تشكية آًْا كليذ اغلي خذٍل خذيذ سا تطكيل هيدّذ.‬
  • 26. ‫هشاحل اغلي دس طشاحي پايگاُ دادُ‬ ‫تحليل ًياصهٌذي ّا‬ ‫‪‬‬ ‫سسن دياگشام استثاط هَخَديت ّا‬ ‫‪‬‬ ‫تْيِ هذل ساتطِ اي‬ ‫‪‬‬ ‫ًشهال ساصي‬ ‫‪‬‬ ‫ايداد هذل فيضيكي‬ ‫‪‬‬
  • 27. ‫ًشهال ساصي‬ ‫ًشهال ساصي فشايٌذي است كِ تِ كوك آى افضًٍگي دادُ دس پايگاُ‬ ‫‪‬‬ ‫دادُ كاّص يافتِ يا اص تيي هيسٍد.‬ ‫ّوچٌيي تِ كوك ًشهال ساصي احتوال افضٍدُ ضذى دادُّاي‬ ‫‪‬‬ ‫هتٌالض دس پايگاُ دادُ كاّص هيياتذ.‬ ‫تشاي ًشهال ساصي خذاٍل تايذ ‪3NF‬يا ضكل ًشهال سَم سا تذست‬ ‫‪‬‬ ‫آٍسين.‬ ‫تشاي ايٌكِ تِ ضكل ‪3NF‬تشسين تايذ ‪2NF , 1NF‬سا ًيض تذست‬ ‫‪‬‬ ‫آٍسين.‬
  • 28. ‫فشم ًشهال ‪1NF‬‬ ‫تشاي تذست آٍسدى فشم ًشهال ‪1NF‬اتتذا تايذ ستَىّايي كِ داساي‬ ‫دادُّاي يكساًي ّستٌذ پيذا كشدُ ٍ سپس ّش گشٍُ اص ايي ستَى‬ ‫ّا سا تِ يك خذٍل خذيذ هٌتمل كٌين.‬ ‫سپس تا استفادُ اص يك كليذ اغلي استثاط تيي خذاٍل سا تش لشاس‬ ‫هيكٌين.‬
  • 29. ‫هثال ‪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تا تيطتش ضَد تايذ طشاحي‬ ‫....‬ ‫....‬ ‫خذاٍل تغييش هي كشد.‬
  • 30. ‫فشم ًشهال ‪2NF‬‬ ‫‪ّ ‬ذف اص ايداد ضكل ًشهال ‪2NF‬حزف دادُّاي تكشاسي اص خذاٍل‬ ‫است.‬ ‫‪ ‬تشاي ايداد ايي فشم 2هشحلِ صيش سا طي هيكٌين:‬ ‫‪ ‬پيذا كشدى ٍ حزف دادُّاي تكشاسي دس ّش يك اص خذاٍل‬ ‫‪ ‬لشاس دادى دادُّاي حزف ضذُ دس يك خذٍل خذيذ ٍ ايداد استثاط‬ ‫تيي خذاٍل تا استفادُ اص كليذ خاسخي‬
  • 31. ‫هثال ‪2NF‬‬ ‫ًام ضْش‬ ‫ًام استاى‬ ‫آدسس پستي‬ ‫ًام داًطدَ‬ ‫كذ داًطدَ‬ ‫هطْذ‬ ‫خشاساى سضَي‬ ‫خياتاى كَّسٌگي‬ ‫اهيش خثلي‬ ‫508968088‬ ‫تْشاى‬ ‫تْشاى‬ ‫خياتاى هالغذسا‬ ‫ياسش اتذال تيگي‬ ‫608868088‬ ‫تْشاى‬ ‫تْشاى‬ ‫خياتاى سشٍ‬ ‫ػلي اكثش حذاد ّشًذي‬ ‫708068088‬ ‫ًام ضْش‬ ‫ًام استاى‬ ‫كذ هٌطمِ‬ ‫كذ هٌطمِ‬ ‫آدسس پستي‬ ‫ًام داًطدَ‬ ‫كذ داًطدَ‬ ‫هطْذ‬ ‫خشاساى سضَي‬ ‫1‬ ‫1‬ ‫خياتاى كَّسٌگي‬ ‫اهيش خثلي‬ ‫508968088‬ ‫تْشاى‬ ‫تْشاى‬ ‫2‬ ‫2‬ ‫خياتاى هالغذسا‬ ‫ياسش اتذال تيگي‬ ‫608968088‬ ‫اغفْاى‬ ‫اغفْاى‬ ‫3‬ ‫2‬ ‫خياتاى سشٍ‬ ‫ػلي اكثش حذاد ّشًذي‬ ‫708968088‬ ‫هطكل چِ تَد ؟‬ ‫- اگش ًام يك استاى تغييش هي كشد تايذ اطالػات كذ خذٍل داًطدَياى تشٍص هي ضذ.‬ ‫- ٍخَد افضًٍگي‬
  • 32. ‫فشم ًشهال ‪)1( 3NF‬‬ ‫‪ ‬دس ضكل ًشهال ‪3NF‬تِ حزف ستَىّايي هيپشداصين كِ تِ كليذ‬ ‫اغلي ٍاتستگي ًذاسًذ.‬ ‫ٍاحذ‬ ‫ًوشُ‬ ‫كذ داًطدَ‬ ‫هؼذل كل‬ ‫ًام داًطدَ‬ ‫كذ داًطدَ‬ ‫3‬ ‫91‬ ‫508968088‬ ‫81‬ ‫اهيش خثلي‬ ‫508968088‬ ‫2‬ ‫81‬ ‫608968088‬ ‫91‬ ‫ياسش اتذال تيگي‬ ‫608868088‬ ‫2‬ ‫02‬ ‫708968088‬ ‫02‬ ‫ػلي اكثش حذاد ّشًذي‬ ‫708068088‬ ‫ًام داًطدَ‬ ‫كذ داًطدَ‬ ‫اهيش خثلي‬ ‫508968088‬ ‫ياسش اتذال تيگي‬ ‫608968088‬ ‫ػلي اكثش حذاد ّشًذي‬ ‫608968088‬
  • 33. ‫فشم ًشهال ‪)2( 3NF‬‬ ‫تا تَخِ تِ ايٌكِ هؼذل كل اص سٍي ًوشات داًطدَ هحاسثِ هيضَد ٍ‬ ‫ٍاتستگي تا ضواسُ داًطدَيي فشد ًذاسد تايذ اص خذٍل اطالػات‬ ‫داًطدَ حزف ضذُ ٍ دس غَست ًياص همذاس آى هحاسثِ ضَد.‬ ‫چِ اضكالي ٍخَد داضت ؟‬ ‫‪ ‬دس غَستي ّش يك اص ًوشات يك داًطدَ دس ّش صهاى تؼييش كٌذ تايذ هؼذل ًيض‬ ‫تشٍص ضَد كِ ايي هَضَع ّن سًٍذ كذ ًَيسي سا پيچيذُ هيكٌذ ٍ ّن هوكي است‬ ‫ػول تشٍص سساًي هؼذل كل تِ دليل خطاي تشًاهِ (‪ )runtime error‬يا ... اًدام‬ ‫ًطَد.‬
  • 34. ‫فشمّاي ًشهال ديگش‬ :‫ تشاي ًشهال ساصي فشمّاي ديگشي ًيض ٍخَد داسد كِ ػثاستٌذ اص‬  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 ‫ تِ ػٌَاى هثال اص فشم ًشهال‬ .‫استفادُ هيضَد‬
  • 35. ‫هشاحل اغلي دس طشاحي پايگاُ دادُ‬ ‫تحليل ًياصهٌذي ّا‬ ‫‪‬‬ ‫سسن دياگشام استثاط هَخَديت ّا‬ ‫‪‬‬ ‫تْيِ هذل ساتطِ اي‬ ‫‪‬‬ ‫ًشهال ساصي‬ ‫‪‬‬ ‫ايداد هذل فيضيكي‬ ‫‪‬‬
  • 36. ‫اص ‪ERD‬تا هذل فيضيكي !‬ ‫‪ ‬اكٌَى يك پايگاُ دادُ سا دس ًشم افضاس ‪MySQL Workbench‬‬ ‫ساختِ، اص ًشم افضاس يك خشٍخي ‪SQL‬دس لالة يك فايل هيساصين‬ ‫ٍ سپس اص طشيك ًشمافضاس هذيشيت پايگاُ دادُ ‪PHPMyAdmin‬‬ ‫ايي خشٍخي سا تِ پايگاُ دادُ ‪MySQL‬هٌتمل كشدُ ٍ هذل فيضيكي‬ ‫سا ايداد هيكٌين.‬
  • 37. MySQL Workbench ‫ايداد خذاٍل دس‬
  • 40. ‫ايداد خذاٍل دس پايگاُ دادُ اص طشيك فايل ‪SQL‬‬
  • 41. ‫خذاٍل ايداد ضذُ پس اص ‪Import‬فايل ‪SQL‬‬
  • 42. ‫دادُّاي ٍاسد ضذُ دس خذاٍل‬
  • 43. ‫ساختاس فيضيكي‬ ‫‪ ‬خذاٍل تش سٍي فايل سيستن تِ غَست فايلّاي تايٌشي كذ ضذُ‬ ‫ًگْذاسي هيضَد.‬ ‫‪ ‬ضيَُ رخيشُ ساصي فايلّا تستِ تِ ًَع پايگاُ دادُ هتفاٍت است.‬
  • 44. ‫هٌاتغ‬  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