Ejemplo n.º 1
0
def validateDecompositionSplit(fds, mvds, splitrelation, newfirstrelation, newsecondrelation, targetnf):
	fdsInR = DBnormalizer.fdsInRelation(fds, splitrelation)
	mvdsInR = DBnormalizer.mvdsInRelation(mvds, splitrelation)
	normalforms = DBnormalizer.getNormalForms(splitrelation, fdsInR, mvdsInR)
	if targetnf == "BCNF":
		i=3
	else:
		i=4
	if not normalforms[i]:
		#splitrelation not in BCNF/4NF, user is correct so far
		return validateDecompositionSplitNewRelations(fdsInR, mvdsInR, splitrelation, newfirstrelation, newsecondrelation, targetnf)
	else:
		#splitrelation already in BCNF/4NF, user is wrong, relation must not be splitted
		return False
Ejemplo n.º 2
0
def validateDecompositionSplit(fds, mvds, splitrelation, newfirstrelation, newsecondrelation, targetnf):
	fdsInR = DBnormalizer.fdsInRelation(fds, splitrelation)
	mvdsInR = DBnormalizer.mvdsInRelation(mvds, splitrelation)
	normalforms = DBnormalizer.getNormalForms(splitrelation, fdsInR, mvdsInR)
	if targetnf == "BCNF":
		i=3
	else:
		i=4
	if not normalforms[i]:
		#splitrelation not in BCNF/4NF, user is correct so far
		return validateDecompositionSplitNewRelations(fdsInR, mvdsInR, splitrelation, newfirstrelation, newsecondrelation, targetnf)
	else:
		#splitrelation already in BCNF/4NF, user is wrong, relation must not be splitted
		return False