Virtual columns made their debut in Oracle Database 11g. They are a value that’s not stored with the row, rather they are computed as queried. [DOCS]
So I could have a column of type DATE.
And I could have a virtual column of type VARCHAR2 that is computed by running a function against the previously mentioned DATE column.
How would I model this?
In your relational, or even logical design, you can set a column’s property as COMPUTED. Don’t look for a ‘Virtual’ property, you won’t find it.
Don’t provide the AS keyword, just the ‘code’ – which you’ll see once you preview the DDL.
What About in the Logical Design?
In a proper logical model, the business owners should probably know enough to know that certain values are based on the values of other attributes. So, no need to start worrying about this in the Relational model – start documenting it up front in the logical step.