Programming Assignment 1: Metadata Management Solved

$24.99 $18.99

Overview In this assignment, you will write a program that allows a database user to manage the metadata of their relational data. By metadata, we mean the database’s high-level information (e.g., database’s name, creation time, owner) as well as the properties of the tables (e.g., table’s names, attributes, constraints). System Design You are free (in…

5/5 – (2 votes)

You’ll get a: zip file solution

 

Categorys:

Description

5/5 – (2 votes)

Overview

In this assignment, you will write a program that allows a database user to manage the metadata of their relational data. By metadata, we mean the database’s high-level information (e.g., database’s name, creation time, owner) as well as the properties of the tables (e.g., table’s names, attributes, constraints).

System Design

  • You are free (in fact, encouraged) to come up with your own design o For instance, Sqlite3 uses one single file for each “database.”

  • Here is one possible design:

  1. One Linux directory -> a database o One regular file -> a table

Implementation

  • The program should not use an external database library or an existing SQL parser/compiler.

  • Choose your own programming language, e.g., Python, Java, C/C++, Go

  1. Please pick one that you are most comfortable/proficient with

    1. If you want to choose a language not mentioned above, please contact the TA before you start coding

  • Functionalities:

    1. Database creation, deletion

  1. Table creation, deletion, update, and query

Interface

  • A similar but simpler interface than Sqlite3

  • Examples (on a Linux terminal):

  1. # ./<your_program> <enter>

    • CREATE DATABASE db_name <enter>;

      • The shell should prompt whether the command is successful or failed

        • If failed, don’t crash but gracefully prompt why

      • Then when you check your file system, it might look like this:

        • ~/your_home_directory/cs457/pa1/db_name

  1. # ./<your_program> <enter>

    • USE db_1; CREATE TABLE test_tbl (a1 int, a2 char(9));

      • If successful, then your file system might look like this:

        • ~/your_home_directory/cs457/pa1/db1/test_tbl

2

CS457/657 Database Management Systems, University of Nevada, Reno

Programming Assignment 1: Metadata Management Solved
$24.99 $18.99