قبل الاجابة على السؤال أخى عبادة لى تعليق على كلامك فلقد ذكرت انت التالى :
" اذا كان لدينا طبقة ما وتحوي بيانات في جدولها وعلى فرض انه لدي ملف اكسيل يحوي بيانات اضافية لتلك الطبقة .فيجب ان تكون الاسطر مرتبه بحيث ترتبط بشكل صحيح مع اسطر الجدول ضمن الارك ماب
بغض النظر عن نوع الحقل للاكسيل ...أي ما يهم هو ان يكون الربط صحيح .."
بالنسبة لموضوع ان الاسطر يجب ان تكون مرتبة بغض النظر عن نوع الحقل للاكسيل فهذا غير صحيح حيث ان العمود المشترك بين الجدولين يجب ان يكون من نفس النوع سواء كان Text او Integer و خلافة و من ناحية الترتيب فلا اهمية لموضوع الترتيب لان العمود المشترك هذا تكون جميع القيم بة قيم غير متكررة "Unique Values" لذلك لا يهم الترتيب حيث ياتى البرنامج باول صف بجدول الاكسيل و ياخذ القيمة الموجودة بالعمود المشترك و التى بهذا الصف و يبحث عن نظيرها فى جدول الارك فى العمود المشترك فيكون وجد الصف المناظر فيضع بة القيم المأخوذة من الاكسيل و هكذا مع جميع الصفوف لذلك لا اهمية للترتيب.
[mark=#00FF4A][moveo=left]سبحان الله و بحمده سبحان الله العظيم[/moveo][/mark]
بالنسبة للعلاقة Many To One :
دعنا نضع قاعدة و هى ان الكلمة الاولى من اى علاقة " فى حالتنا تكون Many " تكون خاصة بجدول الارك بمعنى انها Spatial Data و الكلمة الثانية من العلاقة " One " تكون خاصة بالجدول الاخر مثلا جدول الاكسيل بمعنى انها Non Spatial Data و عندما نطبق هذة القاعدة على "Many To One" نجد انة لدينا عدد من الصفوف داخل جدول الارك "جدول الطبقة" سوف نربطه بصف واحد فقط من جدول الاكسيل فمثلا فى الصورة السابقة التى كان عليها المثال نجد ان الجدول الايسر هو جدول طبقة الارك و الجدول الايمن هو جدول الاكسيل و جدول طبقة الارك بة حقل LU_Code و الذى يعنى Land_Use_Code وهو عبارة عن ارقام و ليست وصف لنوع استخدام الارض و الجدول الاخر بة حقل LU_Code ايضا و هو الرابط بين الجدولين و حقل اخر Description و بة وصف نوع الارض بالكلام و ليس ارقام لذلك عند الربط ناتى على طبقة الارك و نستخدم خاصية ال Join فيقوم البرنامج باخذ القيمة الاولى من جدول الارك من العمود المشترك و هذة القيمة هى الرقم 2 ثم يذهب الى جدول الاكسيل و يبحث فى نفس العمود المشترك عن هذة القيمة "2" و ياتى بكامل الصف الذى يحتوى على هذة القيمة و يذهب بة الى الارك و يكمل بة الصف الاول فنجد ان الصف الاول بة حقل مكتوب بة نوع استخدام الارض و هو Agriculture و يعيد البرنامج الموضوع مرة اخرى مع باقى صفوف طبقة الارك.
[mark=#00FF4A][moveo=left]سبحان الله و بحمده سبحان الله العظيم[/moveo][/mark]
.....................
اشكرك اخي جلال وما شاء الله عنك ...
أي وحسب كلامك وسوف اعرض ما فهمته بمثال ::
ليكن لدينا جدول اكسيل وعلى فرض العمود المشترك هو ارقام صحيحة ذات الترتيب التالي
1
6
2
4
5
3
وضمن الارك ماب attribute وعلى فرض ان العمود المشترك له الترتيب التالي
1
2
3
4
5
6
..........
الان اتناء الربط نختار العمودين لكن الترتيب في كليهما ليس بنفسه ...وبما ان القيم غير متكررة فاثناء الربط يقوم البرنامج تلقائيا بوضع السطر رقم 1 التابع لملف الاكسيل بجانب السطر رقم 1 التابع للارك ماب ..وايضا البقية كذلك ف2 مقابل 2 وليس 2 مقابل 6 كما في مثالي
أليس كذلك
صلى الله عليك ياسيدي يارسول الله فصلوا عليه
استفسار اخر
انت قلت سابقا عندما شرحت many to one :
(عندما نقوم بعمل Join تكون العلاقة Many to one لان عدد من صفوف جدول الطبقة التى بها Master Key تم اضافتة لصف واحد فقط من الجدول الاخر "طبعا نفس الصف")
هنا التبس وتشوش الامر
..من خلال شرحك لم ارى فرق بين one to one او many to one
ففي كلى الحالتين يرتبط صف من الاكسيل مع صف من الارك ماب ...
لكن في عبارتك انفة الذكر أفهم منها أن عدة اسطر من الاكسيل ارتبطت مع سطر واحد فقط من الارك ماب
هكذا افهم من عبارتك ؟؟؟
صلى الله عليك ياسيدي يارسول الله فصلوا عليه
فى كلا الحالتين يذهب صف واحد من الاكسيل الى طبقة الارك ماب لكن على حسب الحالة يختلف عدد صفوف جدول الارك الذى يذهب الية الصف الواحد من الاكسيل بمعنى :
1- فى حالة ont to one يذهب صف واحد فقط من الاكسيل الى صف واحد فقط من جدول الارك
2- فى حالة Many to one يذهب صف واحد فقط من الاكسيل الى عدد من الصفوف فى جدول الارك
المثال الذى ذكرتة انت أخى عبادة فى مشاركتك قبل الاخيرة هو مثال واضح و صريح على حالة one to one و المثال اخر فى الصورة تم ارفاقها " جدول ال Land use " هى مثال على العلاقة Many to one .
[mark=#00FF4A][moveo=left]سبحان الله و بحمده سبحان الله العظيم[/moveo][/mark]
2- فى حالة Many to one يذهب صف واحد فقط من الاكسيل الى عدد من الصفوف فى جدول الارك
أي انت تقصد هنا ان هنالك تكرار لنفس الرقم ضمن عمدود الارك ماب
ارك ماب :
1
2
2
2
اكسيل
1
2
3
....فهنا تكرر ضمن جدول الارك ماب رقم 2 تكرر 3 مرات ..وبالتالي سوف يذهب صف واحد من الاكسيل الى عدة صفوف من الارك ماب اي الصف 2 من الاكسيل الى صفوف 2 من الارك ماب ..
لكن ألم تقل انه يجب ان تكون القيم uniqe اي غير متكررة ..
الظاهر الامور اختلطت لدي
فانا ضعيف في قواعد البيانات وسوف اجري عدة دورات ان شاء الله
صلى الله عليك ياسيدي يارسول الله فصلوا عليه
اعتذر منك اخي جلال الان تبين ذلك ..لم انتبه في مثالك many to one ان الرقم 1 ضمن الارك ماب قد تكرر مرتين
انا اعتذر والفكرة واضحة جدا وسهلة ..
واسال الله ان يجعل ذلك في ميزان حسناتك
صلى الله عليك ياسيدي يارسول الله فصلوا عليه