أفضل 65 أسئلة SQL من مقابلات العمل يجب أن تكون مستعدا لها في عام 2019. الجزء الأول


تم إعداد ترجمة المقال لطلاب الدورة التدريبية "MS SQL Server Developer"




تعد قواعد البيانات العلائقية واحدة من قواعد البيانات الأكثر استخدامًا حتى يومنا هذا ، وبالتالي فإن مهارات SQL في معظم المنشورات مطلوبة. في هذه المقالة ، مع أسئلة SQL من المقابلات ، سأقدم لك الأسئلة الأكثر شيوعًا حول SQL (لغة الاستعلام الهيكلية - لغة الاستعلام الهيكلية). هذه المقالة هي دليل مثالي لاستكشاف جميع المفاهيم المتعلقة بـ SQL و Oracle و MS SQL Server وقاعدة بيانات MySQL.


مقالة أسئلة SQL الخاصة بنا هي مورد عالمي يمكنك من خلاله تسريع الإعداد للمقابلة. يتكون من 65 مجموعة من الأسئلة الأكثر شيوعًا التي يمكن للمقابلة طرحها أثناء المقابلة. يبدأ عادةً بأسئلة SQL الأساسية ثم ينتقل إلى الأسئلة الأكثر تعقيدًا بناءً على المناقشة وإجاباتك. ستساعدك أسئلة مقابلة SQL هذه على زيادة فوائدك على مستويات مختلفة من الفهم.
لنبدأ!


مقابلة أسئلة SQL


السؤال 1. ما هو الفرق بين الحذف و TRUNCATE؟


DELETEباقتطاع
يستخدم لحذف صف في جدول.يستخدم لحذف جميع الصفوف من الجدول.
يمكنك استعادة البيانات بعد الحذفلا يمكنك استرداد البيانات (تعليق الترجمة: يتم تسجيل العمليات بطرق مختلفة ، لكن SQL Server لديه القدرة على استعادة) المعاملات)
فريق DMLأمر DDL
أبطأ من عبارة TRUNCATEأسرع

رقم السؤال 2. ما هي مجموعات فرعية من SQL؟


  • DDL (لغة تعريف البيانات) - تتيح لك إجراء عمليات متنوعة باستخدام قاعدة البيانات ، مثل CREATE (create) و ALTER (تغيير) و DROP (حذف الكائنات).
  • يسمح لك DML (لغة معالجة البيانات) بالوصول إلى البيانات ومعالجتها ، على سبيل المثال ، إدراج البيانات وتحديثها وحذفها واستردادها من قاعدة بيانات.
  • DCL (لغة التحكم في البيانات) - يسمح لك بالتحكم في الوصول إلى قاعدة البيانات. مثال على ذلك GRANT (حقوق المنح) ، REVOKE (إلغاء الحقوق).

السؤال 3. ما هو المقصود DBMS؟ ما هي أنواع DBMS هناك؟


قاعدة البيانات عبارة عن مجموعة بيانات منظمة. نظام إدارة قواعد البيانات (DBMS) - برنامج يتفاعل مع المستخدم والتطبيقات وقاعدة البيانات نفسها لجمع وتحليل البيانات. و DBMS يسمح للمستخدم بالتفاعل مع قاعدة البيانات. يمكن تخزين البيانات المخزنة في قاعدة البيانات واسترجاعها وحذفها. يمكن أن تكون من أي نوع ، مثل الأوتار والأرقام والصور وما إلى ذلك.


هناك نوعان من قواعد البيانات:


  • نظام إدارة قواعد البيانات العلائقية: يتم تخزين البيانات في العلاقات (الجداول). مثال على ذلك MySQL.
  • نظام إدارة قواعد البيانات غير العلائقية: لا يوجد مفهوم للعلاقات والصفوف والسمات. مثال على ذلك Mongo.

السؤال 4. ما المقصود بالجدول والحقل في SQL؟


