لديك حساب بالفعل؟ دخول
دخول  سجل الأن 
ماهي طريقه ربط اكثر من جدول mysql ؟
لنفرض ان عندي الجداول التاليه :

1. الاعضاء
2. القسم العام
3. القسم الخاص
4. المقال او الموضوع


فكيف اصمم قاعده بيانات تحوي الجداول السابقه ؟
بحيث ان المقال متفرع من القسم الخاص
والقسم الخاص متفرع من القسم العام
والاعضاء يكون فيه اسم كاتب المقال او الموضوع .
تاريخ البداية: 1 / فبراير / 2012 الساعة 23:56 اخر نشاط: 2 / فبراير / 2012 الساعة 2:3 mysql

شكرا لكم وجاري التطبيق تحياتي للجميع
2 / فبراير / 2012 الساعة 2:3

3 إجابات
هذه طريقة ربط الجدولين عن طريق المفتاح الاجنبي
alter table albumpict
add constraint ffff FOREIGN KEY (`albumid`) REFERENCES `albumt` (`albumid`) ON DELETE CASCADE;

albumpict هذا اسم الجدول الذي بهالمفتاح الاجنبي
ffff اسم القيد يكون اي اسم
albumid اسم الحقل الاجنبي
`albumt`اسم الجدول الرئيسي
albumid اسم المفتاح الرئيسي

بواسطة: Arwa
منذ: 2 / فبراير / 2012 الساعة 0:25

تعديل: MacOS
منذ: 2 / فبراير / 2012 الساعة 1:18

ان اردت استعلام واحد فقط لاحضار تفاصيل المقالة و بيانات صاحب المقالة فى وقت واحد ، نفرص ان جدول المقالة يسمى article وجدول الاعضاء يسمى author هذا استعلام لاحضار عنوان المقال فقط + اسم العضو كاتب المقال
SELECT author.name, article.title FROM
    author LEFT JOIN article ON author.id = article.author_id
    GROUP BY author.id
    ORDER BY author.id, article.date DESC

بواسطة: MacOS
منذ: 2 / فبراير / 2012 الساعة 0:14

بالنسبة للاقسام ان كان لديك قسم يسمى المقالات وبه قسم يسمى مقالات سياسية كمثال يمكنك عملها عن طريق اضافة حل رابط بينهم اى وضع حقل لحفظ رقم الجدول الاب بالجدول الفرعى.

هذا مثال لتكوين جدول الاقسام
CREATE TABLE IF NOT EXISTS `categories` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` text COLLATE utf8_bin NOT NULL,
  `parent` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=13 ;
الجدول الاب يكون حقل الـparent = 0 اما الجدول الفرعى يكون الـparent بتاعه هو رقم القسم الاب ونستعلم عنه هكذا
SELECT * FROM `categories` where `parent` = 5
حيث 5 هو مثال لرقم القسم الاب

بواسطة: molhm
منذ: 2 / فبراير / 2012 الساعة 0:10

أنشر اجابتك

xهل تريد الاجابة عن هذا السؤال؟ من فضلك سجل دخول او اشترك لتتمكن من الاجابة