smaaa. قام بنشر ديسمبر 7, 2014 قام بنشر ديسمبر 7, 2014 . السلام عليكم هذه قاعدة بيانات أنشأتها لمشروعي وموعد تسليمه بعد يومين تقسيم جداولها كما يلي مطلوب فيها استعلامات بسيطة بـ SQL ظهرت لي مشكلة بتنفيذ بعض الاستعلامات SQL مثل الـ delete & insert & update لم أعرف سببها ، هل لها علاقة بتقسيم الجداول أو طريقة الربط ؟! أرجو المساعدة بالتعديل أو باقتراح الحلول البسيطة ( لم يُسمح لي برفع قاعدة البيانات للأسف ) . .
rudwan قام بنشر ديسمبر 7, 2014 قام بنشر ديسمبر 7, 2014 أولا ماشاء الله أهنئك على هذا التصميم الممتاز للجداول الخمسة و العلاقات المتزنة ثانيا بالنسبة لسؤالك لم توضح أين المشكلة ظهرت حاول أن تكتب جملة ال SQL اذا لم تتمكن من ارفاق الملف و بالتوفيق
smaaa. قام بنشر ديسمبر 7, 2014 الكاتب قام بنشر ديسمبر 7, 2014 . أشكرك أخي على تفاعلك وشهادة أعتز بها هذا رابط للقاعدة https://www.dropbox.com/s/a0jlqndagprdej1/%D8%AD%D9%84%D9%82%D8%A9%20%D8%AA%D8%AD%D9%81%D9%8A%D8%B8%20%D9%82%D8%B1%D8%A2%D9%86.accdb?dl=0 جربت كثيرا جمل بسيطة مثل INSERT INTO tollab (2,6466,46567,1,"VALUES(6,"Ahmed","Kamal","Hasan; __________________ DELETE * FROM tollab; __________________ UPDATE tollab SET level=3 WHERE SID=5; ___________________________________________ مع العلم أن مرة واحدة استطعت فيها إضافة بيانات طالب جديدعلى جدول tollab لكن الآن لايقبل بذلك مع أني كررت نفس الطريقة كان هناك تنبيه يظهر لي حول الأمان وتمكين الوصول للمحتوى لكن لا أذكر سبب اختفائه الآن فقط ألاحظ رسالة في الشريط السفلي أنه تم منعه .
smaaa. قام بنشر ديسمبر 7, 2014 الكاتب قام بنشر ديسمبر 7, 2014 . حين فتحت البرنامج من جديد استطعت الوصول لخيارات الأمان وفعلت خيار تمكين التعديل على محتويات القاعدة ولله الحمد تم تنفيذ استعلام حذف جدول البرامج , وإدخال بيانات طالب جديد ولكن لم أستطع تشغيل استعلام تحديث كمافي الجملة التي ذكرتها في الرد السابق ! .
smaaa. قام بنشر ديسمبر 7, 2014 الكاتب قام بنشر ديسمبر 7, 2014 (معدل) . هذا التنبيه في الشريط العلوي وخيار تمكين يسمح لي بإجراء الاستعلامات بعد التمكين عندما قمت بحذف جدول البرامج تم حذفه مع كافة بيانات جدول الطلاب !!! هل هذا تنفيذ صحيح لاستعلام الحذف ؟ . تم تعديل ديسمبر 7, 2014 بواسطه smaaa.
rudwan قام بنشر ديسمبر 8, 2014 قام بنشر ديسمبر 8, 2014 حين فتحت البرنامج من جديد استطعت الوصول لخيارات الأمان وفعلت خيار تمكين التعديل على محتويات القاعدة اذا البرنامج ليس من تصميمك !!!!! عندما قمت بحذف جدول البرامج تم حذفه مع كافة بيانات جدول الطلاب !!! هل هذا تنفيذ صحيح لاستعلام الحذف ؟ لا خطأ الخطأ في نوع العلاقات , لأنه في البرنامج تم اختيار العلاقة بين الطلاب و البرامج على أنه One To Many أي بمعنى أنه تم اعتبار جدول البرامج هو الجدول الرئيسي على جدول الطلاب بالنسبة لحقل رقم البرنامج و لهذا السبب فان حذف اي سجل من الجدول البرامج سيؤدي الى حذف كل السجلات المرتبطة به في جدول الطلاب غير نوع العلاقة بين الجدولين و اختر الخيار الأول في العلاقات only include rows where the joined fields from both tables are equale و هنا المفروض أن حذف أو تعديل أي شي في جدول البرامج لن يؤثر على جدول الطلاب
smaaa. قام بنشر ديسمبر 8, 2014 الكاتب قام بنشر ديسمبر 8, 2014 (معدل) . بلى القاعدة من إنشائي على نفس الجهاز لكن التنبيه دائما يظهر بمجرد فتح برنامج Access وأرفقته برد سابق ، لا أعرف سببه ربما لأن نسخة الأوفيس 2007 عندي ليست أصلية ؟! أرفقت مخطط العلاقات هنا .. اخترت نوع العلاقة one-to-many لأن البرنامج الواحد ينضم له أكثر من طالب وكل طالب يمكنه الإنضمام لبرنامج واحد فقط ، هل التعبير بنوع العلاقة هذا خاطئ ؟ وهل تعديل علاقة يلزم مسح كامل المخطط أوتغيير ترتيب إضافة الجداول للمخطط ؟ . تم تعديل ديسمبر 8, 2014 بواسطه smaaa.
rudwan قام بنشر ديسمبر 8, 2014 قام بنشر ديسمبر 8, 2014 خترت نوع العلاقة one-to-many لأن البرنامج الواحد ينضم له أكثر من طالب وكل طالب يمكنه الإنضمام لبرنامج واحد فقط ، هل التعبير بنوع العلاقة هذا خاطئ ؟ طالما أن حقل نوع البرنامج في جدول الطلاب حقل واحد و لايقبل الا قيمة واحدة فلايمكن اختيار أكثر من قيمة واحدة للبرامج أي لن يكون هناك طريقة لاختيار أكثر من برنامج لكل طالب و عموما اختيار نوع العلاقة يتبع المقصد مما تريد للبرنامج أن يفعله اذا أردت هذا النوع من العلاقات لا باس , لكن هنا عليك أن تعرف أن أي حذف لأي سجل من جدول البرامج سيؤدي الى حذف جميع سجلات المرتبطة به من جدول الطلاب لنأخذ مثالا مبسطا على علاقة رأس بأطراف برنامج فواتير مبيعات اذا كان لدينا جدولين , جدول الفواتير ( رقم الفاتورة - رقم المورد - تاريخ الفاتورة ) جدول أصناف الفواتير ( رقم الفاتورة - رقم الصنف - الكمية - السعر ) اذا أردنا انشاء علاقة بينهما , فان أنسب نوع هو علاقة رأس بأطراف بحيث تحقق ما يلي : 1- لايمكن ادخال اي سجل في جدول أصناف الفواتير اذا لم يكن له سجل مرتبط به في جدول الفواتير 2- يمكن حذف أي سجل من جدول اصناف الفواتير ( اذا اراد الزبون الغاء صنف مثلا ممكن دون أي تأثير على غيره ) 3- و بالعكس , اذا أراد الزبون الغاء الفاتورة كلها يكفي الغاء سجلها من جدول الفواتير و تلقائيا تلغى كل الأصناف المرتبطة بها في جدول أصناف الفواتير أما في حالتك هذه , فأنا لا أرى وجود ضرورة لمثل هذه العلاقة ( ليس خطأ و لكن ليست ضرورية )
smaaa. قام بنشر ديسمبر 8, 2014 الكاتب قام بنشر ديسمبر 8, 2014 . أشكرك أذا إذا اخترت الخيار الأول من المفترض أن تصبح العلاقة 1:1 ؟ اخترت الخيار الأول لكن لم تتغير علامة المالانهاية بطرف جدول الطلاب هل حذف العلاقة وانشاؤها من جديد سيؤثر على استعلامات سابقة ؟ أعتذرعن الأسئلة لكن لم يعد بإمكاني التنبؤ بماقد يحدث بعد هذه المفاجآت .
rudwan قام بنشر ديسمبر 8, 2014 قام بنشر ديسمبر 8, 2014 هل حذف العلاقة وانشاؤها من جديد سيؤثر على استعلامات سابقة ؟ حسب نوع الاستعلام الذي عندك لكن عموما من السهل المرور على الاستعلامات و تعديلها
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.