使用视图常见的数据冗余有关问题暂述

使用视图常见的数据冗余问题暂述

1.多表连接数据出现冗余
问题描述:在数据库里,符合条件的数据记录是m条,但是通过视图得到的却是m*m条。
可能原因:表之间出现了交叉连接。
深层原因:为什么表之间出现了交叉连接呢?原因就是某个表和其他表之间没有明确的关系。

说明 写道
说明,18位的身份证号
dddddd yyyymmdd xx p y
其中dddddd为地址码(省地县三级)18位中的和15位中的不完全相同
yyyymmdd 为出生年月日
xx顺号类编码
p性别
18位中末尾的y为校验码,在网上可以找到算法

 
现在我们要从用户表的身份证号码中提取该人的省地县,但是省地县的字典表(用来存储一些常规的信息,例如省地县、性别、类型等)中没有直接和用户表直接有主外键关系,这是我们使用视图时,就会出现查询结果冗余。
解决方法:从被孤立的表中的某一字段提取部分信息,让该表和其他表构成关系。
错误例子


使用视图常见的数据冗余有关问题暂述
 
使用视图常见的数据冗余有关问题暂述
 
使用视图常见的数据冗余有关问题暂述
 


处理方法
使用视图常见的数据冗余有关问题暂述
 
结果
使用视图常见的数据冗余有关问题暂述