Advanced Search

المحرر موضوع: سؤال حول قواعد البيانات  (زيارة 1297 مرات)

0 الأعضاء و 1 ضيف يشاهدون هذا الموضوع.

ديسمبر 14, 2002, 12:14:02 مساءاً
زيارة 1297 مرات

frh

  • عضو مبتدى

  • *

  • 14
    مشاركة

    • مشاهدة الملف الشخصي
سؤال حول قواعد البيانات
« في: ديسمبر 14, 2002, 12:14:02 مساءاً »
السلام عليكم و رحمة الله و بركاته

ما المقصود بالمنهج شبه العلاقي لقاعدة البيانات ؟
The pseudo relatioal approach to database?

و ما المقصود بشجرة الفهرس الثنائية ؟ و كيف تتم عملية الاسترجاع منها؟

و لكم جزيل الشكر

ديسمبر 15, 2002, 10:27:00 صباحاً
رد #1

River

  • عضو مبتدى

  • *

  • 9
    مشاركة

    • مشاهدة الملف الشخصي
سؤال حول قواعد البيانات
« رد #1 في: ديسمبر 15, 2002, 10:27:00 صباحاً »
Relational Databases قاعدة البيانات العلاقية

هي ببساطة قاعدة بيانات مرتبة في جداول، يعني تضع مثلا اسماء الموظفين في جدول مع ارقامهم، وتضع في جدول آخر ارقامهم مع اسماء افراد عائلاتهم، ثم تقوم بالربط بين هذين الجدولين بعلاقة هي طبعا هنا رقم الموظف

Pseudo Relational Databases قاعدة البيانات شبه العلاقية

هي مايعمد اليه المبتدئين - او المستعجلين - غالبا في بناء قاعدة بيانات، بحيث يضعون كل شيء في جدول واحد، وهذه طبعا تصميمها سريع بس ادائها سيء وبطيء

Binary tree indexing شجرة الفهرس الثنائية

هي احدى طرق البحث بعد ترتيب الاعضاء على شجره ثنائية، سميت ثنائية لان لكل عضو في هذه الشجرة عضوين تحته. مثال: اذا عند ارقام موجودة في ملف كالتالي:

6
2
8
4
فأنك للوصول الى الاربعة بطريقة البحث العادية، ستقوم بفتح الملف، قراءة اول عدد، مايساوي اربعة اذن اللي بعده وهكذا

بينما اذا كان برنامجك يعمل بطريقة شجرة الفهرس الثنائية فانه اول شيء راح يفتح الملف ويرتب الارقام في شجره، بحيث، يقرا العدد الاول وهو سته  ويضعه في راس الشجرة، ثم يقرا العدد الثاني وهو اثنين، اقل من سته اذن سيضعه في الفرع الايسر من السته، يقرا العدد الثالث وهو ثمانية اكبر من سته، اذن يضعه في الفرع الايمن من السته، الان الرقم التالي وهو اربعة، اقل من السته اذن الى الفرع الايمن، قارنها بالرقم الموجود وهو اثنين، الاربعة اكبر من اثنين اذن اذهب الى يمين الاثنين، وسيكون شكل الشجرة كالتالي:

        6
8              2
        4              


الان تأتي الخطوة الاخيرة وهي البحث، انت تبحث عن اربعة، سيقارنها بالسته، هي اقل اذن سيذهب يسارا، يقارنها بالاثنين، اكبر اذن سيذهب يمينا وسيجدها هناك، لاحظ انه في طريقة البحث العادي قمت باربع خطوات، وهنا قمت بخطوتين.

اتمنى ان يكون الشرح وافي وواضح،،،تحياتي

ديسمبر 16, 2002, 11:09:02 صباحاً
رد #2

frh

  • عضو مبتدى

  • *

  • 14
    مشاركة

    • مشاهدة الملف الشخصي
سؤال حول قواعد البيانات
« رد #2 في: ديسمبر 16, 2002, 11:09:02 صباحاً »
السلام عليكم و رحمة الله و بركاته

اخي جزاك الله كل خير , و فعلا لقد كدت افقد الامل في ان يجيب احد على سؤالي.

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

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

ايضا ما المقصود بهذا النص :

لقاعدة البيانات شبه العلائقية  الكثير مما يعتبر بساطة نسبية للملفات الخطية البسيطة كما انه له رفعاً لأداء الوصلات التي تحدث مسبقاً مع تخزين نتائج هذه الوصلات لتستخدمها الاستفسارات في المستقبل . و في الناحية الاخرى فإنه به العيب بأنه لا يوجد له علاقة حقيقية طائرة on-the-fly لإمكانية الوصول .


