إعلان
دورة تطوير التطبيقات باستخدام لغة JavaScript في هذه الدورة ستتعلم لغة جافا سكريبت, استخدام مكتبة React.js, بناء API الموقع بواسطة Node.js, تطوير تطبيق جوال باستخدام React Native, و في نهاية الدورة ستتعلم تطوير تطبيق محادثة شبيه بتطبيق WhatsApp. تعلم الآن
دورة تطوير واجهات المستخدم في هذه الدورة ستتعلم لغة HTML و لغة CSS و لغة JavaScript. من ناحية التطبيق العملي ستتعلم طريقة بناء واجهة متجر إلكتروني مكون من ست صفحات, تحويل خمسة تصاميم PSD إلى صفحات ويب, بناء واجهة مستخدم تشبه موقع يوتيوب, بناء لوحة تحكم إحترافية. تعلم الآن
تطوير تطبيقات باستخدام لغة بايثون في هذه الدورة ستتعلم أساسيات البرمجة بلغة بايثون وصولاً إلى التعامل مع أشهر أطر العمل (Flask و Django) و ستتعلم كيف تبني متجر إلكتروني يمكن للمستخدمين البيع و الشراء من خلاله. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة PHP في هذه الدورة ستتعلم لغة PHP من الصفر, استخدام إطار العمل Laravel بشرح مفصّل و عملي, كيفية تطوير شبكة اجتماعية تشبه Instagram, بناء API لتطبيق جوال وفق أسلوب RESTful, تطوير موقع إعلانات مبوبة, تطوير نظام إدارة محتوى CMS كامل. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة Ruby في هذه الدورة ستتعلم البرمجة بلغة Ruby إنطلاقاً من أبسط المفاهيم وحتى بناء تطبيق حقيقي, إستخدام إطار العمل Ruby on Rails بشرح مفصّل و عملي, بناء تطبيق حقيقي عبارة عن شبكة اجتماعية تشبه تويتر, تطوير مجتمع الكتروني يشبه حسوب I/O. تعلم الآن
دورة علوم الحاسوب هذه الدورة معدة لتكون مدخل لعلوم الحاسوب و لغات البرمجة حيث ستتعرف فيها على أنظمة التشغيل و ستتعمق في نظام لينكس و في كيفية التعامل معه من خلال موجه الأوامر, بالإضافة إلى قواعد البيانات و أساسيات الشبكات و الخوادم و مبادئ الحماية والأمان في الويب. تعلم الآن

    SQL وضع شروط لتخزين القيم

    مفهوم وضع شروط لتخزين القيم

    عند تخزين البيانات في أي جدول, نلاحظ أنه علينا إحترام نوع البيانات التي يجب تخزينها في كل حقل. فمثلاً العمود الذي نوعه INT يمكن أن نخزن فيه أعداد صحيحة, و العمود الذي نوعه VARCHAR يمكن أن نخزن فيه نصوص و هكذا.

    ماذا لو أردت تحديد القيم التي يسمح بتخزينها, فمثلاً كنت تريد تخزين أعداد صحيحة و لكنك تريد أن تكون هذه الأعداد بين 0 و 100 فقط.
    في هذه الحالة يمكنك إضافة قيد ( CONSTRAINT ) نوعه CHECK تضع فيه شرط قبول أي قيمة سيتم تخزينها في العمود.

    وضع شرط على العمود عند إنشاء الجدول

    لوضع شرط على القيم التي يمكن تخزينها في العمود, يمكننا وضع قيد ( CONSTRAINT ) لتحديده.
    هذه الطريقة متاحة في جميع قواعد البيانات و استخدامها سهل لأننا نقوم بتعريف الأعمدة و في النهاية نضيف القيد.
    المميز في هذه الطريقة, أنك في حال قررت إلغاء القيد لاحقاً, يمكنك فعل ذلك بكل سهولة لأنك ستعتمد على إسم القيد الذي وضعته بنفسك من أجل إلغائه.

    مثال

    CREATE TABLE books (
    	id    INT NOT NULL,
        title VARCHAR(255),
    	pages INT,
    	price DECIMAL(5,2),
    	-- يجب أن تكون قيمته أقل من 50 price يجب أن تكون قيمته أكبر من 0, و العمود pages يحدد أن العمود chk_book_pages_and_price هنا قمنا بوضع قيد بإسم
    	CONSTRAINT chk_book_pages_and_price CHECK (pages > 0 AND price < 50)
    );
    		


    طريقة متاحة في قواعد بيانات MySQL

    يمكنك اتباع الطريقة التالية لوضع الشروط مع الإشارة إلى أنه يفضل وضع CONSTRAINT و إعطاؤه إسم لأن التعامل معه مستقبلاً سيكون أسهل عليك إن أردت ذلك.

    مثال

    CREATE TABLE books (
    	id    INT NOT NULL,
        title VARCHAR(255),
    	pages INT,
    	price DECIMAL(5,2),
    	-- يجب أن تكون قيمته يجب أن تكون أقل من 50 price يجب أن تكون قيمته أكبر من 0, و العمود pages هنا قمنا بوضع قيد يحدد أن العامود
    	CHECK (pages > 0 AND price <= 50)
    );
    		


    طريقة متاحة في قواعد بيانات SQL Server / Oracle / Access

    يمكنك اتباع الطريقة التالية لوضع الشروط مع الإشارة إلى أنه يفضل وضع CONSTRAINT و إعطاؤه إسم لأن التعامل معه مستقبلاً سيكون أسهل عليك إن أردت ذلك.

    مثال

    CREATE TABLE books (
    	id    INT NOT NULL,
        title VARCHAR(255),
    	pages INT CHECK (pages  > 0),           -- قيمته يجب أن تكون أكبر من 0 pages هنا قمنا بوضع قيد يحدد أن العامود
    	price DECIMAL(5,2) CHECK (price < 50)   -- قيمته يجب أن تكون أقل من 50 price هنا قمنا بوضع قيد يحدد أن العامود
    );
    		

    وضع شرط على العمود بعد إنشاء الجدول

    في حال كنت تنوي وضع شروط على القيم التي سيتم تخزينها في عمود واحد, يمكنك استخدام الأمر ALTER لوضعها كالتالي.

    ALTER TABLE table_name
    ADD CHECK (conditions);
    	

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

    ALTER TABLE table_name
    ADD CONSTRAINT check_constraint_name
    CHECK (conditions);
    	


    المثال الأول

    الإستعلام التالي يقوم بوضع شرط على القيم التي يمكن تخزينها في العمود price و يحدد أن القيم التي تضاف فيه يجب أن تكون أقل من 50.

    الإستعلام

    ALTER TABLE books          -- books هنا قمنا بتحديد أننا نريد إجراء تعديل على بنية الجدول
    ADD CHECK (price < 50);    -- قيمته يجب أن تكون أقل من 50 price هنا قمنا بوضع قيد يحدد أن العامود
    		

    المثال الثاني

    الإستعلام التالي يقوم بوضع شرط على القيم التي يمكن تخزينها في العمود price يحدد أن القيم التي تضاف فيه يجب أن تكون أصغر من 0, و شرط آخر على العمود price يحدد أن القيم التي تضاف فيه يجب أن تكون أقل من 50.

    الإستعلام

    ALTER TABLE books                          -- books هنا قمنا بتحديد أننا نريد إجراء تعديل على بنية الجدول
    ADD CONSTRAINT chk_book_pages_and_price    -- chk_book_pages_and_price هنا قمنا بوضع قيد بإسم
    CHECK (pages > 0 AND price < 50)           -- يجب أن تكون قيمته أقل من 50 price يجب أن تكون قيمته أكبر من 0, و العمود pages يحدد أن العامود
    		

    حذف قيد الشرط الموضوع على العامود

    طريقة إلغاء قيد ( CONSTRAINT ) الشرط الموضوع على القيم التي يمكن تخزينها في العمود تختلف من قاعدة بيانات لأخرى.


    في قواعد بيانات MySQL

    ALTER TABLE table_name
    DROP CHECK chk_constraint_name;
    	

    الإستعلام التالي يقوم بإلغاء قيد إسمه chk_book_pages.

    مثال

    ALTER TABLE books             -- books هنا قمنا بتحديد أننا نريد إجراء تعديل على بنية الجدول
    DROP CHECK chk_book_pages;    -- الموضوع على أحد أعمدته chk_book_pages هنا قمنا بتحديد أننا نريد إلغاء القيد
    		


    في قواعد بيانات SQL Server / Oracle / Access

    ALTER TABLE table_name
    DROP CONSTRAINT chk_constraint_name;
    	

    الإستعلام التالي يقوم بإلغاء قيد إسمه chk_book_pages.

    مثال

    ALTER TABLE books                  -- books هنا قمنا بتحديد أننا نريد إجراء تعديل على بنية الجدول
    DROP CONSTRAINT chk_book_pages;    -- الموضوع على أحد أعمدته chk_book_pages هنا قمنا بتحديد أننا نريد إلغاء القيد
    		
    إعلان

    Eqla3Tech.com

    شروحات مكتوبة حول لغات البرمجة و تقنية المعلومات باللغة العربية مقدمة من إقلاع تك.

    لغة جافا لغة ++C قواعد البيانات نظام ويندوز نظام لينكس الشبكات تقنية المعلومات الأمن السيبراني

    الدورات

    أدوات مساعدة

    الأقسام

    دورات
    مقالات أسئلة مشاريع كتب