الجدول عبارة عن مجموعة بيانات منظمة في شكل صفوف وأعمدة. الحقل عبارة عن عمود في جدول. على سبيل المثال:
الجدول: Student_Information
الحقل: Stu_Id ، Stu_Name ، Stu_Marks


السؤال 5. ما هي الصلات في SQL؟


يتم استخدام عامل التشغيل JOIN لربط الصفوف من جدولين أو أكثر بناءً على عمود متصل بينهما. يتم استخدامه لربط جدولين أو الحصول على بيانات من هناك. هناك 4 أنواع اتصال في SQL ، وهي:


  • تاريخ الداخلية
  • الحق في الانضمام
  • غادر الانضمام
  • الانضمام الكامل

السؤال 6. ما هو الفرق بين أنواع البيانات CHAR و VARCHAR في SQL؟


تعمل كل من Char و Varchar كنوع من بيانات الأحرف ، ولكن يتم استخدام varchar لسلاسل الأحرف متغيرة الطول ، بينما يتم استخدام Char للسلاسل ذات الطول الثابت. على سبيل المثال ، يمكن لـ char (10) تخزين 10 أحرف فقط ولا يمكن تخزين سلسلة من أي طول آخر ، بينما يمكن لـ varchar (10) تخزين سلسلة من أي طول يصل إلى 10 ، أي على سبيل المثال ، 6 أو 8 أو 2.


السؤال 7. ما هو المفتاح الأساسي؟



  • المفتاح الأساسي هو عمود أو مجموعة من الأعمدة التي تحدد بشكل فريد كل صف في جدول.
  • يحدد فريد صف واحد في الجدول
  • القيم الخالية غير مسموح بها

_ مثال: في جدول Student Stu ، المفتاح الأساسي هو.


السؤال 8. ما هي القيود؟


تستخدم القيود للإشارة إلى القيود المفروضة على نوع بيانات الجدول. يمكن تحديدها عند إنشاء جدول أو تعديله. قيود المثال:


  • ليس فارغ
  • التحقق
  • DEFAULT
  • UNIQUE
  • مفتاح أساسي
  • المفتاح الأجنبي

السؤال 9. ما هو الفرق بين SQL و MySQL؟


SQL هي لغة الاستعلام الهيكلية القياسية بناءً على اللغة الإنجليزية ، بينما MySQL هو نظام لإدارة قواعد البيانات. SQL هي لغة قاعدة بيانات علائقية يتم استخدامها للوصول إلى البيانات وإدارتها ، MySQL عبارة عن DBMS (نظام إدارة قواعد البيانات) ، وكذلك SQL Server و Informix ، إلخ.


السؤال 10. ما هو المفتاح الفريد؟


  • يحدد فريد صف واحد في الجدول.
  • يُسمح بالعديد من المفاتيح الفريدة في جدول واحد.
  • يُسمح بالقيم الخالية ( ملاحظة الترجمة: تعتمد على قواعد بيانات إدارة قواعد البيانات ؛ في SQL Server ، يمكن إضافة NULL مرة واحدة فقط في حقل مع UNIQUE KEY ).

السؤال 11. ما هو المفتاح الأجنبي؟


  • يحافظ المفتاح الخارجي على التكامل المرجعي من خلال توفير رابط بين البيانات في جدولين.
  • يشير المفتاح الخارجي في الجدول الفرعي إلى المفتاح الأساسي في الجدول الأصل.
  • يمنع قيد المفتاح الخارجي الإجراءات التي تقطع العلاقات بين الجداول الفرعية والطفل.

السؤال 12. ماذا يعني تكامل البيانات؟


يحدد تكامل البيانات دقة وكذلك تناسق البيانات المخزنة في قاعدة البيانات. كما يحدد قيود السلامة لفرض قواعد العمل للبيانات عند إدخالها في تطبيق أو قاعدة بيانات.


