This repository has been archived on 2025-04-11. You can view files and clone it, but cannot push or open issues or pull requests.
dmspine64backup/DBEngine.h
2015-10-05 16:58:07 -05:00

36 lines
1.2 KiB
C++
Executable file

#pragma once
#include <fstream>
#include <iostream>
#include <vector>
#include "Relation.h"
//still in progress
class DBEngine{
vector<Relation> tables;
vector<string> commands;
int size;
public:
DBEngine();
void createTable(string n);
void createTable(string n, vector<Attribute> a);
void createTable(Relation r);
void insertValues(string r, vector <string> v);
vector<Relation> getRelations();
bool isRelation(string n);
Relation& getTableFromName(string n);
void saveToFile(vector<string> cmds);
Relation selection(string attName, string s, Relation r);
Relation projection(vector<string> input, Relation r);
Relation product(string s1, Relation r1, Relation r2);
void deleteRelation(string n);
void save();
void save(string n);
void storeCommands(string s);
Relation rename(vector<string> newnames, Relation &r);
Relation setUnion(Relation r1, Relation r2);
Relation setDiff(Relation r1, Relation r2);
Relation crossProduct(Relation r1, Relation r2);
Relation updateCmd(Relation r, string attNameSet, string attSet, string attNameWhere, string attWhere);
Relation deleteCmd(Relation r, string attName, string att);
};