数据库 – 使用冗余关系是不是很糟糕?

假设我的数据库中有以下表:

tables http://www.freeimagehosting.net/uploads/a5ef036857.png

现在我的所有查询都依赖于Company表.为每个其他表提供(冗余)关系以简化我的SQL查询是不是一种坏习惯?

编辑1:背景是框架的使用问题.见Django: limiting model data.

编辑2:没有元组会改变他的公司.

编辑3:我不写mySQL查询.我使用抽象层(django).

解决方法

这是不好的做法,因为您的冗余数据必须独立更新,因此必须冗余.一个充满潜在错误的过程. (甚至必须单独分配和维护自动级联)

通过引入此关系,您可以有效地反规范化数据库.为了提高性能,有时需要进行非规范化,但从你的问题来看,这听起来只是简化了sql.

使用其他机制来抽象数据库的复杂性:视图,存储过程,UDF

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...