Oracle’s function-based indexes can be used to build conditional uniqueness on table columns. Here’s a working example of a conditional unique index on multiple columns.
Database Design
The design of an overall database system, including the choice of data structures, identifying data relationships and defining models on the basis of these relationships.