صفحة 2 من 3 الأولىالأولى 123 الأخيرةالأخيرة
النتائج 16 إلى 30 من 39

الموضوع: تعليمة SQL صعبة لم استطع بنائها .

  1. #16
    خبير سيرفرات لينكس
    تاريخ التسجيل
    Mar 1999
    المشاركات
    4,917


    ؟؟؟؟؟؟؟؟؟؟






  2. #17
    خبير سيرفرات لينكس
    تاريخ التسجيل
    Mar 1999
    المشاركات
    4,917


    ويييييييييييييييييييييييييييييييييييييييييييين






  3. #18
    عضو جديد
    تاريخ التسجيل
    Nov 2003
    المشاركات
    6


    راح أحاول أوضح قد ما أقدر
    في البداية عشان تجيب المرتبطين بالاب يكون عن طريق id الخاص بة
    الجملة
    كود:
    select * from tree where f_id=x
    مع الفرض أنة x هو id الخاص بالمستخدم الزهري
    الان نريد الاصدقاء المرتبطين وهو البرتقالي والازرق فهنا نحتاج جدول أخر لان العلاقة n-m
    يحوي الجدول حقلين هما id لنعرف عن طريقها الاصدقاء
    فنضع رقم الزهري ثم رقم البرتقالي وهذا معناة أنهم أصدقاء
    نحتاج جملتين الاولى لنحضر الصديق والاخرى لنحضر المرتبطين بالصديق
    كود:
    select * from tree where tree.f_id=( select id1 as id from relation where id2=x union select id2 as id from relation where id1=x )







  4. #19
    عضو فعال
    تاريخ التسجيل
    Jul 2003
    المشاركات
    1,576


    يمكنك أن تقوم بإنشاء جدول مثلا users وجواه :
    friends1 tinytext
    friends2 tinytext
    friends3 tinytext
    friends4 tinytext


    ويكون بالشكل التالي :
    كود PHP:
    friends1 15,66,88,99,433
    وهي أرقام العضويات ..
    وكذلك يتم التعامل بعد بقية الدرجات ..

    ولما تحب تشتغل عليهم تكسر من ال comma وتستخدم foreach



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

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





    __________________
    SWF Thumbnail - tweet me

  5. #20
    عضو شرف
    تاريخ التسجيل
    Apr 2002
    المشاركات
    1,379


    لا اعتقد ان المشكلة هي الاستعلام , المشكلة الان هي بناء الجداول , مثل هذه الجداول التى تعتبر على شكل شجرة وتفرعاتها ,مثلا برنامج شجرة العائله تحتاج الى جدولين هما:
    - جدول الفروع ايا كان يتكون من رقم الفرع واسمه فقط (رقم الشخص واسمه).
    - جدول الربط رقم الفرع + رقم الفرع المربوط فيه + (اختياري نوع الربط).

    اعتقد صار واضح, نضيف الاشخاص , ثم نربطهم ببعض في جدول الربط , سعد اب لاحمد و ناصر.
    في جدول الفروع يكون مضاف سعد , احمد , ناصر
    في جدول الربط يكون مضاف سعد+احمد(اب) - سعد+ناصر(اب) - احمد+ناصر(اخ) ... وهكذا س+ص(العلاقه)





    __________________
    ضيف الله العتيبي مبرمج حر و مهندس معتمد من زيند (ZCE)
    الاتصال: daif@daif.net او جوال: 0556639884
    الخدمات: تقديم استشارات برمجيه, تطوير بوابات/خدمات إلكترونيه للقطاع العام او الخاص .

  6. #21
    خبير سيرفرات لينكس
    تاريخ التسجيل
    Mar 1999
    المشاركات
    4,917


    طيب انا عندي جدول الاسماء وهو جدول اساسي وافتراضي وتصميمة عادي جدا
    حقل ID وحقل ال P_ID حقل الربط

    ولاان يقول الاخ ضيف يجب ان اضيف جدول اخر اخزن فية ما هية العلاقة . وهذا ما ليم يكن واضح لي رغم شرحة فحبذا لو مثال عملي . طبعا لا اطلب برمجية ولكن اطلب مثلا عملية التخزين كيف سوف تتم وما هي الحقول المفترضة

    بالنسبة لدزيان بشكل عام فهذا بالفعل ما ينقصني لان اغلب البرمجيات لا تتطلب دزاين معقد ولكن في هذا الموضوع يبرز اهمية ترتيب المدخلات بالجدول .
    اتمنى اخي ضيف ان توضح الفكرة تماما وكما تفضلت الموضوع كشجرة العائلة تماما ولكن ربما احد الفروع تزوج من احد الفروع الاخرى من الشجرة ما هي معاملتة ؟ + انت تريد ان تظهر 4 مستويات ابتادائا من اب معين . ما هية العملية التي يجب القيام بها .

    شكرا للتفاعل العلمي .






  7. #22
    عضو شرف
    تاريخ التسجيل
    Apr 2002
    المشاركات
    1,379


    الجدول الذي ذكرته علاقة واحدة فقط , اي لا يمكن من خلاله ان اضع اكثر من علاقه يعنى يجب ان يكون العنصر يرتبط مع عنصر اخر. برابط واحد , أب او ابن او اخ او ... لكن ما تريده انت يكون هذه الشخص اب لشخص وفي نفس الوقت اخ لاخر.

    ملف البينات مرفق , وكذلك الصوره التى تشرح التصميم, أرجو ان يكون واضح (الشجره من الواقع )





    الصور المرفقة الصور المرفقة  
    الملفات المرفقة الملفات المرفقة
    __________________
    ضيف الله العتيبي مبرمج حر و مهندس معتمد من زيند (ZCE)
    الاتصال: daif@daif.net او جوال: 0556639884
    الخدمات: تقديم استشارات برمجيه, تطوير بوابات/خدمات إلكترونيه للقطاع العام او الخاص .

  8. #23
    خبير سيرفرات لينكس
    تاريخ التسجيل
    Mar 1999
    المشاركات
    4,917


    مشكور جدا يا ضيف

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






  9. #24
    خبير سيرفرات لينكس
    تاريخ التسجيل
    Mar 1999
    المشاركات
    4,917


    ثانيا لا يجوز تكرار علاقة الام و الاب لانها علاقة واحدة ويجب ان تكون اب .. يعني لا يوجد بعلاقات الشجرة ام واب .






  10. #25
    خبير سيرفرات لينكس
    تاريخ التسجيل
    Mar 1999
    المشاركات
    4,917


    طيب بعد تحليل الرسم لو طلبت منك ان تعطيني كل المرتبطين مع (أحمد) ؟ شو بتعمل مع العلم ان الرسم التوضيحي كما هو مبين .


    ولو طلبت منك تعطيني كل المرتبطين مع سالم ؟

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

    حاسس ان الفكرة غلط ولكن لب الموضوع ان اضيف صديقك عندي فيصبح صديقك صديقي مع كل اصدقائة . الى 4 مستويات .
    يعني الصديق + اصدقائة + اصدقاء اصدقائة + اصدقائ اصدقاء اصدقائة .





    الصور المرفقة الصور المرفقة  

  11. #26
    عضو شرف
    تاريخ التسجيل
    Apr 2002
    المشاركات
    1,379


    لا يجوز هل تقصد شرعيا ام برمجيا لم افهم القصد .
    الجدولين السابقه تستطيع ان تبنى به شجره كائنات لاي برنامج بشكل كامل , واذا كنت تريد ان وضع خصائص لهذه الكائنات يجب عليك وضع جدول ثالث(3 حقول) يحمل رقم الفرق + الخاصيه + قيمتها.(مثل المستخدمين والمجموعات والصلاحيات)





    __________________
    ضيف الله العتيبي مبرمج حر و مهندس معتمد من زيند (ZCE)
    الاتصال: daif@daif.net او جوال: 0556639884
    الخدمات: تقديم استشارات برمجيه, تطوير بوابات/خدمات إلكترونيه للقطاع العام او الخاص .

  12. #27
    خبير سيرفرات لينكس
    تاريخ التسجيل
    Mar 1999
    المشاركات
    4,917


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

    اعطيني المسار الذي يوصلك الى حاتم . على ان يكون المعرف الذي تبدا منه هو احمد .
    ما هي التعليمة ال SQL






  13. #28
    خبير سيرفرات لينكس
    تاريخ التسجيل
    Mar 1999
    المشاركات
    4,917


    ارجو الإفادة






  14. #29
    عضو شرف
    تاريخ التسجيل
    Apr 2002
    المشاركات
    1,379


    هذه سوف يعطيك ابناء , تعليمه عاديه , ومن الناتج تستعلم عن ابنائهم على شكل دوار , او العكس تبدأ بأبن وتستعلم عن اباء.
    استعلام الحصول على الابناء التابعين لاحمد
    كود:
    SELECT pid  FROM `tree_rel` WHERE id = 3 AND tid=1;
    استعلام الحصول على الاباء التابعين لحاتم
    كود:
    SELECT id  FROM `tree_rel` WHERE pid = 7 AND tid=1;






    __________________
    ضيف الله العتيبي مبرمج حر و مهندس معتمد من زيند (ZCE)
    الاتصال: daif@daif.net او جوال: 0556639884
    الخدمات: تقديم استشارات برمجيه, تطوير بوابات/خدمات إلكترونيه للقطاع العام او الخاص .

  15. #30
    خبير سيرفرات لينكس
    تاريخ التسجيل
    Mar 1999
    المشاركات
    4,917


    اخي ضيف الطريقة المطروحة من قبلك تعتمد مبدأ الـrecursive وهو مدا جيد للقواعد الصغيرة و المتوسطة ولكن لو اردت ان تجلب ابناء ابناء ابناء احدهم فسوف نقع بمشكلة انك لكل اب نفذت تعليمة SQL للحصول على ابنائة . وهنا الخطا الشائع .

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

    بعد دراسة مستفيضة بالمجال وجدت ان أنجح طريقة هي التالية :
    http://dev.mysql.com/tech-resources/...ical-data.html

    ولكن المشكلة التي اواجهها مع هذة الطريقة انه لنفرض انه حدث تزاوج بين طرفين من الشجرة كيف سوف نحلها ؟










ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض