ربط حدولين ببعضهما في قاعدة بيانات اكسس ؟ كيف ؟
#1
السلام عليكم ورحمة الله

اخواني الكرام كيف افكر في حالتي هذه بارك الله فيكم,,

كما ترون في الصورة عندي قاعدة بيانات,, وبها جدولين,,

[صورة: 31081158.png]

الأول هو باس1 و الثاني هو باس2

وكما ترون في الجول فإنه برنامج لتصحيح التلاوة ان شاء الله,,

يعني من خلال البرنامج يقوم المعلم بإضافة طالب جديد,, من خلال ادخال ارعة معلومات وهذه المعلومات هي نفسها معلومات الموجودة في الباس1 ,,, عن ادخال هذه المعلومات يصبح الطالب مسجّل,,

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

ولكن المشكلة هي التالي,,

عند اضافة اسم كل شئ تمام,, ولكن الإسم سيتكرر مرة واحدة,, يعني سيكون الإسم مسجل مرة واحدة في الجدول الذي بإسم باس 1,,

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

نعم ولهذا كتبت ال User في الباس1 و الباس2,,,

ولكن كيف يمكنني ان اربط بينهما بطريقة حتى يتقق المطلوب ؟
هل يكفي relation في الأكسس وكيف يتم هذا ؟ + هل احتاج على عمل شئ آخر ؟

بارك الله فيكم
ان شاء الله السؤآل واضحح؟

شكرا مسبقا والسلام عليكم ورحمة الله
فرّج همّ المهمومين يا الله
اللهم فك قيد اسرانا و اسرى المسلمين
الرد
#2

في الحقيقة اخذت بعض الوقت كي استوعب السؤال "وان شاء الله اكون كذلك " كتبتها صحيحBig Grin

سؤالك ليس في البرمجة لكنه في تصميم قاعدة البيانات:p

في الحالةالتي ذكرتها ارى انه لا داعي لعمل جدولين اي ان جدول واحد به كل المعلومات عن الطالب يفي بالغرض

اما اذا اصررت على تقسيمه او واجهت حالة يجب فيها التقسيم"حسب نظم قواعد البيانات العلائقية"

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

يعني هنا يصبح الحالة كأنه يوجد 100 محمد خالد بدل من انه يوجد محمد خالد واحد ولكن قرأ 100 مرة والله اعلم,, ان شاء الله الفكرة واضحة,, + ان حجم قاعدة البيانات ستصبح كبيرة جدا,, لأنه يتم تخزين الإسم محمد خالد 100 مرة,,, وهذا ايضى احاول ان اتجنبه والله المستعان,,,

بارك الله فيك اخي على كل حال,,
وانا ما زلت صامض ان شاء الله Cool
فرّج همّ المهمومين يا الله
اللهم فك قيد اسرانا و اسرى المسلمين
الرد
#4

كون القاعدة خالية من التكرار هو من قواعد بناء"قواعد البيانات" لا خلاف في ذلك بل انها ليسة ان لم تكن

ما قصدته هو انه لم يتبقى لك الا ربط الجدولين وهذا لا يعني انك تكرر الحقل 100 مرة بل انت فقط تستدعيه 100 مرة
الرد
#5
بارك الله فيك اخي I_Tiger واتعبتك معي كثيرا,,
سامحني,,, بارك الله فيك,,

اخي الكريم,, عملت تجربة,, وفي الحقيقة هذه اول مرة اصمم قاعدة بيانات انا شخصيا,,
يعني تعاملت مع قاعدة البيانات مصبقا ولكن لم اكن انا الذي صممتها,,

ادرجتها في المرفقات وان شاء الله ان كان هناك اية ملاحظة فانا سأكون سعيدا ,,
وان لم يكن هناك ملاحظات فسأكون أسعد Cool

بارك الله فيكم جميعا,,


الملفات المرفقة
.rar   my_test_db.rar (الحجم : 10.04 ك ب / التحميلات : 61)
فرّج همّ المهمومين يا الله
اللهم فك قيد اسرانا و اسرى المسلمين
الرد
#6

لا تفهمني خطأ ولكن "رحم الله امرأ اهدى الي عيوبي" وملا حظاتي ان شاء الله ستنفعك اكثر من مديحي

هي عدة ك:

- حاول استخدام اسماء ذات معنى للجداول وكمبرمج تعرف فائدة ذلك

-في الجدول الاول البند name لا يصلح مفتاح بسبب احتمال التكرار لو وضعت id كان افظل

-عليك مراعات نوع البيانات في الحقول التالية:

age و safa7a و juzzu كان يجب ان تكون نوع البيانات "رقم"

date كان يجب ان تكون نوع البيانات "تاريخ"
الرد
#7
i_tiger كتب :
لا تفهمني خطأ ولكن "رحم الله امرأ اهدى الي عيوبي" وملا حظاتي ان شاء الله ستنفعك اكثر من مديحي

هي عدة ك:

- حاول استخدام اسماء ذات معنى للجداول وكمبرمج تعرف فائدة ذلك

-في الجدول الاول البند name لا يصلح مفتاح بسبب احتمال التكرار لو وضعت id كان افظل

-عليك مراعات نوع البيانات في الحقول التالية:

Age و safa7a و juzzu كان يجب ان تكون نوع البيانات "رقم"

date كان يجب ان تكون نوع البيانات "تاريخ"

والله يا اخي بارك الله فيك,,, وانا فاهمك 100% وبارك الله فيك وجزاك خيرا,,

كما ذكرت لك سابقا اخي ,,

إقتباس :ان كان هناك اية ملاحظة فانا سأكون سعيدا

يعني نحن هنا لنتعلم جميعا وهذا ما نريده,,,

بنسبة لملاحظاتك اخي,,

إقتباس :- حاول استخدام اسماء ذات معنى للجداول وكمبرمج تعرف فائدة ذلك

نعم,, سآخذ هذه الملاحظة بعني الإعتبار,, بصراحة هذه نقطة ضعف عندي.,,

فمثلا,, editbox1 هو الإسم الأساسي للإديت,, وان رائيت احد برامجي,, ستجد انني لم اغير اسم

مكون ابدا,, يعني كما ذكرت سابقا,, نقطة ضعف عندي هي الأسماء,,

إقتباس :-في الجدول الاول البند name لا يصلح مفتاح بسبب احتمال التكرار لو وضعت id كان افظل

حاضر اخي,, لكن كيف اضيف ID بارك الله فيك؟

لأنه فعلت هذا مرة عندما كونت قاعدة البيانات ولكن كان هذا عندما سألني البرنامج ان اردت عمل ذلك,, ولكن لم اعرف كيف اضيفها مأخرا

,, يعني بعد ما صممت القاعدة,, هل يجب تصميم القاعدة من البداية لكي استطيع فعل ذلك ؟,,

إقتباس :-عليك مراعات نوع البيانات في الحقول التالية:

خيرا ان شاء الله,, بإذن الله سأظبتها,,

بارك الله لك اخي الحبيب وشكرا كثيرا على الملاحظات اخي الكريم,,

وان كان لديك ملاحظات اكثر فأنا من النوع الذي اتقبل :p

شكرا كثيرا اخي,,

والسلام عليكم ورحمة الله
فرّج همّ المهمومين يا الله
اللهم فك قيد اسرانا و اسرى المسلمين
الرد
#8

لا يجب عليك تصميمها من جديد فقط اتبع هذه الخطوات و ان شاء الله تستفيد "القافية جائة مصادفة" Rolleyes

- افتح الجدول الاول في طريقة عرض التصميم

- اظف حقل جديد من نوع "رقم" وسمه ID

- اغلق واحفظ

- افتح الجدول الاول عادي واملئ الحقل الجديد تنازليا

- اغلق واحفظ

- افتح الجدول الاول في طريقة عرض التصميم مرة اخرى

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

- اغلق واحفظ

- اذكر الله و مبروك عليك Big Grin
الرد
#9
بارك الله فيك اخي,,, نجحت معي العملية,,

كان شكلها انها صعبة جدا جدا عندما قرأتها اول مرة Smile

لكن كانت اسهل من ما كنت اتصور,, بارك الله فيك اخي مرة اخرى,,

وشكرا كثيرا على التعاون,, Rolleyes
فرّج همّ المهمومين يا الله
اللهم فك قيد اسرانا و اسرى المسلمين
الرد
#10
على الرحب اخي
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم