القيد UNIQUE والقيد Check - شرح sql بالعربي القيد UNIQUE والقيد Check - شرح sql بالعربي - اقرا معي وتعلم على الانترنت

القيد UNIQUE والقيد Check - شرح sql بالعربي

القيد UNIQUE والقيد Check - شرح sql بالعربي

السلام عليكم ورحمة الله وبركاته مرحبا بك في مدونة اقرا معي وتعلم على الانترنت اخذنا في الدرس السابق شرح المفتاح الرئيسي في قواعد البيانات واليوم نواصل معكم شرح القيود ودرسنا اليوم سنشرح فيه القيد UNIQUE والقيد Check وصيغهما العامة في قواعد البيانات ضمن دروسنا في شرح sql بالعربي .

يمكنك قراءة الدرس السابق من الرابط التالي:ِشرح المفتاح الرئيسي priymary key

اولا القيد UNIQUE :

يستخدم القيد UNIQUE لمنع تكرار قيمة حقل في اكثر من سجل, ولكن هذا لا يعني ان هذا الحقل سيصبح المفتاح الرئيسي للجدول .

الصيغة العامة له هي :

CREATE TABLE MYTable
(Column1 data_type UNIQUE , Column2 data_type);

مثال :
اذا اردنا انشاء او توليد الجدول PhoneBook بأسماء الاشخاص Name وارقام هواتفهم Phone بحيث يكون رقم الهاتف مفتاح رئيسي واسم الشخص ذو قيمة وحيدة لا تتكرر سنستخدم الصيغة التالية :
CREATE TABLE PhoneBook
(Name varchar(50) UNIQUE , Phone Primary Key Not Null);

ثانيا القيد Check :

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

تشبه طريقة استخدامه لطريقة استخدام التعبير Where حيث يتم إعادة الشرط في كل مرة نضيف فيها سجلاً جديداً او نعدل سجل موجود .

الصيغة لهذا القيد هي كالتالي:

CREATE TABLE MyTable
(Column1 data_type ,
Column2 data_type ,
Constraint Cname CHECK (Condition));
حيث تعبر Cname عن اسم القيد وتعبر Condition عن شرط يستخدم فيه اسم الحقل المراد تقييده بــ Check .

مثال:
نريد انشاء الجدول المسمى Ages يتضمن اسماء Name واعمار Age مجموعة من الاطفال تتراوح بين سنة و 12 سنه . نكتب الصيغة التالية :
CREATE TABLE Ages
(Name varchar(50) Not Null ,
Age INT ,
Constraint CheckAge CHECK (Age between 1 And 12));

ويمكن ان نكتب صيغة تحقق نفس الغرض مع حذف اسم القيد CheckAge اذا كنا لا نريد اسم للقيد كالتالي:
CREATE TABLE Ages
(Name varchar(50) Not Null ,
Age INT CHECK(Age between 1 And 12));

يمكن لشرط القيد Check ان يتألف من تعبيرات منطقية تحتوي على عمليات منطقية مثل And او OR فمثلاً اذا اردنا السماح بإدخال عمر بين 1 و 12 او يساوي 15 نكتب الصيغة :
CREATE TABLE Ages
(Name varchar(50) Not Null ,
Age INT CHECK(Age = 15 OR Age between 1 And 12));

يمكن وضع اكثر من قيد Check على حقل وحيد فمثلا اذا اردنا السماح بالقيم للعمر بين 1 و 12 عدا العمر 3 نكتب الصيغة التالية :
CREATE TABLE Ages
(Name varchar(50) Not Null ,
Age INT,
Constraint CheckAge1 CHECK (Age between 1 And 12),
Constraint CheckAge2 CHECK (Age <> 3));

انتبه :
لا يطبق القيد Check عندما لا يتلقى الحقل أي إدخالات أي عندما تكون قيمته Null .

اكتفي بهذا القدر ونلتقي في الدرس القادم

لا تنسى الاشتراك في المدونة او تسجيل اعجابك بصفحتنا على الفيس بوك
لا تترك الدرس يقف عندك شاركه الان مع اصدقائك .


دمتم بألف خير 
شارك الموضوع
تعليقات
محتوى قد يهمك

.