اما عن السؤال الثاني فشرحك واضح و مفهوم و جزاك الله كل خير .

مع تحياتي و احترامي

ديسمبر 16, 2002, 02:16:56 مساءاً
رد #3

River

  • عضو مبتدى

  • *

  • 9
    مشاركة

    • مشاهدة الملف الشخصي
سؤال حول قواعد البيانات
« رد #3 في: ديسمبر 16, 2002, 02:16:56 مساءاً »
في الحقيقة، ان من اكثر المشاكل في الكتب العربية المترجمة من كتب اجنبية هي الترجمة البحتية كلمة بكلمة وهذا مايجعل قراءتها صعبة الفهم او غير واضحة، ارجو ان تعم الفائدة وتقبل تحياتي

المقطع الاول:

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

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

ولكن في الجهة الاخرى، قاعدة البيانات شبه العلائقية تحاول قدر الامكان ان تحشر بياناتك في اقل عدد من الوحدات او الجداول مثلا، محاولا بالطبع تفادي انشاء علاقات قدر الامكان، ولكن - وهذا مايتحدث عنه المقطع المذكور - قد تحتاج احيانا لبناء اكثر من جدول او بيان وبالتالي انشاء علاقات هنا، المقطع يذكر انه للتظاهر بأنه ليس لديك علاقة تربط بين البيانات فإنك من الممكن ان تقوم بتخزين البيانات المختلفة - بعد تحديد الرابط - في بيان واحد في ملف خطي مستقل عن قاعدة البيانات، يستخدم في حال انك احتجت الوصول الى بيانات من اكثر من جدول، وراح اعطيك مثال

جدول معلومات الموظف، وجدول التابعين للموظف، هما عبارة عن بيانين مختلفين، يربطهما رقم الموظف، في قاعدة البيانات العلائقية لاتوجد مشكلة لان محرك قاعدة البيانات يمكنه الربط بين البيانين وهذا جزء من عمله، اما في قاعدة البيانات شبه العلائقية فالمحرك سينشيء بيانا جديدا يحوي المعلومات كلها مع بعض !! لتفادي محاولة الربط المتكررة مستقبلا لانه - من اسمه - يتفادى انشاء علاقات بين البيانات قدر الامكان

لقاعدة البيانات شبه العلائقية  الكثير مما يعتبر بساطة نسبية للملفات الخطية البسيطة كما انه له رفعاً لأداء الوصلات التي تحدث مسبقاً مع تخزين نتائج هذه الوصلات لتستخدمها الاستفسارات في المستقبل . و في الناحية الاخرى فإنه به العيب بأنه لا يوجد له علاقة حقيقية طائرة on-the-fly لإمكانية الوصول .

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

ديسمبر 17, 2002, 11:35:57 صباحاً
رد #4

frh

  • عضو مبتدى

  • *

  • 14
    مشاركة

    • مشاهدة الملف الشخصي
سؤال حول قواعد البيانات
« رد #4 في: ديسمبر 17, 2002, 11:35:57 صباحاً »
بعد التحية

اشكرك جدا على هذا الشرح القيم و الواضح

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

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

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

ملف البائعين فيه
رقم السجل   رقم البائع    اسم البائع  العمولة  
1          137      محمد       10
2          186      على        15
3          204      اسامة       10
4          361      مراد        20

ملف العملاء

رقم السجل   رقم العميل    رقم البائع
1          0121      137
2          0839      186
3          0933      137
4          1047      137
5          1525      361
6          1700      361
7          1826      137
8          2198      204
9          2267      186

الشكل التالي ملف وصل link - file يحدد اي السجلات من ملفات البائعين و العملاء مرتبطة مع بعضها . بالطبع فإن طريقة ارتباط السجلات تتماشى مع مفهوم الوصل . مثال ذلك السجل رقم 1 من ملف البائعين به القيمة 137 لحقل رقم البائع كذلك . و بالمناسبة مع مفهوم الوصل فان السجل يتم انتاجه في ملف الوصل في الشكل التالي
و الذي يحدد ان السجل رقم 1 لملف البائعين و السجل رقم 1 لملف العملاء مرتبطين ببعضهما , في واقع الامر يحتوي ملف الوصل هذا على سجل لكل خليط من سجلات ملفي العملاء و البائعين التي لها نفس القيمة لحقل رقم البائع .

