طراحي پايگاه داده چيست
طراحي پايگاه داده را از كجا آغاز كنيمطراحي پايگاه داده چيستدر حال حاضراينكاكنونفعلادر حال حاضر نياز به پايگاه داده از هر وقتي بيشتر احساس مي شود. وب سايتهاي اينترنتي و اپليكيشنها بر مبناي به كار گيري از ديتابيسها شكل ميگيرند. به همين استدلال طراحي پايگاه داده به يك بايستگي براي بسياري از استخراجوكارهاي نو و خصوصا استارتاپها تبديل شده است. دراين نوشتهيعلمي ميخواهيم نياز جان دار براي يك پايگاه داده خوب را تشريح كرده و آنگاه گونه هاي پايگاه داده و سيستمهاي مدير متعدد آن را معرفي كنيم. در نهايت هم فرايند دستهبندي اطلاعات و تبديل آنان به يك پايگاه داده SQL را به شما نشان خواهيم داد. در مرحلهي اول بايد طراحي پايگاه داده چيست متوجه شويم.
برهان نياز به طراحي پايگاه داده چيستپايگاه داده يك گروه منظم از دادههاست كه در يك سيستم كامپيوتري ذخيره ميگردد. دسترسي به اين دادهها براي مخاطب از طريق نرمافزاري با نام DBMS يا Database Management System صورت ميگيرد. دنياي امروز بر اساس عملكرد سيستمهاي ديجيتالي و كسبوكارهاي الكترونيك انجام شده است. از جمله در ايران «اسنپ»، «ديجيفرآورده» و «ديوار» نقش اصلي و غيرقابل انكاري در زندگي مردم پيدا كردهاند. از طرف ديگر استارتاپهاي بيشماري همهروزه بر بستر اينترنت در درحال حاضر شكلگيرياند.
پايگاه داده در طراحي بكاند يا دروني وبسايتها و اپها نقش اصلي داراست. ليست اجناس و خصوصيات كاربران دو نمونه اصلي از كاربرد پايگاه داده براي كسبوكارهاي الكترونيكاند. دادهها در قالب پايگاه داده ثبت شده و در حين نياز، از طريق برنامهنويسي با چندخط كد فراخوانده شده و روي صفحه سايت به نمايش درميآيند. براي همين طراحي پايگاه داده به بخشي اصلي و كليدي از مراحل فعالسازي كسبوكارهاي الكترونيك تبديل شده است.
گونه هاي سيستم هاي رئيس پايگاه دادهگفتيم كه پايگاه داده مجموعه منظمي از دادههاست كه روي كامپيوتر ذخيره مي گردد. دسترسي استفاده كننده به اطلاعات موجود در پايگاه داده از طريق DBMSها يا سيستمهاي مدير پايگاه داده ممكن ميگردد. Database Management System كه بهاختصار DBMS ناميده مي شود، نرمافزاري مي باشد كه فعاليت ذخيرهسازي و سازماندهي دادهها را بر عهده دارد. انواع سيستم مدير پايگاه داده عبارتند از:
سلسله مراتبيشبكهايرابطهايشيگراديتابيس گرافمدل ERديتابيس سندديتابيس NoSQLعامل نياز به طراحي پايگاه داده چيستمدل سلسله مراتبيدرين مدل از رئيس پايگاه داده، دادهها در شكل گرههاي والد/فرزندي ذخيره مي گردند. هر گره غيروابسته از دادههاي مربوط به خود، اطلاعاتي درباره حالت والد/فرزندي خود و ارتباطش با گرههاي ديگر را در خود دارد. درين مدل دادهها به طور درختي ذخيره ميگردند. هر شاخه والد ميتواند چند فرزند داشته باشد اما هر فرزند تنها يك والد داراست.
از اين مدل (كه در دهه 60 ميلادي بوسيله IBM طراحي شد) براي مديريت داده در سيستمهاي ارتباطي و بانكي به كارگيري ميگردد. ارتباط يك به چندين دربين گرههاي والد و فرزند و خلا قابليت و امكان ارتباط در بين فرزندان منجر كمبود انعطافپذيري در مدل سلسلهمراتبي مي باشد. امتياز اصلي اين مدل تخت گاز بالا و همت دقيق آن مربوط ميشود.
شبكهايمدل مديريت پايگاه داده شبكهاي، شكلي شبيه به تار عنكبوت داراست. اين مدل تا حدودي شبيه مدل سلسلهمراتبي است، با اين تفاوت كه دراين مدل شرايط والد و فرزندي وجود نداشته و جايجاي ميتواند با تعدادي از نقاط ديگر در مورد باشد. كاربرد اساسي اين شبكه در مدير سيستم اطلاعاتي براي شركتهاي بزرگ كامپيوتري مي باشد. والد در مدل شبكهاي «اشغالكننده» و فرزند «عضو» نام دارد. ارتباط ها دربين اين دو يكسري به يك سري مي باشد و محدوديتي راجع به با يكديگر ندارند. مبدع اين مدل چارلز باخمن است.
مدل سلسله مراتبي
مدل رابطهايمشهورترين و پراستفادهترين نوع رئيس پايگاه داده كه لهجه SQL براي دسترسي به آن طراحي گرديدهاست. درين مدل دادهها در قالب جدولهايي ذخيره مي گردند. هر ستون دربرگيرنده يك ويژگي و هر طرح شامل يك ركورد ميباشد. ركورد دربرگيرنده اطلاعاتي بوده كه راجعبه يك پديده و ويژگيهاي متفاوت آن به دست آمده مي باشد. مثلا در ستونها «نام»، «سن»، «جنسيت» و «پرداختي» بوده و در هر سطر را مقدار اين ويژگيها براي يك مشتري تشكيل ميدهد. اين مدل به علت سازگاري با اپنويسي و دسترسي آسان اطلاعات براي طراحي سايت و اپليكيشن از محبوبيت بالاي جهاني شامل است.
مدل شي گراامتياز مدل رابطهاي در وارفته بودن كار با آن ميباشد. مدل شيگرا در طرف مقابل هزينه پيشرفت و يادگيري بالايي دارد و كار با آن مناسب هركسي نيست. در قبال مدل شيگرا ضعفهاي مدل رابطهاي مثل غيرقابل تجزيه بودن ستونها و عدم وجود ترتيب در رديفها را نداشته و از دقت بسيار بالاتري شامل است. در صورتيكه قضيه كمبود منابع (مالي و انساني) براي توسعه و گسترش اين مدل در كسبوكار وجود نداشته باشد، گزينش مد شي گرا منطقيتر از مدل رابطهاي بهنظر ميرسد.
مدل گرافاين مدل مشتقي از مدل رابطهاي بوده و زيرمجموعه NoSQL قرار ميگيرد. در مدل گراف، يكسري گره و گوشه داريم كه نماينده اطلاعاتاند. هر گره نقش ركورد در مدل رابطهاي را دارد (اطلاعات ثبت شده كاربر، مال يا…) و هر لبه ارتباط در بين ركوردها را بيان ميكند. چندين خواص (Properties) هم بهعنوان اطلاعات اضافي در گرهها قرار ميگيرند.
مدل ERمدل ER يا Entity Relationship بر مبناي دو ركن اصلي انجام يافته مي باشد. ER در انگليسي مخفف رابطه پديدهها مي باشد. در اين مدل پديدهها رابطه ها گوناگون (يك به يك – يك به چند – يكسري به چندين) با يكديگر دارند. در مدل ER نموداري داريم كه اشكال گوناگون در آن معاني خاص خود را داراهستند:
مستطيل: پديده (رئيس، معلم، دانشجو يا…)بيضي: ويژگي (نام، سن، جنسيت يا…)لوزي: نوع رابطه (از جمله رابطه دو پديده معلم و دانش گاه از نوع استخدام مي باشد)خطوط: وجود ارتباط ميان پديدهها را نشانه ميدهندبيضي دولايه: ويژگي چندمقداريبيضي نقطهچين: ويژگي مشتق شدهمستطيلهاي دولايه: مجموعه پديدههاي ضعيفدو خط كنار هم: شركت كردن بدون نقص يك پديده در يك رابطهمدل سنداين مدل نيز جزو زيرمجموعههاي NoSQL به حساب مي آيد و جديدا محبوبيت زيادي حصول كرده است. در مدل سند، دادهها در قالب سندهايي ذخيره مي گردند. هر سند مشمول خود داده، ارتباط ها آن داده با ديگر دادهها و ويژگيهاي آن داده ميباشد. مزيتي كه باعث شده بعضي از متخصصان در سالهاي اخير اين نحوه را به SQL ترجيح دهند، ذخيره سريعتر و دسترسي بهتر به اطلاعات ميباشد. اينك اين مدل از طريق نرمافزارهايي مثل Hbase، Cassandra، Apache Flink و IBM Informix ارائه مي شود.
مدل NoSQL
مدل NoSQLمدل گواهي و مدل گراف دو نمونه از مشهورترين جايگزينهاي معرفي شده براي SQL اند. مدل NoSQL به حذف كامل SQL تاكيد ندارد بلكه ميخواهد محدوديتهاي SQL براي سيستمهايي همچون اينترنت اشيا را بدور بزند. براي همين بيشتر اوقاتي ahrefs كه اين شيوه در پروژهاي به فعاليت ميرود، در واقع يك شيوه ديگر در كنار SQL بههمدم معماري ابري براي دادهها پيادهسازي مي گردد. مشهورترين ديتابيسها NoSQL را در ادامه مي بينيد:
غير مجاز مي باشدmos DBArangoDBCouchbase ServerCouchDBAmazon DocumentDBMongoDB, CouchBaseElasticsearchInformixSAP HANANeo4jفرايند طراحي پايگاه داده چيستاكنون مي خواهيم به سراغ طراحي يك پايگاه داده برويم. لازم به ذكر مي باشد در اينجا تمركز ما بر پايگاه داده رابطهاي خواهد بود. چون كه اين مدل ازمديريت پايگاه داده دوستداشتنيترين و پركاربردترين آنان هست و توضيح آحاد طرزها از توان اين نوشتهعلمي خارج خواهد بود. فرض نمائيد دستيابيوكاري داريد و قرار است براي آن پايگاه دادهاي طراحي گردد. اين روند ما يحتاج مي باشد با ظرافت و دقت خاصي به انجام برسد. چون در غيراينصورت توانمند به بهبود روندهاي كاري شما نخواهد بود. طراحي سايت در مشهد درپي اين روند به ترتيب توضيح داده ميشوند.
مقصود از طراحي پايگاه داده چيستپايگاههاي داده در جاهاي مختلف و براي اهداف متفاوتي طراحي ميگردند. اينكه چه فرد يا عده اي قرار مي باشد با اين پايگاه داده فعاليت كنند بسيار مهم خواهد بود. از جمله در شرايطي كه قرار هست منشي شركت با اطلاعات بسيار پايين كامپيوتري از آن استفاده كند، اين ديتابيس مي بايست بر پايه ي با بضاعت او طراحي شود. توصيه ما براي اين مرحله استيناف نوع سازماندهي فعلي اطلاعات و گفتگو با عده اي مي باشد كه در آينده با ديتابيس فعاليت خواهند كرد.
مراحل طراحي پايگاه داده چيست
فهرست پديدهها و ويژگيهايشان را بسازيدپايگاه داده رابطهاي بر مبناي چندين جدول شكل ميگيرد. هر سطر اين جدولها مربوط به يك پديده (كاربر، مال، كارمند يا..) و هر ستون دربرگيرنده ويژگيهاي آن (نامكاربري، قيمت، شمارهپرسنلي يا…) خواهد بود. شروع مي بايست تمام پديدههاي مورد بازرسي را مشخص و معلوم كرده و آنگاه آحاد ويژگيهاي اساسي آنان را روي برگه بياوريد
جدول اوليه را روي صفحه طراحي نمائيددر ادامه يك فهرست داريد مشمول پديدهها و ويژگيهاي مهم هر پديده. حال نوبت به طراحي جدول از اين فهرست مي رسد. رايا پارس فرض نمائيد كسب و كار شما مي خواهد پايگاه دادهاي از مشتريان و اطلاعات آنها داشته باشد.
انتخاب نوع دادههاپس از طراحي يك جدول اوليه روي ورقه، نوبت به تعيين نوع داده هر ستون مي رسد. اين جدولها قرار است وارد يك زبان نرم افزارنويسي شوند و اولي قدم در نرمافزارنويسي، تعيين نوع دادهها ميباشد. براي مثال دادههاي ستون سن از مال int دادههاي ستون نام از متاع varchar خواهند بود.
تعيين كليد اصلي براي هر جدولدر اين مرحله مي بايست بدانيد يك سري جدول داريد، هركدام تعريف و تمجيد كننده كدام پديده ميباشند و چه ويژگيهايي از آن پديده را تمجيد خواهند كرد. بهدنبال براي هر جدول يك كليد مهم (Primary Key) معين كنيد. اين كليد بهمعناي كمي است كه سبب مجزا شدن رديفهاي جدول از يكديگر ميگردد.
به عنوان مثال مشتري، بهترين آيتم براي كليد اساسي شماره ملي خواهد بود چون كه اختصاصيبهفرد هست و مشتريان را از يكديگر منقطع ميكند. مقدار ستون كليد اصلي هيچگاه نبايد null باشد. بههمين برهان است كه اغلب كسبوكارها به هر سفارش يا مشتري يكي از چندرقمي يا كد شامل صحبت و رقم اختصاص ميدهند.
برچسب: طراحي سايت در مشهد، رايا پارس،