السؤال 13. ما هو الفرق بين فهارس متفاوت المسافات و nonclustered في SQL؟


  1. الاختلافات بين فهارس متفاوت المسافات وغير متفاوتة المسافات في SQL:
    يتم استخدام فهرس متفاوت المسافات لاستعادة البيانات بسرعة وسهولة من قاعدة بيانات ، في حين أن القراءة من فهرس غير متفاوت المسافات تكون أبطأ نسبيًا.
  2. يغير الفهرس العنقودي الطريقة التي يتم بها تخزين السجلات في قاعدة البيانات - يقوم بفرز الصفوف حسب العمود الذي تم تعيينه على أنه الفهرس العنقودي ، بينما في الفهرس غير العنقودي لا يغير طريقة التخزين ، لكنه يخلق كائنًا منفصلاً داخل الجدول يشير إلى صفوف الجدول الأصلية عند البحث.
  3. يمكن أن يحتوي جدول واحد على فهرس متفاوت المسافات واحد فقط ، بينما يمكن أن يحتوي على العديد من المؤشرات غير المجمعة.

السؤال 14. كتابة استعلام SQL لعرض التاريخ الحالي.


لدى SQL دالة GetDate () مضمنة تساعد على إرجاع الطابع الزمني / التاريخ الحالي.


السؤال 15. قائمة أنواع الاتصالات


هناك أنواع مختلفة من الصلات التي يتم استخدامها لاستخراج البيانات بين الجداول. في الأساس ، يتم تقسيمها إلى أربعة أنواع ، وهي:



الانضمام الداخلي : في MySQL ، النوع الأكثر شيوعًا. يتم استخدامه لإرجاع كل الصفوف من عدة جداول يتم استيفاء شرط الصلة لها.


الانضمام إلى اليسار : في MySQL يتم استخدامه لإرجاع كل الصفوف من الجدول (الأول) الأيسر ومطابقة الصفوف فقط من الجدول الأيمن (الثاني) الذي تم استيفاء شرط الصلة.


Join Right : في MySQL يتم استخدامه لإرجاع جميع الصفوف من الجدول الأيمن (الثاني) ومطابقة الصفوف فقط من الجدول الأيسر (الأول) الذي تم استيفاء شرط الصلة.


انضمام كامل : إرجاع كافة السجلات التي يوجد لها تطابق في أي من الجداول. لذلك ، تقوم بإرجاع كافة الصفوف من الجدول الأيسر وكل الصفوف من الجدول الأيمن.


السؤال 16. ماذا تقصد إزالة الطابع الطبيعي؟


إزالة الصبغ هو أسلوب يستخدم للتحويل من الأشكال الطبيعية العليا إلى المنخفضة. يساعد مطوري قواعد البيانات على تحسين أداء البنية التحتية بالكامل عن طريق إدخال التكرار في الجدول. يضيف البيانات المكررة إلى الجدول ، نظرًا لاستعلامات قاعدة البيانات المتكررة التي تجمع البيانات من جداول مختلفة في جدول واحد.


السؤال 17. ما هي الكيانات والعلاقات؟


الكيانات: شخص أو مكان أو كائن في العالم الحقيقي ، يمكن تخزين بيانات حوله في قاعدة بيانات. تخزن الجداول البيانات التي تمثل نوعًا واحدًا من الكيانات. على سبيل المثال ، تحتوي قاعدة البيانات المصرفية على جدول عملاء لتخزين معلومات العميل. يخزن جدول العملاء هذه المعلومات كمجموعة من السمات (الأعمدة في الجدول) لكل عميل.


العلاقات: العلاقات أو العلاقات بين الكيانات المرتبطة بطريقة ما ببعضها البعض. على سبيل المثال ، يرتبط اسم العميل برقم حساب العميل ومعلومات الاتصال ، والتي قد تكون في نفس الجدول. قد تكون هناك أيضًا علاقات بين الجداول الفردية (على سبيل المثال ، العميل إلى الحسابات).


