Dwi*_*t T 7 sql-server star-schema
星型模式中的常见做法是将表作为维度或事实表加前缀吗?将列名称作为表名前缀的常见做法是什么?
在我的普通OLTP数据库中,我没有这样做,但我在星型模式中看到了这种类型的命名示例.
为数据仓库模式和OLTP模式设置不同的命名标准是否有意义?
谢谢德怀特
表名:
列名:
仓库与OLTP命名:
tablename_column 名称约定用于确保数据库中的所有字段都是唯一的,尽管它有点过分,但可以在存在唯一命名的标准/要求(某些客户 IT 部门要求)时使用。
Product.Name => Product.Product_Name
Part.Name => Part.Part_Name
Run Code Online (Sandbox Code Playgroud)
它消除了名称来源的任何歧义。
我宁愿完全不使用前缀来命名表(假设这不会违反公司的本地标准),因为虽然今天它可能是一个表,但明天它可能会被重新实现为视图或分区视图,但会公开相同的架构,然后我将不得不接受前缀不正确的对象或更新每个人对新名称的引用/创建同义词。
虽然保持一致性往往是赢家,但如果每个 DBA/Dev 都实现自己的版本,那就会很混乱,所以我倾向于找到公司标准并应用它们。