اذهب إلى المحتوى

Omar Haddad2

الأعضاء
  • المساهمات

    292
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    4

كل منشورات العضو Omar Haddad2

  1. تتو فر العديد من المكتبات في بايثون للعمليات المختلفة التي من الممكن القيام بها ضمن مجال معالجة اللغات الطبيعية ومعالجة النصوص. يوجد مكتبتين مهمتين: مجموعة أدوات اللغات الطبيعية (Natural Language Toolkit (NLTK: وهي مكتبة مجانية مفتوحة المصدر، تتضمن المهام الأساسية في معالجة اللغات الطبيعية والنصوص من الحصول على الوحدات اللغوية (Tokenization) إلى التجذيع (stemming) وصولاً التنبؤ بأقسام الكلام (Part of Speech tagging) و الاستنتاج الدلالي (semantic reasoning) وغيرها العديد من المهام اللغوية. ويمكن التثبيت بهذا الأمر: pip install --user -U nltk * ولكن تطلب المكتبة توفر المكتبة العددية لبايثون numpy، لذا في حال عدم توفرها مسبقا على الجهاز يجب تثبيتها: pip install --user -U numpy يمكن الاطلاع على الموقع الرسمي للمكتبة حيث يتوافر توثيق جيد لها. مكتبة جينسم Gensim: وهي مكتبة مجانية مفتوحة المصدر كذلك، تتضمن توابع تساعد على تحديد التشابه الدلالي فيما بين النصوص، ويمكن التثبيت بهذا الأمر : pip install -U gensim * هذه المكتبة كذلك تتطلب توافر المكتبة العددية لبايثون numpyويمكن الاطلاع على الموقع الرسمي للمكتبة و حيث يتوافر توثيق جيد لها.
  2. الأرقام الزوجية هي تلك الأرقام التي تقبل القسمة على 2 بدون باقي . فهنا ، (number % 2 == 0) يتحقق مما إذا كان الرقم زوجيًا. إذا كان الباقي 0 ، يكون الرقم زوجيًا. // برنامج للتحقق مما إذا كان الرقم زوجيًا أم فرديًا // أخذ المدخلات من المستخدم const number = prompt("Enter a number: "); // تحقق مما إذا كان الرقم زوجيًا if(number % 2 == 0) { console.log("The number is even."); } // إذا كان الرقم فرديًا else { console.log("The number is odd."); } فهنا لو قمنا بتشغيل الكود سيظهر لنا ثم إدخال القيمة 27 وهي قيمة لاتقبل القسمة على 2 لأن لها باقي Enter a number: 27 The number is odd. الحل بإستخدام المشغل الثلاثي // أخذ المدخلات من المستخدم const number = prompt("Enter a number: "); // عامل تشغيل ثلاثي const result = (number % 2 == 0) ? "even" : "odd"; // الناتج console.log(`The number is ${result}.`);
  3. يعود هذا حسب التامبلت الذي تعمل فيه ولنوع قاعد البيانات إذا كان التامبلت مجهز فأتوقع أن يكون له حقل داخله لتغير إسم الموقع والتفاصيل الأخرى , بينما إن لم يكون التامبلت كامل فيمكن أن تقوم من خلال الدخول لمصدر الكود والبحث عن سطر الكود أو الوسم الخاص بإسم الموقع وتغيره , ما أقصده أنه لوكان التامبلت static أي غير مرتبط بسيرفر أو قاعدة بيانات يمكنك تغير إسم الموقع من خلال الوصول للكود , لكن إن كان له قاعدة بيانات لا بد أن يوجد حقل داخل التامبلت لتغير إسم الموقع .
  4. سأقوم بتوضيح الأسئلة لديك : شاهد لديك ثلاث جدوال بالتأكيد سيكون بينهم علاقة فالعلاقة بين جدول البحارة Sailors والقوارب (Boats ) هي علاقة many to many فالبحار يمكن ان يحجز اكثر من قارب في نفس اليوم والقارب يمكن أن يحجزه أكثر من بحار وهذا يعني أنك بحاجة لجدول وسيط إسمه كما لديك الحجوزات (reserves ) في : السؤال الأول يريد منك أن تقوم بإنشاء الجدول الخاص بالبحارة والسؤال الثاني يريد منك ان تقوم بإنشاء جدول القارب بينما في السؤال الثالث يريد منك إنشاء جدول الحجوزات وهذا الجدول يربط بين جدول القوارب والبحارة ولذلك تحتاج لإنشاء مفاتيح فرعية تؤشر على المفاتيح الرئيسة في كلا الجدولين وحسب ماهو مطلوب هما (sid ,bid) بينما في السؤال الأخير يطلب منك تنفيذ جمل الإستعلام بناءا على ماهو مطلوب مثلا أن تقوم بإسترجاع جميع البيانات من جدول البحارة وهكذا ....
  5. أرجو وضع السؤال بشكل واضح حتى نستطيع مساعدتك وتوضيح السؤال لك .
  6. في البايثون إذا كنت ترغب في ربط رقم ، مثل عدد صحيح int أو float ، مع سلسلة ، قم بتحويل الرقم إلى string مع str () ثم استخدم عامل التشغيل + أو + = عامل التشغيل. s1 = 'aaa' s2 = 'bbb' i = 100 f = 0.25 s = s1 + '_' + str(i) + '_' + s2 + '_' + str(f) print(s) #output: aaa_100_bbb_0.25
  7. item هو كيان أي كلاس يحتوى على خواص وهي ال weight من النوع float و decryption من النوع string ويحتوى على دالة getPriceForQuantity لإرجاع سعر الكمية ودالة getweight لإرجاع الوزن public class Item { private float weight; private string decryption ; public void getPriceForQuantity() {} public void getWeight(){} }
  8. أن تريد الطباعة في نفس الوسم لذلك يتم أخذ أخر شىء في المصفوفة لكن لو كنت تريد طباعة جميع محتويات المصفوفة عليك إزالة innerHTML من داخل الحلقة وإستخدمها في خارج الحلقة ولكن بعد أن تضع محتويات المصوفة في متغير نقوم ب innerHTML وإدخال القيمة في الوسم (function mainFunc(){ var i, myMain = document.getElementById("main"); var sinr=""; function changeColor(color) { color= ["red","blue","black","yellow","white"]; for(i = 0 ; i<color.length ; i=i+1){ sinr=+","+color[i] } myMain.innerHTML=sinr ; return changeColor(); }());
  9. يمكن تعلم البرمجة من الصفر وبسهولة فالمصادر متوفرة على الإنترنت, أنصحك بالبدء بتعلم أساسيات البرمجة من خلال تعلم لغة معينة مثل الجافا أو السي شارب أو أي لغة تدعم البرمجة الكائنية و البرمجة الشيئية والهدف من ذلك هو إتقان الأساس البرمجي الذي يعتمد عليه معظم اللغات ,وبعدها حدد مسارك في تعلم اللغات التي وظائفها أكثر إنتشاراً مثل : برمجة تطبيقات الهاتف : وينقسم إلى قسمين القسم الأول :وهو برمجة التطبيقات التي تعمل على نظام الأندرويد ويتم ذلك بإستخدام لغة الجافا الخاصة بنظام الأندرويد القسم الثاني :وهو برمجة التطبيقات التي تعمل على نظام ال ios وهو النظام الخاص بهواتف أبل برمجة مواقع الويب : وينقسم لقسمين القسم الأول: هو برمجة واجهات مواقع من خلال تعلم لغة html وcss وjavascript والمسمى الوظيفى هنا للمبرمج هو (front end developer) القسم الثاني: هو برمجة الخلفية إي البرمجة التي تعمل من خلال السيرفر وومن أمثلتها لغة الphp والمسمى الوظيفى هنا للمبرمج back end developer برمجة تطبيقات سطح المكتب :هو برمجة التطبيقات التي تعمل على جهاز الحاسوب ويمكن ذلك بإستخدام لغة الجافا او السي شارب أو السي أو البايثون أو غيرها برمجة الألعاب : القيام ببرمجة الألعاب التي تعمل على الموبايل أو على جهاز الحاسوب
  10. نعم يعتبر المفتاح الأساسي index وذلك لأن المفتاح الأساسي هو كائن منطقي. وأقصد بذلك أن هذا ببساطة يحدد مجموعة من الخصائص في عمود واحد أو مجموعة من الأعمدة للمطالبة بأن تكون الأعمدة التي يتكون منها المفتاح الأساسي فريدة (unique) من نوعها وألا يكون أي منها فارغًا ( null). و نظرًا لأنها المفاتيح الأساسية تكون فريدة ولا تكون فارغة ، ويمكن استخدام هذه القيم التي بداخلها لتحديد صف واحد في الجدول في كل مرة. في معظم أنظمة وبهذا سيكون للمفتاح الأساسي فهرس تم إنشاؤه عليه.
  11. يجب أن تميز الفرق بين إستخدام كل منهما فمجال برمجة الويب ينقسم إلى قسمين: ال Front-end و هو ما تراه وتتفاعل معه في المتصفح، فهي تمثل واجهة المستخدم من نصوص أو ألوان أو أزرار أو صور. لو أردت مثلا أن تطور موقعا خاصا بمطعم فستضع المعلومات الخاصة بالمطعم سواء كان عنوان المطعم أو صورا للأطباق التي يقدمونها حتى يجذب الموقع العملاء. كل هذا يتم باستخدام تقنيات الـ Front-end. ولغات Front-end الأساسية هي / HTML : هي لغة بناء هيكل الموقع الذي سيتم عرضه في المتصفح. CSS : تأتي مع لغة HTML ومنها تقوم بتحديد تنسيق الموقع من ألوان و تصميم وخطوط. java script: هي لغة برمجة تستخدم أكثر في العناصر التفاعلية في الصفحة كالقوائم المنسدلة واستمارت الاتصال. 2. الـ Back-end هو الجزء الذي لا تراه في الموقع، فهو مسئول عن تخزين وتنظيم البيانات والتأكد من أن كل شئ في واجهة الموقع يعمل بشكل جيد. يقوم الـ Back-end بالتواصل مع واجهة الموقع فيقوم بإرسال واستقبال المعلومات ثم يعرضها في الموقع. كلما ملأت استمارة إتصال،كتبت عنوان موقع أو قمت بالشراء، يقوم المتصفح بإرسال طلب إلى الخادم Server، الذي يقوم بإرجاع المعلومات المكتوبة في الاستمارة ليتمكن من التعامل معها. ولغات ال Ruby, PHP, Python, : Back-end , وغيرها العديد حديثا أصبحت لغة الجافا سكربت تستخدم في مجال الفرونت إند والباك إند أي أنك بلغة واحدة تعمل في كلا الإتجاهين , حيث في الباك إند يوجد إطار عمل إسمه Node.js لا بد أن تعرف أنها من إطارات عمل الجافا سكريبت. وتمتاز إطار ال Node.js بسرعتها حيث يمكن أن تؤدي أكثر من مهمة في نفس الوقت مما يكسب الخادم سرعة استهلاك أقل. وطبقاً لاحصائات موقع ستاك أوفرفلو السنوية لعام 2019 , فان لغة جافاسكريبت تحتل المرتبة الأولى في اهتمامات المبرمجين بنسبة 67% وهذا الشىء لا يقلل من شأن اللغات الأخرى ف php تعتبر أيضا لغة قوية ولها إطار العمل laravel , ولكن نستطيع القول أن الجافا سكربت مجالاتها أوسع من لغة الphp ويميزها أيضا أنها Non-Blocking أي أن الأوامر يتم تنفيذها بالتوازي بخلاف لغة php التي هي لغة block until completion اي ان الاوامر لايتم تنفيذها الا بتنفيذ ما سبق من اوامر وهذا هو الفرق الاكبر مابين PHP & Node.js .
  12. في العادة يكون سؤال مثل هذا في فصل الخوازميات أو مساق الخوارزميات ويمكن أن تجد العديد من الإجابات وذلك حسب الخوارزمية المستحدمة . ولكن هذا الحل في برنامج C ++ لإنشاء جميع المجموعات الفرعية لمجموعة معينة في ترتيب رسومات Lexico. تطبع هذه الخوارزمية كل التركيبات الممكنة لكل طول من مجموعة الصفيف المحددة بترتيب تصاعدي. التعقيد الزمني لهذه الخوارزمية هو O (n * (2 ^ n)). #include<iostream> using namespace std; void Sorting(int a[], int n) //array sorting { int i, j, t; for(i = 0; i < n; i++) { for(j = i+1; j < n; j++) { if(a[i] > a[j]) { t = a[i]; a[i] = a[j]; a[j] = t; } } } } void GenAllSubset(int a[], int reqLen, int s, int currLen, bool check[], int len) { if(currLen > reqLen) return; else if (currLen == reqLen) { cout<<"\t"; cout<<"{ "; for (int i = 0; i < len; i++) { if (check[i] == true) { cout<<a[i]<<" "; } } cout<<"}\n"; return; } if (s == len) { return; } check[s] = true; GenAllSubset(a, reqLen, s + 1, currLen + 1, check, len); check[s] = false; GenAllSubset(a, reqLen, s + 1, currLen, check, len); } int main() { int i, n; bool ch[n]; cout<<"Enter the number of element array have: "; cin>>n; int arr[n]; cout<<"\n"; for (i = 0; i < n; i++) { cout<<"Enter "<<i+1<<" element: "; cin>>arr[i]; ch[i] = false; } Sorting(arr, n); cout<<"\nThe all subset of the given set in the lexicographic order: \n"; cout<<"\t{ }\n"; for(i = 1; i <= n; i++) { GenAllSubset(arr, i, 0, 0, ch, n); } return 0; } الناتج : Enter the number of element array have: 6 Enter 1 element:3 Enter 2 element: 2 Enter 3 element: 1 Enter 4 element:7 Enter 5 element:6 Enter 6 element: 5 The all subset of the given set in the lexicographic order: { },{ 1 }{ 2 }{ 3 }{ 5 }{ 6 }{ 7 }{ 1 2 }{ 1 3 }{ 1 5 }{ 1 6 }{ 1 7 }{ 2 3 } { 2 5 }{ 2 6 }{ 2 7 }{ 3 5 }{ 3 6 }{ 3 7 }{ 5 6 }{ 5 7 }{ 6 7 }{ 1 2 3 }{ 1 2 5 } { 1 2 6 }{ 1 2 7 }{ 1 3 5 }{ 1 3 6 }{ 1 3 7 }{ 1 5 6 }{ 1 5 7 }{ 1 6 7 }{ 2 3 5 } { 2 3 6 }{ 2 3 7 }{ 2 5 6 }{ 2 5 7 }{ 2 6 7 }{ 3 5 6 }{ 3 5 7 }{ 3 6 7 }{ 5 6 7 } { 1 2 3 5 }{ 1 2 3 6 }{ 1 2 3 7 }{ 1 2 5 6 }{ 1 2 5 7 }{ 1 2 6 7 }{ 1 3 5 6 }{ 1 3 5 7 } { 1 3 6 7 }{ 1 5 6 7 }{ 2 3 5 6 }{ 2 3 5 7 }{ 2 3 6 7 }{ 2 5 6 7 }{ 3 5 6 7 }{ 1 2 3 5 6 } { 1 2 3 5 7 }{ 1 2 3 6 7 }{ 1 2 5 6 7 }{ 1 3 5 6 7 }{ 2 3 5 6 7 }{ 1 2 3 5 6 7 }
  13. سأقوم بتوضيح الفرق من خلال الإجابة على سؤالين , ماهي لغة الترميز HTML؟ الحروف هي إختصار HyperText Markup Language، وهي ليست لغة برمجية بالمعنى المتعارف عليه للغات البرمجة، ولكنها لغة أو طريقة لوصف محتويات صفحة الويب لبرامج التصفح، حيث أن أي برنامج متصفح انترنت يحتاج لمعرفة محتويات الصفحة من عناوين ونصوص وصور وروابط و غير ذلك من مكونات صفحة الويب، حتى تتمكن من عرضها بالشكل الصحيح، ولغة الترميز HTML، هي اللغة الرئيسية التي يتكون منها أي موقع أو صفحة على شبكة الإنترنت.وتتكون صفحة الويب من مجموعة من العناصر (Tags) أو تعرف كــ الوسوم، يكتب كل وسم بين (angle brackets) أو كما تسمى علامة أصغر من > وعلامة أكبر من <. ولا يقوم المتصفح بعرض هذه الوسوم، ولكن يقوم بعرض محتوياتها، ماهي لغة php ؟ إختصار الحروف Hypertext Pre Processor وهي من اللغات Server Side مما يعنى أن الكود الخاص بموقعك لايراه المستخدم وإنما يرى فقط المخرج النهائي في شكل اكواد HTLM و قواعد البيانات هي ركيزة أساسية في بناء مواقع الويب التفاعلية فهي الوسيط بين ما يراه المستخدم وبين ما يريد صاحب الموقع عرضه فأنت كصاحب موقع عندما تريد كتابة تدوينة جديدة فإنك تكتبها وترسلها إلى قاعدة البيانات وعندما يريد مستخدم الموقع أن يرى موضوعك فإن صفحة الويب ولتكن post.php عندما يفتحها المستخدم فانها ترسل طلب لقاعدة البيانات MySQL وتعرض منها موضوعك . تخيل معي أنك تريد بناء موقع أو مدونة والمحتوى متغير بإستمرار بمعنى أن صاحب المدونة يكتب تدوينة كل يوم مثلًا فبالتالي سيكون من الصعب أنه كلما أراد كتابة موضوع أن يكتبها بلغة HTML ويغير المحتوي بشكل يدوي فبالتالي ستقوم لغة مثل PHP بجعل الموقع Dynamic لإدراة المحتوي الخاص بصاحب الموقع دون معرفة مسبقة بالتكويد مثل أن يقوم بإدراج موضوع جديد بالموقع او تعديل المحتوي او حتى الحذف من خلال لوحة تحكم مبرمجة بلغة مثل PHP وبناء نظام ادارة لمحتوي الموقع .
  14. الفكرة أن لغة الجافا سكربت تستخدم في مجال الفرونت إند والباك إند أي أنك بلغة واحدة تعمل في كلا الإتجاهين , حيث في الباك إند يوجد إطار عمل إسمه Node.js لا بد أن تعرف أنها من إطارات عمل الجافا سكريبت. وتمتاز إطار ال Node.js بسرعتها حيث يمكن أن تؤدي أكثر من مهمة في نفس الوقت مما يكسب الخادم سرعة استهلاك أقل. وطبقاً لاحصائات موقع ستاك أوفرفلو السنوية لعام 2019 , فان لغة جافاسكريبت تحتل المرتبة الأولى في اهتمامات المبرمجين بنسبة 67% وهذا الشىء لا يقلل من شأن اللغات الأخرى ف php تعتبر أيضا لغة قوية ولها إطار العمل laravel , ولكن نستطيع القول أن الجافا سكربت مجالاتها أوسع من لغة الphp ويميزها أيضا أنها Non-Blocking أي أن الأوامر يتم تنفيذها بالتوازي بخلاف لغة php التي هي لغة block until completion اي ان الاوامر لايتم تنفيذها الا بتنفيذ ما سبق من اوامر وهذا هو الفرق الاكبر مابين PHP & Node.js
  15. أنت تريد رفع مشاريعك البرمجية وواجبات الأمر كالتالي ولكن من المفترض والأفضل تعلم git واتباع اسلوب الأستاذ أسامة ولكن حتى أسهل عليك يمكنك الرفع من خلال التعامل مع Gui أي واجهة الجيتهب . إتبع الخطوات التالية : عليك الدخول لموقع جيت هب وثم الضغط على إنشاء repository المستودع الخاص بك من خلال الضغط على new repository إضافة الإسم المناسب لك التي تريد ظهوره في المستودع ثم الضغط على create سيتم تحويلك إلى المستودع الخاص بك إضغط على upload file قم بإرفاق ملفات مشروعك التي تريد رفعها ثم إضافة وصف للتعديلات ثم الضغط على commit حتى يتم إضاف الملفات للمستودع
  16. سأقوم بشرح السؤال لك شرح عام عن المخطط : الأن هذا المخطط يسمى ERD وهي إختصار Entity Relationship Diagram وهي طريقة لتمثيل البيانات المخزنة على قواعد البيانات والعلاقات بين الجداول وهذه العملية تسهل على المستخدمين فهم البيانات المخزنه على قواعد البيانات و سهولة تعديل البيانات على قواعد البيانات والتقليل من نسبة الخطأ والتكرار, أي يجب أن تقم من خلال هذا المخطط بتنفيذ قاعدة البيانات . شرح السؤال : الأن لاحظي في المخطط لديك 4 كيانات : جدول manufacture : يحتوي على 3 أعمدة ال name ,city ,street جدول part :يحتوي على 3 أعمدة رقم الطلبية description و part_num وكما تلاحظ تحت الpart num خط أي يعني هو primary key أي بمثابة الid . جدولorder :يحتوي على order_num . جدول customer ويحتوي على name يوجد بين الكيانات علاقات : بين جدول manufacture وpart: علاقة1:n أي علاقة one to many شكل العلاقة في الداتا بيز : part(part_num,manufacturer_id,description) manufacturer(id,name, city, street) بين الجدول order و part: علاقة 1:m أي علاقة one to many وذلك يعني أن part يشمل وتحتوي على العديد من الorders وأيضا order يحتوي على عدة parts . وبالتالي في هذه العلاقة نحن نحتاج لجدول وسيط وكما تلاحظ في المخطط عن العلاقة contains ولها quantity. شكل العلاقة في الداتا بيز : الجدول الوسيط عادة يكون اسمه order_parts order_parts(id,order_num, part_num, quantity) بين الجدول order و co: علاقة m:m أي علاقة one to many وذلك يعني أن الزبون لدي العديد من الطلبات شكل العلاقات في الداتا بيز : حيث أن customer_id هو المفتاح المؤشر أي الذي يؤشر على جدول الزبائن customer(id, name) order(id,order_num, customer_id)
  17. المعالج جيد و مناسب لبرمجة الويب , أنا أستخدم معالج من نوع u لا يوجد أي مشاكل و Ram أيضا مناسبة ما لم تحتاج لدخول لتطوير الأندرويد أو لإستخدام محاكي أو لإستخدام برامج التصميم لو كنت تريد ذلك يمكنك إضافة Ram على الحاسوب لتصبح 16على جهازك .
  18. حاسوبي (hp (intel corei7 ويعمل معي بشكل جيد ولكن حسب إطلاعاتي على تجارب الأخرين من أفضل أجهزة الحاسوب هي msi ولكنها من الفئة المرتفعة لذلك جهاز من شركة hp أو Lenovo أعتقد أنه مناسب للإستخدام البرمجي وذلك حسب تجربتي في استخدام جهاز hp .
  19. مرحباً عبد الواحد أنصحك بإختيار الجهاز الذي يناسب المواصفات التالية فهي مناسبة جدا : معالج intel core i5 أو intel core i7 أو Amd Ryzen 5 أو Amd Ryzen 7 من الجيل السابع أو الثامن. رام 8 جيجا رام أو 16 جيجا. شاشة بحجم 15 بوصة فيما فوق وبدقة FHD. هارد HDD يفى بالغرض لكن هارد SSD أفضل وأسرع. كارت الشاشة لا يهم ما دمُت لا تهوى الألعاب. بالتوفيق لك
  20. Java Development Kit JDK : هي بيئة تطوير برمجيات تُستخدم لتطوير تطبيقات وتطبيقات Java وتحتوي على أدوات التطوير وتحتوي على JRE. Java Rune Etimnvironment JRE : هي طبقة برمجية تعمل فوق برنامج نظام تشغيل الحاسوب وتوفر مكتبات والموارد الأخرى التي يحتاجها برنامج Java محدد. ويتضمن على jvm . Java Virtual Machine jvm : ألة جافا الإفتراضية حيث أن برامج جافا لاتعمل بشكل مباشر على نظام التشغيل بينما تعمل عبر وسيط وهذا الوسيط هو الjvm وهو ما يجعل تطبيقات جافا تعمل على جميع الأنظمة .
  21. لأن العلاقة one to many لا تحتاج جدول وسيط . بالنسبة للأسئلة يمكنك البحث عن شروحات محمد الدسوقي ستجدي شرح بالتفاصيل عن كيفية إنشاء البروسيجر وإنشاء الدالة وما الفرق بينهما . ولكن الفكرة بشكل عام هي إنشاء الدالة ووضع فيها بارميتر يستقبل رقم الزبون وتقومي بداخل الدالة بوضع جملة الإستعلام داخلها .
  22. عليك إنشاء repository المستودع الخاص بك من خلال الضغط على new repository إضافة الإسم المناسب لك التي تريد ظهوره في المستودع ثم الضغط على create سيتم تحويلك إلى المستودع الخاص بك إضغط على upload file قم بإرفاق ملفات مشروعك التي تريد رفعها ثم إضافة وصف للتعديلات ثم الضغط على commit حتى يتم إضاف الملفات للمستودع
  23. سأقوم بشرح السؤال لك شرح عام عن المخطط : الأن هذا المخطط يسمى ERD وهي إختصار Entity Relationship Diagram وهي طريقة لتمثيل البيانات المخزنة على قواعد البيانات والعلاقات بين الجداول وهذه العملية تسهل على المستخدمين فهم البيانات المخزنه على قواعد البيانات و سهولة تعديل البيانات على قواعد البيانات والتقليل من نسبة الخطأ والتكرار, أي يجب أن تقم من خلال هذا المخطط بتنفيذ قاعدة البيانات . شرح السؤال : الأن لاحظي في المخطط لديك 3 كيانات أي 3 جداول: جدول الطلبيات: يحتوي على 4 أعمدة رقم الزبون واسم الزبون والجوال والمحافظة. جدول الزبون :يحتوي على 2 أعمدة رقم الطلبية و تاريخ الطلبية . جدول المنتجات:يحتوي على 3 أعمدة رقم المنتج و اسم المنتج و سعر المنتج . يوجد بين الكيانات علاقات : بين جدول الطلبيات والزبون : علاقة1:n أي علاقة one to many وذلك يعني أن الزبون الواحد يطلب العديد من الطلبيات وبالتالي سيكون لديك جدولين الأول الزبائن والثاني الطلبيات ويحتوي جدول الطلبيات على مفتاح أجنبي يوشر على ال id الخاص ب الزبون . شكل الداتا بيز : الزبون (id ,رقم الزبون ,اسم الزبون ,الجوال ,المحافظة ) الطلبيات (client_id ,id , رقم الطلبية , تاريخ الطلبية ) يعتبر client_id هو المفتاح الأجنبي الذي يؤشر على ال id الخاص بالزبون بين الجدول الطلبيات والمنتجات : علاقة n:m أي علاقة many to many وذلك يعني أن الطلبية الواحدة تشمل وتحتوي على العديد من المنتجات وأيضا المنتج الواحد يمكن أن يشتمل في أكثر من طلبية . وبالتالي في هذه العلاقة نحن نحتاج لجدول وسيط وكما تلاحظ في المخطط عن العلاقة يشمل يوجد عمودين هما العدد وسعر الوحدة شكل الداتا بيز : الطلبيات (client_id ,id , رقم الطلبية , تاريخ الطلبية ) منتجات (id , رقم المنتج , اسم المنتج ,سعر المنتج ) الجدول الوسيط عادة يكون اسمه order_product ووتكون تقسيمة الأعمده فيه هكذا (order_id , product_id ,id , العدد , سعر الوحدة ) حيث أن order_id و product_id هما مفتاحان أجنبيان يؤشر كل منهم على الجدول الخاص بهم
  24. يمكنك القيام بذلك من خلال عامل التشغيل BETWEEN الذي يحدد القيم ضمن نطاق معين. ويمكن أن تكون القيم أرقامًا أو نصوصًا أو تواريخ. ويتم وضع له بداية ونهاية ويتم البحث بين قيمة البداية والنهاية وهنا: البداية هي بداية العام 1982 أي أول يوم النهاية هي نهاية العام 1982 أي أخر يوم يمكنك وضع إسم الجدول لديك في خانة table_name SELECT name ,hire_date FROM table_name WHERE hire_date BETWEEN '1982-1-1' and '1982-12-31'
  25. أقترح عليك إضافة هذا المشروع على منصة عمل الحر مثل منصة مستقل حتى تختار المبرمج المناسب حسب كفاءته .
×
×
  • أضف...