الأربعاء، 27 ديسمبر 2017

الدرس الثامن تعديل الجداول ALTER TABLE

لتعديل الجداول في قاعدة البيانات بأستخدام لغة SQL سوف نستخدم الايعاز ALTER TABLE  وهو من ايعازات Data Definition Language او ما يعرف اختصارا ب DDL
 
   ALTER TABLE table_name 
وهناك عدة استخدامات لهذا الايعاز مثلا يمكن استخدام لاضافة عمود جديد او لحذف عمود من الجدول او لتغيير عمود موجود مثلا نغيير نوع البيانات او طول البيانات وكذلك يمكن استخدامه لحذف المحددات (Constraints). 
ملاحظة
  • يجب ان نكون حذرين جدا عند تعديل الجداول باستخدام ايعاز  ALTER TABLE لان هذا الايعاز سوف يغير تركيب الجدول وفي بعض الاحيان سوف يغير نوع البيانات الخاصة بالاعمدة وهذا قد يؤثر على البيانات المخزنة حالية في  الجدول. لذلك يجب اخذ الاحتياطات اللازمة مثلا اذا كان الجدول يحتوي على معلومات حساسة قد تحتاج اليها لاحقا يمكن حفظ نسخة من هذا الجدول ولكن بأسم ثاني بأستخدام عبارة SELECT  INTO  (كماشرحنا ذلك في الدرس السابق) او الاحتفاظ بنسخة من ملفلت النسخ الاحتياطي لقاعدة البيانات (Backup Files) وبتالي نستطيع استرجاع المعلومات من النسخ الاحتياطي.

الايعاز ALTER TABLE - ADD Column
يستخدم هذا الايعاز لاضافة حقول جديدة الى جدول موجود مسبقا. كما ذكرنا في المواضيع السابقة يجب الاهتمام بعملية تصميم الجداول حتى لانضطر الى تغيير جدول بعد ادخال البيانات ولكن في بعض الحالات سوف نضطر الى تغيير الجدول عندما تتغير المتطلبات. مثلا جدول الزبائن الذي كوناه في الدروس السابقة يمكن نضيف اليه حقلين جديدين حقل البلد وحقل المدينة يمكن تنفيذ الايعاز التالي
 
 ALTER TABLE CUSTOMER ADD CUTSOMER_CITY VARCHAR (100), CUTSOMER_COUNTRY VARCHAR (100) 

  او يمكن تنفيذ الايعاز مرتين بشكل منفصل
 
 ALTER TABLE CUSTOMER ADD CUTSOMER_CITY VARCHAR (100)
ALTER TABLE CUSTOMER ADD CUTSOMER_COUNTRY VARCHAR (100) 

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

الايعاز ALTER TABLE - DROP COLUMN
اذا انتفت الحاجة لأحد حقول الجدول واردنا ازالته من الجدول يمكن استخدام الايعاز التالي ,لكن تذكر ان تأخذ الاحتياطات اللازمة لانه بعد تنفيذ هذا الايعاز سوف يقوم SQL Server بأزالة هذا الحقل والبيانات المخزنة فيه لذا يجب اخذ النسخ الاحتياطي اما للجدول بشكل منفصل او لكامل قاعدة البيانات. في المثال التالي سوف نحذف حقل المدينة: 
 
 ALTER TABLE CUSTOMER DROP COLUMN CUTSOMER_CITY
 

الايعاز ALTER TABLE - ALTER COLUMN
اذا اردنا تغيير نوع البيانات في احد الحقول او تعديل نوع البيانات يمكن استخدام الايعاز  ALTER TABLE - ALTER COLUMN وهنا ايضا يجب ان نكون حذرين لان تغيير نوع البيانات سوف يكون له الاثر الكبير على البيانات الموجودة في الجدول مسبقا لذا يجب التخطيط لذلك مسبقا واخذ اخذ النسخ الاحتياطي اما للجدول بشكل منفصل او لكامل قاعدة البيانات. في هذا المثال سوف نعمل على زيادة طول حقل المدينة (CUSTOMER CITY) من VARCHAR 100  الى VARCHAR 200 
 
 ALTER TABLE CUSTOMER ALTER COLUMN CUTSOMER_CITY VARCHAR (200)
 

ليست هناك تعليقات:

إرسال تعليق