GitXplorerGitXplorer
j

MiniRel

public
1 stars
0 forks
0 issues

Commits

List of commits on branch master.
Unverified
576ab3d58d4d9b799864210960aebd0963f85202

added README

jjw-y committed 4 years ago
Unverified
86800f95594d9928218d063c42e548339bd93aee

added Makefile

jjw-y committed 5 years ago
Unverified
a064abc203ec0242b4f18d8da7563bc17fed47cb

init commit

jjw-y committed 5 years ago

README

The README file for this repository.

MiniRel

MiniRel is a simplified single-user relational database system for Database System course, Spring 2020, Seoul National University. It is implemented in C.

Introduction

MiniRel is composed of five layers: the buffer pool (BF) layer, the paged file (PF) layer, the heap file (HF) layer, the access method (AM) layer, and the front-end (FE) layer. The BF layer is the lowest in the layered architencture of MiniRel.

DDL, DML, Query (libfe.a)
Heap File (libhf.a) Access Method (libam.a)
Paged File (libpf.a)
Buffer Manger (libbf.a)
  • Part I (the BF layer) and Part II (the PF layer) : the implementation of code to manage a buffer pool and to manipulate files that contain a sequence of pages, respectively.
  • Part III (the HF layer) : the implementation of heap file management to provide the abstraction of random and sequential access to fixed-length records stored in files.
  • Part IV (the AM layer) : the implementation of B+-tree index structure to speed up associative access to records.
  • Part V (the FE layer) : the implementation of data definition language (DDL), data manipulation language (DML), and query language as well as catalog management

How to Run

make clean
make

This will generate five function libraries: libbf.a, libpf.a, libhf.a, libam.a and libfe.a

To test each library,

make clean
make XXtest
XXtest