رقم سجل البائع    رقم سجل العميل
1                 1
1                 3
1                 4
1                 7
2                 2
2                 9
3                 8
4                 5
4                 6


سؤالي : هل المقصود بملف الوصل ما ذكرته حضرتك سابقاً تخزين البيانات المختلفة -بعد تحديد الرابط - في بيان واحد في ملف خطي مستقل عن قاعدة البيانات ؟ اي هنا الملف الاخير يتم فيه وضع جميع سجلات الجدولين السابقين ( في البداية اعتقدت انه يتم تكرار الحقل فقط في  ملف مستقل ) اي هل ينتج جدول بهذا الشكل

رقم البائع     رقم العميل   اسم البائع    العمولة
137        0121
137        0839
137        1047
137        1826
186        0839
186        2267
204        2198
361        1525
361        1700

فهل هذا المقصود بقاعدة البيانات شبه العلائقية , تكوين ملف ثالث به جميع بيانات الملفين المراد ربطهم و التعامل معه اثناء فترة التشغيل و من ثم تخزين التغييرات في الجدولين الاصليين .
ام ان الجدول الثالث يتم تكوينه في مرحلة التصميم ؟؟


اخي ارجو ان تعذرني لكثرة اسئلتي و لكن الموضوع حيرني و حضرتك شرحت و اوضحت لي الكثير فجزاك الله كل خير

ديسمبر 17, 2002, 02:57:23 مساءاً
رد #5

River

  • عضو مبتدى

  • *

  • 9
    مشاركة

    • مشاهدة الملف الشخصي
سؤال حول قواعد البيانات
« رد #5 في: ديسمبر 17, 2002, 02:57:23 مساءاً »
السلام عليكم وحمة الله وبركاته
اخي العزيز، جزاك الله كل خير على كلماتك الجميلة وللمعلومية فأن هذه المشاركة ليست لي وحدي فأنه هناك صديق ساعدني والفضل بعد الله يرجع له، وبكل صدق هذه المشاركة افادتني كذلك،،

الاجابة هي انه ليس من الضروري ان يحتوى الجدول الجديد على كل البيانات، يكفي فقط مفتاح الجدولين Primary key  ان يكون موجودا في الجدول الثالث، لانه باستخدام المفتاحين ستستطيع استخلاص بقية البيانات حتى من غير اقامة علاقة جديدة اخرى.

ارجو ان لا تتردد في الاستفسار,,,

شكراً لك وللقائمين على هذا المنتدى الجميل.

اخوكم: River

ديسمبر 19, 2002, 10:44:31 صباحاً
رد #6

frh

  • عضو مبتدى

  • *

  • 14
    مشاركة

    • مشاهدة الملف الشخصي
سؤال حول قواعد البيانات
« رد #6 في: ديسمبر 19, 2002, 10:44:31 صباحاً »
تحية طيبة و بعد

اكرر شكري لك و لكل من ساعدك للرد على اسئلتي و طبعا في المقدمة الشكر للقائمين على هذا المنتدى .

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

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

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

و لك الشكر مقدماً

ديسمبر 22, 2002, 03:43:12 مساءاً
رد #7

River

  • عضو مبتدى

  • *

  • 9
    مشاركة

    • مشاهدة الملف الشخصي
سؤال حول قواعد البيانات
« رد #7 في: ديسمبر 22, 2002, 03:43:12 مساءاً »
السلام عليكم ورحمة الله وبركاته، اسف على التأخير.....

الجملة الاولى صحيحة - مع قليل من الإضافة، في الشبه علائقية "قد" تحتاج لتكوين جدول جديد يحوي:
- حقل يربط الجدولين
- بقية الحقول عبارة عن نسخة من الجداول الاخرى
 
وقد لاتحتاج، يمكنك فقط تكوين جدول واحد هو المهم، وتضيف البيانات من الجداول الأخرى الى هذا الجدول
 
بعض الشرح الأوفى تجده في هذه الصفحة:
 
http://omega.cohums.ohio-state.edu:8080/hyper-l.....1.html
 
قاعدة البيانات شبه العلائقية هي قاعدة بيانات علاقية مع بعض الاختصار، اما بخصوص قاعدة البيانات الهرمية والشبكية فأنهما قديمتان ويقتصر تشغيلهما على الحاسبات الكبيرة وذلك لانهما يتطلبان حجم كبير من الذاكرة وعادة تتطلب احدى اللغات لبرمجتها. كذلك فهي اكثر كفاءة من قواعد البيانات الاخرى وتتعامل مع كم كبير جدا من المعلومات.
تحياتي..