Abstract:
|
Discovering functional dependencies is a fundamental step in the design of relational databases and in most system reengineering processes, such as system maintainability and redesign. Typically, this task has been performed over relational databases, at the logical or physical level. Those works addressing it at the logical level, often make some unrealistic assumptions (such as completeness of the data structures or attributes semantically related having similar names), while those addressing it at the physical level propose solutions that are computationally expensive, whose performance deteriorates with a large number of attributes or instances, and which cannot tolerate erroneous data. To overcome these limitations, together with the fact that data representations at the logical or physical level may miss some important data dependencies, we propose to rely instead on a conceptual representation of the domain of interest, which is readily available for many systems built according to current software rengineering practices. Specifically, we rely on conceptual schemas specified in ER or as UML class diagrams, and formalized through a domain ontology expressed in the DL-Lite Description Logic (DL). We propose an algorithm to discover functional dependencies from the domain ontology that exploits the inference capabilities of the DL, thus fully taking into account the semantics of the domain. We also provide an evaluation of our approach in a real-world scenario. |