ShuhaoZhangTony / DBMS

Relational database management system

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[IN PROGRESS: Implementing Database 'select' feature]

-------------------------------------------------------------------------------

Project Overview:
    This is Project 2 from UC Berkeley's CS 61B (Spring 2017 by Professor Josh
    Hug), a massive capstone project in which you use Java to implement a
    relational database management system that a user can interact with via a
    language similar to SQL.

Full Project Specifications:
    http://datastructur.es/sp17/materials/proj/proj2/proj2.html

Score: [IN PROGRESS]
    Graded using UC Berkeley's public autograder on Gradescope.


-------------------------------------------------------------------------------

I learned how to:
    1.) Design and implement a Table structure by experimenting with different
        data structures (maps, lists, sets, arrays).
        Final design:
            LinkedHashMap<Integer, LinkedHashMap<String, String>>
                See Table.java for more details.
        Flawed design attempts:
            a.) String[][]
            b.) HashMap<String, ArrayList>
            c.) LinkedHashMap<String, LinkedHashMap<String, String>>
                This one has a subtle difference from the final design, but
                its use is too complicated to explain and eventually becomes a
                nasty problem in the join() function.
    2.) Set a standard table format (.tbl) and parse through it to add data to
        a database.
    3.) Implement a database and the corresponding management features.
    4.) Parse through and put into effect commands that the user inputs to
        interact with the database.
    5.) ...

-------------------------------------------------------------------------------

Notes to self:
    1. Stop using == to compare Strings. You must use String.equals().

About

Relational database management system


Languages

Language:Java 100.0%