Skip to content

K-Kabiri/Database-BPTree

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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های پیشرفته برای پایگاه داده

نکات تکمیلی :

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%