You are on page 1of 41

‫‪System Analysis and Design‬‬

‫اعداد املهندس‪ /‬أجمد املهاجري‬


‫ال يسمح للمؤسسات التعليمة او املعاهد او أي جهة‬

‫تعليمة باعتماد هذا املنهج حىت يأذن هلا برتخيص‪.‬‬

‫حقوق الملكية محفوظة لــــ‬


‫‪MTK‬‬
‫مقدمة الكتاب‪- :‬‬

‫يف فهب مبا يتطلبب بنبا‬ ‫للبداية أهمية يف معرفة املتطلبات التي حيتاج اليها الطالب‬

‫نظام لبببمشروع التخرج للببدا يف لليبا النظبام ومعرفبة اططبتات األوليبة يف التحليبا‬

‫والتصمي ‪.‬‬

‫األفكبا التبي‬ ‫كمربمج قتاعد بيانات قمت بعما هذا الكتاب ويهدف اىل تتصبيا بعب‬

‫املاباعدا التبي‬ ‫يف بداية مشتا ه يف لليا النظ وعدم حصبتل علب‬ ‫عن الطال‬ ‫تغي‬

‫حيتاج اليهبا يف فهب تلبل املخططبات ومبا عققتهبا باتاعبد البيانبات هب يبراو الكريب‬

‫وحيتاجتن اليها للبدا يف اططتا األوىل‪.‬‬

‫قدمت بني يديك هذا الكتاب وهت جز بايط يف عامل لليا وتصمي نظ املعلتمات‬

‫بعد قرا ا حمتتى الكتاب عليل بتطتير مها اتل بزيا ا املتاقع عل االنرتنت ومشباهدا‬

‫املشا يع الااباة ابدأ حيث انته األخرون‪.‬‬ ‫الفيديتهات وقرا ا بع‬


‫عني‬
‫مربمج و مطور انظمة بقواعد بيانات أوراكل & اوراكل‬
‫دفلوبر و اعمل مربمج للهواتف الذكية و الكمبيوتر‬
‫سوفت وير من اعمايل‪ :‬تركيب نظام عيادة عيون ‪ -‬نظام‬ ‫❖ ميني‬
‫عيادة اسنان – نظام مطاعم – نظام حماسبــي‬
‫❖ ‪1991‬م‬
‫التعليم‬
‫دبلوم تطوير قواعد البيانات‬ ‫‪2014‬‬
‫مهارات الكفاءة‬
‫معهد الوسط‬
‫اليمن ‪ -‬صنعاء‬ ‫‪Computer software‬‬
‫دبلوم تطوير قواعد بيانات اواكل من الفرتة‬
‫‪ 2014 /5/ 8‬م اىل ‪2014 / 8 / 5‬م‬ ‫‪Database Oracle‬‬
‫دبلوم برجميات‬ ‫‪2012‬‬
‫‪Oracle Developer‬‬
‫معهد العلوم األكادميية‬ ‫‪MS Office‬‬
‫اليمن ‪ -‬تعز‬
‫دبلوم برجميات تعليم تقني سنتني بعد الثانوية للعام‬
‫‪2011‬م ‪2012 /‬م‬
‫مهارات تقنية‬
‫اخلربات‬ ‫‪VB.NET‬‬
‫‪C++‬‬
‫عمل حر‬ ‫‪2016‬‬
‫‪HTML‬‬
‫مربمج أنظمة هواتف ذكية‬ ‫•‬ ‫حتى‬
‫مربمج حاسوب سوفت وير‬ ‫•‬ ‫االن‬ ‫‪CSS‬‬
‫تصمم انظمة حماسبية إدارية‬ ‫•‬
‫اشراف مشاريع خترج‬ ‫•‬ ‫‪Android Studio‬‬
‫مدرب خاص يف احلاسوب‬ ‫•‬

‫مؤسسة أضواء‬ ‫‪2017‬‬ ‫مهارات اخرى‬


‫مدرب حاسوب‬
‫اليمن – تعز ‪ -‬الراهدة‬ ‫‪Microsoft Visio‬‬
‫مدرب حاسوب يف التايل‪-:‬‬
‫دبلوم سكرتارية‬ ‫•‬ ‫‪Microsoft Project‬‬
‫دورة األمن و التشفري‬ ‫•‬
‫صيانة احلاسوب‬ ‫•‬ ‫‪Toad‬‬
‫معهد أليت سكيلز‬ ‫‪2014‬‬
‫مدرب حاسوب‬
‫اليمن – صنعاء‪ -‬السنينة‬ ‫دورات احلاصل عليها‬
‫مدرب حاسوب يف دبلوم سكرتارية‬
‫• فرتة التدريس سنة عام ‪2014‬م‬ ‫دورة ‪Android‬‬ ‫‪2018‬‬
‫معهد العلوم األكادميية‬ ‫‪2013‬‬ ‫الدورة منحة املليون مربمج عربي‪ -‬مقدمة من‬
‫الشيخ حممد بن راشد آل‪-‬مكتوم – دبي‬
‫مدرب حاسوب‬
‫اليمن – تعز ‪ -‬كالبة‬
‫مدرب حاسوب قسم الربجميات‪-:‬‬ ‫بيانات التواصل‬
‫• قواعد البيانات اوراكل ‪Oracle Database‬‬
‫• الدف لوبر ‪Developer Form & Report 6i‬‬
‫• مشرف مشروع خترج – دفعه اجلمال‬ ‫‪+967 772 102 467‬‬
‫‪Taiz-Yemen‬‬
‫فهرس‬

‫البداية‬
‫رقم الصفحة‬
‫‪1‬‬ ‫مقدمة‬
‫‪1‬‬ ‫محلل النظم‬
‫‪1‬‬ ‫الوصف الوظيفي لمحلل النظم‬
‫‪2‬‬ ‫مهارات المطلوبة لمحلل النظم‬
‫‪3‬‬ ‫شرح المهارات بتفصيل‬
‫مرحلة التخطيط‬
‫‪6‬‬ ‫مرحلة دورة حياة المشروع‬
‫‪6‬‬ ‫مرحلة التخطيط‬
‫‪6‬‬ ‫تدوين اسم المشروع‬
‫‪7‬‬ ‫تحديد قواعد البيانات‬
‫‪7‬‬ ‫تحديد للغة البرمجة‬
‫مرحلة التحليل‬
‫‪9‬‬ ‫مقدمة التحليل‬
‫‪9‬‬ ‫قاعدة البيانات اوراكل‬
‫‪10‬‬ ‫رسم النماذج ومخطط عالقات الكيانات‬
‫‪10‬‬ ‫عناصر نموذج الكيانات والعالقات‬
‫‪14‬‬ ‫العالقة بين جداول في ‪SQL‬‬
‫‪15‬‬ ‫أنواع العالقات‬
‫‪21‬‬ ‫أنواع القيود‬
‫‪22‬‬ ‫مخطط السياق‬
‫ملحق تحليل نظام‬
‫‪23‬‬ ‫مقدمة‬
‫‪ 23‬الى ‪29‬‬ ‫نظام المبيعات‬
‫البداية‬

‫د ة‬
‫‪-:‬‬ ‫فه‬
‫ة‪.‬‬ ‫ة ت ف ذ ووظ فة‬ ‫الق‬ ‫عة ن جلد ول رت طة‬ ‫جم‬

‫ّ‬
‫ج‬ ‫ني ألع ل وتك‬ ‫ق ت غ‬ ‫عى‬ ‫مبث ة حملرك رئ سي ذي‬
‫ُ‬ ‫ُ‬
‫غة إلجن ز ة "‪"System Analyst‬‬ ‫" و ذي ط ق ع ه‬ ‫كن ت ر ف "‬ ‫يف ك ن‪ .‬ك‬
‫ودر سته هدف إجي د س‬ ‫تح‬ ‫ة ك ن‪ .‬و‬ ‫حل س‬ ‫ي تح‬ ‫شخص‬
‫ج ة‪.‬‬ ‫تك‬ ‫حل ل و تص‬ ‫ص ل إىل أفض‬ ‫تي ال د ع ى ك ن ت عه‬
‫إىل خربة ك ف ة يف‬ ‫ي‬ ‫وذ ك حل جة‬ ‫عه إىل ه ة‬ ‫ه ة رب ج ألقرب ن‬
‫ربجمة‪.‬‬ ‫غ‬ ‫ستخد‬
‫ص ة هدف فه ت ك‬ ‫‪ ،‬و حل ئق ذ‬ ‫و‬ ‫وت ث ق ك‬ ‫ك حمل ق‬
‫ة جد دة‪.‬‬ ‫ءأ‬ ‫ع ه ‪ ،‬إلض فة إىل إع دة‬ ‫ة وتغ ريه ‪ ،‬و س ه ‪ ،‬وتط ره ‪ ،‬وإجر ء ت د ال‬ ‫أل‬

