Navigation

شرح sql بالعربي: تعديل الجداول وشرح القيود الشائعة

لدينا الجدول Members الذي يحتوي على الارقام التسلسلية للأعضاء ID واسمائهمName نريد تعديل بنية الجدول بإضافة حقل جديد لإدخال نمط العضوية Type لذلك سنكتب الصيغة التالية

لتعديل جدول نستخدم الصيغة التالية :
ALTER TABLE table_name [ADD | DROP COLUMN] (column_name [data_type] );

حيث ان ADD تساعد على اضافة حقول جديدة في حين تؤدي DROP الى حذف حقول موجودة.

مثال
لدينا الجدول Members الذي يحتوي على الارقام التسلسلية للأعضاء ID واسمائهمName نريد تعديل بنية الجدول بإضافة حقل جديد لإدخال نمط العضوية Type لذلك سنكتب الصيغة التالية :
ALTER TABLE Members ADD (Type varchar(15) );
الان لنفرض اننا نريد إلغاء الحقل ID من بنية الجدول Members  لتنفيذ ذلك سنكتب الصيغة التالية :
ALTER TABLE Members DROP COLUMN ID;

ملاحظه انتبة
يساعد التعبير التالي ALTER TABLE على اضافة او ازالة قيود او فهارس في بنية الجدول وهو ما سنعالجة لاحقاً في هذا الدرس .

القيود على الحقول :

لنعود مجدداً الى الصيغة الخاصة بإنشاء جدول وهي :
CREATE TABLE table_name
(column1_name column1_data_type column1_constraints,
column2_name column2_data_type column2_constraints,…);

سنلاحظ اننا استخدمنا في هذه الصيغة التعبير column_constraints الذي يمثل القيد المراد تطبيقة على الحقل .
سنتعرف فيما يلي على مجموعة من القيود على الحقول ونغطي كل منها بمثال مناسب.

اذن من اهم القيود واكثرها استخدماً نوردها كما يلي :

-       Not Null
-       Default
-       Primary key
-       Unique
-       Check
-       Identity
-       Auto_increment

انتبة    يمكن لأكثر من قيد ان يطبق على نفس الحقل .

لنقوم الان باستعراض هذه القيود كلاً على حدة :
اولا القيد NOT NULL  أي يجب ان لا يكون فارغاً:
هذا القيد يستخدم في حال اردنا ان نمنع ادخال القيمة Null في الحقل المراد تقييده يكفي لتطبيق هذا القيد اضافة التعبير not null  عند انشاء الجدول .

مثال :
اذا اردنا مثلاً انشاء جدول بأسماء الموظفين وتوصيف عملهم بحيث نمنع اعطاء القيمةnull لأي حقل من حقول الجدول نستخدم الصيغة التالية :
CREATE TABLE Employees (name varchar(40) NOT NULL ,
Job varchar(50) NOT NULL);

اذا حاولنا الان تنفيذ الاستعلام التالي بغرض ان نضيف سجل الى جدول الموظفين :
Insert into Employees(name) values(‘Adel’)
سنلاحظ انه لن يعمل وستظهر رسالة خطأ تفيد بأنه لابد ان يكون الحقل job غير فارغاً لابد ان يحتوي قيمة وذلك لان القيد الذي يأخذه هذا الحقل هو not null .

القيد DEFAULT  أي اعطاء قيمة افتراضية للسجل عند انشاء الجدول :
هذا القيد يستخدم بكثرة وهو خاص بتحديد قيمة افتراضية لحقل ما, يأخذ هذا الحقل تلك القيمة حينما لا يتم اسناد ايه قيمة بديلة للحقل, ونستخدم الصيغة التالية :
CREATE TABLE MyTable
(Column1 varchar(50) DEFAULT ‘Unknown’ ,
Column2 varchar(10) );
في الصيغة السابقة سيتم اعطاء القيمة Unknown للحقل  Column1 في أي سجل جديد يتم انشاؤه دون تحديد قيمة له .

مثال :
نريد انشاء جدول على ان يحتوي وصف البضائع Description وعدد الايام الذي يلزم لنقلها الى المستودع الرئيسي Days ,كما نعلم سابقا ان عدد الايام اللازم لعملية النقل هو يومان بصوره عامة .

لتوليد الجدول نكتب الصيغة التالية
CREATE TABLE Shipments
(Description varchar(75) Not Null , Days INT DEFAULT 2 Not Null);

لاحظ انشأنا الجدول Shipments الذي يحتوي على :
-       الحقل Description ومنعنا أعطاء القيمة null له أي لابد ان يكون فيه قيمة لا يكون فارغاً.
-       الحقل Days من نمط البيانات الاعداد الصحيحة وحددنا القيمة 2 كقيمة تلقائية للحقل .
اذا حاولنا ان ندرج سجل ضمن هذا الجدول دون اعطاء قيمة لdays كما في الصيغة التالية :

INSERT INTO Shipments (Description) Values (‘Computer’);

سيكون شكل السجل الذي تم ادراجة في الجدول هو Computer | 2 حيث اخذ الحقلDays في هذا السجل القيمة 2 علماً اننا لم نحدد هذه القيمة في صيغة ادراج السجل .


اكتفي بهذا ونستكمل معكم بقية القيود في الدرس القادم والتي هي PRIMARY KEYأي المفتاح الرئيسي والمفتاح الاجنبي ,,,,الخ
مشاركة

أضف تعليق:

0 comments: