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/Relation.h

55 lines
1.1 KiB
C
Raw Normal View History

2015-09-15 20:17:52 -05:00
#include <iostream>
#include <vector>
#include "Attribute.h"
2015-09-15 21:31:19 -05:00
//Functional
2015-09-15 20:17:52 -05:00
class Relation {
string name; //The title the user gives it
2015-09-15 20:55:21 -05:00
vector<Attribute> att; //A vector of the columns
2015-09-15 22:20:14 -05:00
int size;
2015-09-15 20:17:52 -05:00
public:
2015-09-17 17:14:28 -05:00
Relation(string n) {
name = n;
size = 0;
}
2015-09-15 22:18:19 -05:00
Relation(string n, vector<Attribute> a) {
2015-09-15 20:17:52 -05:00
name = n;
att = a;
2015-09-15 22:27:32 -05:00
size = a.size();
2015-09-15 20:55:21 -05:00
}
2015-09-15 20:17:52 -05:00
2015-09-17 17:14:28 -05:00
//addAttribute
2015-09-15 20:17:52 -05:00
2015-09-17 17:14:28 -05:00
string getTableName() { return name; }
vector<Attribute> getAttributes() { return att; }
int getSize() { return size; }
2015-09-15 20:17:52 -05:00
2015-09-15 23:13:28 -05:00
//assumes that all attribute titles are unique
2015-09-15 22:02:16 -05:00
void projectQuery(string input) {
2015-09-15 21:49:49 -05:00
cout << "-----------Initiated Query Projection---------" << endl;
for(int i = 0; i < att.size(); i++) {
if(att[i].getName() == input) {
cout << "Column Title: " << input << endl;
for(int j = 0; j < att[i].getSize(); j++) {
2015-09-15 22:23:41 -05:00
cout << att[i].getValues()[j] << endl;
2015-09-15 21:49:49 -05:00
}
break;
}
else
cout << "Attribute input not valid" << endl;
}
2015-09-15 20:17:52 -05:00
}
2015-09-15 21:49:49 -05:00
2015-09-15 22:02:16 -05:00
void display() {
2015-09-17 17:14:28 -05:00
cout << "--------------------------\n";
cout << name << "\n";
for (int i = 0; i < att.size(); ++i){
2015-09-15 20:36:33 -05:00
att[i].display();
2015-09-15 20:23:47 -05:00
}
2015-09-15 22:36:44 -05:00
2015-09-17 17:14:28 -05:00
cout << "--------------------------\n";
2015-09-15 22:36:44 -05:00
}
2015-09-15 20:17:52 -05:00
};