إنتقال للمحتوى

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

بالنسبة لعملية ربط الجداول .. ارجو الافادة


5 رد (ردود) على هذا الموضوع

#1 essam_reyad

essam_reyad

    عضو

  • الأعضــاء
  • 12 مشاركة

تاريخ المشاركة 27 December 2005 - 08:50 AM

السلام عليكم
واجهتنى بعض الاشياء التى اريد ان افهمها
حيث اننى مبتدىء فى قواعد بيانات اوراكل

بالنسبة لموضوع ربط الجداول

لقد قمت بانشاء جدولين والمفروض ان العلاقة بينهما one to many
ولقد قمت بتعريف احد الحقول فى الجدول الاول على انه primary key
ولكن لا اعرف كيف احدد حقل فى الجدول الاخر على انه foreign key
ارجو توضيح كيفية تعريف الحقل على انه foreign key

والسؤال الثانى
ما هو الفرق بين char و varchar2
ارجو منكم الالمام بموضوع ال data type


والسؤال الثالث
الجول الاتى

SQL> desc carcate
Name Null? Type
----------------------------------------- -------- --------------
CATE_ID NOT NULL NUMBER(10)
CATE_NAME VARCHAR2(15)
BRAND_ID NUMBER(10)
CATE_PRICE NUMBER(10)

كيف استطيع ان احذف مثلا Cate_name
مع العلم اننى استخدمت alter فى التعديل و drop لحذف الجول كاملا ولكنى لا استطيع ان احذف حقل مفرد

ارجو منكم التوضيح افادكم الله
وكل الشكر للمنتدى والقائمين عليه

عصام رياض

#2 هانى سند

هانى سند

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 743 مشاركة

تاريخ المشاركة 27 December 2005 - 11:41 AM

السلام عليكم
بالنسبة للسؤال الاول و ربط الجداول
لعد ان تقوم بتحديد العلاقة بين الجدولين
قم بعمل عمود اخر في الجدول الديتيل اللي فيه الفورين كي
يكون نفس نوع بيانات العمود البرايمري كي في الجدول الاخر و نفس طول البيانات
و يفضل ان يكون نفس الاسم ثم استخدم جمله كهذه لاتمام الربط من السكول بلس
ALTER TABLE CAR ADD 
CONSTRAINT cat_id_fk
 FOREIGN KEY (CAT_ID)
 REFERENCES CARCAT (CAT_ID) 
اما السؤال الثاني و هو الفرق بين الchar and varchar2
فهو في موضوع الطول حيث ان تحديد عمود من نوع char و طوله 50
مثل
char(50)
فان الحقل سيكون طوله 50 حرف او بايت
بغض النظر عن الداتا الموجودة و عن طولها سواء كان 50 او اقل
اما الvarchar2(50)
فهي متغيرة
فال 50 هنا سيكون هو اقصي طول للداتا و لكن اذا كانت الداتا الموجودة اقل من 50 فسيشغل طول الداتا الموجودة فقط سواء 10 او 20 و هو موفر في المساحة
و لهذا اسمه var
اي متغير
و 2
لانه الفيرجن التاني من نوع البيانات هذا
و اجابة السؤال الثالث هي
لعمل دروب لكولمن يمكنك استخدام
ALTER TABLE CARCAT DROP COLUMN CAT_NAME
و لكن هذه يعتمد عل ي نسخة قاعدة البيانات فهي غير موجودة في النسخة 8
و موجودة بعد ذلك
اتمني ان تكون استفدت
بالتوفيق

تم التعديل بواسطة hanon_OCP, 27 December 2005 - 11:43 AM.


#3 essam_reyad

essam_reyad

    عضو

  • الأعضــاء
  • 12 مشاركة

تاريخ المشاركة 28 December 2005 - 05:14 AM

السلام عليكم
الاخ هانى
جزاك الله خيرا على اهتمامك بالرد على هذه الاسئلة

اخوك / عصام رياض

#4 essam_reyad

essam_reyad

    عضو

  • الأعضــاء
  • 12 مشاركة

تاريخ المشاركة 28 December 2005 - 06:51 AM

السلام عليكم الاخ هانى
لقد قمت بتطبيق سطر الكود الخاص بعمل foreign key
ولكن تتظر لى رسائل الخطا التالية
ارجو توضيح مكان الخطا
وشكر لك

عصام رياض

ملفات مرفقة



#5 هانى سند

هانى سند

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 743 مشاركة

تاريخ المشاركة 29 December 2005 - 12:49 PM

الصورة لا يظهر فيها شئ ما هو رقم رسالة الخطأ؟

#6 essam_reyad

essam_reyad

    عضو

  • الأعضــاء
  • 12 مشاركة

تاريخ المشاركة 01 January 2006 - 08:08 PM

الخطا يحدث عنذ كتابة سطر الكود الخاص بتكوين الfk
ارجو الافادة حول كيفية جعل احد الحقول foreign key

وشكرا لكم

عصام رياض