ما هي نماذج لتخزين شجرة الهياكل و ما هي خصائصها ؟

StackOverflow https://stackoverflow.com/questions/27850

  •  09-06-2019
  •  | 
  •  

سؤال

حتى الآن لقد واجهت الجوار قائمة مجموعات متداخلة و فترات متداخلة نماذج لتخزين شجرة الهياكل في قاعدة البيانات الخاصة بنا.أنا أعرف هؤلاء جيدا بما فيه الكفاية و هاجروا الأشجار من واحد إلى آخر.

ما هي شعبية أخرى النماذج ؟ ما هي خصائصها ؟ ما هي موارد جيدة (الكتب, على شبكة الإنترنت, الخ) على هذا الموضوع ؟

أنا لا أبحث عن db التخزين ولكن أود أن توسيع معرفتي على الأشجار بشكل عام.على سبيل المثال, أنا أفهم أن مجموعات متداخلة/فترات خاصة مواتية قواعد البيانات العلائقية التخزين و قد سألت نفسي, هل هم في الواقع سيئة الاختيار في سياقات أخرى ؟

هل كانت مفيدة؟

المحلول

المنوي الموارد من أجل هذه هي الفصول من 28 إلى 30 من SQL على Smarties.

(لقد أوصى هذا الكتاب كثيرا أعتقد Celko يدين لي الإتاوات الآن!)

نصائح أخرى

الاختلاف هو حيث يمكنك استخدام مباشر الهرمية التمثيل (أي.الرابط الرئيسي في عقدة) ، ولكن أيضا تخزين مسار القيمة.

ie.دليل الشجرة التي تتكون من التالي:

C:\
   Temp
   Windows
       System32

سيكون لديك في العقد التالي

Key     Name     Parent     Path
1       C:                  *1*
2       Temp       1        *1*2*
3       Windows    1        *1*3*
4       System32   3        *1*3*4*

مسار فهرسة, وسوف تسمح لك بسرعة تفعل الاستعلام التي تلتقط عقدة وجميع الأطفال دون الاضطرار إلى التعامل مع النطاقات.

ie.العثور على C: emp وجميع الأطفال:

WHERE Path LIKE '*1*2*%'

هذا التمثيل هو المكان الوحيد الذي يمكنني أن أفكر فيها تخزين id في سلسلة مثل هذا حسنا.

@lassevk: هذه المادة يتحدث عن النهج الخاص بك في المزيد من التفاصيل و توفر التعليمات البرمجية المتكررة.

ويساعد هذا الأمل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top