Skip to content
This repository has been archived by the owner on Feb 2, 2023. It is now read-only.

A naïve C implementation of a Relational DBMS for the Algorithms and Data Structures project at Politecnico di Milano (A.Y. 2018/2019)

License

Notifications You must be signed in to change notification settings

DomenicoCacace/rdbms-api2019

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Overview

This repository contains a naïve C implementation of a Relational DBMS, as required by the project specifications.
The project is evaluated in terms of correctness (output results) and efficiency (response time and occupied memory) on public and private test cases; for this particular implementation, the final score is 29/30.

Project Description

The project goal is to implement a mechanism to monitor relationships between entities, which may change over time. The mechanism has to monitor the following events:

  • A new entity begins to be monitored
  • A monitored entity stops to be monitored
  • A new relationship is established between two monitored entities
  • An existing relationship between two monitored entities ceases to exist

The relations might not be symmetrical.

When the system receives a specific command, the application returns, for each relationship, the entity "receiving" more relationships.

Commands

The application receives commands from an input file. The possible commands are the following:

  • addent<id_ent>: adds an entity identified by id_ent to the monitored entities;
  • delent<id_ent>: removes the entity identified by id_ent from the monitored entities
  • addrel<id_orig><id_dest><id_rel>: adds a relationship, identified by id_rel, from the entity id_orig to the entityid_dest
  • delrel<id_orig><id_dest><id_rel>: removes a relationship, identified by id_rel, from the entity id_orig to the entityid_dest
  • report: prints, for each relationship, the entities having the most entering relationships
  • end signals the end of the input file

More information about the commands and the parameters syntax can be found here

About

A naïve C implementation of a Relational DBMS for the Algorithms and Data Structures project at Politecnico di Milano (A.Y. 2018/2019)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published