且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《PostgreSQL服务器编程》一一1.6 数据清洗

更新时间:2022-10-02 18:53:51

本节书摘来自华章计算机《PostgreSQL服务器编程》一书中的第1章,第1.6节,作者:(美)Hannu Krosing, Jim Mlodgenski, Kirk Roybal 著
,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.6 数据清洗

我们注意到雇员的姓名经常会出现不一致的大小写。如果通过添加约束,大小写的一致性就很容易得以加强:
《PostgreSQL服务器编程》一一1.6 数据清洗

然而,更好的办法是只要确保名字被另存为大写字母就可以了。而完成这样的操作,最简单的办法就是通过触发器:
《PostgreSQL服务器编程》一一1.6 数据清洗

现在,针对新雇员的下一个set_salary()?函数调用,将会使用大写字母的形式插入emp_name:
《PostgreSQL服务器编程》一一1.6 数据清洗

由于大写的转换发生在触发器内部,因此函数返回仍然显示为小写的名字,但是在数据库中它却是大写的:《PostgreSQL服务器编程》一一1.6 数据清洗

在修复了现存的混合大小写的emp_names之后,我们可以通过添加约束的形式,确保以后所有的emp_names都会显示为大写。
《PostgreSQL服务器编程》一一1.6 数据清洗

如果这个行为需要用于更多的地方,一个合理的做法就是定义一个新类型u_text,而这个类型一直作另存为大写形式。针对这个方法,我们将在8.6.1节中做更深入的阐述。