Skip to content

Latest commit

 

History

History
113 lines (61 loc) · 5.07 KB

README.md

File metadata and controls

113 lines (61 loc) · 5.07 KB

TreeProjects

به نام پروردگار هدایت کننده به راه راست

دانشگاه اصفهان

ساختمان داده – دکتر رمضانی

پاییز ۰۲-۰۳

پروژه چهارم - سیستم پایگاه‌ داده

طراحان پروژه : امیرعلی گلی – علی ابراهیمی

مبحث : درخت

اهداف پروژه :

  • کار با ساختمان داده درخت
  • پیاده‌سازی عملیات‌های پرکاربرد درخت
  • آشنایی با پایگاه داده‌ها

در این پروژه قرار است با استفاده از درخت B-Tree یک سیستم پایگاه داده را شبیه‌سازی کنید.

توضیحات پروژه

1- مقدمه

شما در ابتدا باید ساختمان داده B-Tree را به صورت کامل و با توابع مورد نیاز و عملیات Self-Balancing پیاده سازی کنید. سپس با استفاده از این ساختمان داده سیستم مدیریت پایگاه داده پیاده سازی کنید که برای عملیات جستجو، افزودن و حذف بهبود ایجاد می‌کند.

این پروژه به عنوان یک پایگاه داده جهت ذخیره و مدیریت اطلاعات انواع مختلف داده‌ها با استفاده از B-Tree طراحی شده است. در واقع کلیدها و ایندکس های پایگاه داده شما، همان نودهای B-Tree هستند که سرعت دسترسی به خانه های پایگاه داده را با استفاده از سرچ درختی افزایش می‌دهند.

توضیحات کامل پیاده سازی و کاربردهای B-Tree را می‌توان از لینک مطالعه نمود.

همچنین برای آشنایی با پایگاه‌داده‌ها و نحوه کارکرد آن ها می‌توانید از لینک‌های زیر استفاده کنید :‌

2- ویژگی‌ها

2-1- ایجاد و مدیریت جداول

• ایجاد جداول با ویژگی‌های مختلف مانند نام، نوع داده‌ها، و اطلاعات دیگر.

• افزودن، حذف و به‌روزرسانی رکوردها در جداول.

2-2- پشتیبانی از انواع داده‌ها

• پشتیبانی از انواع مختلف داده‌ها از جمله عددی، رشته، و تاریخ.

• مدیریت اطلاعات با دقت و صحت.

2-3- ایجاد و مدیریت ایندکس‌ها

• پیاده‌سازی ایندکس‌ها با استفاده از B-Tree برای بهبود عملیات جستجو و مرتب‌سازی.

• ایجاد ایندکس‌های اصلی، یکتا و غیر یکتا.

2-4- پشتیبانی از B+ Tree (امتیازی)

• امکان استفاده از B+ Tree به جای B-Tree به عنوان بخش امتیازی.

• بهبود عملکرد درخت به ویژه برای عملیات بازه‌ای و جستجوهای پیچیده.

3- ساختار پروژه

پروژه به چندین بخش اصلی تقسیم می‌شود:

1- بخش BTree:

• پیاده‌سازی اصلی B-Tree با روش‌های افزودن، جستجو و حذف.

• مدیریت توازن درخت.

2- بخش DatabaseTable:

• پیاده‌سازی جدول پایگاه داده با امکانات مدیریت رکوردها و ایندکس‌ها.

• پشتیبانی از انواع داده‌ها و مدیریت اطلاعات.

3- بخش Index:

• پیاده‌سازی ایندکس‌ها با استفاده از B-Tree یا B+ Tree (امتیازی).

• ایجاد ایندکس‌های اصلی، یکتا و غیر یکتا.

ویژگی‌های امتیازی:

  • گرافیک
  • استفاده از B+Tree بجای B Tree معمولی
  • پیاده سازی Queryهای پیشرفته برای پایگاه داده

نکات تکمیلی :

  • این پروژه بصورت گروه های دونفری باید پیاده سازی شود.
  • بستر پیاده سازی پروژه روی گیت‌هاب می‌باشد.
  • سعی کنید هریک از بخش‌ها را در یک کامیت جداگانه انجام دهید.
  • رعایت اصول کدنویسی تمیز بخش بسیار زیادی از نمره را به خود اختصاص می‌دهد و درصورتی که کد کاملا به شکل غیراصولی پیاده سازی شده باشد. تحویل گرفته نمی‌شود.
  • استفاده از هر زبان، فریمورک و رابط‌های گرافیکی کاملا آزاد است. ( به غیر از زبان و فریمورک های پایتون )
  • به افرادی که از تکلنولوژی‌های جدید استفاده کنند، توکن تمدید اضافه‌تر داده خواهد شد.