0% found this document useful (1 vote)
3K views5 pages

تلخيص ال SQL

Uploaded by

Farid
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (1 vote)
3K views5 pages

تلخيص ال SQL

Uploaded by

Farid
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

‫تلخيص ‪SQL‬‬

‫?‪- 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‬‬

You might also like