Data Types in SQL
SQL's concept does not differ significantly from that defined in the theory book, apart from that business concerning NULL. However, the theory book equates type with the term domain used in much of the relational database literature. SQL is at odds with this equation because it uses domain for a defined subset of a given type that is not itself a type. For example, the domain WEEKDAY might be defined to consist of the values 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', and 'Saturday', but the declared type of a column defined on that domain is that on which the domain itself is defined, perhaps VARCHAR(9). Also, whereas a domain is defined by specifying a constraint (on some underlying type), a constraint cannot be used to specify a user-defined type.