关系数据库进阶概念与映射指南
1. 关系表数据缺失处理
在使用关系表时,无需使用空值来表示缺失数据,只需省略必要的行即可。例如,若 PersonsInSites 表中没有 Site 列值为 320 的行,那就意味着没有人在 320 号站点(巨石阵)工作过。
2. 额外的数据库概念
关系数据库是一项成熟的技术,一些关系数据库管理系统(RDBMS)功能丰富,我们可能无法完全利用。这里介绍两个可能有用的概念。
2.1 索引
当预计某列会频繁用于搜索或排序时,可以对其进行索引。索引是一种伴随表的数据结构,它预先计算必要的信息,从而使对索引列的搜索和排序更快。例如,如果经常按名称搜索或排序站点,可对 Sites 表的 Name 列进行索引。当然,为了提高性能,可以对多个列甚至所有列进行索引。但要注意,索引虽然能提升搜索和排序性能,但在添加新行、修改或删除现有行时会降低性能。通常需要进行一些试验测试,以找到一个好的平衡点。系统会自动对主键进行索引,而外键不会自动索引,但由于外键常用于查找行,所以也可以对其进行索引。
2.2 约束和验证规则
大多数 RDBMS 允许为列分配约束,以限制可存储的值。最常见的约束是可空性,即指定列的数据是否可以为空。通常,必须始终有值的列应定义为不可为空,而可能有值也可能为空的列应定义为可为空。可为空的列通常在数据类型说明旁边标注。
其他类型的约束也是可能的,但不同的 RDBMS 有所不同。大多数 RDBMS 允许为文本列设置最大长度,
超级会员免费看
订阅专栏 解锁全文
1142

被折叠的 条评论
为什么被折叠?