السؤال 18. ما هو المؤشر؟


تتعلق الفهارس بطريقة ضبط الأداء التي تمكن من استرداد السجلات بشكل أسرع من جدول. ينشئ الفهرس بنية منفصلة للحقل المفهرس ، وبالتالي ، يسمح باسترجاع البيانات بشكل أسرع.


السؤال 19. صف الأنواع المختلفة من الفهارس.


هناك ثلاثة أنواع من الفهارس ، وهي:


  1. الفهرس الفريد: يمنع هذا الفهرس الحقل من الحصول على قيم مكررة إذا تم فهرسة العمود بشكل فريد. إذا تم تعريف مفتاح أساسي ، يمكن تطبيق فهرس فريد تلقائيًا.
  2. فهرس متفاوت المسافات: يغير هذا الفهرس الترتيب الفعلي للجدول ويبحث وفقًا لقيم المفاتيح. يمكن أن يحتوي كل جدول على فهرس متفاوت المسافات واحد فقط.
  3. فهرس غير عنقودي: لا يغير الترتيب الفعلي للجدول ويحافظ على الترتيب المنطقي للبيانات. يمكن أن يحتوي كل جدول على العديد من الفهارس غير العنقودية.

السؤال 20. ما هو التطبيع وما هي مزاياه؟


التطبيع هو عملية تنظيم البيانات ، والغرض منها هو تجنب الازدواجية والتكرار. بعض الفوائد:


  • أفضل منظمة قاعدة البيانات
  • المزيد من الجداول مع الصفوف الصغيرة
  • الوصول الفعال للبيانات
  • مرونة أكبر للاستعلامات
  • بحث سريع في المعلومات
  • أسهل لتنفيذ أمن البيانات
  • يسمح التعديل السهل
  • تقليل البيانات الزائدة والمكررة
  • المزيد من قاعدة البيانات المدمجة
  • يضمن اتساق البيانات بعد التغييرات

السؤال 21. ما هو الفرق بين DROP و TRUNCATE؟


يحذف الأمر DROP الجدول نفسه ، ولا يمكنك إنشاء أوامر Rollback ، بينما يحذف الأمر TRUNCATE جميع الصفوف من الجدول ( ملاحظة الترجمة: في SQL Server ، سيعود Rollback عادةً ويعيد DROP ).


السؤال 22. اشرح الأنواع المختلفة للتطبيع.


هناك العديد من مستويات التطبيع. هذه هي الأشكال العادية ما يسمى. يتضمن كل شكل عادي لاحق النموذج السابق. عادة ما تكون الأشكال الثلاثة الأولى العادية كافية.


  • النموذج العادي الأول (1NF) - لا توجد مجموعات مكررة في الصفوف
  • النموذج العادي الثاني (2NF) - كل قيمة عمود غير داعمة (تعتمد) تعتمد على المفتاح الأساسي بأكمله
  • النموذج العادي الثالث (3NF) - تعتمد كل قيمة غير أساسية فقط على المفتاح الأساسي ولا تعتمد على قيمة أخرى غير أساسية للعمود

السؤال 23. ما هي خاصية ACID في قاعدة البيانات؟


حمض يعني Atomicity ، الاتساق ، العزلة ، المتانة. يتم استخدامه لتوفير معالجة موثوقة لمعاملات البيانات في نظام قاعدة بيانات.


Atomicity. يضمن إتمام المعاملة بالكامل أو فشلها ، حيث تمثل المعاملة عملية بيانات منطقية واحدة. هذا يعني أنه في حالة فشل جزء من أي معاملة ، تفشل المعاملة بالكامل وتبقى حالة قاعدة البيانات كما هي.


الاتساق. يضمن أن البيانات يجب أن تمتثل لجميع قواعد التحقق من الصحة. ببساطة ، يمكنك القول أن معاملتك لن تترك قاعدة البيانات الخاصة بك في حالة غير صالحة.


