الفرق بين الإسقاط والاقتطاع

الفرق بين الإسقاط والاقتطاع
الفرق بين الإسقاط والاقتطاع

فيديو: الفرق بين الإسقاط والاقتطاع

فيديو: الفرق بين الإسقاط والاقتطاع
فيديو: Difference Between B.Tech and B.E | Bachelor of Technology Versus Bachelor of Engineering | 2020-21 2024, يوليو
Anonim

Drop مقابل Truncate

Drop و Truncate عبارة عن عبارتين SQL (لغة الاستعلام الهيكلية) تستخدمان في أنظمة إدارة قواعد البيانات ، حيث نرغب في إزالة سجلات البيانات من قاعدة البيانات. تقوم كل من عبارات Drop و Truncate بإزالة البيانات بالكامل في جدول وعبارة SQL ذات الصلة. عملية الحذف غير فعالة في هذه الحالة لأنها تستخدم مساحات تخزين أكثر من Drop and Truncate.

في حالة ، إذا أردنا تجاهل جدول في قاعدة بيانات تمامًا مع جميع بياناته ، يتيح لنا SQL تنفيذ ذلك بسهولة باستخدام عبارة Drop. أمر الإسقاط هو أمر DDL (لغة تعريف البيانات) ، ويمكن استخدامه لتدمير قاعدة بيانات أو جدول أو فهرس أو طريقة عرض موجودة.يقوم بحذف المعلومات بالكامل في الجدول ، بالإضافة إلى بنية الجدول من قاعدة البيانات. أيضًا ، قد نرغب في التخلص من جميع البيانات الموجودة في جدول ببساطة ، ولكن بدون الجدول ، ويمكننا استخدام عبارة Truncate في SQL في مثل هذا السيناريو. Truncate هو أيضًا أمر DDL ويزيل جميع الصفوف في الجدول ولكنه يحافظ على تعريف الجدول نفسه للاستخدام في المستقبل.

إسقاط الأمر

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

إسقاط الجدول

علينا ببساطة استبدال اسم الجدول الذي نريد إزالته من قاعدة البيانات في المثال أعلاه لأمر Drop.

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

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

اقتطاع الأمر

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

TRUNCATE TABLE

يجب استبدال اسم الجدول ، الذي نريد إزالة البيانات بالكامل منه ، في الصيغة أعلاه.

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

ما الفرق بين Drop و Truncate؟

كلا الأمرين Drop و Truncate هما أوامر DDL وأيضًا عبارات الالتزام التلقائي بحيث لا يمكن التراجع عن المعاملات التي تتم باستخدام هذه الأوامر.

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

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

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

موصى به: