بتاريخ: 4 نوفمبر 201312 سنة comment_242053 هذا الرابط سوف يفيدك Normalization rules http://www.studytonight.com/dbms/database-normalization.php أما لحل المشكلة الحالية عليك إضافة جدول ثالث يربط بين جدول الBrand وجدول الClass بعلاقة many-to-many وسيسصبح لديك 3 جداول كما يلي :(Brand(PK. brand_code, brand_name (Class(PK. class_code, class_name (Brand_Class(FK. brand_code, FK. class_code والآن اذا أردت الحصول على الكلاسات الخاصة بالبراند Dell مثلا فيكون ذلك من خلال الاستعلام التالي: )SELECT class_name FROM Class WHERE class_code IN (("SELECT class_code From Brand_Class WHERE brand_code IN (SELECT brand code FROM Brand WHERE brand_name="Dell وستكون النتيجة تبعا للصورة هي كيبوردات وماوسات تقديم بلاغ
بتاريخ: 5 نوفمبر 201312 سنة كاتب الموضوع comment_242072 متشكر جداا اخى بس كدة انا عندى سؤالين الاول- طبقا للاسكيما ديه وبعد م انشأ الجدول اللى هايربط بين الكلاس و البراند ازاى هايتم الربط بجدول item؟ وليكن مثلا انا عندى كيبورد dell فى منه usb و فى منه wireless مثلا؟هل ينفع نربط many to many عن طريق الجدول التالت ولا ايه اللى هايتم؟الثانى- لما اجى اعمل فورمه ماستر ديتيل يبن الكلاس و البراند مثلا هاخد البلكات بتاعتهم بس و لا هاخد كمان الجدول التالت اللى انشئناةمثال"انا عايز مثلا فى الفورمه الماستر اختار الكيبوردات يظهرلى تحت فى الديتيل الانواع اللى موجودة .. dell hp الخ.. تقديم بلاغ
بتاريخ: 5 نوفمبر 201312 سنة comment_242077 إجابة سؤالك الأول : طالما عندك جدول Item فلا داعي لوجود الجدول التالت Brand-Class .. عليك ربط الجدول Brand والجدول Class بالجدول Item أي أن الجدول Item هو الذي سيحل محل الجدول الثالث .. وسوف يحتوي الجدول Item على Fk من جدول Brand و FK من الجدول Class مع إلغاء العلاقة التي تربط الBrand مع الClass بالنسبة لسؤالك التاني عندما تختار كيبوردات هل تريد أن يظهر لك الأنواع متل Dell, hp..... أم تريد أن يظهر لك الأنواع مع بعض التافصيل مثلا انه الكيبودات في منها Dell وusb وفي منها Dell و wireless وفي منها hp وusb ......إلخ ؟؟؟؟ تقديم بلاغ
بتاريخ: 5 نوفمبر 201312 سنة كاتب الموضوع comment_242078 انا عايز اختار كيبوردات يظهرلى dell, hp ...... و بعد كدة انا ادوس مثلا على ال dell يظهرلى التفاصيل بتاعته master detail detail تقديم بلاغ
بتاريخ: 5 نوفمبر 201312 سنة comment_242079 عند اختيار كيبوردات مثلا وأردت ظهور الأنواع فقط Dell, Hp .... طبعا بعد إجراء التعديل السابق على الجداول عندها يمكنك استخدام الاستعلام التالي (SELECT brand_name FROM Brand WHERE brand_code IN(SELECT distinct brand_code FROM Item تقديم بلاغ
بتاريخ: 5 نوفمبر 201312 سنة كاتب الموضوع comment_242080 وكدة اغير الكود و اعمله ايتم لما احب اعرض التفاصيل التانيه صح؟ مشكور اخى انا عارف انى تقلت عليك تقديم بلاغ
بتاريخ: 5 نوفمبر 201312 سنة كاتب الموضوع comment_242081 إجابة سؤالك الأول : طالما عندك جدول Item فلا داعي لوجود الجدول التالت Brand-Class .. عليك ربط الجدول Brand والجدول Class بالجدول Item أي أن الجدول Item هو الذي سيحل محل الجدول الثالث .. وسوف يحتوي الجدول Item على Fk من جدول Brand و FK من الجدول Class مع إلغاء العلاقة التي تربط الBrand مع الClass بالنسبة لسؤالك التاني عندما تختار كيبوردات هل تريد أن يظهر لك الأنواع متل Dell, hp..... أم تريد أن يظهر لك الأنواع مع بعض التافصيل مثلا انه الكيبودات في منها Dell وusb وفي منها Dell و wireless وفي منها hp وusb ......إلخ ؟؟؟؟ طيب بالنسبه ل ديه تتعمل ازاى؟ تقديم بلاغ
بتاريخ: 5 نوفمبر 201312 سنة comment_242082 ما فهمت سؤالك ؟ شو قصدك بالتفاصيل التانية ؟ هي النوع مثلا Usb و wireless ... ؟ وهي المعلومات موجودة بأي جدول؟ Item ولا Brand ؟ العفو اسأل زي مانت عايز واعبرني متل أختك تقديم بلاغ
بتاريخ: 5 نوفمبر 201312 سنة comment_242083 إجابة سؤالك الأول : طالما عندك جدول Item فلا داعي لوجود الجدول التالت Brand-Class .. عليك ربط الجدول Brand والجدول Class بالجدول Item أي أن الجدول Item هو الذي سيحل محل الجدول الثالث .. وسوف يحتوي الجدول Item على Fk من جدول Brand و FK من الجدول Class مع إلغاء العلاقة التي تربط الBrand مع الClass بالنسبة لسؤالك التاني عندما تختار كيبوردات هل تريد أن يظهر لك الأنواع متل Dell, hp..... أم تريد أن يظهر لك الأنواع مع بعض التافصيل مثلا انه الكيبودات في منها Dell وusb وفي منها Dell و wireless وفي منها hp وusb ......إلخ ؟؟؟؟ طيب بالنسبه ل ديه تتعمل ازاى؟ حسب انت وين مخزن المعلومات زي USB و wireless .... شو هو الحقل (العمود) اللي بيحتوي القيم دي؟ تم تعديل 5 نوفمبر 201312 سنة بواسطة hilda تقديم بلاغ
بتاريخ: 5 نوفمبر 201312 سنة كاتب الموضوع comment_242084 جدول الايتم عمود اسمه model هو اللى فيه usb و wireless .......... تقديم بلاغ
بتاريخ: 5 نوفمبر 201312 سنة comment_242085 عند اختيار "كيبوردات" على سبيل المثال وتريد ظهور جميع موديلات الكيبوردات وأنواعها المتوفرة وأسعارها فسيكون من خلال الاستعلام التالي : SELECT brand_name,model,price FROM Item Join Brand ON Item.brand_code=Brand.brand_code ('WHERE class_code IN (SELECT class_code FROM Class WHERE class_name='keyboard تقديم بلاغ
بتاريخ: 5 نوفمبر 201312 سنة كاتب الموضوع comment_242086 مشكوووووووورة كتيييييييير و معلشى تعبتك معااايا هارووح اجرب بقه وربنا يستر تقديم بلاغ
بتاريخ: 5 نوفمبر 201312 سنة كاتب الموضوع comment_242104 انا جربت و طلعلى الايرور دة و غيرت فى الكود و طلعلى الايرور دة تقديم بلاغ
بتاريخ: 7 نوفمبر 201312 سنة comment_242153 أول خطأ عندك هو انه ما بصير تحط علامة يساوي "=" بالسطر الخامس ولاز تستبدلها بالكلمة المفتاحية IN تاني خطأ هو انه طريقة ربط الجداول عندك خطأ بالحالة هي الأنسب انك تستعمل ربط الجداول باستخدام تعليمة JOIN كما يلي SELECT item.model, item.price, brand.brand_name FROM item JOIN brand ON item.brand_item_code=brand.brand_code (WHERE item.class_code IN (SELECT class_code FROM class WHERE class_name=:class_name تقديم بلاغ
بتاريخ: 7 نوفمبر 201312 سنة comment_242154 التعليمة اللي عطيتك ياها شغالة عندي كويس شو البرنامج اللي عم تشتغل عليه؟ مشان الخطأ اللي بالصورة التانية جرب استبدل كلمة JOIN بـ LEFT OUTER JOIN لأنو في لغات برمجة ما بتقبل كلمة JOIN لحالها وقلي شو بصير معك تقديم بلاغ
بتاريخ: 7 نوفمبر 201312 سنة كاتب الموضوع comment_242170 لما جربت join طلعلى الايرور دة انا شغال على 11g r2 تقديم بلاغ
بتاريخ: 7 نوفمبر 201312 سنة comment_242182 بصراحة هي الأخطاء ما مرت معي أنا عم اشتغل SQL Server جرب هي آخر محاولة SELECT item.model, item.price, brand.brand_name FROM item,brand (WHERE item.class_code IN (SELECT class_code FROM class WHERE class_name=:class_name and item.brand_item_code=brand.brand_code تقديم بلاغ
بتاريخ: 9 نوفمبر 201312 سنة كاتب الموضوع comment_242273 اخر ما توصلت اليه ان انا عملت جدول اسمه مودل و ربطه بجدول الايتم و كدة بقه عندى 3 جداول مربوطين بجدول الايتم (class-brand-model) وكتبت الكود دة begin SELECT item_name,price into :item_name,:price FROM Item ;(WHERE item.class_item_code IN (SELECT class_code FROM Class WHERE class_name=:class_name ;end وكدة انا لما بكتار كلاس معين و ليكن مثلا الكيبورد بيظهرلى التفاصيل بتاعته انواعه و سعرة و الكميه و الخ...... ومتشكر كتييير على تعبك معاايا تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.