{'fraction_non_alphanumeric': 0.018617021276595744, 'fraction_numerical': 0.0, 'mean_word_length': 5.663716814159292, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Solving Recursive Queries Using Depth First Search

Most undergraduate database courses consider Relational Algebra a fundamental prerequisite for learning relational query languages. However, relational algebra lacks of operators for solving recursive queries, and consequently, in some courses, recursive queries are treated as an optional topic. On the other hand, instructors that teach them, employ a logic paradigm approach given by Datalog. Nevertheless, some major database vendors do not follow that style. This article reports on a teaching methodology that identifies graphs associated to recursive structures in entities having unary relationships. Then, it uses depth first search to traverse the graph in order to solve recursive queries.