【问题标题】:Validation table for data tables数据表的验证表
【发布时间】:2011-08-24 10:33:39
【问题描述】:
我是数据库设计的新手,遇到了一些问题。
我在 3 个数据表中有一个 职位 字段,需要使用验证表来限制值的范围。我的问题:我需要为每个数据表创建一个单独的验证表,还是我可以只使用一个并将其链接到所有 3 个数据表?
另一个问题:将 Trainees 表的可选 Health Professional 字段设置为 Null 是否更好,或者您是否建议使用具有两个值的验证表:是的,没有。
【问题讨论】:
标签:
mysql
validation
datatable
null
【解决方案1】:
是否需要为每个数据创建单独的验证表
表,还是我可以只使用一个并将其链接到所有 3 个数据表?
使用一个。其他三个表中的每一个都可以为其设置外键引用。
将可选的 Health Professional 字段设置为 Null 是否更好
对于受训者表,或者您建议进行验证
有两个值的表:是,否。
两者都没有。我认为这是一种更好的方法。
- 使用布尔列。
- 声明为
NOT NULL。
- 设置默认值。使用最常见的应用程序,或者
DEFAULT TRUE 或 DEFAULT FALSE。
如果您可以在没有 NULL 的情况下进行设计,通常情况会更好。
【解决方案2】:
在将数据插入数据库之前验证所有字符串值,如果您使用的是 php,请考虑使用:
$cc = "1234567891234567";
$max_size = 16;
$string_size = strlen($cc);
if($cc > $max_size )
{
echo "your string must be < than $max_size characters";
}