Isomorphism (computer science)
From Wikipedia, the free encyclopedia
- For other uses of isomorphism, see isomorphism (disambiguation).
In computer science, an isomorphism is a strict one-to-one correspondence between two sets of entities. This usage is a generalization of the more rigorous mathematical concept of isomorphism; most computer science isomorphisms would be called bijections by mathematicians.
The term is also often used descriptively ("customers are isomorphic to licenses"), and in this context may be subject to exceptions ("...but new customers don't get their licenses for thirty days"). The widespread use of computer systems has drawn this general use of the term isomorphic into more common parlance.
Examples of isomorphism in software engineering include:
- object instances, when sharing a common name or other identifier
- class attributes or methods, when they correspond (e.g. in polymorphism)
- data structure members, e.g. when related via a union
- dataset records, sharing a common primary key
- table rows, related via a one-to-one inner join or relational union operation
Isomorphism plays an important role in referential integrity and other concepts used with databases and data structures.