جامعة عين شمس - لغات برمجة (1) - 2024 - PDF

Summary

هذه أوراق امتحان لغة البرمجة (1) لجامعة عين شمس لعام 2024، وتغطي الفصل األول من محتواها. تشمل محاضرات عن SQL Server، و C#، و ADO.NET و LinQ.

Full Transcript

‫قسم الجغرافيا ونظم المعلومات الجغرافية‬ ‫لغات برمجة (‪)1‬‬ ‫(جغ ن ‪)505‬‬ ‫دكتــــــــور‬ ‫محمد الراعي محمد طلبه‬ ‫مدرس الجغرافيا الطبيعية‬ ‫قسم الجغرافيا ونظم المعلومات الجغرافية‬ ‫كلية اآلداب – جامعة عين شمس‬...

‫قسم الجغرافيا ونظم المعلومات الجغرافية‬ ‫لغات برمجة (‪)1‬‬ ‫(جغ ن ‪)505‬‬ ‫دكتــــــــور‬ ‫محمد الراعي محمد طلبه‬ ‫مدرس الجغرافيا الطبيعية‬ ‫قسم الجغرافيا ونظم المعلومات الجغرافية‬ ‫كلية اآلداب – جامعة عين شمس‬ ‫القاهرة ‪2024 -‬‬ ‫قسم الجغرافيا ونظم المعلومات الجغرافية – المستوى الخامس‬ ‫لغات برمجة (‪)1‬‬ ‫لغات برمجة ( ‪)1‬‬ ‫( جغ ن ‪)505‬‬ ‫دكــتــور‬ ‫محمد الراعي محمد طلبه‬ ‫مدرس الجغرافيا الطبيعية‬ ‫قسم الجغرافيا ونظم المعلومات الجغرافية – كلية اآلداب – جامعة عين شمس‬ ‫‪1‬‬ ‫د‪.‬محمد الراعي‬ ‫قسم الجغرافيا ونظم المعلومات الجغرافية – المستوى الخامس‬ ‫لغات برمجة (‪)1‬‬ ‫قـــــائمـــة المحتــــويـــات‬ ‫الصفحة‬ ‫الموضوع‬ ‫م‬ ‫‪3‬‬ ‫مقدمة‬ ‫‪5‬‬ ‫‪SQL Server‬‬ ‫الفصل األول‬ ‫‪79‬‬ ‫‪C#‬‬ ‫الفصل الثاني‬ ‫‪162‬‬ ‫‪ADO‬‬ ‫الفصل الثالث‬ ‫‪204‬‬ ‫‪LinQ‬‬ ‫الفصل الرابع‬ ‫‪2‬‬ ‫د‪.‬محمد الراعي‬ ‫قسم الجغرافيا ونظم المعلومات الجغرافية – المستوى الخامس‬ ‫لغات برمجة (‪)1‬‬ ‫مـقـــدمــــــة‬ ‫إن الجغرافى هو الشخص الذى يعرف شئ عن كل شئ وال يجيد شئ‬ ‫سوى الجغرافيا‪ ،‬كما أن الجغرافيا هى علم التخصص فى الالتخصص‪ً.‬‬ ‫أيضا‬ ‫يجب أن يكون للجغرافي تأثيرين في مجتمعه أولهما مباشر عن طريق توعية‬ ‫ما يحيطه من مجتمع وأفراد بوجهة النظر الجغرافية حول مختلف القضايا‪.‬‬ ‫والثاني أن يؤثر بما ينتجه من خرائط وتطبيقات برمجية جغرافية في سير‬ ‫األحداث‪.‬فعلى سبيل المثال في أزمة كوفيد ‪ 19‬انتشرت بعض التطبيقات‬ ‫أيضا في‬ ‫التي تتيح للمستخدمين معرفة أقرب المراكز الصحية ومراكز العزل‪ً.‬‬ ‫اآلونة األخيرة انتشرت الكثير من التطبيقات الجغرافية التي تسهل عمليات‬ ‫النقل مثل تطبيقي أوبر وكريم‪.‬مثل هذه التطبيقات المرتبطة بالخرائط يطلق‬ ‫جميعا تطبيقات نظم المعلومات الجغرافية‪.‬لذا فإننا نتعلم البرمجة لتقحم‬ ‫ً‬ ‫عليها‬ ‫الجغرافيا مجاالت حياتية عدة‪.‬وليس فقط لتساعدنا فى تطوير البرامج الخاصة‬ ‫بنظم المعلومات الجغرافية‪.‬‬ ‫ولتحقيق كل هذه األهداف يلزم أن يقوم بها "سوبر جغرافى" حيث يتطلب عمل‬ ‫تلك البرامج والبرمجة على وجه الخصوص دراية ليست بالقليلة فى علوم‬ ‫‪3‬‬ ‫د‪.‬محمد الراعي‬ ‫قسم الجغرافيا ونظم المعلومات الجغرافية – المستوى الخامس‬ ‫لغات برمجة (‪)1‬‬ ‫عموما ثم تعلم تطبيقات البرمجة فى مجال نظم المعلومات الجغرافية‪.‬‬ ‫ً‬ ‫الحاسب‬ ‫جدير بالذكر أننا نتعلم البرمجة لكى نطبقها فى الجغرافيا وال نتعلمها لتكون‬ ‫بدي ًال عن للجغرافيا‪.‬فبعد أن نكمل دراسة المحاضرات الموجودة فى هذا‬ ‫الكتاب والتي تهدف لتعلم أساسيات البرمجة وقواعد البيانات‪ ،‬يتحتم علينا‬ ‫‪GIS‬‬ ‫التخصص فى برامج "الخريطة المرتبطة بالبيانات" أى‬ ‫‪.Developmen‬‬ ‫ولتحقيق هذا الهدف بدأ الكتاب بتعريف ماهية قواعد البيانات التي ترتكز‬ ‫عليها كل التطبيقات البرمجية وأنواعها وكيفية إنشائها والتعامل معها بالحذف‬ ‫واإلضافة والتعديل وذلك من خالل الفصل األول‪.‬‬ ‫ثم تطرق الكتاب خالل فصله الثاني إلى لغة من لغات البرمجة وهي لغة ‪C#‬‬ ‫والتي بتعلمها يستطيع الدارس كتابة األكواد البرمجية المختلفة لمختلف األنواع‬ ‫من التطبيقات‪.‬‬ ‫وفي الفصل الثالث والرابع تناول الكتاب سبل الربط بين قواعد البيانات‬ ‫والتطبيقات البرمجية‪.‬‬ ‫‪4‬‬ ‫د‪.‬محمد الراعي‬ ‫قسم الجغرافيا ونظم المعلومات الجغرافية – المستوى الخامس‬ ‫لغات برمجة (‪)1‬‬ ‫الفصل األول‬ ‫‪SQL‬‬ ‫‪Structured Query Language‬‬ ‫‪1-1‬‬ ‫‪DML.‬‬ ‫‪1-2‬‬ ‫‪DDL.‬‬ ‫‪1-3‬‬ ‫‪DSL.‬‬ ‫‪5‬‬ ‫د‪.‬محمد الراعي‬ ‫قسم الجغرافيا ونظم المعلومات الجغرافية – المستوى الخامس‬ ‫لغات برمجة (‪)1‬‬ ‫الفصل األول‬ ‫‪SQL‬‬ ‫المحاضرة األولى‬ ‫يتكﻭﻥ ﺃﻯ بﺭنامج مﻥ ثالث مكﻭناﺕ ﺭئيسية وهي قاعدة البيانات‪ ،‬والواجهة‬ ‫فمثال بﺭنامج ‪ Gmail‬ما هﻭ ﺇال عباﺭﺓ عﻥ جﺩﻭل‬ ‫األمامية‪ ،‬والرابط بينهما ‪ً.‬‬ ‫بسيﻁ يتكﻭﻥ مﻥ ﺍلتالى ‪:‬‬ ‫ﻭبمجﺭﺩ كتابة ﺍل ‪ user name‬ﻭﺍل ‪ password‬يتﻢ ﺍلﺪخﻮل مباشﺮﺓ إلى‬ ‫فمثال عنﺪ كتابة ‪ Mohamed‬وكلمة‬ ‫ً‬ ‫محتﻮﻯ ﺍلصف ﺍلﺬﻯ يحﻮيهما‪.‬‬ ‫المرور‪ ،123‬تبﺪﺃ عملية ﺍلبحﺚ عنهﻢ ﻭعﺮﺽ ﺍلصفﻮﻑ ﺍلتى تحتﻮيهما‬ ‫ﻭبالتالى تﻌﺮﺽ ﺍلصفﻮﻑ "ﺍلثانى ﻭﺍلخامﺲ فﻘﻂ"‪.‬‬ ‫وتفصيال لما سبق يمﻜننا ﺍلﻘﻮل بأﻥ ﺍلثالث ﺃجﺰﺍء هى‪:‬‬ ‫ً‬ ‫‪ -‬ﺍلجﺰء غير المرئي وﺍلﺬﻯ يسمى قاعﺪﺓ ﺍلبياناﺕ ‪.Back End‬ﻭيمﻜﻦ‬ ‫ﺇنشاء هﺬﺍ ﺍلجﺰء ﻭﺍلتعامل معة بسهﻮلة عبﺮ محركات قواعد البيانات ‪DB‬‬ ‫‪Engine‬مثل‪ "Access, Sql server, Oracle" :‬ﻭلعل النوع المناسب‬ ‫‪6‬‬ ‫د‪.‬محمد الراعي‬ ‫قسم الجغرافيا ونظم المعلومات الجغرافية – المستوى الخامس‬ ‫لغات برمجة (‪)1‬‬ ‫لتناولة بالدراسة اآلن هﻮ ﺍل ‪ Sql‬وذلك لسهولة التعامل معه ومالئمته لتعلم‬ ‫المبادئ من ناحية وﻁبقا لمﻘﻮلة "ﺍلبقاء لميﻜﺮﻭسﻮفﺖ" من ناحية أخرى‪.‬‬ ‫‪ -‬ثانياً‪ :‬ﺍلجﺰء ﺍلمﺮئى مﻦ ﺍلبﺮنامج ‪ Enter face or Front end‬ويمﻜﻦ ﺃﻥ‬ ‫يﻜﻮﻥ هذا التطبيق ‪ Desktop or Web application‬وتستخدم في إنشاء‬ ‫تطبيقات ‪ Desktop‬لغاﺕ برمجة مثل “‪ ”VB, c++ , c# , f#, java‬ﺃما‬ ‫تﻄبيقاﺕ ‪ Web‬فمﻦ ﺍلممﻜﻦ استخﺪﺍﻡ لغة ‪ ASP‬ﺃﻭ ‪ PHP‬وعاﺩﺓ مع ﺍل‬ ‫‪ PHP‬نستخﺪﻡ ‪ DB engine‬يسمى ‪. My sql‬‬ ‫أما الجزء الثالث هﻮ جﺰء يوصل بين قواعد البيانات والواجهة األمامية‬ ‫للبرنامج ويسمى ‪Active Data Object : ADO‬‬ ‫ﻭألﻥ ﺃساﺱ ﺃﻯ بﺮنامج هﻮ ﺍل ‪ back end‬ﺃﻭ قاعﺪﺓ ﺍلبياناﺕ فإننا سنبﺪﺃ‬ ‫ﺃﻭال ثﻢ نﺪﺭﺱ ﺍل ‪ front end‬ثﻢ نتعلﻢ كيف نﺮبﻂ‬ ‫ﺩﺭﺍسة ‪ً sql server‬‬ ‫بينهما عبﺮ ﺍل ‪. ADO‬‬ ‫‪7‬‬ ‫د‪.‬محمد الراعي‬ ‫قسم الجغرافيا ونظم المعلومات الجغرافية – المستوى الخامس‬ ‫لغات برمجة (‪)1‬‬ ‫ونبدأ بسؤال مهم وهﻮ " ما ﺍإلختالﻑ بيﻦ قاعﺪﺓ ﺍلبياناﺕ ﺃﻭ ﺍلجﺪﻭل‬ ‫مثال ؟ "‬ ‫ﺍلناتج عﻦ ‪ SQL server‬وﺍلجﺪﻭل ﺍلناتج عﻦ ﺍل ‪ً excel‬‬ ‫وﺍإلجابة عﻦ ﺍلسﺆﺍل ال تأتى ﺇال بالنﻈﺮ ﺇلى ﺍلجﺪﻭل ﺍلتالى فى‬ ‫ﺍإلكسل وﺍلﺬﻯ يﻌبﺮ عﻦ بيانات ﺍلمﻮﻅفيﻦ فى شﺮكة‪:‬‬ ‫ﻭنالحﻆ هنا ﻭجﻮﺩ تﻜﺮﺍﺭﺍﺕ كثيﺮﺓ جﺪًﺍ فى ﺃكثﺮ مﻦ عمﻮﺩ وﺫلﻚ ألﻥ ﺍإلكسل يﻌتمﺪ على‬ ‫نﻮﻉ مﻦ ﻗﻮﺍعﺪ ﺍلبياناﺕ يسمى ‪. DBMS‬‬ ‫ﺃما فى ﺍل ‪ SQL‬يمﻜﻦ كتابة ﺍلبياناﺕ ﺍلثابتة ﺍلتى ال تتﻐيﺮ فى جﺪﻭل خاﺹ بها ﻭنضع‬ ‫ﺍلبياناﺕ ﺍلتى تتﻐيﺮ فى جﺪﻭل آخر ونﺮبﻂ بينهما عبﺮ ﺇضافة عمﻮﺩ يسمى ‪ ID‬ويتﻢ ﺫلﻚ‬ ‫كالتالى ‪:‬‬ ‫هﺬﺍ ألﻥ ‪ SQL‬يﻌتمﺪ على نﻮﻉ مﻦ ﻗﻮﺍعﺪ ﺍلبياناﺕ يسمى ‪RDBMS‬‬ ‫‪ Relational DB management system‬ﻭﺃيضا مﻦ ﺍلفﺮﻭﻕ بيﻦ ﺍإلكسل‬ ‫‪8‬‬ ‫د‪.‬محمد الراعي‬ ‫قسم الجغرافيا ونظم المعلومات الجغرافية – المستوى الخامس‬ ‫لغات برمجة (‪)1‬‬ ‫وﺍل ‪ sql‬هﻮ ﺃﻥ ﺍلعامﻮﺩ ال يسمى ‪ column‬ﻭلﻜنه يسمى ‪ field‬حيﺚ ﺍل‬ ‫‪ field‬تﻜﻮﻥ بياناته كلها ﺫﺍﺕ نﻮﻉ ﻭﺍحﺪ ‪.‬كما ﺃﻥ ﺍلصف ال يسمى ‪row‬‬ ‫ﻭﺇنما يسمى ‪ record‬ﻭﺫلﻚ ألنه سيﻜﻮﻥ كل ما فيه مﻦ بياناﺕ خاﺹ بﻮحﺪﺓ‬ ‫مﻌينة مثال ﺍل ‪ ID‬ﺭﻗﻢ ‪ 1‬يﻜﻮﻥ خاﺹ بﻜل ﺍلبياناﺕ ﺍلخاصة بأحمﺪ فﻘﻂ ‪.‬‬ ‫ﺇﻥ ﺍل ‪ field‬ﺍلﺬﻯ يسمى ‪ ID‬ﻭﺍلمﻮجﻮﺩ فى ﺍلجﺪﻭل ﺍألصلى "الذي ال يتكرر"‬ ‫يسمى ‪ primary key‬وعنﺪما ينقل لجﺪﻭل ﺁخﺮ يسمى “‪”foreign key‬‬ ‫ﻭيمﻜﻦ ﺃﻥ يتﻜﺮﺭ ﺃكثﺮ مﻦ مﺮﺓ‪.‬ﻭﺍلجﺪﻭل ﺍألساسى يسمى “‪”master table‬‬ ‫بينما ﺍلجﺪﻭل ﺍلمنشﻖ عنه يسمى “‪ ”transaction table‬حيﺚ يحتﻮﻯ على‬ ‫ﺍل“‪”foreign key‬‬ ‫وتأخﺬ ﺍلعالقاﺕ في هﺬﺍ ﺍلنﻮﻉ مﻦ ﻗﻮﺍعﺪ ﺍلبياناﺕ “‪ ”RDBMS‬ﺃكثﺮ مﻦ‬ ‫شﻜل‪:‬‬ ‫‪ One to many‬مثل تﻜﺮﺍﺭ ﺍل ‪ ID‬فى مثال ﺍلمﺮتﺐ للﻌمال ﺍلسابﻖ‪.‬‬ ‫مثال ﻭﺯﺍﺭﺓ ﺍالسﻜاﻥ تﻘﺪﻡ شقة ﻭﺍحﺪﺓ للمﻮﺍﻁﻦ ﻁﻮﺍل‬ ‫‪ One to one‬حيﺚ ً‬ ‫عمﺮه‪.‬‬ ‫مثال ﺃكثﺮ مﻦ مﻮﺭﺩ يبيع ﺃكثﺮ مﻦ سلعة ويﻜﻮﻥ‬ ‫‪ Many to many‬حيﺚ ً‬ ‫للسلعة ﺃكثﺮ مﻦ مﻮﺭﺩ وﺍلمﻮﺭﺩ له ﺃكثﺮ مﻦ سلعة‪.‬‬ ‫كنا نﺮيﺪ ﻭضع فﻮﺍتيﺮ بيع فى قاعﺪﺓ بياناﺕ فنﻘﻮﻡ بﻌمل ﺍآلتى‪:‬‬ ‫مثال ‪ :‬ﺇﺫﺍ ّ‬ ‫‪9‬‬ ‫د‪.‬محمد الراعي‬ ‫قسم الجغرافيا ونظم المعلومات الجغرافية – المستوى الخامس‬ ‫لغات برمجة (‪)1‬‬ ‫‪10‬‬ ‫د‪.‬محمد الراعي‬ ‫قسم الجغرافيا ونظم المعلومات الجغرافية – المستوى الخامس‬ ‫لغات برمجة (‪)1‬‬ ‫وهﺫﺍ ﺍلمثال يﻭضح نﻭﻉ مﻥ ﺍلعالقاﺕ يسمى “‪”hierarchal‬‬ ‫ﻭ للجﺩﺍﻭل ثالثة ﺃنﻭﺍﻉ هى ‪:‬‬ ‫‪ Pure master tables‬حيﺙ يﻭجﺩ به ‪ primary key‬وهﻭ ﻏيﺭ مشتﻕ مﻥ‬ ‫جﺩﻭل ﺁخﺭ مثل ﺍلجﺩﻭل ﺭﻗﻡ ‪1.‬‬ ‫‪ Master transaction tables‬حيﺙ يﻭجﺩ به ‪ primary key‬و ‪foreign‬‬ ‫‪. key‬مثل ﺍلجﺩﻭل ﺭﻗﻡ ‪2.‬‬ ‫‪11‬‬ ‫د‪.‬محمد الراعي‬ ‫قسم الجغرافيا ونظم المعلومات الجغرافية – المستوى الخامس‬ ‫لغات برمجة (‪)1‬‬ ‫‪ Pure transaction tables‬حيﺙ ال يﻭجﺩ به ‪ primary key‬ولكﻥ يﻭجﺩ‬ ‫‪ foreign key‬فﻘﻁ‪.‬مثل ﺍلجﺩﻭل ﺭﻗﻡ ‪3.‬‬ ‫ومن كل ما سبﻕ نالحﻅ ﺃﻥ ﺍلعالقة فيه كانﺕ “‪ ”one to many‬وﺍألﻥ حاﻥ‬ ‫ﺍلﻭﻗﺕ لﺩﺭﺍسة ﺍلعالقة “‪”many to many‬‬ ‫مثال ‪ :‬ﺇﺫﺍ ﺃﺭﺩنا عمل بﺭنامج لمﺭكﺯ كيﺕ يضﻡ ﺍلﻁالﺏ ﻭﺍلكﻭﺭساﺕ ﺇﺫﻥ‬ ‫سنحتاﺝ لجﺩﻭل يضﻡ ﺍلﻁالﺏ ﻭﺁخﺭ يضﻡ ﺍلكﻭﺭساﺕ كالتالى ‪:‬‬ ‫ﺃيضاً فى نفﺱ ﺍلنﻭﻉ “ “‪ many to many‬يمكﻥ ﺃﻥ يكﻭﻥ ﺇسﻡ ﺍلعالقة‬ ‫‪12‬‬ ‫د‪.‬محمد الراعي‬ ‫قسم الجغرافيا ونظم المعلومات الجغرافية – المستوى الخامس‬ ‫لغات برمجة (‪)1‬‬ ‫فمثال‬ ‫“‪ ”conjunction‬ﺃﻯ ﺃﻥ عامﻭﺩ ﻭﺍحﺩ هﻭ ﺍلﺫﻯ يصﺏ فى عﺩﺓ جﺩﺍﻭل ً‬ ‫عنﺩ ﺩﺭﺍسة مثال ﺍلمبيعاﺕ وﺍلمشتﺭياﺕ لشﺭكة ما يمكﻥ ﺭسﻡ ﺍلشكل ﺍلتالى‬ ‫مﻥ ﺍلجﺩﺍﻭل ‪:‬‬ ‫ﺇختصاﺭﺍ ل ” ‪structure‬‬ ‫ً‬ ‫ﻭﺍآلﻥ فالنتكلﻡ عﻥ ﺍل “‪ ”SQL‬نفسها حيﺙ ﺃنها‬ ‫‪ ”query language‬وتنﻘسﻡ لثالثة ﺃﻗساﻡ وهى ‪:‬‬ ‫ﺇختصاﺭﺍ ل “‪ ”DB management language‬وتختﺹ‬ ‫ً‬ ‫ﺃﻭال ‪ : DML‬وهﻭ‬ ‫ً‬ ‫بإﺩﺍﺭﺓ ﺍلبياناﺕ ﻭال تتﻌﺩﻯ حﺩﺩﻭﺩها حﺫﻑ ﻭتحﺩيﺙ وتحﺩيﺩ ﻭﺇﺩخال ﺍلبياناﺕ‬ ‫للجﺩﺍﻭل ‪. select , delete, update , insert‬‬ ‫‪13‬‬ ‫د‪.‬محمد الراعي‬ ‫قسم الجغرافيا ونظم المعلومات الجغرافية – المستوى الخامس‬ ‫لغات برمجة (‪)1‬‬ ‫ثانياً ‪ : DDL‬وهﻭ ﺇختصاﺭ ل “ “‪ DB development language‬وهى‬ ‫مﺅثﺭﺓ فى ﺍل “‪ ”structure‬لقاعﺩﺓ ﺍلبياناﺕ نفسها وتستخﺩﻡ لﻌمل وﺇنشاء‬ ‫قاعﺩﺓ ﺍلبياناﺕ ﻭجﺩﺍﻭل ﻭصفﻭﻑ ﻭﺃعمﺩﺓ ﺃﻭ حتى حﺫﻑ ﺍلجﺩﺍﻭل ﺃﻭ قاعﺩﺓ‬ ‫ﺍلبياناﺕ نفسها ﻭتﻌتمﺩ على ثالثة ﺃﻭﺍمﺭ ﺭئيسية هى “ “‪ create‬ويستخﺩﻡ‬ ‫ﺫلﻙ ﺍألمﺭ فى ﺇنشاء قاعﺩﺓ بياناﺕ ﺃﻭ جﺩﻭل ‪ ”alter“.‬ﻭهﻭ لتبﺩيل ﺃﻭ تﻌﺩيل‬ ‫ﺍلجﺩﻭل‪ ”drop“.‬وهﻭ لحﺫﻑ ﺍلجﺩﺍﻭل ﺃﻭ قاعﺩﺓ ﺍلبياناﺕ بمجملها‪.‬‬ ‫ثالثاً ‪ : DSL‬وهﻭ ﺇختصاﺭ ل “‪ ”DB security language‬وهﻭ لحماية‬ ‫قاعﺩﺓ ﺍلبياناﺕ وتحﺩيﺩ عالقاﺕ ﺍلمستخﺩميﻥ بها وتﻌتمﺩ على ثالثة ﺃﻭﺍمﺭ‬ ‫ﺭئيسية هى ‪ ”grand“ :‬وهﻭ إلعﻁاء ومنح ﺍلمستخﺩﻡ ﺇمكاناﺕ وصالحياﺕ‪.‬‬ ‫ﻭ“‪ ”deny‬ﻭهى لمنع صالحياﺕ ﺃﻭ ﺇمكانياﺕ عﻥ ﺍلمستخﺩﻡ‪.‬ﻭ“‪”revoke‬‬ ‫ﻭيستخﺩﻡ هﺫﺍ ﺍألمﺭ فى ﺇنشاء ﺍليﻭﺯﺭ نفسه ﻭتكﻭينه وتحﺩيﺩ صالحياته‪.‬‬ ‫‪14‬‬ ‫د‪.‬محمد الراعي‬ ‫قسم الجغرافيا ونظم المعلومات الجغرافية – المستوى الخامس‬ ‫لغات برمجة (‪)1‬‬ ‫المحاضرة الثانية‬ ‫سنبﺩﺃ ﺍليﻭﻡ ﺍلﻌمل فى لغة ﺍل ‪ SQL‬ولﺫﺍ فإﻥ ﺍلبﺩﺍية ستكﻭﻥ مﻥ فتح ﺍلبﺭنامج‬ ‫حيﺙ مﻥ ‪ start‬نفتح ‪ SQL management studio‬ثﻡ ‪. connect‬‬ ‫ﺫكﺭنا فى ﺍلمحاضﺭﺓ ﺍلسابقة ﺃﻥ ﺍل ‪ SQL‬تتكﻭﻥ مﻥ ثالثة ﺃجﺯﺍء ﺭئيسية‬ ‫منها ﺍل ‪ DML‬وكما ﺫكﺭنا ﺃﻥ هﺫﺍ ﺍلجﺯء يﻌتمﺩ بالتحﺩيﺩ على ﺃﺭبعة ﺃﻭﺍمﺭ‬ ‫ﺭئيسية منها ﺃمﺭ ‪ select‬فهيا بنا لنبﺩﺃ فى تعلﻡ كيفية تنفيﺫ هﺫﺍ ﺍألمﺭ ‪:‬‬ ‫بﻌﺩ فتح ﺍلبﺭنامج نالحﻅ ﻭجﻭﺩ ﻗﻭﺍعﺩ بياناﺕ على ﺍلجانﺏ ﺍأليسﺭ مﻥ ﺍلشاشة‬ ‫ونفتحها عبﺭ ﺍلضﻐﻁ على عالمة ‪ +‬ﺍلتى بجﻭﺍﺭها لنجﺩ قاعﺩﺓ بياناﺕ تسمى‬ ‫‪ NorthWind‬وهي قاعدة بيانات للتدريب‪.‬أما لو لم نجد قاعدة البيانات نقوم‬ ‫بالظغط على كلمة ‪ databases‬عبر ‪ right click‬واختيار ‪new database‬‬ ‫ونسميها ‪ northwind‬ونضغط ‪.ok‬هكذا أنشأنا قاعدة البيانات وإلضافة‬ ‫جداول التدريب داخلها نضغط عليها ‪ right click‬ونختار ‪ new query‬ثم‬ ‫نقوم بنسخ ال‪ script‬الموجود في الملف المرفق ونضغط ‪.excute‬هكذا‬ ‫نكون قد أنشأنا قاعدة البيانات بجداولها‪.‬‬ ‫وعلى كل حال نفتح قاعدة البيانات من خالل ﺍلضﻐﻁ على ‪ +‬لنجﺩ مكﻭناﺕ‬ ‫قاعﺩﺓ ﺍلبياناﺕ ونجﺩ مﻥ بينها ﺍلجﺩﺍﻭل ‪ tables‬ونفتح ﺍلجﺩﺍﻭل عبﺭ ﺍلضﻐﻁ‬ ‫على ‪ +‬لنجﺩ مكﻭناﺕ ﺍلجﺩﻭل مﻥ بينها ﺍل ‪ fields‬وهكﺫﺍ يتﻡ ﺍلتﻌﺭﻑ ﺍألﻭلى‬ ‫على مكﻭناﺕ ﺍلجﺩﺍﻭل ﺃﻭ قاعﺩﺓ ﺍلبياناﺕ عمﻭماً ﺃما الﻅهاﺭ مكﻭناﺕ ﺍلجﺩﺍﻭل‬ ‫‪15‬‬ ‫د‪.‬محمد الراعي‬ ‫قسم الجغرافيا ونظم المعلومات الجغرافية – المستوى الخامس‬ ‫لغات برمجة (‪)1‬‬ ‫فيتﻡ ﺫلﻙ عبﺭ ﺍلضﻐﻁ على ‪ new query‬ليتﻡ فتح شاشة كتابة تلقائياً لنكتﺏ‬ ‫فيها ﺍألمﺭ ﺍلﺫﻯ ستﻅهﺭ ﺍلبياناﺕ مﻥ خالله ﻭيتضح ﺫلﻙ ﺃكثﺭ مﻥ خالل‬ ‫ﺍلﺭسﻡ ﺍلتالى‪:‬‬ ‫‪16‬‬ ‫د‪.‬محمد الراعي‬ ‫قسم الجغرافيا ونظم المعلومات الجغرافية – المستوى الخامس‬ ‫لغات برمجة (‪)1‬‬ ‫فمثال جملة ‪ select‬فى سﻁﺭ‬ ‫ﺃيضاً مﻥ ﺍألفضل كتابة كل جملة فى سﻁﺭ ً‬ ‫تليها ‪ from‬فى سﻁﺭ ﺁخﺭ وهكﺫﺍ ‪.‬‬ ‫ﺃيضاً عنﺩ ﺇضافة ﺍلعالمتيﻥ ­ ­ فى بﺩﺍية ﺃﻯ جملة يﻌتبﺭ ﺍلبﺭنامج هﺫﺓ ﺍلجملة‬ ‫عباﺭﺓ عﻥ ‪ comment‬ليﺱ ﺃكثﺭ ‪.‬‬ ‫ﺃمﺭﺍ يﻌﺭﺽ به ﺍلبﺭنامج ﺃعمﺩﺓ مﻌينه مﻥ جﺩﻭل ﺍلمﻭﻅفيﻥ ﻭلتكﻥ‬ ‫­ ﺃكتﺏ ً‬ ‫ﺍألعمﺩﺓ ﺍلمﻁلﻭبة هى ﺍل ‪ firstname‬ﻭﺍل ‪:title‬‬ ‫يﻌنى اختﺭ ﺍلﻌمﻭﺩيﻥ ﺩﻭل‬ ‫مﻥ ﺍلجﺩﻭل ﺩﺍ‬ ‫ﺃمﺭﺍ يﻌﺭﺽ به ﺍلبﺭنامج اسم ﺍلمﻭﻅﻑ ﺍلﺫﻯ يحمل ﺍل‬ ‫ً‬ ‫­ ﺃكتﺏ‬ ‫‪ employeeID‬ﺭﻗﻡ‪:5‬‬ ‫‪Select firstname‬‬ ‫‪From employees‬‬ ‫‪where employeeID=5‬‬ ‫ﻭﺍألﻥ هيا بنا لنتفﻕ على عﺩﺓ ﺭمﻭﺯ سيتﻡ ﺇستخﺩﺍمها على مﺩﻯ ﺩﺭﺍستنا لل‬ ‫‪ SQL‬وهﺫﺓ ﺍلﺭمﻭﺯ هى ‪:‬‬ ‫> تﻌنى ﺃكبﺭ مﻥ‬ ‫< تﻌنى ﺃصﻐﺭ مﻥ‬ ‫ تﻌنى ال يساﻭﻯ‬ ‫= تﻌنى يساﻭﻯ‬ ‫‪17‬‬ ‫د‪.‬محمد الراعي‬ ‫قسم الجغرافيا ونظم المعلومات الجغرافية – المستوى الخامس‬ ‫لغات برمجة (‪)1‬‬ ‫ﺃمﺭﺍ يﻌﺭﺽ به ﺍلبﺭنامج ﺍل ‪ employeeID‬ﺍألكبﺭمﻥ ﺃﻭ يساﻭﻯ ‪:5‬‬ ‫­ ﺃكتﺏ ً‬ ‫‪Select employeeID‬‬ ‫‪From employees‬‬ ‫‪where employeeID => 5‬‬ ‫ﺃمﺭﺍ يﻌﺭﺽ به ﺍلبﺭنامج ﺍل ‪ employeeID‬ﺍلمحصﻭﺭﺓ بيﻥ ﺍل ‪3‬‬ ‫­ ﺃكتﺏ ً‬ ‫و‪:6‬‬ ‫ﻭيمكﻥ عمل ﺫلﻙ بﻁﺭيﻘتيﻥ هما‪:‬‬ ‫ﺃﻭال ‪ :‬ويتﻡ فيها مقاﺭنة كل عنصﺭ فى ﺍلجﺩﻭل هل هﻭ ﺃكبﺭمﻥ ﺍل ‪ 3‬وﺃصﻐﺭ‬ ‫ً‬ ‫مﻥ ﺍل ‪ 6‬مما يأخﺫ ﺍلﻭﻗﺕ ﺍلكبيﺭ فى حال ﺍلجﺩﺍﻭل ﺍلﻌمالقة ‪.‬‬ ‫‪Select employeeID‬‬ ‫‪From employees‬‬ ‫‪where employeeID >=3 and employeeID

Use Quizgecko on...
Browser
Browser