?- What is the difference between Where and Having
✓ : Whereتستخدم مع الحقول العادية التي من قاعدة البيانات. ✓ : havingتستخدم مع الحقول التجميعية فهي تعمل نفس عمل ال Selectولكن على النتائج التي ظهرت من جملة ال Group Byيعني أن وجودها مرهون بوجود .Group By الفرق بين المفتاح األساسي واألجنبي؟ - ✓ المفتاح األساسي :PKالعمود االساسي والمميز للجدول ويكون فريد وغير مكرر. ✓ المفتاح األجنبي :FKالعمود االساسي في جدول آخر يعني مفتاح اساسي في جدول ونذكره في جدول آخر للربط بين أكثر من جدول ويجب فيه ان تكون له نفس صفات. ما هو الفرق بين برنامج اكسل وبرنامج اكسس؟ - ✓ االكسس :برنامج خاص بقواعد البيانات وتنظيمها وعمل التقارير ((إدارة)) ✓ االكسيل :برنامج خاص بالحسابات وتسهيل عمل الجداول مهما طالت من صفوف وعمليات حسابيه (الميزانيات -التكاليف -االيرادات). ما الفرق بين ال هيكل الجدول والبيانات؟ - ✓ :Structureهيكل الجدول وده االساس اللي بيشيل األعمدة . ✓ :Dataالبيانات اللي بتبقي جوه الجدول زي العفش اللي جوه البيت. ماهي DBMS؟ - ✓ اختصار ل Data Base Management systemأي نظم ادارة قواعد البيانات. ماهي SQL؟ - ✓ هي اختصار ل )(STRUCTUER QUERY LANGUAGE الفرق بين SQLوNOSQL؟ - ✓ : Sqlهي قاعدة بيانات تقليدية تعتمد على الجداول في تخزين البيانات وهذه الجداول ترتبط فيما بينها باستخدام العالقات وتعتبر لغة فعالة في ادارة قواعد البيانات ✓ : NoSqlهي تقنية تعتمد في تخزينها للبيانات على documentationوليس على الجداول بطريقة Jsonاو XMLوتعمل مع ال Big Dataالبيانات الضخمة بكفاءة عالية وهي ال تتبع تصميم محدد في هيكليتها ،ايضا التكرار ليست مشكلة فيNoSql ايه هي PL / SQL؟ - ✓ Procedural Languageهي امتداد ل، SQLتستخدم في انشاء الدوال وتعريف Data type و loopواالستعالم عن شرط مثل IFوتمكننا الـ PL/SQLمن التعريف والتعامل مع: ▪ اإلجراءاتProcedure ▪ الدوالFunction ▪ التحكمات الشرطية IF – Condition ▪ التكرار Loops ▪ متغيرات الذاكرة Memory Variables لغة SQLتقوم بعمل االتي - ✓ استرجاع البيانات من قاعدة البيانات ✓ حذف او تعديل او اضافة بيانات جديدة انشاء كيانات جديدة مثل الجداول او االستعالمات ✓ منح صالحيات جديدة للمستخدم او حذف صالحيات ✓ - Drop VS Truncate VS Delete :Dropتعتبر )Data Definition Language( DDlودي بتشتغل ع ال Structureيعنى ✓ بتدمر الجدول كله لما اجى اعمله Selectمش هتالقى ليه وجود نهائي. Truncate & Delete ✓ Truncate Delete ✓ ال تستخدم Where ✓ تستخدم Whereلحذف بيانات معينة ✓ أسرع ألنها تتعامل مع الجدول ككل. ✓ بطيئة ألنها تتعامل Row By Row ✓ يتم حذف ال the data pages ✓ تترك ال the data pages ✓ بتعمل Identity Resting ✓ بتعمل Keep Identity ✓ تعتبر من أوامر DDL ✓ تعتبر من أوامر DML ✓ مسح ال Object Static ✓ ليس لها عالقة اال بال Data ✓ بتعمل Lockلل Table ✓ بتعمل Lockلل Row ✓ حذف نهائي ال يمكن التراجع عنه ✓ يمكن استرجاع البيانات ✓ ال Data Pagesهي اللي شائلة الجدول ع الهارد لما بعمل Truncateبتدمر المساحة دي اما Deleteفبتفضل المساحة زي ماهي. ✓ Identityهي خاصية موجوده ف الجدول زي الترقيم مع Truncateبتمسح كل ال identityلكن ال deleteبتخلي قيمة الترقيم زي ماهي و بتمسح البيانات فقط. -أنواع العالقات Relationship types :او Cardinality ✓ العالقة One to Manyوهي األكثر شيوعاً بين العالقات ،يمكن لصف من العمود أ أن يحتوي العديد من الصفوف المتطابقة فى الجدول ب ✓ عالقة Many-to-Manyالصف فى الجدول أ يمكن أن يكون له العديد من الصفوف المتطابقة فى الجدول والعكس صحيح يمكنك إنشاء هذه العالقة عن طريق جدول ثالث، (الجدول الوسيط) ،والذي يكون مفتاحه األساسي عباره عن مفتاحين أجنبيين ✓ عالقة One to Oneالصف فى جدول أ يمكن له أن يحتوي على صف واحد مطابق فى الجدول ب والعكس صحيح ،العالقة One-to-Oneتنشأ فى كال الجدولين المرتبطين ،في حاله إذا كان كال العمودين هما مفتاح أساسي (ال يتكرر) -ماهي Joinsوما أنواعها؟ ✓ هي مجموعة بيانات ناتجة من عمليات ربط تمت بين جدولين أو أكثر ،ولها عدة أنواع: ▪ الربط الداخلي: inner joinالنوع االفتراضي ويحدد أنه إذا كان سجالن متوافقان من جدولين مختلفين ،ولكنهما يوافقان شرط ONالذي يربط بينهما ▪ الربط الخارجي الكامل : full Outer joinالسجالت غير المتطابقة )التي ال تحقق شرط (ONالسجالت المتطابقة (التي تحقق الشرط) هي التي يتم اختيارها جميعا. بالنسبة للسجالت غير المتطابقة ستظهر القيمة nullفيها ▪ االرتباط الخارجي األيسر : left outer joinيرجع السجالت المطابقة للشرط، ومعها كل السجالت من الجدول المحدد يسار كلمةjoin ▪ االرتباط الخارجي األيمن :right outer joinويرجع السجالت المطابقة للشرط، ومعها كل السجالت من الجدول المحدد يمين كلمة join ▪ االرتباط المتقاطع : cross joinوهو حاصل االختيار من كال من الجدولين في حالة عدم تحديد فقرة ، whereوفي هذه الحالة يتم ربط كل سجل من الجدول األول مع كل سجل في الجدول الثاني. ▪ الربط في نفس الجدول : Self-Joinهذا النوع من الربط يجب أن نتعامل مع الجدول على أنه جدولين ،أحدها جدول الموظفين العاديين والثاني جدول المدراء، وبعد ذلك نقوم بربط الجدولين باستخدام ربط التساوي. - Trigger ✓ هو كائن في قاعدة بيانات مرتبط بجدول في العديد من الجوانب هو مشابه لإلجراء المخزن ) (stored procedureفي الواقع ،ويشار إليها أنها "نوع خاص من اإلجراء المخزن. الفرق الرئيسي بين الـ Triggerوالـ stored procedure - ✓ Triggerمرتبط بجدول محدد ويتم إطالق هذا الـ Triggerفقط عند حدوث إجراءات DELETE،UPDATE ،INSERTيمكنك تحديد إجراءات التي تقوم بإطالق هذا الـ Triggerعند إنشائه. ✓ : Stored procedureهو مجموعة اكواد بيتم تنفيذها داخل قاعدة البيانات وبنعمل declareعشان نستخدم متغير داخل االجراء عشان نعمل بيه عمليات معينه وميزة االجراء انه بيتم داخل القاعدة وده معناه اننا بنعمل requestواحد من الواجهة. ال view - ✓ هو عبارة عن نافذة او جدول خيالي او وهمي الذي يسمح لعرض البيانات من خالله وكيفية التعديل عليها .يسمى objectقواعد البيانات التي يوجد داخل خادم قواعد البيانات والذي يقوم فقط بتخزين queryعبر االمر select queryفي حين ان اي تغييرات تعمل من خالل viewفأنها سوف تعمل تلك التغييرات على الكائنات االخرى في قواعد البيانات مثل الجداول مثال. ماهي الميزات في view؟ - ✓ يقوم بتزويد ودعم الحماية. ✓ يقوم بتحسين االداء والتنفيذ في قواعد البيانات. ✓ يقوم بدعم والتزويد على امكانية االداء والتنفيذ على اوامر DMLوعملياتها .مثل INSERT ✓ يقوم بتبسيط complex queriesحتى تسهل امكانية استخدامها. ✓ يقوم بمساعدة الوصول الى قواعد البيانات عن طريق فقط مستخدمين محددين في ذلك ماهي العيوب في view؟ - ✓ االعتماد على الجدول :يمكن ان تنشئ viewمعتمدا على ذلك في الجدول .لكن في حين أنك قمت بتغيير التركيب في الجدول اقصد االعمدة التي هي مرتبطة مع viewفالبد ان تقوم بتغيير ذلك ايضا فيview ما هو الفرق بين الجدول وال view؟ - ✓ الجدول: ▪ يحتوي على بيانات. ▪ الجداول دائما تكون محددة ومقيدة. ▪ مستقلة. ▪ يقوم بدعم تنفيذ عمليات واومر DMLعلى اي بيانات. ✓ :VIEW ▪ ال تحتوي على بيانات. ▪ غير محددة. ▪ معتمدة على غيرها اي إذا حصل تغيير في الجدول سوف تتغير البيانات. ▪ تدعم عمليات DMLعلى البيانات المرتبطة. -ماهي انواع الVIEW- ✓ Simple View ✓ Complex View -تعريف االستعالم: ✓ هو سؤال عن البيانات المخزنة في الجداول أو طلب القيام بإجراء على البيانات .وقد يجمع االستعالم بيانات من جداول متعددة لكي تعمل كمصدر للبيانات لنموذج أو تقرير أو صفحة. -ما هو االستعالم: ✓ ما هو إال سؤال تسأله عن بياناتك لتحصل على إجابة عليه عن طريق تشغيل االستعالم. -العملياتTransactions ✓ هي مجموعة من التعديالت التي تتم في قاعدة البيانات وفق تسلسل منطقي وينتج عنها بعض التغييرات في القاعدة كحذف سجل أو تعديل بيانات أو إنشاء سجل جديد، فذتما من قاعدة البيانات إذا نُ َّهذه كلها عبارة عن عمليات ،وتصبح هذه التغييرات جز ًءا دائ ً ي خطأ ف ُيتراجَع عن هذه التغييرات. م دون أخطاء ،أما في حال حدوث أ ّ بشكل تا ّ -التحكم بالعمليات ✓ توجد أربعة أوامر للتحكم بالعمليات وهي: ▪ :COMMITلحفظ التغييرات. ▪ :ROLLBACKللتراجع عن التغييرات واستعادة البيانات بحالتها السابقة. ▪ :SAVEPOINTإلنشاء نقاط استعادة ضمن مجموعات العمليات. ▪ :SET TRANSACTIONلتسمية العملية. -األمر COMMITفيSQL مجراة على قاعدة البيانات نتيجة لتنفيذ ✓ يستخدم هذا األمر بهدف حفظ التغييرات ال ُ العمليات ،إذ تحفظ كافة التغييرات منذ آخر أمر COMMITأو .ROLLBACK -األمر ROLLBACK ✓ يستخدم هذا األمر إللغاء العمليات التي تم اجراءها على قاعدة البيانات مما يعني تجاهل التغييرات التي طرأت عليها. Index - ✓ هو أحد مكونات الجداول في قواعد البيانات الذي يعمل على تسريع عملية البحث وهو مهم جدا ويظهر أثره بشكل واضح في القواعد الكبيرة وإذا تم اعداده بشكل خطي فسوف يعيق البحث بشكل كبير جدا. -انواعه ✓ : Non clustered indexفهرس يحفظه ال serverخارج ال tableودليله هو الحقول التي تحددها في الفهرس .ويمكنك عمل أكثر من فهرس من هذا النوع. ✓ :clustered indexي قوم ال serverبترتيب السجالت فعليا داخل ال tableبعد كل عملية تحديث أي أن البيانات داخل ال tableمرتبة فعليا حسب هذا الفهرس لذلك ال يمكنك عمل أكثر من فهرس واحد لكل tableلذلك هو أبطأ من األول في التحديث ألنه يقوم بترتيب البيانات على HDحسب هذا الفهرس كل مره تقوم بعملية تحديث .ولكنه أسرع في االستعالم)(select -نظرية التسوية)(Normalization ✓ عملية تعيين صفات لجدول ما مثل تحديد صفات لجدول الموظفين :حيث من صفاته األساسية وجود رقم للموظف ،أسم الموظف .وتمر هذه العملية بعدة مراحل تسمى شكل التسوية)(Normal Forms -تقنية Demoralization ✓ تكرار البيانات التي يتم االستعالم عنها بكثرة في قاعدة البيانات محاوال أن يتم تلبية استعالمات البرنامج قدر االمكان من جدول واحد فقط. :Cursors - ✓ زي ال Pointerتشير ل rowمعين .ومن خالله أقدر اعمل loopتمشي row by row