  The steadily growing research interest in quantum computing - together with
the accompanying technological advances in the realization of quantum hardware
- fuels the development of meaningful real-world applications, as well as
implementations for well-known quantum algorithms. One of the most prominent
examples till today is Grover's algorithm, which can be used for efficient
search in unstructured databases. Quantum oracles that are frequently masked as
black boxes play an important role in Grover's algorithm. Hence, the automatic
generation of oracles is of paramount importance. Moreover, the automatic
generation of the corresponding circuits for a Grover quantum oracle is deeply
linked to the synthesis of reversible quantum logic, which - despite numerous
advances in the field - still remains a challenge till today in terms of
synthesizing efficient and scalable circuits for complex boolean functions.
  In this paper, we present a flexible method for automatically encoding
unstructured databases into oracles, which can then be efficiently searched
with Grover's algorithm. Furthermore, we develop a tailor-made method for
quantum logic synthesis, which vastly improves circuit complexity over other
current approaches. Finally, we present another logic synthesis method that
considers the requirements of scaling onto real world backends. We compare our
method with other approaches through evaluating the oracle generation for
random databases and analyzing the resulting circuit complexities using various
metrics.
