طراحی و پیاده سازی پایگاه داده
DESCRIPTION
درس سیستمهای مدیریت پایگاه داده دانشگاه آزاد اسلامی - واحد الکترونیکی نام استاد: دکتر بازایی ارائه کننده: امیر جبلی پاییز ۹۰TRANSCRIPT
سيستن اي هذيشيت تاك اي اطالػاتي: ام دسس استاد گشاهي خاب آلاي دكتش تاصايي
اهيش خثلي ياسش اتذال تيگي
90پاييض
همذه
ك تشاي پياد ساصي يك پشط هؼواسي يا تليذ يك دستگا واطسدس اتتذا ياص ت يك طشح الي است تشاي پياد ساصي پايگا داد يض
.ياص ت يك طشح الي داسين
هشاحل اغلي دس طشاحي پايگا داد
تحليل ياصهذي ا(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 تشاي تثذيل هخديت ا ساتطهخديت ا لاى
لاى يك ت چذ
لاى چذ ت چذ
لاى هخديت ا
هي ضد يك خذل تثذيل ت ش هخديت. كليذ اغلي هخديت ت كليذ اغلي دس خذل تثذيل هي ضد. هخديت ت ستى ايي دس خذل تثذيل خاذ ضذ غفت اي.
تشاي هثال هخديت داطد ت خذل داطد تثذيل ضذ ضواس داطديي كليذ .اغلي ايي خذل خاذ تد
لاى يك ت چذ
خاسخي ت خذل فشصذ هتمل كليذ دس ساتط يك ت چذ يك .هي ضد
:ت ػاى هثال
چذ لاى چذ ت
ي چذ ت ت طسي ك ت يك خذل تثذيل هي ضد ،چذ ش ساتطت خذل ايداد ضذ هتمل ،ساتط كليذ اي اغلي د طشف
.تطكيل هي دذ خذل خذيذ سا اغلي كليذتشكية آا هي ضد
لاى چذ ت چذ
هشاحل اغلي دس طشاحي پايگا داد
تحليل ياصهذي ا ادياگشام استثاط هخديت سسن هذل ساتط اي تي شهال ساصي فيضيكيهذل ايداد
شهال ساصي
شهال ساصي فشايذي است ك ت كوك آى افضگي داد دس پايگا .داد كاص يافت يا اص تيي هي سد
اي وچيي ت كوك شهال ساصي احتوال افضد ضذى داد .هتالض دس پايگا داد كاص هي ياتذ
3 تشاي شهال ساصي خذال تايذNF ضكل شهال سم سا تذست يا .آسين
3 تشاي ايك ت ضكلNF 2 تشسين تايذNF , 1NF سا يض تذست .آسين
1NF فشم شهال
اتتذا تايذ ستى ايي ك داساي 1NF تذست آسدى فشم شهال تشاي اي يكساي ستذ پيذا سپس ش گش اص ايي ستى كشد داد
.كين ا سا ت يك خذل خذيذ هتملاستثاط تيي خذال سا تش لشاس كليذ اغلي تا استفاد اص يك سپس
.هي كين
1NFهثال
چ هطكلي خد داضت ؟ تا تيطتش ضد تايذ طشاحي 4اگش تؼذاد دسس ا اص .خذال تغييش هي كشد
4كذ دسس 3كذ دسس 2دسس كذ 1كذ دسس ام داطد كذ داطد
103 102 101 100 اهيش خثلي 880869805
106 105 103 100 اتذال تيگي ياسش 880868806
ام داطد كذ داطد
اهيش خثلي 880869805
ياسش اتذال تيگي 880869806
كذ دسس كذ داطد
880860805 100
880869806 100
880869805 101
880869806 106
880869806 103
.... ....
2NF فشم شهال
2 ذف اص ايداد ضكل شهالNF اي تكشاسي اص خذال حزف داد .است
هشحل صيش سا طي هي كين 2تشاي ايداد ايي فشم: اي تكشاسي دس ش يك اص خذال پيذا كشدى حزف داد
اي حزف ضذ دس يك خذل خذيذ ايداد استثاط لشاس دادى داد خاسخي كليذ تيي خذال تا استفاد اص
2NFهثال
هطكل چ تد ؟ .اگش ام يك استاى تغييش هي كشد تايذ اطالػات كذ خذل داطدياى تشص هي ضذ -خد افضگي -
ام ضش ام استاى آدسس پستي ام داطد كذ داطد
هطذ خشاساى سضي كسگي خياتاى اهيش خثلي 880869805
تشاى تشاى هالغذسا خياتاى اتذال تيگي ياسش 880868806
تشاى تشاى خياتاى سش شذي ػلي اكثش حذاد 880860807
كذ هطم آدسس پستي ام داطد كذ داطد
1 خياتاى كسگي اهيش خثلي 880869805
2 خياتاى هالغذسا ياسش اتذال تيگي 880869806
2 خياتاى سش شذي ػلي اكثش حذاد 880869807
ضش ام استاى ام كذ هطم
هطذ خشاساى سضي 1
تشاى تشاى 2
اغفاى اغفاى 3
3NF (1) فشم شهال
3 دس ضكل شهالNF ت حزف ستى ايي هي پشداصين ك ت كليذ .اغلي اتستگي ذاسذ
هؼذل كل ام داطد كذ داطد
18 اهيش خثلي 880869805
19 اتذال تيگي ياسش 880868806
20 شذي ػلي اكثش حذاد 880860807
احذ وش كذ داطد
880869805 19 3
880869806 18 2
880869807 20 2
ام داطد كذ داطد
اهيش خثلي 880869805
اتذال تيگي ياسش 880869806
شذي ػلي اكثش حذاد 880869806
3NF (2) فشم شهال
تا تخ ت ايك هؼذل كل اص سي وشات داطد هحاسث هي ضد اتستگي تا ضواس داطديي فشد ذاسد تايذ اص خذل اطالػات
.داطد حزف ضذ دس غست ياص همذاس آى هحاسث ضد
اضكالي خد داضت ؟ چ
دس ش صهاى تؼييش كذ تايذ هؼذل يض داطديك غستي ش يك اص وشات دس تشص ضد ك ايي هضع ن سذ كذ يسي سا پيچيذ هي كذ ن هوكي است
ادام ... يا ( 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 ايداد خذال دس پايگا داد اص طشيك فايل
SQL فايل Import خذال ايداد ضذ پس اص
ايد الخذ اسد ضذ دس اد
ساختاس فيضيكي
تش سي فايل سيستن ت غست فايل اي تايشي كذ ضذ خذال .گذاسي هي ضد
فايل ا تست ت ع پايگا داد هتفات است ساصي رخيش ضي.
هاتغ
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
[email protected]اهيش خثلي
yahoo.com112y_a@ياسش اتذال تيگي