在DDBMS中,Vertical FragmentationHorizontal Fragmentation之间有什么区别?

难道关系的外延是纵向碎片化的,而内涵碎片化是水平碎片化的吗?

推荐答案

假设你有一个亲戚,学生.

将关系Student划分为两个集合(称为set1和set2),这样Student的一半属性在set1中,一半属性在set2中.这被称为"垂直碎片化",因为一个关系沿着列进行碎片化(类似于垂直撕裂页面).原始关系由所有集合的自然连接得到.对于自然连接,我们需要至少一个属性,该属性对所有集合都是公共的(通常是主键).

但是,如果我们的关系被分割,使得一个行子集(这里所有属性都以行的形式出现)与站点1(例如)一起出现,另一个子集与站点2一起出现,依此类推,这被称为"水平分段",而原始关系是通过取所有集合的并集来获得的.这就像水平撕开一页纸.

很明显,这是在分布式DBMS的上下文中进行的.

Database相关问答推荐

安装postgresql用于使用和调试Apache-AGE

为什么 COUNT() 只显示一行表格?

Symfony2:spl_object_hash() expects parameter 1 to be object, string given in Doctrine

有没有办法为 2 个具有不同包名称的应用程序提供 1 个 Firebase 数据库?

nodejs和数据库如何通信 ?

如何避免使用 LINQ-To-SQL 的内存泄漏?

如何获取 PostgreSQL 数据库的最后访问/修改日期?

如何在 2 个 MySQL 数据库之间传输数据?

什么是表前缀?

返回 SQLite 数据库中表大小的查询

Windows 环境下无法识别 postgres 'psql' 命令

Neo4j:逐步创建自动索引

Grails 中的 SQL/数据库视图

C++ SQL 数据库库比较

如何使用 django 判断 postgresql 数据库中是否存在某些内容?

如何在 SQL Server 中总结时间字段

SQL - 如何使用 MS SQL 2008 R2 备份数据库并导出为 MDF 文件

App=EntityFramework 在 Sql 连接字符串中有什么作用?

在一个查询中使用 group by 计算多列

在 UI 中执行业务逻辑的单元测试数据库应用程序