منتديات ناروتو

هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

منتديات لكل الشباب ملتقي العرب للتقنية


    تعلم SQL Statement خطوة فخطوة

    الكليلي
    الكليلي
    .
    .


    ذكر
    عدد الرسائل : 580
    العمر : 50
    الموقع : https://nj3m.hooxs.com
    العمل/الترفيه : مهندس كيميائي / رياضي
    المزاج : رايق
    تاريخ التسجيل : 19/11/2007

    تعلم SQL Statement خطوة فخطوة Empty تعلم SQL Statement خطوة فخطوة

    مُساهمة من طرف الكليلي 25/8/2008, 12:05 am

    بسم الله الرحمن الرحيم

    الحمد لله رب العالمين والصلاة والسلام على أشرف خلقه محمد وعلى آله وصحبه الميامين وسلم تسليما كثيرا

    توكلنا على الله العلي القدير ونبتدئ بدروس لغة الاستعلامات المهيكلة Sql ، وهي خالصة سائغة لعيون مرتادي فنان سات الغالي جعله الله عامرا بإدارته وأهله الطيبين .

    أود في البداية أن أوضح بعض الأمور :
    1ـ ستكون المحاضرات في أيام الأحد والثلاثاء والخميس من كل اسبوع ، ويمكنكم الرد على المشاركات في أي يوم .
    2 ـ ستكون هناك تمارين أرجو من جميع المشاركين محاولة حلها بأنفسهم ، كي نعرف الى ماذا وصلنا ونقدر مقدار الاستفادة .
    3 ـ سيكون هناك امتحان شامل في فترات أحددها لاحقا ، وهذه الامتحانات وسيكون هناك تقدير وعلامات لكل امتحان .
    4 ـ سيكون السرد في المحاضرات مبسطا وسهلا للغاية وسأعتمد Sql Plus 8 في كتابة المحاضرات ، وهي شبيهة كل الشبه ببقية بيئات كتابة تعليمات Sql .
    5 ـ أرجو من الجميع تقويمي ومسامحتي في حال ارتكبت أي خطأ فلا أدعي كمال العلم ، فالكمال لله وحده سبحانه وتعالى ، {سبحانك لا علم لنا إلا ما علمتنا } .
    6 ـ سأتطرق فقط الى لغة Sql أي فقط الى طريقة كتابة التعليمات البرمجية ولن أتطرق الى طريقة إنشاء النماذج والتقارير فهذا له ميدان آخر وإن شاء الله سنطرقه في وقته .

    أطلت عليكم كثيرا ، واستنفذت منكم الصبر ، اصبروا وصابروا وأنتم الأعلون ، وإن شاء الله ستكون أول محاضرة في المشاركة المقبلة .
    الكليلي
    الكليلي
    .
    .


    ذكر
    عدد الرسائل : 580
    العمر : 50
    الموقع : https://nj3m.hooxs.com
    العمل/الترفيه : مهندس كيميائي / رياضي
    المزاج : رايق
    تاريخ التسجيل : 19/11/2007

    تعلم SQL Statement خطوة فخطوة Empty رد: تعلم SQL Statement خطوة فخطوة

    مُساهمة من طرف الكليلي 25/8/2008, 12:05 am

    المحاضرة الأولى : المقدمة
    تعتبر لغة SQL هي مختصر لـ (Structured Query Language) ، وتعني لغة الاستعلامات المهيكلة ، وهي مجموعة من الايعازات التي يستخدمها النظام والمستخدمين لإنشاء وتعديل والوصول الى البيانات الموجودة ضمن نظام أوراكل .

    ويمكن تقسيم أوامر SQL الى ثلاثة أقسام رئيسة وهي :
    1 ـ لغة تعريف البيانات DDL وهي مختصر Data Definition Language : إذ يقتصر عمل هذه اللغة على الجداول وحقولها فقط دون التعرض للبيانات التي بداخل الجداول . وتحتوي بشكل رئيس على ثلاث مجموعات من الأوامر وهي :
    أ ـ ( CREATE TABLE ) يستخدم لإنشاء الجداول
    ب ـ ( ALTER TABLE ) يستخدم للتعديل على جدول منشأ سابقاً .
    ج ـ ( DROP TABLE ) يستخدم لحذف جدول منشأ سابقا .

    2 ـ لغة تعديل البيانات DML وهي مختصر Data Manipulation Language : وتعمل هذه الأوامر على البيانات التي بداخل الجداول ، وتحتوي على أربع أوامر وهي :
    أ ـ ( INSERT INTO ) يستخدم لإدخال البيانات إلى الجداول .
    ب ـ ( UPDATE ) يستخدم لتحديث بيانات الجدول .
    ج ـ ( DELETE ) يستخدم لحذف بيانات من الجدول .
    د ـ ( SELECT ) يستخدم للاستعلام عن بيانات معينة في الجدول .

    3 ـ لغة التحكم بالبيانات DCL وهي مختصر Data Control Language : وتحتوي على أمرين اثنين هما :
    أ ـ (GRANT) أمر إعطاء الامتيازات والصلاحيات .
    ب ـ (REVOKE) أمر منح الامتيازات والصلاحيات .

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


    ذكر
    عدد الرسائل : 580
    العمر : 50
    الموقع : https://nj3m.hooxs.com
    العمل/الترفيه : مهندس كيميائي / رياضي
    المزاج : رايق
    تاريخ التسجيل : 19/11/2007

    تعلم SQL Statement خطوة فخطوة Empty رد: تعلم SQL Statement خطوة فخطوة

    مُساهمة من طرف الكليلي 25/8/2008, 12:07 am

    المحاضرة الثانية :

    بسم الله الرحمن الرحيم

    لغرض تشغيل بيئة SQL*Plus8.0 اذهب الى القائمة start ثم all Programs ثم الى sql*plus8.0 ، وإذا كنت تستخدم أي إصدار آخر من هذا النظام فيمكنك الاستعانة به ، أو إذا كنت تستخدم أي بيئة أخرى غير أوراكل فهي تفي بالغرض لأن التشابه بينها شديد جدا ما عدا بعض الجزئيات الصغيرة جدا التي لا تعيق عملنا .

    عند التشغيل يظهر لك مربع حوار يطلب منك ادخال اسم المستخدم User name وكلمة المرور Password ، وفي الحقيقة فهو يسألك عن اسم المستخدم وكلمة المرور كي يتيح لك الولوج الى نظام أوراكل بصفة مدير لقاعدة البيانات والتي يمكنك عن طريقه الحصول على كافة السماحيات ويمكنك من تعريف حساب مستخدم جديد مع كلمة مرور خاصة به ، كما تستخدم لإعطائك بعض السماحيات مثل الاتصال والإضافة والحذف والتعديل والاستعلام .

    أدخل اسم المستخدم system ، وكلمة المرور manager .

    أو يمكنك إدخال اسم مستخدم scott ، وكلمة المرور tiger .

    عندها يظهر لك المحث الخاص بكتابة تعليمات وإيعازات SQL كما يلي :


    SQL>

    والآن سنتلم كيفية إنشاء مستخدم خاص بك .
    عرفنا سابقاً أن لغة DCL هي المسؤولة عن ذلك باستخدام الامرين grant و revoke ، وحتى نستطيع انشاء مستخدم جديد ، سنحتاج حالياً للأمر grant ، لإعطاء صلاحيات العمليات له ..وفيما يلي خطوات إنشاء مستخدم جديد ومنحه بعض الصلاحيات والامتيازات .
    1 ـ الاتصال بنظام أوراكل باستخدام الأمر التالي :


    SQL> connect system

    فيسألك عن كلمة المرور عندها أكتب manager .
    ويمكنك اختصارا أن تكتبها كما يلي :


    SQL> connect system / manager

    فتظهر لنا العبارة التي تشير الى اتمام عملية الاتصال :


    Connected


    2 ـ ننشئ اسم متسخدم جديد وكلمة مرور خاصة به باستخدام الأمر التالي :


    SQL> create user USERNAME identified by PASSWORD;

    فإذا أردنا إنشاء مستخدم باسم fannan وكلمة مرور sat ، نكتب ما يلي :


    SQL> create user fannan identified by sat;

    ولا تنسى كتابة الفارزة المنقوطة في نهاية الجملة كي يتم التنفيذ .
    عندها تظهر لنا العبارة التي تشير الى إنشاء المستخدم :


    User created


    3 ـ ثم نعطي صلاحيات الاتصال بالمستخدم الجديد ، ذلك أنك في الخطوة السابقة قمت بإنشاء المستخدم ولكن لم تتصل به ، وعليك أن تتصل بهذا المستخدم كما يلي :


    SQL> grant connect to USERNAME;

    ولغرض الاتصال بالمستخدم fannan نكتب ما يلي :


    SQL> grant connect to fannan;

    فتظهر لنا العبارة التي تشير الى نجاح الاتصال :


    Grant succeeded


    4 ـ السماح للمستخدم بإنشاء الجداول وحذفها وتعديلها ، ذلك أن في الخطوة السابقة قمت بالولوج الى المستخدم ولكن لم إعطاء الصلاحية لإنشاء الجداول وتعديلها ، ويتم ذلك كما يلي :


    SQL> grant resourse to USERNAME;

    ولغرض اعطاء السماحيات لـ fannan نكتب ما يلي :


    SQL> grant resourse to fannan;

    فتظهر لنا العبارة التي تشير الى نجاح الاتصال :


    Grant succeeded


    الى هنا تمت عملية الولوج الى النظام وانشاء مستخدم وإعطاء الصلاحيات له ، وسنكمل في الدروس المقبلة بقية المحاضرة
    الكليلي
    الكليلي
    .
    .


    ذكر
    عدد الرسائل : 580
    العمر : 50
    الموقع : https://nj3m.hooxs.com
    العمل/الترفيه : مهندس كيميائي / رياضي
    المزاج : رايق
    تاريخ التسجيل : 19/11/2007

    تعلم SQL Statement خطوة فخطوة Empty رد: تعلم SQL Statement خطوة فخطوة

    مُساهمة من طرف الكليلي 25/8/2008, 12:09 am

    بسم الله الرحمن الرحيم
    المحاضرة الرابعة

    نستعرض هنا الطريقة الثانية لإنشاء الجدوال وهي طريقة نسخ الجدول Copied table ، وفي هذه الطريقة لا نحتاج الى تعريف الحقول أو أنواعها لأننا سنقوم بنقلها من جدول آخر منشأ سابقا ، والصيغة العامة لذلك هي :

    SQL> create table NEW_TABLE_NAME
    (NEW_FIELDS_NAME) as select (OLD_FIELDS_NAMES)
    from OLD_TABLE_NAME;
    إذ أن :
    NEW_TABLE_NAME : اسم الجدول الجديد المراد إنشاؤه .
    NEW_FIELDS_NAME : الأسماء الجديدة للحقول المختارة من الجدول القديم .
    OLD_FIELDS_NAMES : أسماء الحقول المختارة من الجدول القديم .
    OLD_TABLE_NAME : اسم الجدول القديم المختارة منه الحقول .

    فإذا أردنا إنشاء جدول اسمه buy من الجدول الذي إنشئ في المحاضرة السابقة والذي اسمه shop ونختار منه الحقلين subject و price ، نقوم بالآتي :

    SQL> create table buy (B_subject, B_price) as select (subject, price)
    from shop;

    عنجها نحصل على العبارة التالية دلالة على إنشاء الجدول :
    Table created.

    وللتأكد من إنشاء الجدول أكتب الأمر التالي :
    SQL> desc buy;

    ونتيجة لذلك سيظهر لنا التالي :
    Name Null? Type
    --------------------------------------------- ---------- -----------
    B_subject varchar2(50)
    B_ price number(7,2)
    الكليلي
    الكليلي
    .
    .


    ذكر
    عدد الرسائل : 580
    العمر : 50
    الموقع : https://nj3m.hooxs.com
    العمل/الترفيه : مهندس كيميائي / رياضي
    المزاج : رايق
    تاريخ التسجيل : 19/11/2007

    تعلم SQL Statement خطوة فخطوة Empty رد: تعلم SQL Statement خطوة فخطوة

    مُساهمة من طرف الكليلي 25/8/2008, 12:10 am

    بسم الله الرحمن الرحيم
    المحاضرة الخامسة

    مثال محلول : أنشئ حسابا خاصا لك ثم أنشئ جدولا يتكون من ثلاثة حقول هي (الاسم ، الراتب ، التاريخ) .

    الحل :
    connect system/manger;
    create user Hary identified by Lary;
    grant connect to Hary;
    grant resource to Hary;
    create table SAL
    (
    names varchar2(50),
    salary number(10,3),
    dates date
    );

    الشرح :
    1. الاتصال بالنظام بصفة مدير قاعة البيانات .
    2. إنشاء اسم مستخدم هاري وكلمة المرور لاري ز
    3. السماح بالاتصال بهاري .
    4. السماح لهاري بإنشاء الجدول .
    5. إنشاء جدول اسمه SAL .
    6. فتح قوس لحقول الجول .
    7. الحقل الأول اسمه names ونوعه varchar2 ويتسع لخمسين حرف .
    8. الحقل الثاني اسمه salary ونوعه number ويتسع لعشر مراتب ثلاثة منها بعد الفارزة .
    9. الحقل الثالث اسمه dates ونوعه date .
    10. تم إغلاق قوس الحقول وإنهاء تعليمة إنشاء الجدول .


    تمرين 1 : أنشئ جدولا لادخال البيانات المتعلقة بجواز السفر .
    تمرين 2 : أنشئ جدولا بالاعتماد على الجدول السابق باختيار حقل الاسم وتاريخ اصدار الجواز وتاريخ انتهاءه .

    أرجو من الجميع المشاركة في حل التمرينين أعلاه
    الكليلي
    الكليلي
    .
    .


    ذكر
    عدد الرسائل : 580
    العمر : 50
    الموقع : https://nj3m.hooxs.com
    العمل/الترفيه : مهندس كيميائي / رياضي
    المزاج : رايق
    تاريخ التسجيل : 19/11/2007

    تعلم SQL Statement خطوة فخطوة Empty رد: تعلم SQL Statement خطوة فخطوة

    مُساهمة من طرف الكليلي 25/8/2008, 12:10 am

    المحاضرة الثالثة :

    بسم الله الرحمن الرحيم

    نتطرق الآن الى القسم الأول من أوامر DDL وهو الأمر (Create table) أي إنشاء جدول ، ويمكن إنشاء جدول بطريقتين :
    1 ـ new table : أي انشاء جدول جديد .
    2 ـ copied table : أي انشاء جدول جديد بالاعتماد على جدول قديم .

    أولا ـ إنشاء جدول جديد (Create new table):
    وتستخد الصيغة العامة التالية لذلك :
    SQL> create table TABLENAME
    (
    FIELDNAME1 FIELDTYPE,
    FIELDNAME2 FIELDTYPE,
    …..
    FIELDNAMEn FIELDTYPE
    );
    إذ أن :
    TABLENAME: تعني اسم الجدول المراد إنشاؤه ويمكن تسميته بأي اسم نريد عدا الكلمات المحجوزة ، وأن لا يزيد اسم الجدول على ثلاثين حرفا ، وأن يبدأ بحرف على الأقل ثم تبعه ما تشاء من الحروف والأرقام ، وهذه أمثلة على أسماء الجداول الصحيحة :
    cat
    scania
    M_roof
    X123
    abcdefghijklmnopqrstuvw_xzz
    وهذه أمثلة على أسماء جداول غير صحيحة مع ذكر السبب :
    Sql كلمة محجوزة
    12xy يبدأ برقم
    Woman_I_can_hardly_express_my_mixed أكثر من ثلاثين حرف

    FIELDNAME : اسم الحقل والرقم في نهاية العبارة يشير الى رقم الحقل ، وتنطبق نفس شروط اسم الجدول على اسم الحقل .

    FIELDTYPE : نوع الحقل والمقصود به هو نوع البيانات المخصصة للحقل فيما اذا كانت أرقاما أو حروفا أو تواريخ أو غيره . وأهم أنواع الحقول هي :

    1 ـ CHAR : وتعني رمز وتتسع لـ 2000 رمز كحد أقصى سواء كان حرفا أو رقما ، علما بأن الرقم يعامل معاملة الحرف فلا يخضع لعمليات الحساب ، مثال :
    Id char(5),
    وتعني أننا أنشأنا حقلا باسم id ونوع بياناته هو char وخصصنا خمسة رموز له فقط ، فإذا أدخلت القيمة (asdfgh) في هذا الحقل سيعطيك خطأ ، لأنك أدخلت ستة رموز .

    2 ـ VARCHAR : ويستخدم لخزن بيانات حرفية ويتسع لـ 4000 بايت كحد أقصى ، مثال :
    car_name varchar(10),
    وتعني أننا أنشأنا حقلا باسم car_name ونوع بياناته هو varchar وخصصنا عشرة رموز له فقط ، فإذا أدخلت القيمة (ford) في هذا الحقل فإنه يقبلها ولكنه لا يقبل (mitisubishi) لأنه أكثر من عشرة حروف .

    3 ـ VARCHAR2 : وهي نفس النوع الذي في النقطة الثانية مع الفارق أنه لو أدخل البيانة (ford) فإنه سيحجز فقط اربعة حروف ، في حين أن النوع السابق سيوف يحجز عشرة حروف في كل الأحوال وعليه فإن هذا النوع varchar2 هو المفضل في الاستخدام .

    4 ـ NUMBER (I) : وتعني رقم وهو لا يقبل الحروف وإنما يقبل الأرقام الصحيحة فقط ، ويكون طول الحقل اختياري ، مثال :
    price number(5),
    وتعني أننا أنشأنا حقلا باسم price ونوع بياناته هو number وخصصنا خمسة خانات له فقط ، فإذا أدخلت القيمة (115200) في هذا الحقل سيعطيك خطأ ، لأنك أدخلت ستة ارقام .

    5 ـ NUMBER (I,J) : وتعني نفس السابق ولكنه يقبل الأرقام الحقيقة ذات الفاصلة مثل 5.23 ، ويكون طول الحقل اختياري ، مثال :
    quant number(7,3),
    وتعني أننا أنشأنا حقلا باسم quant ونوع بياناته هو number وخصصنا سبعة خانات له ثلاثة منها فقط للأرقام بعد الفاصلة ، فإذا أدخلت القيمة (2.5678) في هذا الحقل سيعطيك خطأ ، لأنك أدخلت أربعة ارقام بعد الفاصلة .

    6 ـ RAW : يستخدم لخزن بيانات ثنائية ، وأقصى طول له هو 2000 بايت .
    7 ـ DATE : يستخدم لخزن بيانات من نوع التاريخ (يوم ، شهر ، سنة ) .
    8 ـ LONG : يستخدم لخزن البيانات النصية ، والتي يصل طولها إلى 2 جيجا بايت .

    وهناك أنواع أخرى لسنا بحاجة إليها الآن ، سنذكرها في حينها .

    والآن سننشئ جدولا على طريقة إنشاء جدول جديد ، وقبل أن ننشئ الجدول يجب أن نعرف ما هي حقوله ، حاليا ليكن جدولا بسيطا يتكون من الحقول الآتية (معرف id ، المادة subject ، الكمية quant ، السعر price ) ، وبما أن الجدول هو عبارة عن جدول مشتريات لذلك سندعوه shop ، وبتطبيق الصيغة العامة لإنشاء الجدول يكون لدينا ما يلي :
    SQL> create table shop
    (
    id number(5),
    subject varchar2(50),
    quant number(7,3),
    price number(7,2)
    );
    شرح الجملة البرمجية :
    السطر الأول : أنشأنا جدولا باسم shop ولاحظ أن نهاية السطر لا يحوي أية فارزة دلالة على أن الجملة البرمجية لم تنتهي فهناك ما يتبعها في السطر اللاحق .
    السطر الثاني : تم فتح القوس الذي يحوي بداخله على جميع الحقول الخاصة بالجدول .
    السطر الثالث : الحقل الأول اسمه id ونوعه رقمي وتم تخصيص خمس خانات له فقط ولاحظ أنه ينتهي بفارزة دلالة على أنها فاصلة بين الحقول .
    السطر الرابع : الحقل الثاني اسمه subject ونوعه حرفي وتم تخصيص 50 خانة له .
    السطر الخامس : الحقل الثالث اسمه quant نوعه رقمي وتم تخصيص سبعة خانات له ثلاثة منها تم تخصيصها لتكون على يمين الفاصلة العشرية .
    السطر السادس : الحقل الرابع اسمه price نوعه رقمي وتم تخصيص سبعة خانات له اثنتان منها تم تخصيصها لتكون على يمين الفاصلة العشرية ولاحظ أنه في نهاية هذا السطر لا توجد فاصلة دلالة على أنه لا توجد حقول بعده .
    السطر السابع : تم إغلاق القوس ووضع بعده الفاصلة المنقوطة دلالة على نهاية الجملة البرمجية ، وعندها سيقوم المعالج بإنشاء الجدول . فإذا ظهرت لنا العبارة table created ، فهذا يعني أنه تم إنشاء الجدول ..

    ولغرض استعرض حقول أي جدول اكتب التعليمة التالية :
    SQL> desc TABLENAME;
    إذ أن desc هي مختصر describe أي وصف ثم يتبعه اسم الجدول ، ولغرض استعراض حقول الجدول shop نكتب التالي :

    SQL> desc shop;
    ونتيجة لذلك سيظهر لنا التالي :
    Name Null? Type
    --------------------------------------------- ---------- -----------
    id number(5)
    subject varchar2(50)
    quant number(7,3)
    price number(7,2)
    الكليلي
    الكليلي
    .
    .


    ذكر
    عدد الرسائل : 580
    العمر : 50
    الموقع : https://nj3m.hooxs.com
    العمل/الترفيه : مهندس كيميائي / رياضي
    المزاج : رايق
    تاريخ التسجيل : 19/11/2007

    تعلم SQL Statement خطوة فخطوة Empty رد: تعلم SQL Statement خطوة فخطوة

    مُساهمة من طرف الكليلي 25/8/2008, 12:11 am

    بسم الله الرحمن الرحيم
    المحاضرة السادسة :

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

    وهذه الشروط هي :
    1. Not Null : وتعني أنه يجب إدخال قيمة في الحقل ولا يمكن تركه فارغا .
    2. Unique : وتعني أن الحقل يحوي قيما فريدة غير قابلة للتكرار .
    3. Default : وتعني أنه يسمح بوضع قيمة افتراضية للحقل يمكن تغييرها عند إدخال البيانات .
    4. Check : وتعني إجراء فحص معين على الحقل .
    5. Primary Key : وتعني أن الحقل اختير ليكون مفتاحا أساسيا .
    6. Foreign Key : وتعني أن الحقل اختير ليكون مفتاحا ثانويا .

    وهناك طريقتان لكتابة تعليمات الشروط وهما :
    1. الطريقة الأولى : إنشاء الشرط على مستوى تعريف الحقل أي كتابته على نفس السطر بعد تعريف الحقل مباشرة دون أن نفصلها بأي فاصلة ، أو كتابتها في السطر الذي يلي سطر تعريف الحقل مباشرة وأيضا بدون فاصلة وهذه الطريقة تدعى In line constraint
    2. الطريقة الثانية : إنشاء الشرط على مستوى تعريف الجدول أي كتابته بعد الانتهاء من تعريف الحقول مباشرة ، وهذه الطريقة تدعى Out line constraint

    كلا الطريقتان تسريان على جميع أنواع الشروط (القيود) ماعدا الشرط من النوع الثالث (Default) الذي تسري عليه الطريقة الأولى فقط .

    والآن الى التفاصيل :
    أولا ـ Not Null : وتعني قيمة غير فارغة ، أي يجب وضع قيمة معينة في هذا الحقل وإلا فإن القيد لن يقبل بكامله إذا كانت قيمة هذا القيد فارغة ، مثال : إذا كان لدينا جدول اسمه office يتكون من الحقول (الاسم ، المهنة ، العمر) وأردنا أن يكون حقل الاسم غير فارغ فإنه يكون كالتالي :
    1. باستخدام الطريقة الأولى :
    Create table office
    (
    name varchar2(50) not null,
    job varchar2(20,
    age number(3)
    );
    نلاحظ في السطر الثالث أننا كتبنا العبارة not null بعد عبارة تعريف الحقل وبدون فاصلة ، ويمكن كتابتها كما يلي :
    Create table office
    (
    name varchar2(50)
    not null,
    job varchar2(20,
    age number(3)
    );
    أي نكتبها في السطر الذي يلي عبارة تعريف الحقل مباشرة ولاحظ أن عبارة تعريف الحقل لا تنتهي بفاصلة دلالة على أن السطر الذي يليه هو تابع له . ومن الممكن أن نكتب nt بدلا من not null اختصارا .

    2. باستخدام الطريقة الثانية :
    Create table office
    (
    name varchar2(50),
    job varchar2(20,
    age number(3),
    constrain name not null
    );
    لاحظ أننا كتبنا في السطر السادس عبارة الشرط في سطر مستقل وبعد الانتهاء من تعريف الحقول كلها وابتدأت بالعبارة constrain (أي أنشئ شرط) ثم أتبعناها باسم الحقل الذي نريد وضع الشرط عليه والذي هو الحقل name ثم كتبنا الشرط الذي هو not null .

    وللتحقق من صحة الكلام أعلاه اكتب العبارة التالية
    SQL> desc office;
    ونتيجة لذلك سيظهر لنا التالي :
    Name Null? Type
    --------------------------------------------- ---------- -----------
    name not null varchar2(50)
    job varchar2(20)
    age number(3)

    ملاحظة : بالإمكان تعريف أي عدد من الحقل على أنها حقول غير فارغة .

    ثانيا ـ Unique : وتعني قيمة فريدة (أي غير قابلة للتكرار) ، أي إن القيم المدخلة في هذا الحقل يجب أن لا تكون مكررة وإلا فإن النظام يرفض قبولها ، مثال : إذا أردنا أن يكون حقل الاسم قيمه فريدة في الجدول office فإنه يكون كالتالي :
    1. باستخدام الطريقة الأولى :
    Create table office
    (
    name varchar2(50) unique,
    job varchar2(20,
    age number(3)
    );
    ويمكن كتابتها كما يلي :
    Create table office
    (
    name varchar2(50)
    unique,
    job varchar2(20,
    age number(3)
    );
    أي نكتبها في السطر الذي يلي عبارة تعريف الحقل مباشرة ولاحظ أن عبارة تعريف الحقل لا تنتهي بفاصلة دلالة على أن السطر الذي يليه هو تابع له . ومن الممكن أن نكتب uni بدلا من unique اختصارا .

    2. باستخدام الطريقة الثانية :
    Create table office
    (
    name varchar2(50),
    job varchar2(20,
    age number(3),
    constrain name unique
    );

      مواضيع مماثلة

      -

      الوقت/التاريخ الآن هو 19/5/2024, 1:49 pm