use*_*986 14 database database-normalization
为什么有损分解称为有损?我们究竟在有损分解中损失了什么?
存在关系R.它被分解为两个关系R1和R2.
如果R =(R1 JOIN R2)那么它就是无法连接分解.没关系.
如果R是(R1 JOIN R2)的子集,那么有损连接分解.
这是有损连接分解,在连接R1和R2后,我们实际上得到的记录与R相比更多.那么我们失去了什么.?
小智 33
由于我们正在处理一些实例R,该关系包含固定数量的记录.它还隐式包含有关哪些记录不存在的信息.如果R1和R2的连接产生额外记录,我们将失去信息完整性.
假设您使用以下关系R =(SSN,Name,Address):
R
SSN Name Address
1111 Joe 1 Pine
2222 Alice 2 Oak
3333 Alice 3 Pine
Run Code Online (Sandbox Code Playgroud)
设R1 =(SSN,名称),R2 =(名称,地址).
R1 R2
SSN Name | Name Address
1111 Joe | Joe 1 Pine
2222 Alice | Alice 2 Oak
3333 Alice | Alice 3 Pine
Run Code Online (Sandbox Code Playgroud)
R1和R2的连接将产生下表:
R1 join R2
SSN Name Address
1111 Joe 1 Pine
2222 Alice 2 Oak
2222 Alice 3 Pine
3333 Alice 2 Oak
3333 Alice 3 Pine
Run Code Online (Sandbox Code Playgroud)
在这个例子中丢失的信息是人2222和3333的地址.在原始关系中,R,人2222住在2橡树.在R1和R2的连接中,2222人或者住在2 Oak或3 Pine - 我们不再拥有此信息.
这是额外信息可能导致有损分解的方式.该记录中没有丢失-我们失去了什么是信息有关哪些记录在原始关系.
归档时间: |
|
查看次数: |
22336 次 |
最近记录: |