diff --git a/Relation.h b/Relation.h index 222b8a5..8aadaf7 100755 --- a/Relation.h +++ b/Relation.h @@ -7,10 +7,41 @@ using namespace std; //NOT DONE class Relation { //a table with rows and columns - string name; - vector< Attribute > att; + string name; //The title the user gives it + vector< Attribute > att; //A vector of the columns + public: Relation(); - Relation(vector< Attribute > a) { att = a; } - void addTuple(vector< Attribute > tuple); -}; \ No newline at end of file + + //constructor + Relation(string n, vector< Attribute > a) { + name = n; + att = a; + } + + void addTuple(vector< string > tuple) { + + //Loop through the attribute columns + for(int i = 0; i < att.size(); i++) { + + //Loop through the elements in the i'th column + for(int j = 0; j < att[i].values.size(); j++){ + + //In this column, at this element's spot, assign an element from the tuple vector to this spot + (att[i].values[j]).assign(tuple[i]); + } + } + } + + void displayTableName() { + cout << "The table name is: " << name << endl; + } + + vector< Attribute > getAttributes(){ + return att; + } + + int getSize() { + return att.size(); + } +};