表一,区县表:
区县代码 char(6)
区县名称 char(16)
表二,乡镇表:
乡镇代码 char(6)
乡镇名称 char(16)
所属区县代码 char(6)
如上二表,表一存储区县信息,表二存储乡镇信息,表二有一字段(所属区县代码)表示该乡镇所属的区县。
数据需求:
为了数据库完整性,现设立 UNIQUE 约束。
表一,区县表:
一、只为区县代码设置约束。
二、只为区县名称设置约束。
三、为区县代码和区县名称设置联合约束。
四、为区县代码和区县名称分别设置约束。
哪种方案好呢?
我觉得第四种好些。
表二,乡镇表:
由于乡镇表乡镇代码和乡镇名称唯一的前提必须是在同一个区县代码内,所以所有约束都应该和“所属区县代码”一起建立联合约束。
根据表一的分析,建立的约束应该是两个:
由此可见,字段越多,设置约束的方案越多,不过只要围绕数据需求进行,就比较简单了。