Building a simple custom relational database (RDb) and its management system (RdbMS) Solution

$30.00 $24.00

Team Size: 3 to 4 Project Objective: By completing this project, a student will be able to describe concepts in modelling notation (e.g., Entity-Relation Diagrams or UML) and how they would be used. A student will be able to describe the most common designs for core database system components including the query optimizer, query executor,…

5/5 – (2 votes)

You’ll get a: zip file solution

 

Categorys:

Description

5/5 – (2 votes)

Team Size: 3 to 4

Project Objective:

By completing this project, a student will be able to describe concepts in modelling notation (e.g., Entity-Relation Diagrams or UML) and how they would be used. A student will be able to describe the most common designs for core database system components including the query optimizer, query executor, storage manager, access methods, and transaction processor. By completing this task, a student will be able to explain the techniques used for data replication, and allocation during the database design process

In this project, each group is required to create a light-weight relational database management system (e.g. metadata management, data structure design, data storing, retrieval, building database and logs, analysis, and security), with custom database structure for in memory operations using various data structures such as Arrays, Tree, Linked Lists etc., and custom file design for persistent storage.

Plagiarism Policy:

  • This project is a group task. Collaboration of any type (outside the assigned group) amounts to a violation of the academic integrity policy and will be reported to the AIO.

  • Content cannot be copied verbatim from any source(s). Please understand the concept and write in your own words. In addition, cite the actual source. Failing to do so will be considered as plagiarism and/or cheating.

  • The Dalhousie Academic Integrity policy applies to all material submitted as part of this course. Please understand the policy, which is available at: https://www.dal.ca/dept/university_secretariat/academic-integrity.html

Timeline and Deliverables:

Phase 1 (Feasibility Study) – (2 %)

  • Each group will work on the given problem and identify the required technologies, and list the new learning.

  • Each group will record their initial meeting logs and in addition, publish a timeline in the form gantt chart

  • Each group will submit their tentative design, and implementation plan as a 3-page written

  • document.

Submission: One 3-page report from each group must be submitted on or before

Excellent (20%)

Proficient (15%)

Marginal (10%)

Unacceptable (0%)

Completeness

All required tasks

Submission

Some tasks are

Incorrect and irrelevant

including

are completed

highlights tasks

completed, which

Citation

completion.

are disjoint in

However, missed

nature.

some tasks in

between, which

created a

disconnection

Correctness

All parts of the

Most of the given

Most of the given

Incorrect and

given tasks are

tasks are correct

tasks are

unacceptable

correct

However, some

incorrect. The

portions need minor

submission

modifications

requires major

modifications.

Novelty

The submission

The submission

The submission

There is no novelty

contains novel

lacks novel

does not contain

contribution in

contributions. There

novel

key segments,

are some evidences

contributions.

which is a clear

of novelty, however,

However, there is

indication of

it is not significant

an evidence of

application

some effort

knowledge

Clarity

The written or

The written or

The written or

Failed to prove the

graphical

graphical materials,

graphical

clarity. Need proper

materials, and

and developed

materials, and

background knowledge

developed

applications do not

developed

to perform the tasks

applications

show clear picture

applications fail to

provide a clear

of the concept.

prove the clarity.

picture of the

There is room for

Background

concept, and

improvement

knowledge is

highlights the

needed

clarity

Group Work

Evidence of group

Evidence of group

Missed meeting

No group work done.

work, meeting

work. However,

logs, failed to

Project is unacceptable

logs, Coordination

missed meeting

display group

logs, room for

coordination

improvement in

Coordination

Project Requirement

Project Requirements

In this project, you need to build a simple relational database (RDb), and its database management system (RDbMS). Your team should explore data structure concepts for creating the databases. In addition, your team should create a programming framework that can work as a RDbMS application layer. Your database should handle multi-user (2 users) requests. The database management system layer should provide a command – line interface (Graphical User Interface is not required), and perform various functionalities of relational database management system.

Expected functionalities of 5408_RDbMS_Custom(RDb)

You do not have to implement these in Phase 1; Only report is needed in Phase 1

  • Create, manage databases with at least 2 users, and provide MFA (multi-factor authentication) for users. E.g. encrypted password, and security question

  • Accepts user inputs in standard SQL format only from standard I/O console

  • Process the queries and converts those into instructions for create/delete/update/alter/select operations etc.

  • Select and implement data structures which will be used for in memory operations of the database. E.g. after query execution, the processed query will be added in a stack for execution. Once done, any permanent changes will be reflected to the custom RDb file in the persistent storage.

  • Conceptualize and implement a custom file format for persistent storage (JSON/CSV or standard file formats are not accepted).

  • Creation of various dynamic logs such as,

  1. General Logs: query execution time, state of the database (e.g. how many tables are

there with number of records at a given time)

    1. Event Logs: changes in database, concurrent transactions, crash reports, etc.

    1. Query Logs: capture user queries and timestamp of query submission

  • Depending on the design – creation of Data dictionary, metadata, and lower limit/upper limit of datatypes etc.

  • Options to specify constraints.

  • Option to create SQL Dump (table structure and values)

  • Locking for concurrency controlThe RDBMS must follow ACID properties and implementation of two-phase locking

  • ERD The RDBMS should create simple ERD from existing databases (data structure). The concept of ERD generation is identical to reverse engineering that is available on standard commercial DBMSs. However, the ERD does not have to be graphical. Information such as cardinality, entity names, relationships, and primary key, foreign key constrains should be captured on a text file as ERD.

  • Meet your team (using Teams) and discuss the strategy;

  • Capture screenshot of meetings; and write down the discussed agenda. (You do not need to keep video recordings)

  • Select a programming framework and related technologies. Provide written explanation for your selection.

o [Note: You need to use core Java programming. For in memory operation or buffers, you can only use standard data structure (e.g. arrays, linkedlists, tree etc.).

o You cannot use JSON/CSV for capturing records.

o You cannot use any external libraries or 3rd party libraries]

  • Explore Data Structure(s) that is suitable for your relational database

  • Document your plan

    1. create flowchart highlighting the operations of the DBMS 5408_RDbMS_Custom(RDb) o Write the assumptions

o Add your initial algorithms or pseudocodes

o Write initial Test cases for performing the unit tests

  • The database should handle integer, real numbers, and text data

Task for Phase 2 (Go-Live and Project Closure): Due End of Term

  • Implementation of the system

  • Performing Unit Test and Validation Test

  • Each group will submit a pre-recorded group video presentation of maximum 1 hour highlighting various components of the project, and the working model.

o The details of the pre-recorded presentation will be posted on Teams.

  • There will be a synchronous Q&A session with each group at the end of the project.

  • Detailed documentation of meeting logs screenshots, use case, test cases, pseudocode, evidence of testing, team and individual contributions, limitations etc. in the form of a final report.

  • Each group will submit a report (10 to 15pages) at the end of the final project Q&A session

Building a simple custom relational database (RDb) and its management system (RdbMS) Solution
$30.00 $24.00