Beispiel #1
0
void Relation::project(map<int, string>& variables)
{
	set<Tuple> newTuples;
	Scheme newScheme;
	Tuple t;

	for (auto& v : variables){
		newScheme.addAttribute(scheme.getAttributes().at(v.first));
	}

	for (auto& tup : tuples){
		for (auto& v : variables)
		{
			t.addAttValue(tup.at(v.first));
		}
		if (variables.size() > 0){
			newTuples.insert(t);
			t.clear();
		}
	}

	tuples = newTuples;
	scheme = newScheme;
	setName("project");
}
Beispiel #2
0
void Database::setTupleAttributeValues(Tuple& tuple, int i)
{
	for (int j = 0; j < Facts[i].getParameterList().size(); j++){
		tuple.addAttValue(Facts.at(i).getParameterList().at(j).getValue());
	}
}