‫؟‬ ‫ظ في حمل‬ ‫صف‬

‫ة‬ ‫تحسني كف ءة وأد ء أل‬ ‫و‬ ‫و‬ ‫شخص ذي‬ ‫ه‬


‫‪.‬‬ ‫ة و ربجم‬ ‫أل‬ ‫تص‬ ‫‪.‬ك‬ ‫و ربجم‬

‫‪1‬‬
‫البداية‬

‫ء‬ ‫تي تتط‬ ‫درس جم ل حل س ب يف ألقس‬ ‫ة نك ط‬ ‫ط‬ ‫خلط‬

‫ة ‪ .....‬خل)‬ ‫( ستشفى‪ ،‬درسة‪ ،‬ك ة‪ ،‬ج‬ ‫كرتو ي‬ ‫ء‬ ‫رجم ة‬ ‫ر‬ ‫شر‬

‫وهي كت يل‪- :‬‬

‫شرف‬
‫شرو‬
‫قر ءة‬
‫در سة غة‬
‫شرو‬
‫رجمة‬
‫س ق‬
‫ة‬ ‫ط‬ ‫هر‬
‫ء‬ ‫ن ط‬
‫ر‬ ‫شرو‬
‫ز ول‬ ‫در سة ق عد‬
‫د ي‬

‫ت‬ ‫ت‬
‫كروس ف‬ ‫كروس ف‬
‫‪Word‬‬ ‫‪Visio‬‬

‫‪2‬‬
‫البداية‬

‫ه رة عن قرب كت يل‪- :‬‬ ‫ك‬ ‫فه تف ص‬ ‫ك ع ى حده‬ ‫شرح ه ر‬

‫‪-:‬‬ ‫▪ در سة ق عد‬

‫‪Access‬‬

‫در سة ق عد‬
‫‪Oracle‬‬

‫‪SQL‬‬
‫‪Server‬‬

‫▪ در سة غة رجم ة‪- :‬‬

‫‪C++‬‬ ‫‪VB.net‬‬

‫در سة غة‬
‫رجمة‬
‫‪Oracle‬‬
‫& ‪Form‬‬
‫‪Report‬‬

‫‪C#‬‬

‫‪- :Word‬‬ ‫كروس ف‬ ‫▪ ت‬

‫ت ث ق‬
‫شر و‬
‫ت‬
‫كروس ف‬
‫‪Word‬‬ ‫ت س ق‬
‫شر و‬

‫حف‬
‫شر و‬
‫‪PDF‬‬

‫‪3‬‬
‫البداية‬

‫‪- :Visio‬‬ ‫كروس ف‬ ‫▪ ت‬

‫ء ج د ول‬
‫رس‬
‫خطط‬
‫ت‬
‫كروس ف‬ ‫رس‬
‫‪Visio‬‬ ‫ك‬

‫رس‬
‫الق‬

‫▪ قر ءة شرو س ق‪- :‬‬

‫د ة‬
‫دأ‬
‫قر ءة‬
‫شرو‬ ‫تط ر‬
‫س ق‬ ‫شر و‬

‫خ ذ ف كر ة‬
‫ع ن شر و‬

‫د ي‪- :‬‬ ‫زول‬ ‫▪‬

‫طر ح‬
‫الس ة‬

‫ز ول‬ ‫ع‬
‫د ي‬ ‫ت‬

‫خذ‬
‫ست د‬

‫‪4‬‬
‫البداية‬

‫شرو ‪:‬‬ ‫▪ خت ر شرف‬

‫كت ة الك د‬
‫ده‬
‫ت ص‬
‫ف كر ة ء‬
‫شر و‬
‫ت ج ة‬
‫شرف‬
‫شرو‬
‫تس‬
‫ف ز‬
‫فر ق‬
‫ه‬
‫شر و‬
‫تصح‬
‫ألخط ء‬

‫الح ة‬

‫شرو‬ ‫شرو‬
‫ع ي‬ ‫ري‬
‫شرو تخر‬
‫در سني جم ل‬
‫ربجم‬
‫حل س ب‬

‫‪،‬‬ ‫‪،‬‬ ‫ة‬ ‫‪،‬ت‬ ‫تخر يف جم ل حل س ب ك در سة قس ( ربجم‬ ‫شرو‬ ‫س‬


‫ه‬ ‫يف جن ز ك‬ ‫ن فر ق‬ ‫ري وع ي و أخذ وق‬ ‫حل س ب‪ ....... ،‬خل) ىل قس ني‬ ‫ع‬
‫شرو ‪.‬‬ ‫شرو وت خ ص در سة جلدوى‬ ‫تح‬ ‫ري‪ - :‬ت ف ه ت ث ق ر ح‬ ‫▪‬
‫ع ى حل س ب‪.‬‬ ‫و رجمة وت ف ذ‬ ‫▪ ع ي‪ - :‬تص‬

‫ت يل‬ ‫ء شرو يف فص‬ ‫تطرق ك جزء ن‬ ‫س ت‬

‫‪5‬‬
‫الفصل األول‬
‫التخطيط‬

‫مرحلة دورة حياة املشروع‬

‫التخطيط‬

‫مراحل دورة‬
‫الت ليل‬ ‫التنفيذ‬
‫حياة املشروع‬

‫التصميم‬

‫كل مرحلة سيتم تفصيلها بشكل مبسط ومفهوم‪.‬‬

‫▪ مرحلة التخطيط‬

‫‪ -1‬حتديد بناء نظام املشروع التخرج‪- :‬‬


‫• برنامج سطح املكتب مثل انظمة (شؤون املوظفني‪ ،‬املستشفيات‪ ،‬الصرافة‪ ،‬احملاسبية‪ ،‬نظام املدارس‬
‫واجلامعات) وكلها يتم العمل عليها من أجهزة احلاسوب‪.‬‬
‫• برنامج موقع ويب مثل نظام الكرتوني (موقع تسجيل وتنسيق يف اجلامعات‪ ،‬موقع احلجوزات‪،‬‬
‫موقع تسويق منتج‪ ،‬موقع للجامعة‪ ،‬للكلية او للمدرسة)‬
‫• برنامج اندرويد مثل (التطبيقات للهواتف الذكية)‬

‫‪ -2‬تدوين اسم ملشروع التخرج لبدأ للعمل علية‬

‫‪6‬‬
‫الفصل األول‬
‫التخطيط‬

‫‪ -3‬حتديد قاعده البيانات التي ستعمل عليها لتخزين البيانات‪.‬‬


‫واحد‪ ،‬فيمكن القوووب بالل ووة البسوويطة‬
‫ٍ‬ ‫مكان‬
‫ٍ‬ ‫تعريف مصطلح قواعد البيانات يأتي من فكرة مجع البيانات يف‬
‫ٍ‬ ‫ٍ‬ ‫ٌ‬
‫وام‪ ،‬واووذا املسووتند أو القاعوودة يصووبح ملجوأ سووه ملطووورٍ أو‬
‫وباختصارٍ أنها مستند جتتمع فيه البيانات بانتظو ٍ‬
‫شركة كي تس ب منه البيانات احملددة التي تريداا وتنظمها حسب ما تريد‪.‬‬
‫ٍ‬
‫قاعده بيانات لسطح املكتب‬
‫▪ ‪Oracle Database‬‬
‫▪ ‪SQL Server‬‬
‫▪ ‪Access‬‬
‫قاعده بيانات للويب‬
‫▪ ‪MySQL‬‬

‫وفى االخري استخدامك لنظام معني لقواعد البيانات يف مشاريعك يعتمد على معرفة ميزات وعيوب كل نظام‬
‫ومدى م ئمته للمشروع اخلاص بك‪.‬‬

‫‪ -4‬حتديد الربنامج ولل ة الربجمة التي ستعمل عليها يف تصمم الشاشات وكتابة االكواد وتنفيذ النظام‬
‫بها‪.‬‬
‫برامج تصميم سطح املكتب‬
‫▪ ‪ Visual Studio‬يدعم للغات البرمجية كــ (‪(C#, VB.NET, C++‬الخ‪.‬‬
‫▪ ‪ Oracle Forms & Reports‬يدعم للغات قواعد بيانات كــ (‪)Oracle, Access‬‬

‫الشكل التايل يوضح لل ة الربجمية مع إمكانية اختيار احدى قواعد بيانات ألنشاء اجلداوب النظام‬

‫قاعدة بيانات‬
‫‪Oracle‬‬
‫‪Access‬‬

‫‪SQL‬‬
‫‪Server‬‬

‫‪Visual‬‬ ‫‪VB.NET‬‬
‫‪Studio‬‬

‫‪7‬‬
‫الفصل األول‬
‫التخطيط‬

‫برامج تصميم صف ات الويب‬


‫▪ ‪Notepad ++‬‬
‫▪ ‪Adobe Dreamweaver‬‬

‫الشكل التايل يوضح لل ة الربجمية مع إمكانية قواعد بيانات ألنشاء جداوب النظام‬

‫قاعدة بيانات‬

‫‪MySQL‬‬

‫‪HTML‬‬
‫‪Notepad ++‬‬ ‫‪CSS‬‬
‫‪PHP‬‬

‫اي مرحلة يتم حتديد فيها مهاراتك يف الل وات الربجموة التوي جتيوداا لتصوميم‬ ‫مرحلة التخطيط‬
‫وبرجمة نظام مشروع التخرج‪ .‬وقواعد البيانات اعتماداا يف مشروعك إذا كوان النظوام نوزن بيانوات كووو‬
‫نظام الكليات واجلامعات واملتشفيات‪ .....‬اخل‪.‬‬

‫بناء نظام مشروع خترج او البداية ابداعك يف بناء عده أنظمة يف املستقبل ويعتمد جناح النظام الربجمي‬
‫على االبداع يف الت ليل النظام‪.‬‬

‫‪8‬‬
‫مرحلة التحليل‬

‫مقدمة يف حتليل النظم‬


‫لت قي ا هاادف معاان‪.‬‬ ‫موعااة ماان العناصااض م الطااة مااي لعدااها الاابع‬ ‫النظااام هااو عباااجمة عاان‬

‫موعات من الكينونات املتفاعلة ألجل الت كم لها‪.‬‬ ‫إن علم حتليل النظم خيتص لت ليل‬
‫سنبدأ التعضف على حتليل النظام خطوة خطوة لتصبح لأن اهلل قادجم على فهم مهااجمات الت ليال لشاكل‬
‫مبسط وتبدأ يف لناء مشضوع ختضج لنجاح‪.‬‬
‫دجماسة قواعد البيانات يف لداية املضحلة التعليمة لكل طالب يف قسم تقنية املعلومات او نظم املعلومات‬
‫هي املفتاح األول يف فهم الت ليل وكيف يتم ختزين البيانات (حفظها او تعديلها او حذفها) وتاتم هاذا‬
‫العملية يف اكواد لسيطة تكتب يف قاعده البيانات‪.‬‬

‫قاعدة البيانات اوجماكل ‪Oracle‬‬

‫لديها مستخدم ‪ Scott‬وفية عده جداول يتم قضاءة البيانات منها لطضيقة االستعالم من اجلداول التي‬
‫ختزن تلك البيانات فيها‪.‬‬
‫كل جدول يف قاعدة البيانات لدية أعمدة وكل عمود خيزن ليانات حمددة كاا مثال نأخذ الشكل التايل‬
‫جدول حيتوي على أعمدة وصفوف‬

‫العنوان‬ ‫االسم‬ ‫الضقم‬


‫تعز‬ ‫حسام‬ ‫‪1‬‬
‫صنعاء‬ ‫فاجموق‬ ‫‪2‬‬
‫احلديدة‬ ‫علي‬ ‫‪3‬‬

‫مالحظة‬
‫يتكون اجلدول من "أعمدة وصفوف"‬
‫االعمدة يف قواعد البيانات هي التي يتم انشائها واعطاءها نوع البيانااات التااي‬ ‫‪-‬‬
‫ختزن يف العمود وأعطاها طول حمدد إلدخال البيانات للعمود املخزن يف اجلدول‪.‬‬
‫الصفوف هي البيانات املدخل من قبل املستخدم للجدول يف قاعدة البيانات‬ ‫‪-‬‬

‫‪9‬‬
‫مرحلة التحليل‬

‫‪ -‬يدوجم يف ذهنك كيف تبدأ يف أنشاء نظام وما هي اجلداول التي سأحتاج هلا لبناء قاعدة البيانات‬
‫اخلاصة لك؟‬
‫‪ -‬يدوجم يف لالك ما هي العالقات لن اجلداول وكيف نستفيد منها؟‬
‫‪ -‬حمتاجم من اين تبدأ؟‬
‫سيتم يف هذا اجلزء من مضحلة الت ليل شضح كيف تبدأ يف حتليل وما هي اخلطوات للبداية‬

‫▪ منوذج الكينونة‪/‬العالقة إىل قاعدة ليانات عالئقية‬

‫وهي طضيقة للت ليل املعلوماتي خمصصة ملفهوم قواعد البيانات‬

‫• جمسم النماذج ‪ /‬خمطط عالقات الكيانات ‪Entity Relationship Model‬‬


‫وهي جمسم خمطط ‪ERD‬‬

‫• عناصض منوذج الكيانات والعالقات‬

‫▪ الكينونة – ‪Entity‬‬
‫‪ -‬هي صفة أو مسة لفئة يضاد متثيلها يف قاعدة البيانات‬

‫والكينونة يف قاعدة البيانات هي اسم اجلدول‪ .‬يتم متثيل الكينونة لشكل مستطيل كما يف‬ ‫‪-‬‬
‫الشكل التايل‪- :‬‬

‫كيان ‪ Students‬هو االسم اجلدول الذي سيتم انشائه يف قاعدة البيانات‪.‬‬

‫▪ خصائص أو الصفة– ‪Attribute's‬‬


‫‪ -‬هي الصفات حول الكيان الذي جيب ختزينه يف قاعدة البيانات‪.‬‬

‫‪ -‬الكيان ‪ ،Students‬يتدمن الصفات اسم الطالب‪ ،‬العنوان‪ ،‬السنة الدجماسية‪.‬‬

‫سيكون للكيان واحد أو أكثض من صفات‪ ،‬وكل صفة من هذه الصفات تنطب فقط على هذا الكيان‪.‬‬ ‫‪-‬‬
‫‪ -‬والصفة متثل اسم العمود يف اجلدول قاعده البيانات‪.‬‬
‫‪10‬‬
‫مرحلة التحليل‬

‫والصفات هي التي تصف الكينونة‬


‫تصنيف الكينونات اىل أجملي انواع جمئيسية وهي‪:‬‬

‫‪- 1‬اخلاصية البسيطة‪:‬‬


‫وهي اخلاصية التي ال ميكن أن تنقسم إىل صفات فضعية مثل جمقم املوظف والضاتب‪.‬‬
‫ومتثل لاملخطط كتايل‪- :‬‬
‫شكل دائضي لسيط‬
‫الضاتب‬ ‫جمقم املوظف‬

‫‪- 2‬اخلاصية املضكبة‪:‬‬


‫موعة من الصفات البسيطة مثل عنوان للطالب حيث انه قد يتكون من عدده‬ ‫وهي التي تتكون من‬
‫صفات مثل الدولة‪ ،‬املدنية‪ ،‬احلي‪ ،‬الشاجمع‪.‬‬
‫الدولة‬
‫ومتثل لاملخطط كتايل‪- :‬‬

‫العنوان‬
‫املدنية‬

‫املديضية‬

‫احلي‬

‫‪- 3‬اخلاصية متعددة القيم‪:‬‬


‫وهي اخلاصية التي من املمكن أن تأخذ أكثض من قيمة مثل خاصية املهاجمة للموظفن فقد يكون للموظف‬
‫ة‪.‬‬ ‫ة لأكثض من لغة لض‬ ‫على سبيل املثال املهاجمة يف الرب‬
‫ومتثل لاملخطط كتايل‪- :‬‬
‫جمقم اجلوال‬ ‫املهاجمة‬ ‫شكل دائضي يف دائضي‬

‫‪-٤‬اخلاصية املشتقة‪:‬‬
‫وهي اخلاصية التي ميكن استنتاجها من خالل خاصية أو خصائص أخضى للكينونة‬
‫ومتثل لاملخطط كتايل‪- :‬‬
‫العمض‬ ‫شكل دائضي منقط‬

‫العمض صفة مشتقة من صفة تاجميخ امليالد ويتم حساب العمض لعملية حسالية (تاجميخ اليوم ‪ -‬تاجميخ امليالد‪).‬‬

‫*مالحظة‪ :‬الكينونة اللد أن تكون متفضدة يف خصائصها‪ ،‬فاخلصائص ال تتشاجمك فيها أكثض من كينونة‪ ،‬وعند‬

‫التصميم جيب التزام البساطة‪.‬‬


‫‪11‬‬
‫مرحلة التحليل‬

‫▪ جمسم خمطط ‪ ERD‬ميثل كيان طالب والصفات التالعة للكيان‪- :‬‬

‫االسم‬ ‫االب‬
‫الدولة‬
‫جمقم الطالب‬
‫اللقب‬
‫العنوان‬
‫املدنية‬ ‫االسم‬

‫املديضية‬ ‫اجلن‬
‫احلي‬

‫‪Students‬‬
‫جمقم اجلوال‬

‫العمض‬

‫اهلوايات‬

‫تاجميخ امليالد‬
‫تاجميخ التسجيل‬

‫مالحظة‬
‫ً‬
‫‪ -‬يوضي خطا حتت اسم الصفة التي متثل مفتاح أساسي للكيان‪ .‬وهنا جمقم الطالاب مفتااح أساساي ال‬
‫يتكضجم‬
‫‪ -‬الكيان‪ - :‬هو اسم اجلدول يف قاعدة البيانات‬
‫‪ -‬الصفة‪ - :‬اسم عمود موجود يف اجلدول‬
‫‪ -‬الصفة املشتقة‪ - :‬يتم توض يها يف املخطط ‪ ERD‬وال حتسب كاا عمود يف جدول‬
‫الن وجودها يعتمد على وجود عمود اخض‪ .‬كمثال يتم احتساب‬
‫عمض الطالب لا عملية طضح‪ :‬التاجميخ احلايل – تاجميخ امليالد = العمض‬

‫‪ 21 = 2000 – 2021‬سنة‬

‫‪12‬‬
‫مرحلة التحليل‬

‫▪ لناء خمطط كيان الطالب ك جدول يف قاعده البيانات‬


‫اسم اجلدول‬

‫عمود جمقم الطالب‬


‫‪Students‬‬
‫مفتاح اساسي‬
‫‪PK‬‬ ‫‪Stud_no‬‬

‫‪Frist_name‬‬ ‫جمقم اهلاتف صفة متعددة‬

‫اسم الطالب يتم انشاء كل‬ ‫‪Scond_name‬‬ ‫انشاااء ‪ 2‬اعمااده هلااا‬

‫صفة له كااا عماود كماا‬ ‫‪Last_name‬‬ ‫وميكاان انشاااء ‪ 3‬أعماادة‬

‫توض يها يف املخطاط كياان‬


‫‪gander‬‬ ‫حسب حتليال ملاا حتتاجاه‬
‫‪Phone_Ymobile‬‬ ‫املنشئة‬
‫الطالااب ان اساام الطالااب‬
‫‪Phone_MTN‬‬
‫احتوى على ‪ 3‬صفات وهي‬
‫‪Countery‬‬
‫(االسااام األول واسااام االب‬ ‫عناااوان الطالاااب صااافة‬
‫‪city‬‬
‫واللقب) عند انشاء اجلادول‬ ‫عمل كل صافة‬ ‫مضكبه‬
‫‪moderia‬‬
‫يااتم إضااافة كاال صاافة كاااا‬ ‫‪Twon‬‬ ‫كااااا عمااااود يف جاااادول‬

‫عمااود يف اجلاادول‪ .‬طضيقااة‬ ‫‪Brith_date‬‬ ‫الطالب‬

‫جتزء اسام الطالاب فقاط يف‬ ‫‪hobies_one‬‬


‫‪hobies_two‬‬ ‫هواياااات الطالاااب صااافة‬
‫األنظمااة‪ .‬مااثال هنااا‬ ‫لعا‬
‫‪hobies_Tree‬‬ ‫متعااااددة احتملاااات يف‬
‫يتم عمل عمود واحد السم‬
‫الت ليل للمنشئة ادخاال‬
‫الطالب ويكتب فياه االسام‬
‫‪ 3‬مهاجمات للطالب فقط‬
‫لالكامل للطالب‬
‫أنشااء‬ ‫ولناء على ذلك‬
‫‪ 3‬أعمدة كل عمود يعضف‬
‫نفسااه لاساام خيتلااف عاان‬
‫لقية األعمدة‬

‫يف الدجموس القادمة ستجد اختالف يف انشاء جدول الطالب ألنك ستتعلم أنواع العالقات والتعم أكثض يف‬

‫حتليل البيانات وستدجمك أيدا أنك أصب ت حملل لاجمع لطضح االسئلة ومناقشتها‪.‬‬

‫‪13‬‬
‫مرحلة التحليل‬

‫▪ العالقات لن اجلداول يف ‪- :SQL‬‬


‫عند إنشاء جداول يف قاعدة البيانات‪ ،‬فإن الظاهض لنا أننا نقوم لبناء جداول منفصلة وغري م الطة‪ ،‬ولكننا‬
‫ُ َ‬
‫يف الواقي العملي حنتاج لضلط هذه الكيانات املنفصلة حبيث تبنى عالقات حتكم البيانات املوجودة يف هذه‬
‫اجلداول‪ ،‬وحتكم طضيقة التعامل مي هذه البيانات‪.‬‬

‫ُ‬ ‫ْ‬ ‫َ‬


‫تنشأ العالقة لن جدولين عندما يضلط عمودان فيهما مي لعدهما عن طضي وجود قيود مطبقة على‬
‫العمودين‪ ،‬حبيث يكون قيد املفتاح الضئيسي على عمود يف اجلدول "األب" وقيد املفتاح األجنبي على‬
‫ً‬
‫العمود يف اجلدول "االلن"‪ ،‬وعادة يكون اسم العمودين واحدا يف كال اجلدولن‪.‬‬
‫‪City‬‬
‫‪Country‬‬
‫‪PK‬‬ ‫‪city_no‬‬
‫‪PK‬‬ ‫‪country_no‬‬
‫‪city_name‬‬
‫‪country_name‬‬
‫‪FK1‬‬ ‫‪country_no‬‬

‫قضاءة الشكل السال كتايل‬


‫كل دولة هلا العديد من احملافظات وكل حمافظة تتبي دولة واحدة‪.‬‬

‫▪ نستفيد من لناء العالقات لن اجلداول‬

‫‪ .1‬التخلص من مشكلة تكضاجم البيانات عن طضي فصلها وحفظها يف أكثض من جدول‪ ،‬فمشكلة تكضاجم‬
‫البيانات هي عدو مستخدمي قواعد البيانات ومسؤوليها‪ ،‬ألنها تتسبب لزيااادة حجاام قاعاادة‬
‫البيانات لقاادجم كبااري ولسااضعة‪ ،‬وتضفااي السااضعات املطلولااة لتنفيااذ االسااتعالمات‪ ،‬وجتعاال ماان‬
‫موضوع صيانة قاعدة البيانات كالوسا مقلقا‪.‬‬
‫‪ .2‬احلفاظ على دقة وسالمة البيانات يف قاعدة البيانات‪ ،‬فمي وجود العالقات لن اجلااداول‪ ،‬سااوف‬
‫ُ‬
‫تدمن مثال عدم وجود كتاب معاجم لي له شخص استعاجمه‪ ،‬أو عنوان وهمي لي له صاااحب‪،‬‬
‫على ذلك العديد من األمثلة‪.‬‬ ‫وق‬
‫اال جملااط اسااتعالمية‬ ‫‪ .3‬استخضاج البيانات من أكثض من جدول لكفاءة وسضعة عاان طضيا لناااء‬
‫تطلب املعلومااات ماان أعماادة خمتلفااة يف جااداول خمتلفااة‪ ،‬وإخااضاج النتيجااة لطضيقااة مفياادة‬
‫ومضتبة‪.‬‬

‫‪14‬‬
‫مرحلة التحليل‬

‫▪ أنواع العالقات‬

‫▪ عالقة واحد إىل واحد‪(One-to-One).‬‬


‫▪ عالقة واحد إىل متعدد أو عالقة متعدد إىل واحد‪(One-to-Many / Many-to-One).‬‬
‫▪ عالقة متعدد إىل متعدد‪(Many-to-Many).‬‬

‫‪ -1‬واحد – واحد (‪ :)1-1‬يعني ان قيمة واحدة يف اجلدول األول تقالل قيمة واحدة فقط يف اجلدول الثاني‪.‬‬

‫‪1‬‬ ‫‪1‬‬
‫‪Password‬‬ ‫‪Student‬‬

‫قضاءة العالقة السالقة‪- :‬‬


‫‪ -‬كل شخص لدية جواز سفض واجلواز يعود لشخص واحد فقط‪.‬‬
‫مالحظه هنا يتم متثيل الكينونات كا جداول يف قاعدة البيانات‪- :‬‬

‫أصبح لدينا اآلن عالقة لن اجلدولن‪ ،‬ويف حال كان كل شخص يف اجلدول ‪ Person‬لدية جواز واحد يف‬
‫ً‬
‫اجلدول ‪ Passport‬هنا نسمي هذه العالقة واحدا إىل واحد‪.‬‬
‫جيب التنويه إىل أن هذا النوع من العالقات غري مستخدم كثريا‪ ،‬يتم دمج اجلدولن يف جدول واحد فقط‪.‬‬

‫‪ -2‬عالقة واحد إىل متعدد أو عالقة متعدد إىل واحد (‪- :)1: N / N: 1‬‬

‫هذا النوع من العالقات هو الشائي لن أنواع العالقات لن اجلداول يف قاعدة البيانات‪.‬‬

‫‪1‬‬ ‫‪N‬‬
‫‪Country‬‬ ‫‪Student‬‬ ‫‪.‬‬

‫قضاءة العالقة السالقة‪- :‬‬


‫‪ -‬القضاءة األوىل‪ - :‬الدولة هلا العديد من الطالب وطالب واحد ينتمي للدولة‪.‬‬
‫‪ -‬القضاءة الثانية‪ - :‬طالب واحد ينتمي لدولة والدولة اهلا العديد من الطالب‪.‬‬
‫مالحظه هنا يتم متثيل الكينونات كا جداول يف قاعدة البيانات‪- :‬‬
‫‪ -‬أصبح لدينا اآلن عالقة لن اجلدولن جدول الطالب وجدول الدول‪.‬‬

‫‪15‬‬
‫مرحلة التحليل‬

‫‪ -3‬عالقة متعدد إىل متعدد (‪)N: N‬‬


‫وجود هذا العالقة يكون مبني على التايل‪:‬‬

‫‪ -‬قيمة يف اجلدول األول تقالل قيمة او أكثض يف اجلدول الثاني وأن قيمة يف اجلدول الثاني تقالل‬

‫قيمة او أكثض يف اجلدول األول‪.‬‬

‫‪N‬‬ ‫‪N‬‬
‫‪subjects‬‬ ‫‪Student‬‬

‫قضاءة العالقة السالقة‪- :‬‬


‫‪ -‬القضاءة األوىل‪ - :‬طالب يدجمس أكثض من مادة واملادة يدجمسها أكثض من طالب‪.‬‬
‫‪ -‬القضاءة الثانية‪ - :‬املادة يدجمسها أكثض من طالب وطالب يدجمس أكثض من مادة‪.‬‬
‫مالحظه هنا يتم متثيل الكينونات كا جداول يف قاعدة البيانات‪- :‬‬

‫وجود مثل هذا العالقة يتم انشاء جدول ثالث يضلط لن البيانات من اجلدولن‬
‫هل فكضت ماذا سيكون اسم اجلدول الثالث الذي سي مل القيم من اجلدولن‪.‬‬
‫احسنت "جدول الدجمجات"‬

‫‪subjects‬‬ ‫‪Student‬‬

‫‪1‬‬ ‫‪1‬‬

‫‪N‬‬ ‫‪N‬‬
‫‪Marks‬‬

‫‪16‬‬
‫مرحلة التحليل‬

‫‪ o‬سنأخذ العالقة الثانية والثالثة لشكل مفصل أكثض مي التوضيح‪- :‬‬


‫‪ -‬جمسم البيانات خمطط ‪ ERD‬وجملط العالقة لن الكينونات‪.‬‬
‫‪ -‬تصميم اجلداول والعالقات لن اجلداول‪.‬‬
‫‪ -1‬عالقة واحد إىل متعدد أو عالقة متعدد إىل واحد (‪- :)1: N / N: 1‬‬
‫جمسم خمطط ‪ ERD‬لاا العالقة لن جدول الطالب وجدول الدولة‪.‬‬

‫سمم االلددووللةة‬
‫ااس‬ ‫اسم العالقاة التاي‬ ‫ب‬
‫سمم االلططااللب‬
‫ااس‬ ‫ب‬
‫جمجمققمم االلططااللب‬
‫جمجمققمم االلددووللةة‬
‫تضلط الكيانن‬

‫سججييلل‬
‫تتااجمجمييخخ االلتتس‬

‫ال د ولة‬ ‫‪1‬‬ ‫ينتمي‬ ‫‪N‬‬ ‫طالب‬


‫تتااجمجمييخخ ااململييالالدد‬

‫جمجمققمم االلددووللةة‬

‫نفهم مما سب لأن العالقة لن كينونة الطالب وكينونة الدول هي أن الطالب ينتمي لاا دولااة معينااة وان الدولااة لااديها‬ ‫‪-‬‬
‫العديد من الطالب ينتمون هلا‪.‬‬
‫يفهم ايدا ان الكينونة التي لديها العديد من القيم يف الكينونة األخضى يتم اضافه الصفة جمقم الدولة اىل اجلدول االخض‪.‬‬ ‫‪-‬‬
‫إضافة جمقم الدولة يف كينونة الطالب‪.‬‬ ‫يف املخطط السال‬ ‫‪-‬‬
‫مالحظه هنا يتم متثيل الكينونات كا جداول يف قاعدة البيانات‪- :‬‬
‫• جمقم الدولة يف جدول الدول مفتاح أساسي ‪ Primary Key‬ويتميز لعدم تكضاجم القيم او تضك قيمة فاجمغة ‪ null‬يف‬
‫ُ‬
‫اجلدول مثال‬

‫نالحظ ان‪ - :‬كل دولة هلا جمقم مييزها عن غريها من الدول مثال جمقم ‪ 1‬دولااة الاايمن‬ ‫اسم الدولة‬ ‫جمقم الدولة‬
‫الضقم الن جمقم الدولة مفتاااح أساسااي ‪Primary‬‬ ‫ولن يتم تسجيل دولة أخضى لنف‬ ‫اليمن‬ ‫‪1‬‬
‫‪.Key‬عند انشاء جدول الدولة يف قاعده البيانات قم لعمل قيد لعمااود جمقاام الدولااة‬
‫الكويت‬ ‫‪2‬‬
‫كمفتاح أساسي لدمان عدم تكضاجم البيانات يف اجلدول وقت ادخال البيانات‪.‬‬
‫العضاق‬ ‫‪3‬‬

‫• جمقم الدولة يف جدول الطالب مفتاح أجنبي يستخدم لعمل مفتاح جملط لن اجلدولن‬

‫مالحظة‪- :‬‬ ‫جمقم الدولة‬ ‫اسم الطالب‬ ‫جمقم الطالب‬


‫تسجيل الطالب امحد وثالت يف دولة جمقم ‪ 1‬وطالب‬ ‫يف اجلدول املقالل‬ ‫‪-‬‬
‫سعيد يف دولة جمقم ‪.3‬‬ ‫‪1‬‬ ‫أمحد‬ ‫‪1‬‬
‫قم لإضافة قيد املفتاح األجنبي لعمود جمقم الدولة يف جدول الطالب لعمل‬ ‫‪-‬‬ ‫‪1‬‬ ‫ثالت‬ ‫‪2‬‬
‫جملط جلدول الدول للعمود جمقم الدولة لا يسهل قضاءة ليانات أمساء الدول‬ ‫‪3‬‬ ‫سعيد‬ ‫‪3‬‬
‫أمساء الدول حسب جمقم الدولة املخزن يف جدول الطالب‬
‫‪17‬‬
‫مرحلة التحليل‬

‫‪ -2‬عالقة متعدد إىل متعدد‪(Many-to-Many).‬‬


‫جمسم خمطط ‪ ERD‬لاا العالقة لن جدول الطالب وجدول املواد‪.‬‬

‫سمم ااململااددةة‬
‫ااس‬ ‫جمجمققمم ااململااددةة‬

‫ب‬
‫سمم االلططااللب‬
‫ااس‬ ‫ب‬
‫جمجمققمم االلططااللب‬
‫مواد‬
‫‪1‬‬

‫تتااجمجمييخخ‬
‫سججييلل‬‫االلتتس‬

‫طالب‬
‫م ‪.‬د‬
‫حتصيل‬ ‫‪1‬‬
‫جمجمققمم ااململااددةة‬ ‫ب‬
‫جمجمققمم االلططااللب‬
‫تتااجمجمييخخ ااململييالالدد‬
‫‪N‬‬
‫ي‬
‫سللي‬
‫سللس‬
‫جمجمققمم تتس‬
‫جمجمققمم االلددووللةة‬
‫ىل‬
‫ددجمجمججةة ااالالووىل‬
‫دجمجات‬ ‫‪N‬‬

‫ددجمجمججهه االلثثااننييةة‬

‫‪ -‬نفهم مما سب لأن عالقة الكينونات كينونة الطالب وكينونة املواد ووجدنا لأن العديد من الطالب يدجمسااون أكثااض‬
‫من مادة واملادة الواحد يدجمسها أكثض من طالب وهذه العالقة متعدد‪-‬متعدد إذا وجدت هذا العالقة نقوم مبعضفااة‬
‫معضفة الكينونة وهي الدجمجات ان كل طالب لدية العديااد ماان الاادجمجات يف‬ ‫الكينونة املش كة للكينونتن هنا‬
‫مادة واملادة لديها العديد من الدجمجات لاا طالب‪.‬‬
‫‪ -‬قوم لأنشاء كينونة الدجمجات‪ .‬كما هو موضح لاملخطط أعلى‪.‬‬

‫جدول الدجمجات‬ ‫جملط العالقات لن الكينونات وكينونة الدجمجات‬ ‫‪-‬‬


‫• عالقة كيان الطالب مي كيان الدجمجات هي عالقة (واحد – متعدد)‪.‬‬
‫الدجمجة‬ ‫املادة‬ ‫الطالب‬
‫• عالقة كيان املواد مي كيان الدجمجات هي عالقة (واحد – متعدد)‬
‫‪40‬‬ ‫‪1‬‬ ‫‪1‬‬
‫‪30‬‬ ‫‪2‬‬ ‫‪1‬‬
‫‪49‬‬ ‫‪1‬‬ ‫‪2‬‬
‫‪40‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫مالحظة‪- :‬‬
‫كتالة اسم للعالقة لن كيان املواد والدجمجات و‬ ‫‪-‬‬
‫نالحظ‬ ‫اختصاجمها لاا (م‪.‬د) وهي اختصاجم (م) السم كيان مواد‬
‫‪ -‬أن جمقم الطالب ‪ 1‬مي املادة ‪ 1‬حصل على دجمجة ‪٤0‬‬
‫و (د) لا كيان دجمجات ويتم عمل هذا االختصاجم من‬
‫الطالب مي مادة ‪ 2‬حصل على دجمجة ‪٤9‬‬ ‫ونف‬
‫‪ -‬أن املادة ‪ 1‬مي الطالب ‪ 1‬واملادة ‪ 1‬مي الطالب ‪.2‬‬ ‫السم العالقة يف حال مل يتم اشتقاق ص يح للعالقة‬
‫‪ -‬ميكنك أيدا كتالة اسم الكيانن كتايل‪ - :‬مواد‪-‬دجمجات‪.‬‬

‫‪18‬‬
‫مرحلة التحليل‬

‫يتم التوثي املشضوع لاملخططات للكينونات والعالقات للنظام ليسهل انشاء اجلداول يف قاعده البيانات لشكل‬
‫الص يح‪.‬‬
‫تفاصيل الصفات‬ ‫لعد جمسم خمططات ‪ ERD‬للكينونات والعالقات لن تلك الكينونات يف النظام قم لتوضيح لع‬
‫يف الكينونة قبل انشاءها يف قاعد البيانات لأنشاء جدول يف الوجمد كما هو موضح يف اجلدول أسفل‬
‫جدول الدول‬

‫جدول الدول‬
‫القيد‬ ‫نوع البيانات‬ ‫اسم العمود‬ ‫املعىن‬
‫‪Pk‬‬ ‫)‪Number(2‬‬ ‫‪Country_no‬‬ ‫جمقم الدولة‬
‫‪UK‬‬ ‫‪Varchar2(30) Country_name‬‬ ‫اسم الدولة‬

‫جدول الطالب‬

‫جدول الطالب‬
‫القيد‬ ‫نوع البيانات‬ ‫اسم العمود‪E-‬‬ ‫املعىن‬
‫‪Pk‬‬ ‫)‪Number (20‬‬ ‫‪Stud_no‬‬ ‫جمقم الطالب‬
‫‪-‬‬ ‫)‪Varchar2(100‬‬ ‫‪Stud_name‬‬ ‫اسم الطالب‬
‫‪-‬‬ ‫)‪Number(1‬‬ ‫‪Gander‬‬ ‫اجلن‬
‫‪-‬‬ ‫‪Date‬‬ ‫‪Birthday‬‬ ‫تاجميخ امليالد‬
‫)‪Number(9‬‬ ‫‪Stud_phone‬‬ ‫جمقم اهلاتف‬
‫‪-‬‬ ‫‪Date‬‬ ‫‪Stud_regedit‬‬ ‫تاجميخ التسجيل‬
‫‪Fk‬‬ ‫)‪Number(2‬‬ ‫‪Country_no‬‬ ‫جمقم الدولة‬

‫مالحظة‪- :‬‬
‫‪ -‬عمود املعىن هو اسم االعمدة لالعضلي‬
‫‪ -‬عمود اسم العمود هو االسم االعمدة لاللغة اإلجنليزية‬
‫التي سنتعامل معها يف اجلدول‪.‬‬
‫‪ -‬عمود نوع البيانات وهنا يتم حتدد نوع ليانات االعمدة‬
‫هل جمقمي او نصي او تاجميخ‪.‬‬

‫‪19‬‬
‫مرحلة التحليل‬

‫تفاصيل اجلدول السال ‪- :‬‬ ‫لع‬ ‫▪‬

‫مالحظة‬ ‫نوع البيات‬ ‫العمود‬


‫نصي؟ لسهولة التخزين وحتتمل فقط قيمتن ذكض وانثى فقط‪.‬‬ ‫ملاذا جمقمي ولي‬ ‫جمقمي‬ ‫الطالب‬ ‫جن‬
‫إعطاء احلقل قيمه ‪ 1‬أي االعداد من (‪ )9 – 0‬ويتم متثيل الذكض لقيمة ‪ 1‬واالنثى‬ ‫‪Number‬‬

‫لقيمة ‪ 2‬او أي اجمقام من اختياجمك ليتم التعامل لها يف قاعااده البيانااات والاات كم‬
‫لها يف الشاشات إلظهاجم للمستخدم كاا أمساء‬
‫إعطاء جمقم اهلاتف طااول ‪ 9‬أي ‪ 9‬اجمقااام فقااط وهااو حسااب املعطيااات لااأن الفئااة‬ ‫جمقمي‬ ‫جمقم اهلاتف‬
‫اختياجم نوع‬ ‫املستهدفة هم طالب حمللن واألجمقام احمللية مكون من ‪ 9‬اجمقام فقط‬ ‫‪Number‬‬

‫إضافة عمااود‬ ‫نصي لعدم وجود صفض يف البداية إذا‬ ‫ليانات العمود جمقمي ولي‬
‫هاتف ثالت سيتم إضافة العمود نوع لياناته نصية ألننا سنقوم لإضافة جمقاام صاافض‬
‫يف لداية اهلاتف والضموز ‪ /‬لفصل مفتاح احملافظة عن الضقم مثل ‪01/000000‬‬
‫العمود جمقم الدولة يف جدول الدول‬ ‫وهذا العمود يأخذ مواصفات نف‬ ‫جمقمي‬ ‫جمقم الدولة‬
‫كونه عمود يأخذ قيمته من جدول الدول سيتم التطضق هلا يف لناء اجلدول يف‬ ‫‪Number‬‬

‫إعطاء جمقم ‪ 2‬أي سيتم ادخال ‪ 99‬دولة فقط‬ ‫قاعدة البيانات لشكل مفصل و‬

‫ي معا ليتم طضح املعطيات قبل تنفيذها او تعديلها يف‬ ‫ذكضه سالقا مبني على القدجمة على التفكري الت ليلي والرب‬ ‫مأ‬
‫وقتها حسب اخلربة التي ميتلكها املربمج‪.‬‬

‫انشاء اجلداول ‪- :Create Table‬‬

‫هنا يتم كتالة اسم اجلدول‬ ‫الصيغة العامة ألنشاء اجلدول‬

‫هنا يتم كتالة اسم العمود‬ ‫هنا يتم كتالة نوع البيانات‬ ‫هنا يتم كتالة نوع القيد‬

‫ُ َّ‬ ‫ُ‬
‫إذ ينشأ اجلدول اجلديد لاسم ‪ table_name‬وت دد أعمدته ما لن القوسن وذلك لت ديد اسم‬
‫العمو د ‪ colum_name‬ونوع لياناته ‪ data _type‬وحتديد القيود على مستوى العمود أو اجلدول‪.‬‬

‫‪20‬‬
‫مرحلة التحليل‬

‫أنواع القيود ‪:Constraints‬‬ ‫▪‬

‫انشاء اجلدول الدولة‪- :‬‬ ‫▪‬

‫قيد مفتاح أساسي لضقم الدولة‬

‫طضيقة األوىل‪ - :‬انشاء اجلدول الطالب‪- :‬‬ ‫▪‬

‫هنا اجلزء الذي يضلط العمود جمقم الدولة جبدول الدول‬

‫اسم نوع العالقة وهي ينتمي‬

‫جمقم الدولة يف جدول الطالب‬

‫جمقم الدولة يف جدول الدول‬

‫‪21‬‬
‫مرحلة التحليل‬

‫طضيقة ثانية‪ - :‬لااا انشاء جدول الطالب‪- :‬‬ ‫▪‬

‫خمطط السياق‪- :‬‬

‫متثل يي الكيانات اخلاجمجية التي قد تتفاعل مي نظام‪ ،‬مثل الضسم التخطيطي يف االسفل يصوجم النظام‬
‫ً‬
‫يف املضكز‪ ،‬لدون تفاصيل عن هيكله الداخلي‪ ،‬حماطا جبميي األنظمة املتفاعلة والبيئات واألنشطة اخلاجمجية‪.‬‬
‫خمططات السياق ميثل يف جمسم عباجمة عن‪- :‬‬
‫الكيانات (الفاعلون)‪ :‬عباجمة عن صندوق واحد يف الوسط ميثل النظام‪ ،‬وحوله صنادي متعددة‬ ‫•‬

‫الكل ممثل خاجمجي‪.‬‬


‫العالقات‪ :‬وهي اخلطوط لن الكيانات والنظام‪.‬‬ ‫•‬

‫الشكل التايل خمطط لفندق أيلول السياحي والكيانات اخلاجمجية التي سيتم التعامل معها‪- :‬‬

‫وزاجمة السياحة‬
‫طلب تضخيص مزاولة عمل للفندق‬

‫املوافقة او الضف‬

‫نظام فندق‬
‫خدمة توصيل النزالء‬
‫احلظوجم للفندق‬
‫شضكة نقل‬
‫أيلول‬
‫االمن العام‬ ‫جضمية جنائية‬ ‫الضد على الفندق‬
‫الضد على النزيل‬
‫طلب حجز‬

‫النزالء‬

‫‪22‬‬
‫ملحق‬

‫مقدمة‬
‫ألهمية مرحلة التحليل سنعمل معنا على حتليل مشروع نظام حماسبي وفيها العمليات التالية‪- :‬‬

‫حسابات‬ ‫مشرتيات‬ ‫مبيعات‬


‫تلك هي العمليات األساسية يف النظام سنبدأ يف عملية التحليل خطوة خطوة لتكوين جداول النظام‪- :‬‬
‫سنتطرق بشكل مبسط يف اجلانب‬
‫املبيعات‪- :‬‬

‫دخول العميل ‪ Customer‬للمحل‬


‫بغرض الشراء ‪ Buy‬صنف‬
‫او ارجاع ‪ Returns‬صنف‬
‫الصنف عباره عن (مساعة‪ ،‬شاحن‪ ،‬ماوس‪،‬‬
‫كيبورد‪ ،‬الصق‪ ..... ،‬اخل)‬

‫يتم التعامل مع املعطيات‪- :‬‬


‫الزبون‬ ‫‪-‬‬
‫األصناف‬ ‫‪-‬‬
‫سنقوم بتمثيل املعطيات التي مجعت بالكينونات ونعمل على اجياد نوع العالقة بني الكينونات‪- :‬‬

‫الزبون‬
‫االصناف‬

‫قم بتفكري ما نوع العالقة بني كينونة الزبون وكينونة األصناف؟‬

‫‪23‬‬
‫ملحق‬

‫الكمية‬ ‫املعن‬ ‫الصنف‬


‫‪5‬‬ ‫جوال ‪Samsung S9‬‬ ‫‪Item - 1‬‬
‫‪6‬‬ ‫ماوس ديلوكس‬ ‫‪Item - 2‬‬
‫‪20‬‬ ‫مساعة ‪Vivo‬‬ ‫‪Item - 3‬‬
‫‪3‬‬ ‫جوال ‪LG Q710‬‬ ‫‪Item - 4‬‬

‫لدينا ‪ 3‬زبائن علي وحممد وصاحل كل زبون اخذ طلبة من احملل كتايل‪- :‬‬
‫‪ -1‬علي اشرتى جوال ‪ Samsung S9‬وماوس ديلوكس ومساعة ‪.Vivo‬‬
‫‪ -2‬حممد اشرتى ماوس ديلوكس‪.‬‬
‫‪ -3‬صاحل اشرتى مساعة ‪ Vivo‬وجوال ‪LG Q710‬‬
‫▪ االن وضحت نوع العالقة بني الزبون واألصناف‬
‫الزبون يشرتي عده أصناف والصنف يشرتيه أكثر من زبون‪.‬‬

‫‪Items‬‬ ‫‪N‬‬ ‫يشرتي‬ ‫‪N‬‬ ‫‪Customer‬‬

‫▪ نوع العالقة متعدد اىل متعدد‬


‫كما تعلمت إذا وجدت هذا العالقة ان هناك جدول ثالث مرتبط بكال اجلدولني‬
‫اين يتم كتابة األصناف التي اشرتاها للزبون من احملل بضبط يف الفاتورة‬
‫إذا الفاتورة هنا هي اجلدول الثالث الذي نبحث عنه‬

‫‪Items‬‬ ‫‪Customer‬‬

‫‪1‬‬ ‫‪1‬‬

‫بيع‬ ‫شراء‬
‫مالحظة‪- :‬‬
‫الزبون يتم إعطاء له فاتورة يف كل عملية شراء من احملل‪.‬‬ ‫‪-‬‬
‫‪N‬‬ ‫‪Bill Sales‬‬ ‫‪N‬‬
‫الزبون يسجل له صنف او عدة أصناف يف فاتورة واحدة‪.‬‬ ‫‪-‬‬

‫‪24‬‬
‫ملحق‬

‫الصفات (االعمدة) للكينونات‬


‫يتم اخذ الصفات للكيان حسب املعطيات وحسب األهمية هلا مثال كما لدينا هنا الكيان الزبون‬
‫قاعده أساسية ان لكل جدول بن يف قاعده البيانات لدية عمود أساسي‬
‫هذا العمود حيمل دائما اسم الرقم وهو مفتاح أساسي ال يتكرر يف اجلدول‬
‫▪ الزبون ‪Customer‬‬

‫‪Cust_ID‬‬
‫‪Cust_ID‬‬

‫‪Cust_name‬‬
‫‪Cust_name‬‬

‫‪Customer‬‬ ‫‪Cust_Phone‬‬
‫‪Cust_Phone‬‬

‫‪Cust_address‬‬
‫‪Cust_address‬‬

‫▪ األصناف ‪Items‬‬

‫ماهي االعمدة يف هذا اجلدول‬

‫سعر البيع‬ ‫سعر الشراء‬ ‫الكمية‬ ‫اسم الصنف‬ ‫رقم الصنف‬


‫‪360$‬‬ ‫‪350$‬‬ ‫‪5‬‬ ‫جوال ‪Samsung S9‬‬ ‫‪1‬‬
‫‪3300‬‬ ‫‪3000‬‬ ‫‪6‬‬ ‫ماوس ديلوكس‬ ‫‪2‬‬
‫‪1100‬‬ ‫‪1000‬‬ ‫‪20‬‬ ‫مساعة ‪Vivo‬‬ ‫‪3‬‬
‫‪47000‬‬ ‫‪45000‬‬ ‫‪3‬‬ ‫جوال ‪LG Q710‬‬ ‫‪4‬‬

‫دعنا جنري عملية البحث عن صنف حسب الرقم سيكون سهل فقط جمرد عملية استتعالم حستب الترقم‬
‫يعطينا البيانات املتعلقة بصنف او حسب اسم الصتنف كمتا حتتب الكتن عنتدما اريتد البحتث عتن مجيتع‬
‫اجلواالت ليظهر يل البيانات اجلواالت ماذا ستففعل هتل ستفقوم بكتابتة كافتة ارقتام االصتناف للهواتتف ال‬
‫اتذكرها كلها او البحث حسب اسم الصنف عملية متعبة ماذا تريد ان تقول هكذا حتدث نفسك‪.‬‬
‫دعنا نفكر يف حل هلذا املشكلة‬
‫‪ -‬نريد إضافة عمود جلدول االصناف يرتب االصناف لتتت جمموعتات كمتا يف األقستام واملتوففني يتتم‬
‫تسجيل موفف يف قسم والقسم يضم أكثر من موفف‪.‬‬
‫‪ -‬يتم إضافة جدول اجملموعات وربط عالقة بني اجلدولني األصناف واجملموعات‬

‫‪25‬‬
‫ملحق‬

‫‪G_ID‬‬
‫‪G_ID‬‬
‫‪Item_ID‬‬
‫‪Item_ID‬‬

‫‪Item_name‬‬
‫‪Item_name‬‬

‫‪Item_Qty‬‬
‫‪Item_Qty‬‬
‫‪Items‬‬ ‫‪N‬‬ ‫ينتمي‬

‫‪Price_out‬‬
‫‪Price_out‬‬

‫‪Price_in‬‬
‫‪Price_in‬‬ ‫‪G_ID‬‬
‫‪G_ID‬‬
‫‪1‬‬

‫‪G_name‬‬
‫‪G_name‬‬ ‫‪Groups‬‬

‫قمنا بإضافة كينونة اجملموعات والصفات التابعة هلا وربط العالقة بني كينونة اجملموعات وكينونة‬
‫األصناف نوع العالقة متعدد اىل واحد أي‪- :‬‬
‫كل صنف ينتمي اىل جمموعة واجملموعة ينتمي هلا أكثر من صنف‪.‬‬ ‫‪-‬‬

‫▪ اجلواالت‬
‫‪Samsung S9‬‬ ‫•‬

‫‪LG Q710‬‬ ‫•‬


‫جدول اجملموعات‬
‫▪ اإلكسسوارات‬
‫مساعة ‪Vivo‬‬ ‫•‬ ‫اسم اجملموعة‬ ‫رقم اجملموعة‬

‫ماوس ديلوكس‬ ‫•‬ ‫اجلواالت‬ ‫‪1‬‬

‫▪ قطع صيانة‬ ‫االكسسوارات‬ ‫‪2‬‬

‫قطع الصيانة‬ ‫‪3‬‬


‫▪ كمبيوترات‬
‫كمبيوترات‬ ‫‪4‬‬

‫شكل يوضح فكرة ترتيب األصناف لت جمموعات‬

‫جدول االصناف‬

‫جمموعة‬ ‫سعر البيع‬ ‫سعر الشراء‬ ‫الكمية‬ ‫اسم الصنف‬ ‫رقم الصنف‬
‫‪1‬‬ ‫‪360$‬‬ ‫‪350$‬‬ ‫‪5‬‬ ‫جوال ‪Samsung S9‬‬ ‫‪1‬‬
‫‪2‬‬ ‫‪3300‬‬ ‫‪3000‬‬ ‫‪6‬‬ ‫ماوس ديلوكس‬ ‫‪2‬‬
‫‪2‬‬ ‫‪1100‬‬ ‫‪1000‬‬ ‫‪20‬‬ ‫مساعة ‪Vivo‬‬ ‫‪3‬‬
‫‪1‬‬ ‫‪47000‬‬ ‫‪45000‬‬ ‫‪3‬‬ ‫جوال ‪LG Q710‬‬ ‫‪4‬‬

‫‪26‬‬
‫ملحق‬

‫▪ الفاتورة ‪Bill Sales‬‬

‫يتم كتابة تفاصيل عملية البيع فيها (اسم الزبون واألصناف‪ ..... ،‬اخل) ارفاق صورة لفاتورة ليتم بناء اجلداول‬

‫راس الفاتورة‬

‫تفاصيل الفاتورة‬

‫اإلمجايل = العدد * السعر‬

‫اإلمجايل = مجع االمجايل‬

‫الفاتورة يتم تقسيمها اىل جدولني‬


‫‪ -‬جدول راس الفاتورة‬
‫‪ -‬جدول تفاصيل الفاتورة‬

‫‪Head_Bills‬‬ ‫‪1‬‬ ‫‪N‬‬ ‫‪Bill_Detiles‬‬

‫إذا العالقة بني اجلدولني هي ‪ ..........................‬تقرا كتايل‪- :‬‬


‫الفاتورة هلا العديد من التفاصيل والتفاصيل تتبع فاتورة واحدة‪.‬‬ ‫‪-‬‬

‫▪ راس الفاتورة‪- :‬‬


‫تكتب فيها اسم الزبون وتاريخ الفاتورة ونوع الفاتورة (نقدا ‪ /‬آجل) ورقم الفاتورة‬

‫صورة الفاتورة ال حتمل رقم فاتورة وهذا ليس ان نتجاهل رقم الفاتورة يف إضافته يف اجلدول‬

‫▪ تفاصيل الفاتورة‪- :‬‬


‫تكتب فيها تفاصيل (اسم الصنف‪ ،‬الكمية‪ ،‬السعر)‬

‫‪27‬‬
‫ملحق‬

‫خمطط الكينونات‬

G_ID
G_ID
Item_ID
Item_ID

Item_name
Item_name

Item_Qty
Item_Qty
Items N ‫ينتمي‬

Price_out
Price_out
Bill_ID
Bill_ID
1
Price_in
Price_in G_ID
G_ID
Cust_ID
Cust_ID
1

Bill_Date
Bill_Date Head_Bills N
G_name
G_name Groups
Bill_Type
Bill_Type 1
Item_BillD
Cust_ID
Cust_ID
Cust_Bills

Cust_name
Cust_name
Detile_ID
Detile_ID

Bill_ID
Bill_ID N
1 Customer Cust_Phone
Cust_Phone

Cust_address
Cust_address
Item_ID
Item_ID Bill_Detiles N

Qty
Qty

Price
Price
Total
Total

‫مالحظة‬

‫ جدول الزبائن يتم فيه تسجيل بيانات الزبائن الجل وليس زبائن النقدي (زبون النقدي ال يتبقى‬-

.)‫علية مبلغ مايل لفتح كشف حساب له‬

.‫ إذا سيتم تسجيل اسم العميل النقدي يف عمود املالحظة‬-

.Head_bills ‫ قم بإضافة صفة املالحظة للمخطط السابق يف كينونة‬-

28
‫ملحق‬

ERD ‫هل فكرت ما التايل يف ليتم أضافته يف املخطط‬

‫جدول سند القبض‬

Cust_ID
Cust_ID

Cust_name
Cust_name

Customer Cust_Phone
Cust_Phone

1
Cust_address
Cust_address
sanad_ID
sanad_ID

Cust_id
Cust_id

N Sanad_Cash Price
Price

Note
Note

.................................. ‫اكتب ماهي نوع العالقة‬

‫كيف تقرا نوع العالقة‬

............................................................... -

............................................................... -

29
‫‪.‬‬‫الخاتمة‬
‫مت ذكر جانب بسيط من جوانب كثري يف عامل حتليل وتصميي نمم عليم‬
‫عممن المموتو‬ ‫والبح م‬ ‫بتطممو ر مراتات م يف اجلانممب حتلي مل و التص ميي‬
‫متقومة أكثر‪.‬‬

‫اعواد املرنو ‪ /‬أجمو املراجري‬

‫حقوق الملكية محفوظة لــــ‬


‫‪MTK‬‬
‫املراجع‬
‫موقع اكاديمية حسوب‪- :‬‬
‫ا‬ ‫ة‬ ‫ا‬
‫هدف أكادميية حسوب إىل توفري دورات‪ ،‬كتب‪ ،‬مقااا ت ودروم متصّّاة ةاايااة اوااودال حااوت فااا ت مصتلعااة ‪.‬االرااة اا ‪.‬يااة وت كا‬
‫ة‬ ‫ا‬ ‫ة‬
‫أكادميية حسوب ‪.‬شكل رئيسي ةلى ت ليم ااربفة‪ ،‬إدارال األةمات مبصتلف تع ةاتها‪ ،‬ااتسويق واملبي ات‪ ،‬ااتّميم واو افيكس مبصتلااف‬

‫أاوانه‪ ،‬اا مل احل واا مل ةن ‪ .‬د‪ ،‬إدارال اخلواديم وفااات ‪. DevOps‬اإلضااافة اىل ااشااهادات املتصّّااة و ا وحات الااتصدا ااااربام‬

‫وااتطبيقااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااات‪.‬‬

‫ة‬
‫‪.‬اب املساهمة ةلى األكادميية معتوح اكل من ي ى يف نعسه ااقدرال ةلى توفري حمتوى ة ‪.‬ي ةايل اوودال يسهم ‪.‬تطوي فتم نا اا ‪.‬ي‬
‫ا‬ ‫ً‬ ‫ا‬
‫الم يد من ااتعاصيل أاق نظ ال ةلى صعحة اكتب م نا ان كنت مهتما ‪.‬املساااهمة ككاتااب‪ ،‬وصااعحة درب م نااا إن كناات لتلااا ااربات‬

‫متصّّاااااااة‪ ،‬ىاااااااادر ةلاااااااى إةاااااااداد دورات تدريبياااااااة وت اااااااب ‪.‬ا ن اااااااما ملااااااادر‪.‬ي أكادميياااااااة حساااااااوب‪.‬‬

‫ان كنت تبحث ةن امل يد‪ ،‬توف مولوةة حسوب توثيق امل الرات ااربفة وتقنيات تطوي ااويب واووات‪.‬‬

‫‪https://academy.hsoub.com‬‬

‫كتاب‪ :‬تصميم قواعد البيانات (‪ )162‬حاب‪- :‬‬


‫الكتاب تابع للمؤسسة العامة للتعليم الفني والتدريب املهني اململكة العربية السعودية‪.‬‬
‫تم بحمد هلل‬

‫حقوق الملكية محفوظة لــــ ‪MTK‬‬

You might also like