The functional data model (FDM) shares certain ideas with the object approach including object identity, inheritance, overloading, and navigational access. In the FDM, any data retrieval task can be viewed as the process of evaluating and returning the result of a function with zero, one, or more arguments. In the FDM, the main modeling primitives are entities (either entity types or printable entity types) and functional relationships.