我遇到了一个OLTP数据库,其中所有的表都有一个默认的行,主键的值为0,以及其他列的默认值或空值。我不确定为什么首先需要这一行?有人能解释一下零行的优点和缺点吗?
发布于 2015-06-18 09:13:59
第零行与业务规则或规范有关。例如,您有一个数据仓库,在这里您正在为客户加载数据,并且错误地您的客户没有提供任何国家名称,那么您可能需要为他提供一个默认值(可以是任何值,在您的情况下是零)。考虑下面的例子
CREATE TABLE #TestTable (
PrimaryKeyColumn INT NOT NULL ,
CONSTRAINT PK_PKC PRIMARY KEY CLUSTERED (PrimaryKeyColumn),
CountryName varchar(100))
INSERT INTO #TestTable VALUES (0,'No Country Found'),(1,'USA'),(2,'Canada')
SELECT * FROM #TestTable
DROP TABLE #TestTable我设计了一个数据仓库,其中为不同的默认场景保留了值1,2,3,4,5。我们之所以这么做,是因为无论数据是否正确,但仍然很重要。就像客户的情况,我们不知道他的国家,但我们关心的订单,他处理。
不过,我应该在评论中发布这篇文章,但由于我的声誉低于50,我已经把它作为回复发布了。
https://stackoverflow.com/questions/30910200
复制相似问题