relations, currentfds) numberOfTries = numberOfTries - 1 quizform = quizForms.formResultSyntheseAlgorithm( numberOfTries, numberOfSteps, relationString, fdsString, currentfds, relations, keysAndFDs, primarykeys) else: alert = views.getErrorMessageBox("Leider falsch!") quizform = quizForms.choosePrimaryKeys(numberOfTries, numberOfSteps, relationString, fdsString, currentfds, relations) inputpanel = views.inputToString(relation, currentfds, mvds, additionalFds, additionalMvds, "default", candidatekeys) if (step == '9'): additionalFds = DBnormalizer.getAdditionalFDs(fds) fds.extend(additionalFds) try: targetnf = str(form['targetnf'].value).replace(" ", "").replace( "\r", "").replace("\n", "") except KeyError: targetnf = "BCNF" if targetnf == "4NF": additionalMvds = DBnormalizer.getAdditionalMVDs( mvds + fds, relation) mvds.extend(additionalMvds) try: splitrelationIndex = int(form['splitrelation'].value) relationnumbers = str(form['relationnumbers'].value).split(",") currentrelationsStrings = str( form['currentrelations'].value).split(",")
try: primarykey = set(str(form['pk'+str(i)].value))|set(EMPTY_SET) except KeyError: primarykey = set(EMPTY_SET) primarykeys.append(primarykey) if inputValidation.validatePrimaryKeys(relations, currentfds, primarykeys): alert = views.getSuccessMessageBox("Richtig!") keysAndFDs = DBnormalizer.getKeysAndFDsMVDsOfRelations(relations, currentfds) numberOfTries = numberOfTries - 1 quizform = quizForms.formResultSyntheseAlgorithm(numberOfTries, numberOfSteps, relationString, fdsString, currentfds, relations, keysAndFDs, primarykeys) else: alert = views.getErrorMessageBox("Leider falsch!") quizform = quizForms.choosePrimaryKeys(numberOfTries, numberOfSteps, relationString, fdsString, currentfds, relations) inputpanel = views.inputToString(relation, currentfds, mvds, additionalFds, "default", candidatekeys) if (step=='9'): additionalFds = DBnormalizer.getAdditionalFDs(fds) fds.extend(additionalFds) try: targetnf = str(form['targetnf'].value).replace(" ", "").replace("\r", "").replace("\n", "") except KeyError: targetnf = "BCNF" try: splitrelationIndex = int(form['splitrelation'].value) relationnumbers = str(form['relationnumbers'].value).split(",") currentrelationsStrings = str(form['currentrelations'].value).split(",") currentrelations = [] for r in currentrelationsStrings: currentrelations.append(views.stringToRelation(r)) if splitrelationIndex == -1: if inputValidation.validateDecompositionEnd(currentrelations, fds, mvds, targetnf): alert = views.getSuccessMessageBox("Richtig!")