العزلة. الغرض الرئيسي من العزلة هو التحكم في آلية تغييرات البيانات الموازية.


المتانة. تعني المتانة أنه إذا تم تأكيد المعاملة (COMMIT) ، فسيتم الحفاظ على التغييرات التي حدثت داخل المعاملة بغض النظر عما قد يحدث في طريقها (على سبيل المثال ، فقدان الطاقة أو الفشل أو الأخطاء من أي نوع).


السؤال 24. ماذا تقصد ب "المشغل" في SQL؟


يعد المشغل في SQL نوعًا خاصًا من الإجراءات المخزنة المصممة ليتم تنفيذها تلقائيًا عند تغيير البيانات أو بعدها. يتيح لك ذلك تنفيذ حزمة تعليمات برمجية عند إجراء إدراج أو تحديث أو أي استعلام آخر على جدول محدد.


السؤال 25. ما هي البيانات المتاحة في SQL؟


تتوفر ثلاثة أنواع من العبارات في SQL ، وهي:


  1. العوامل الحسابية
  2. العوامل المنطقية
  3. مشغلي المقارنة

سؤال 26. هل القيم الخالية تتطابق مع الصفر أو المسافة؟


NULL ليس صفرًا أو مساحة على الإطلاق. تمثل قيمة NULL قيمة غير متوفرة أو غير معروفة أو معيّنة أو غير قابلة للتطبيق ، بينما الصفر هو رقم والمسافة هي حرف.


السؤال 27. ما هو الفرق بين الوصل العرضي والوصلة الطبيعية؟


ينشئ التقاطع التبادلي منتجًا متقاطعًا أو ديكارتًا من جدولين ، بينما يستند الربط الطبيعي على جميع الأعمدة التي لها نفس الاسم وأنواع البيانات في كلا الجدولين.


السؤال 28. ما هو استعلام فرعي في SQL؟


استعلام فرعي عبارة عن استعلام داخل استعلام آخر يحدد استعلامًا لاسترداد البيانات أو المعلومات من قاعدة بيانات. في استعلام فرعي ، يسمى الاستعلام الخارجي الاستعلام الرئيسي ، بينما يسمى الاستعلام الداخلي الاستعلام الفرعي. يتم تنفيذ الاستعلامات الفرعية دائمًا أولاً ، ويتم تمرير نتيجة الاستعلام الفرعي إلى الاستعلام الرئيسي. يمكن أن تكون متداخلة في SELECT أو UPDATE أو أي استعلام آخر. يمكن أن يستخدم الاستعلام الفرعي أيضًا أي عامل مقارنة ، مثل> أو <أو =.


السؤال 29. ما هي أنواع الاستعلامات الفرعية؟


هناك نوعان من الاستعلامات الفرعية ، وهما: مترابط وغير مترابط.


  • استعلام فرعي مرتبط: هذا استعلام يحدد البيانات من جدول مع ارتباط إلى استعلام خارجي. لا يعتبر استعلامًا مستقلاً لأنه يشير إلى جدول أو عمود آخر في الجدول.
  • استعلام فرعي غير مرتبط: هذا الاستعلام عبارة عن استعلام مستقل يتم استبدال مخرجات الاستعلام الفرعي به في الاستعلام الرئيسي.

سؤال 30. اذكر طرق الحصول على عدد السجلات في الجدول؟


لحساب عدد السجلات في جدول ، يمكنك استخدام الأوامر التالية:
SELECT * FROM table1
SELECT COUNT(*) FROM table1
SELECT rows FROM sysindexes WHERE id = OBJECT_ID(table1) AND indid < 2




سننشر 35 سؤالًا آخر مع إجابات في الجزء التالي ... تابع الأخبار!

Source: https://habr.com/ru/post/ar461067/


All Articles