السلام عليكم ورحمة الله وبركاته مرحبا بك في
مدونة اقرا معي وتعلم على الانترنت اخذنا في الدرس السابق شرح المفتاح الرئيسي في
قواعد البيانات واليوم نواصل معكم شرح القيود ودرسنا اليوم سنشرح فيه القيد 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 .
اكتفي بهذا القدر ونلتقي في الدرس القادم
لا تنسى الاشتراك في المدونة او تسجيل اعجابك
بصفحتنا على الفيس بوك
لا تترك الدرس يقف عندك شاركه الان مع اصدقائك .
دمتم بألف خير
إرسال تعليق
لا تبخل علينا باقتراحك او قم بمشاركة الموضوع ليستفيد الاخرين ايضاً شكرا لزيارتك عزيزي الزائر