إعلان
دورة تطوير التطبيقات باستخدام لغة 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 وضع قيم إفتراضية للحقول

    مفهوم القيم الإفتراضية

    عند إضافة سطر جديد في أي جدول, كنا نلاحظ أن الحقول التي لا نضيف فيها قيم يتم إظهار القيمة Null للإشارة إلى أنها فارغة.
    إذاً, القيمة الإفتراضية لأي حقل هي القيمة Null.

    في حال أردت وضع قيمة إفتراضية يتم إعطاءها للحقل الفارغ بدلاً من القيمة Null, يمكنك تحديد القيمة التي تريد وضعها بشكل إفتراضي عند تعريف العمود.

    ملاحظة: عند وضع قيمة إفتراضية يجب مراعاة نوع القيم التي يمكن تخزينها في الجدول, فمثلاً إن كان نوع الجدول INT يجب أن تختار قيمة إفتراضية نوعها INT مثل الرقم 0 و ليس قيمة من نوع آخر مثل الكلمة 'Empty' لأنه بالمنطق لا يمكنك تخزين نص في حقل مخصص لتخزين رقم.


    الشكل العام لإستخدامه

    ALTER TABLE table_name (
    	column_name datatype DEFAULT default_value
    );
    	

    • مكان الكلمة table_name نضع إسم الجدول الذي نريد إجراء تعديلات عليه.
    • مكان الكلمة column_name نحدد إسم العمود.
    • مكان الكلمة datatype نحدد نوع البيانات التي يمكن تخيزنها في العمود.
    • بعد الكلمة DEFAULT نضع القيمة الإفتراضية التي نريد وضعها للحقول الموضوعة تحت هذا العمود.

    تجهيز قاعدة البيانات التي سنطبق عليها

    قم بتنفيذ الإستعلام التالي حتى تنشئ قاعدة بيانات جديدة إسمها harmash و تنشئ فيها جدول إسمه users.
    العمود country وضعنا فيه الكلمة 'Unknown' كقيمة إفتراضية.

    الإستعلام

    -- سيتم حذفها harmash في حال كان يوجد بالأساس قاعدة بيانات إسمها
    DROP DATABASE IF EXISTS harmash;
    
    -- harmash هنا قمنا بإنشاء قاعدة بيانات جديدة إسمها
    CREATE DATABASE harmash;
    
    -- harmash هنا قمنا بتحديد أن أي إستعلام جديد سيتم تنفيذه على قاعدة البيانات
    USE harmash;
    
    -- يتألف من 4 أعمدة users هنا قمنا بإنشاء جدول جديد إسمه
    -- لأننا قمنا بتحديدها قبل إستدعاء هذا الأمر harmash سيتم إنشاء هذا الجدول بداخل قاعدة البيانات
    CREATE TABLE users (
        id         INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
        first_name VARCHAR(50),
        last_name  VARCHAR(50),
        country    VARCHAR(50) DEFAULT 'Unknown'
    );
    		

    بعد تنفيذ الإستعلام السابق في phpMyAdmin سيتم إنشاء قاعدة البيانات harmash و إنشاء الجدول users بداخلها.
    قم بالنقر على إسم قاعدة البيانات harmash من القائمة اليسرى حتى تبدأ بالتعامل معها و تطبيق ما ستتعلمه في هذا الدرس.

    مثال يوضح متى يتم إضافة القيم الإفتراضية التي وضعناها للأعمدة

    الإستعلام التالي يضيف 4 مستخدمين في الجدول users.
    بعدها يعرض كل الأسطر التي تم إضافتها في الجدول.

    الإستعلام

    -- فقط first_name مع إدخال قيمة في الحقل users هنا قمنا بإضافة سطر في الجدول
    INSERT INTO users (first_name) VALUES ("Mhamad");
    
    -- last_name و قيمة في الحقل first_name مع إدخال قيمة في الحقل users هنا قمنا بإضافة سطر في الجدول
    INSERT INTO users (first_name, last_name) VALUES ("Ayman", "Mostafa");
    
    -- مع إدخال قيم لكل الحقول الموجودة في السطر users هنا قمنا بإضافة سطر في الجدول
    INSERT INTO users (first_name, last_name, country) VALUES ("Ahmad", "Naji", "Syria");
    
    -- مع إدخال قيم لكل الحقول الموجودة في السطر users هنا قمنا بإضافة سطر في الجدول
    INSERT INTO users (first_name, last_name, country) VALUES ("Saly", "Harmush", null);
    
    -- users هنا قمنا بعرض جميع البيانات الموجودة في الجدول
    SELECT * FROM users;
    		

    سنحصل على النتيجة التالية عند تنفيذ الإستعلام.

    id first_name last_name country
    1 Mhamad NULL Unknown
    2 Ayman Mostafa Unknown
    3 Ahmad Naji Syria
    4 Saly Harmush NULL

    نلاحظ أن العمود country يظهر فيه عدة قيم من بينها القيمة NULL و القيمة الإفتراضية Unknown و سنضع قراءة تحليلة لكل سطر تم إدخاله حتى تعرف السبب.


    السطر الأول

    تم وضع القيمة NULL في الحقل last_name لأننا لم ندخل قيمة فيه.
    تم وضع القيمة Unknown في الحقل country لأنها القيمة الإفتراضية التي حددنا أنه يتم وضعها في حال لم ندخل قيمة فيه.



    السطر الثاني

    تم وضع القيمة Unknown في الحقل country لأنها القيمة الإفتراضية التي حددنا أنه يتم وضعها في حال لم ندخل قيمة فيه.


    السطر الثالث

    لم يتم وضع القيمة الإفتراضية Unknown في الحقل country لأنه تم تمرير قيمة له.


    السطر الرابع

    لم يتم وضع القيمة الإفتراضية Unknown في الحقل country لأنه تم عمداً تمرير القيمة NULL في الإستعلام.

    طريقة وضع قيمة إفتراضية لعمود معرف مسبقاً في الجدول

    في حال أردت وضع قيمة إفتراضية لعمود موجود مسبقاً في الجدول, يمكنك تعديل العمود بواسطة الأمر ALTER.
    طريقة وضع القيمة الإفتراضية لعمود تم تعريفه مسبقاً, تختلف من قاعدة بيانات لأخرى و لكن الفكرة هي نفسها تماماً.


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

    ALTER TABLE table_name
    MODIFY column_name datatype DEFAULT 'default_value'; 
    	

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

    ALTER TABLE table_name
    ADD CONSTRAINT df_column_name
    DEFAULT 'default_value' FOR column_name; 
    	

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

    ALTER TABLE table_name
    MODIFY column_name DEFAULT 'default_value'; 
    	

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

    ALTER TABLE table_name
    ALTER COLUMN column_name SET DEFAULT 'default_value'; 
    	

    مثال

    في حال أردنا وضع الكلمة Missed كقيمة إفتراضية للحقل last_name في أي سطر جديد يتم إضافته, نكتب الإستعلام كالتالي في قواعد بيانات MySQL.

    الإستعلام

    ALTER TABLE users                                 -- users هنا قمنا بتحديد أننا نريد إجراء تعديل على بنية الجدول
    MODIFY last_name VARCHAR(50) DEFAULT 'Missed';    -- 'Missed' الإفتراضية إلى last_name هنا قمنا بتحديد أننا نريد تغيير قيم العامود
    		

    طريقة إلغاء القيمة إفتراضية التي وضعناها للعامود

    في حال أردت عدم وضع قيمة إفتراضية للعامود, أي إلغاء وضع القيمة الإفتراضية التي وضعتها سابقاً للعامود. يمكنك تعديل العمود بواسطة الأمر ALTER.
    طريقة غلغاء القيمة الإفتراضية للعامود, تختلف من قاعدة بيانات لأخرى و لكن الفكرة هي نفسها تماماً.


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

    ALTER TABLE table_name
    ALTER column_name DROP DEFAULT;
    	

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

    ALTER TABLE table_name
    ALTER COLUMN column_name DROP DEFAULT;
    	

    مثال

    في حال أردنا عدم وضع قيمة إفتراضية لقيم العمود country, نكتب الإستعلام كالتالي في قواعد بيانات MySQL.

    الإستعلام

    ALTER TABLE users              -- users هنا قمنا بتحديد أننا نريد إجراء تعديل على بنية الجدول
    ALTER country DROP DEFAULT;    -- country هنا قمنا بتحديد أننا نريد إزالة القيمة الإفتراضية الموضوعة على العامود
    		
    إعلان

    Eqla3Tech.com

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

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

    الدورات

    أدوات مساعدة

    الأقسام

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