- Learning PostgreSQL 11
- Salahaldin Juba Andrey Volkov
- 302字
- 2021-07-02 13:11:38
Domain integrity constraint
The domain integrity constraint ensures data validity. The first step in defining the domain integrity constraint is to determine the appropriate data type. The domain data types could be an integer, real, boolean, character, text, inet, and so on. For example, the data type of the first name and email address is text. After specifying the data type, check constraints, such as the mail address pattern, need to be defined:
- Check constraint: A check constraint can be applied to a single attribute or a combination of many attributes in a tuple. Let's assume that the customer_service schema is defined as customer_id, service_id, start_date, end_date, and order_date. For this relation, we can have a check constraint to make sure that start_date and end_date are entered correctly by applying the following check: start_date is less than end_date.
- Default constraint: The attribute can have a default value. The default value could be a fixed value such as the default hourly wage of the employees, for example, $10. It may also have a dynamic value based on a function such as random, current time, and date. For example, in the customer_service relation, order_date can have a default value, which is the current date.
- Unique constraint: A unique constraint guarantees that the attribute has a distinct value in each tuple. It allows null values. For example, let's assume that we have a relation player defined as a player (player_id, player_nickname). The player uses his ID to play with others; he can also pick up a nickname, which is also unique to identify himself.
- Not null constraint: By default, the attribute value can be null. The not null constraint prevents an attribute from having a null value. For example, each person in the birth registry record should have a name.
推薦閱讀
- 大學計算機基礎(第二版)
- 軟件界面交互設計基礎
- NLTK基礎教程:用NLTK和Python庫構建機器學習應用
- 機器人Python青少年編程開發實例
- 基于差分進化的優化方法及應用
- 面向對象程序設計(Java版)
- Hands-On GPU:Accelerated Computer Vision with OpenCV and CUDA
- Mastering JBoss Enterprise Application Platform 7
- Learning FuelPHP for Effective PHP Development
- Scala Data Analysis Cookbook
- Java圖像處理:基于OpenCV與JVM
- CodeIgniter Web Application Blueprints
- 超簡單:Photoshop+JavaScript+Python智能修圖與圖像自動化處理
- Web前端開發技術:HTML、CSS、JavaScript
- 軟件設計模式(Java版)