Admin
18th September 2008, 12:01 PM
طراحي پايگاه داده (Database Design) به زبان ساده (قسمت اول)
پايگاه داده ( Database ) چيست ؟
پايگاه داده يك وسيله الكترونيكي جهت ذخيره داده ( Data) بصورت سازمان يافته است. پس از اينكه داده ها در پايگاه داده ذخيره شد اين داده ها قابل بازيابي ، پرادزش مي باشند و امكان توليد اطلاعات (Information ) از داده ها وجود دارد.
http://www.systemgroup.net/admin/images/attachs/BA528.jpg
فايل هاي تخت (Flat File) در مقابل پايگاههاي داده رابطهدار(Relational Database)
ابتدايي ترين سطح پايگاه داده ها فايل ها تخت هستند كه داده ها تنها در يك فايل ذخيره مي شوند.درنظر بگيرد كه يك صفحه اكسل را باز كرده ايد و اطلاعات زير را در آن وارد ساخته ايد. با اين كار شما يك ديتا بيس تخت ايجاد كرده ايد. ( شكل 1 )
http://www.systemgroup.net/admin/images/attachs/shah1.gif
به قسمت هاي خاكستري رنگ توجه كنيد داده هاي تكراري در فايل به چشم مي خورند. اين فايلهاي تخت دو مشكل اسا سي دارند :
1-تكرر داده ها
2-مشگلات نگهداري پايگاه داده
براي رفع اين مشكلات مي توانيد از پايگاه داده رابطه دار بهره بگيرد. اين نوع پايگاه دادهها اطلاعات را در جداول[1] (http://www.systemgroup.net/fa/pages/print.asp?p=5.3&i=528#_ftn1) مجزا نگهداري مي كنند. براي مثال مي توان اطلاعات فوق را در جداول مشتري ، سفارش و اقلام سفارش نگاه داشت و فيلدهاي هر جدول به صورت زير است : ( شكل 2)
http://www.systemgroup.net/admin/images/attachs/shah2.gif
بنابراين اطلاعاتي نظير كد مشتري ، نام مشتري ، نام خانوادگي مشتري ، آدرس مشتري ، شهر مشتري ، ايالت مشتري و ... در جدول مشتري قرار مي گيرد.
شماره سفارش ، كد مشتري ، تاريخ سفارش در جدول سفارشات قرار مي گيرد.
شماره قلم سفارش ، شماره سفارش ، توضيح سفارش ، مقدار سفارش ، قيمت قلم و واحد آن در جدول اقلام سفارش قرار مي گيرد.
براي استفاده از اين جداول بايد بين آنها ارتباط برقرار شود كه اين موضوع در ادامه مورد بررسي قرار خواهيم داد.
تعيين نيازمنديهاي يك پايگاه داده
قبل از آنكه پايگاه داده طراحي شود بايد نيازمنديهاي آن را معين كنيم. براي تشخيص نيازهاي پايگاه داده يك سازمان رهنمودهاي زير را در نظر داشته باشيد :
رهنمود 1 : پايگاه داده هاي موجود را به دقت بررسي كنيد.
رهنمود 2 : با تك تك كاربران مصاحبه كنيد
رهنمود 3 : از فرمهاي شركت كپي تهيه كنيد
رهنمود 4 : به دقت گزارش هاي موجود را بررسي كرده اند نيازهاي گزارشي را نيز مد نظر قراردهيد.
تعيين اطلاعاتي كه بايد رديابي شود
پس از مصاحبه با افراد سازمان شما بايد اطلاعاتي كه بايد رديابي شود را مشخص كنيد.فرض كنيد در يك سازمان به يك ليستي مانند ليست زير دست پيدا كرديد ( شكل 3 )
http://www.systemgroup.net/admin/images/attachs/shah3.gif
تعيين طراحي منطقي پايگاه داده
پس از شناسايي نيازها شما بايد طرح اوليه و پيش نويس پايگاه داده ها را تهيه كنيد. در واقع قبل از اينكه آنرا بصورت الكترونيكي ايجاد كنيد روي يك كاغذ نقشه اوليه آنرا مي كشيد به اين كار اصطلاحا طراحي منطقي پايگاه داده (Logical Database Design) مي گويند.
تعريف جدول ها ( موجوديت ها[2] (http://www.systemgroup.net/fa/pages/print.asp?p=5.3&i=528#_ftn2) ) و فيلدها ( ويژگيها[3] (http://www.systemgroup.net/fa/pages/print.asp?p=5.3&i=528#_ftn3) )
اولين قدم در طراحي منطقي پايگاه داده تعريف جداول است كه موجوديت نيز ناميده مي شود. جدولها گروه هاي مرتبطي از اطلاعات مي باشند. به مثال قبل در مورد سفارش و مشتري دقت نماييد ( شكل 4 )
http://www.systemgroup.net/admin/images/attachs/shah4.gif
فيلدها كه ويژگي نيز ناميده مي شوند در واقع عنصر اسا سي جدولها هستند. مانند فيلد نام مشتري يا آدرس مشتري در جدول مشتري .
هويت دادن به جدول ها و فيلدها
پس از تعيين جداول و فيلدها بايد به آنها هويت بخشيد . نمونه اي از آنها را مشخص نمود ونوع هر فيلد را تعيين كرد. براي اين كار مي توانيد از ليستي كه قبلا تهيه كرديد (شكل 3 ) كمك بگيرد. براي مثال در شكل 5 نمونه اي از اين جدول آمده است:
http://www.systemgroup.net/admin/images/attachs/shah5.gif
براي مثال در جدول كالا شرح كالاي 12345 ، توفاTofa) ( مي باشد. اين فيلد از نوع داده متني مي باشد و تخمين ما اين است كه اين شرح حداكثر 25 كاراكتر خواهد بود.
http://www.systemgroup.net/admin/images/attachs/shah6.gif
يا در جدول مشتري نام مشتري 6 12345 ، جان اي.دويي مي باشد. اين فيلد از نوع داده متني مي باشد و تخمين ما اين است كه اين شرح حداكثر 45 كاراكتر خواهد بود.
http://www.systemgroup.net/admin/images/attachs/shah7.gif
و سرانجام فيلدهاي جدول سفارش مانند شكل فوق خواهد بود.
تعيين كليد اصلي (Primary Key)
كليد اصلي يك فيلد يا مجموعه اي از فيلدها است كه يك ركورد(Record) در جدول را يكتا (Unique) مي كنند. براي مثال در جدول مشتري شماره مشتري يك كليد اصلي مي باشد. هر مشتري يك شماره دارد و هر مشتري نشان دهنده يك هويت است
يك در جدول سفارش ، شماره سفارش كليد اصلي ميباشد. هيچ دو سفارشي يك شماره مشابه نخواهند داشت.
تعيين كليد خارجي يا كليد مرتبط كننده ( Foreign Key)
كليد خارجي يك فيلد يا مجموعه اي از فيلدها است كه يك جدول را به كليد اصلي جدول ديگر مرتبط مي سازد بنابراين اين دو جدول مرتبط مي شوند. براي مثال شماره مشتري و شماره كالا كليدهاي اصلي جداول مشتري وكالا مي باشند كه به عنوان كليد خارجي در جدول سفارش عمل مي كنند. به شكل 6 دقت نماييد.
http://www.systemgroup.net/admin/images/attachs/shah8.gif
http://www.systemgroup.net/admin/images/attachs/shah9.gif
[1] (http://www.systemgroup.net/fa/pages/print.asp?p=5.3&i=528#_ftnref1) table
[2] (http://www.systemgroup.net/fa/pages/print.asp?p=5.3&i=528#_ftnref2) Entity
[3] (http://www.systemgroup.net/fa/pages/print.asp?p=5.3&i=528#_ftnref3) Attribute
منبع: http://www.systemgroup.net (http://www.systemgroup.ne/)
پايگاه داده ( Database ) چيست ؟
پايگاه داده يك وسيله الكترونيكي جهت ذخيره داده ( Data) بصورت سازمان يافته است. پس از اينكه داده ها در پايگاه داده ذخيره شد اين داده ها قابل بازيابي ، پرادزش مي باشند و امكان توليد اطلاعات (Information ) از داده ها وجود دارد.
http://www.systemgroup.net/admin/images/attachs/BA528.jpg
فايل هاي تخت (Flat File) در مقابل پايگاههاي داده رابطهدار(Relational Database)
ابتدايي ترين سطح پايگاه داده ها فايل ها تخت هستند كه داده ها تنها در يك فايل ذخيره مي شوند.درنظر بگيرد كه يك صفحه اكسل را باز كرده ايد و اطلاعات زير را در آن وارد ساخته ايد. با اين كار شما يك ديتا بيس تخت ايجاد كرده ايد. ( شكل 1 )
http://www.systemgroup.net/admin/images/attachs/shah1.gif
به قسمت هاي خاكستري رنگ توجه كنيد داده هاي تكراري در فايل به چشم مي خورند. اين فايلهاي تخت دو مشكل اسا سي دارند :
1-تكرر داده ها
2-مشگلات نگهداري پايگاه داده
براي رفع اين مشكلات مي توانيد از پايگاه داده رابطه دار بهره بگيرد. اين نوع پايگاه دادهها اطلاعات را در جداول[1] (http://www.systemgroup.net/fa/pages/print.asp?p=5.3&i=528#_ftn1) مجزا نگهداري مي كنند. براي مثال مي توان اطلاعات فوق را در جداول مشتري ، سفارش و اقلام سفارش نگاه داشت و فيلدهاي هر جدول به صورت زير است : ( شكل 2)
http://www.systemgroup.net/admin/images/attachs/shah2.gif
بنابراين اطلاعاتي نظير كد مشتري ، نام مشتري ، نام خانوادگي مشتري ، آدرس مشتري ، شهر مشتري ، ايالت مشتري و ... در جدول مشتري قرار مي گيرد.
شماره سفارش ، كد مشتري ، تاريخ سفارش در جدول سفارشات قرار مي گيرد.
شماره قلم سفارش ، شماره سفارش ، توضيح سفارش ، مقدار سفارش ، قيمت قلم و واحد آن در جدول اقلام سفارش قرار مي گيرد.
براي استفاده از اين جداول بايد بين آنها ارتباط برقرار شود كه اين موضوع در ادامه مورد بررسي قرار خواهيم داد.
تعيين نيازمنديهاي يك پايگاه داده
قبل از آنكه پايگاه داده طراحي شود بايد نيازمنديهاي آن را معين كنيم. براي تشخيص نيازهاي پايگاه داده يك سازمان رهنمودهاي زير را در نظر داشته باشيد :
رهنمود 1 : پايگاه داده هاي موجود را به دقت بررسي كنيد.
رهنمود 2 : با تك تك كاربران مصاحبه كنيد
رهنمود 3 : از فرمهاي شركت كپي تهيه كنيد
رهنمود 4 : به دقت گزارش هاي موجود را بررسي كرده اند نيازهاي گزارشي را نيز مد نظر قراردهيد.
تعيين اطلاعاتي كه بايد رديابي شود
پس از مصاحبه با افراد سازمان شما بايد اطلاعاتي كه بايد رديابي شود را مشخص كنيد.فرض كنيد در يك سازمان به يك ليستي مانند ليست زير دست پيدا كرديد ( شكل 3 )
http://www.systemgroup.net/admin/images/attachs/shah3.gif
تعيين طراحي منطقي پايگاه داده
پس از شناسايي نيازها شما بايد طرح اوليه و پيش نويس پايگاه داده ها را تهيه كنيد. در واقع قبل از اينكه آنرا بصورت الكترونيكي ايجاد كنيد روي يك كاغذ نقشه اوليه آنرا مي كشيد به اين كار اصطلاحا طراحي منطقي پايگاه داده (Logical Database Design) مي گويند.
تعريف جدول ها ( موجوديت ها[2] (http://www.systemgroup.net/fa/pages/print.asp?p=5.3&i=528#_ftn2) ) و فيلدها ( ويژگيها[3] (http://www.systemgroup.net/fa/pages/print.asp?p=5.3&i=528#_ftn3) )
اولين قدم در طراحي منطقي پايگاه داده تعريف جداول است كه موجوديت نيز ناميده مي شود. جدولها گروه هاي مرتبطي از اطلاعات مي باشند. به مثال قبل در مورد سفارش و مشتري دقت نماييد ( شكل 4 )
http://www.systemgroup.net/admin/images/attachs/shah4.gif
فيلدها كه ويژگي نيز ناميده مي شوند در واقع عنصر اسا سي جدولها هستند. مانند فيلد نام مشتري يا آدرس مشتري در جدول مشتري .
هويت دادن به جدول ها و فيلدها
پس از تعيين جداول و فيلدها بايد به آنها هويت بخشيد . نمونه اي از آنها را مشخص نمود ونوع هر فيلد را تعيين كرد. براي اين كار مي توانيد از ليستي كه قبلا تهيه كرديد (شكل 3 ) كمك بگيرد. براي مثال در شكل 5 نمونه اي از اين جدول آمده است:
http://www.systemgroup.net/admin/images/attachs/shah5.gif
براي مثال در جدول كالا شرح كالاي 12345 ، توفاTofa) ( مي باشد. اين فيلد از نوع داده متني مي باشد و تخمين ما اين است كه اين شرح حداكثر 25 كاراكتر خواهد بود.
http://www.systemgroup.net/admin/images/attachs/shah6.gif
يا در جدول مشتري نام مشتري 6 12345 ، جان اي.دويي مي باشد. اين فيلد از نوع داده متني مي باشد و تخمين ما اين است كه اين شرح حداكثر 45 كاراكتر خواهد بود.
http://www.systemgroup.net/admin/images/attachs/shah7.gif
و سرانجام فيلدهاي جدول سفارش مانند شكل فوق خواهد بود.
تعيين كليد اصلي (Primary Key)
كليد اصلي يك فيلد يا مجموعه اي از فيلدها است كه يك ركورد(Record) در جدول را يكتا (Unique) مي كنند. براي مثال در جدول مشتري شماره مشتري يك كليد اصلي مي باشد. هر مشتري يك شماره دارد و هر مشتري نشان دهنده يك هويت است
يك در جدول سفارش ، شماره سفارش كليد اصلي ميباشد. هيچ دو سفارشي يك شماره مشابه نخواهند داشت.
تعيين كليد خارجي يا كليد مرتبط كننده ( Foreign Key)
كليد خارجي يك فيلد يا مجموعه اي از فيلدها است كه يك جدول را به كليد اصلي جدول ديگر مرتبط مي سازد بنابراين اين دو جدول مرتبط مي شوند. براي مثال شماره مشتري و شماره كالا كليدهاي اصلي جداول مشتري وكالا مي باشند كه به عنوان كليد خارجي در جدول سفارش عمل مي كنند. به شكل 6 دقت نماييد.
http://www.systemgroup.net/admin/images/attachs/shah8.gif
http://www.systemgroup.net/admin/images/attachs/shah9.gif
[1] (http://www.systemgroup.net/fa/pages/print.asp?p=5.3&i=528#_ftnref1) table
[2] (http://www.systemgroup.net/fa/pages/print.asp?p=5.3&i=528#_ftnref2) Entity
[3] (http://www.systemgroup.net/fa/pages/print.asp?p=5.3&i=528#_ftnref3) Attribute
منبع: http://www.systemgroup.net (http://www.systemgroup.ne/)