اذهب إلى المحتوى

السؤال

نشر (معدل)

السلام عليكم ورحمة الله وبركاتة

 

اخواني احتاج شرح مبسط 

الان فرضا عندي جدول اليوزرات 

اسمه user

الاعمدة اللي فيه 

user_id

UserName

--------------------------------

جدول اخر خاص للمواضيع  نفرض اسمه item

فيه الاعمدة ( 

item_id

title

content

userid  هذا فوريجن كي FOREIGN  KEY  عشان اربطه بالموضوع  كل عضو ينزل موضوع يتم ربط الايدي الخاص بالعضو داخل جدول المواضيع 

--------------------------------

وجدول اخير اللي هو التعليقات comment

والاعمدة اللي فيه 

comment_id

content

user_id // اربطه باليوزر اللي اضاف الرد

item_id // اربطه بالموضوع اللي رد فيه 

-----------------------------

 

السؤال هنا من هو الأب 

يعني جدول اليوزرات هو الاب للتعليقات  بحيث لو انحذف اليوزر تنحذف التعليقات 

طيب لو انحذف الموضوع تنحذف التعليقات ( يعني الموضوع هو الاب ايضا للتعليقات

------------------------------------

اقتباس

 

ياليت توضيح بسيط للمسالة 

كيف اربط الموضوع باليوزرات بالتعليقات بحيث لو انحذف الموضوع تنحذف التعليقات بالكامل التابعه للموضوع 

لو انحذف العضو تنحذف كامل تعليقاته من كامل المواضيع 

 

---------------------------------------

 

احس صابني صداع نصفي مني قادر افهم الفكره 

 

 

وجزاكم الله خير مقدماً

تم التعديل في بواسطة KSA brg

Recommended Posts

  • 1
نشر
اقتباس

ياليت توضيح بسيط للمسالة 

كيف اربط الموضوع باليوزرات بالتعليقات بحيث لو انحذف الموضوع تنحذف التعليقات بالكامل التابعه للموضوع 

لو انحذف العضو تنحذف كامل تعليقاته من كامل المواضيع 

الواضح من كلامك أنك تريد أن تحذف الموضوع فبشكل تلقائى يتم حذف التعليقات المرتبطة

وأنك عند حذف المستخدم بشكل تلقائى يتم حذف الموضوعات بالإضافة للتعليقات المرتبطة به

 

إن كان هذا ما تريد فعلا فقد أجبتك أنك اثناء بناء الجدول يجب تفعيل الخاصية  DELETE CASCADE فى الجداول التى تحتوى FK المفتاح الأجنبى

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

 

أما لو كان ما تريده خلاف ذلك .. فالسؤال غير واضح بالنسبة لى

 

  • 0
نشر (معدل)

المفروض أثناء بناء الجدول تفعل الخيار الخاص بحذف الابناء بمجرد حذف الاب
 هذه الخيار اسمه CASCADE

 

مثال

CREATE TABLE supplier ( supplier_id numeric(10) not null, supplier_name varchar2(50) not null, contact_name varchar2(50), CONSTRAINT supplier_pk PRIMARY KEY (supplier_id) );

 

CREATE TABLE products ( product_id numeric(10) not null, supplier_id numeric(10) not null, CONSTRAINT fk_supplier FOREIGN KEY (supplier_id) REFERENCES supplier(supplier_id) ON DELETE CASCADE );

 

تم التعديل في بواسطة hany moh
تنسيق الاكواد
  • 0
نشر
بتاريخ 3 ساعات قال hany moh:

المفروض أثناء بناء الجدول تفعل الخيار الخاص بحذف الابناء بمجرد حذف الاب
 هذه الخيار اسمه CASCADE

 

مثال


CREATE TABLE supplier ( supplier_id numeric(10) not null, supplier_name varchar2(50) not null, contact_name varchar2(50), CONSTRAINT supplier_pk PRIMARY KEY (supplier_id) );

 


CREATE TABLE products ( product_id numeric(10) not null, supplier_id numeric(10) not null, CONSTRAINT fk_supplier FOREIGN KEY (supplier_id) REFERENCES supplier(supplier_id) ON DELETE CASCADE );

 

فعلت كل شي اضفتها UPDATE AND DELETE 

وفعلت الفورجين كي واضفته للعمود 

 

انا مشكلتي بالاستعلام JOIN

 

جعلت الموضوع اب للتعليقات بحيث التعليقات هي الابناء 

وعند حذف الموضوع تنحذف التعليقات

 

انا اريد توضيح كامل الله لايهينك 

مع مثال بسيط جدا 

وانا سأفهم الفكره 

لاني اريد ربط many To many  لعدة جداول 

 

لكن صابني صداع ولم استطع التفكير :( مع الاسف

  • 0
نشر

ربما لم يصل السؤال جيدا 

 

انا كنت اقصد 

ان جدول المواضيع هو الاب للتعليقات 

بحيث جدول التعليقات  هو من يحتوي على المفتاح الاجنبي 

وجدول اليوزرات هو الاب ايضا للتعليقات  بحيث التعليقات يحتوي على مفتاح اخر  اجنبي خاص باليوزرات 

 

الف شكر  لك لمحاولتك المساعده 

 

انا فعلا وجدت الحل  many To many 

بحيث جدول التعليقات هو الرابط بين كل الجداول 

  • 0
نشر
اقتباس
بتاريخ On 9/7/2016 at 14:42 قال KSA brg:

 

فعلت كل شي اضفتها UPDATE AND DELETE

كيف اضفت الاثنين مع بعض فى نفس العمود ؟

بتاريخ On 9/11/2016 at 15:00 قال KSA brg:

انا فعلا وجدت الحل  many To many 

بحيث جدول التعليقات هو الرابط بين كل الجداول 

هل يمكن ان نرى الصورة كاملة الان ؟
مثلا التصميم او كود انشأ قاعدة البيانات مثلا ؟

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...