关系数据库:原理、操作与数据建模
1. 语义约束
语义完整性约束或业务逻辑约束通常描述数据库应用程序的约束条件。这些约束可以通过应用程序的业务逻辑层或 SQL 过程语言来实施,触发器和规则系统也可用于此目的。例如,客户在同一时间最多只能有一项活跃服务。
基于应用程序的性质,我们可以选择使用 SQL 过程语言或高级编程语言来满足语义约束。使用 SQL 编程语言有以下优点:
- 性能 :关系数据库管理系统(RDBMS)通常具有复杂的分析器,可生成高效的执行计划。在数据挖掘等场景中,需要处理的数据量非常大,使用过程化 SQL 语言操作数据可消除网络数据传输。此外,一些过程化 SQL 语言还采用了巧妙的缓存算法。
- 即时更改 :对于 SQL 过程语言,可以在不中断服务的情况下部署错误修复。
2. 关系代数
关系代数是关系模型的形式化语言,它定义了一组对关系的封闭操作,即每个操作的结果都是一个新的关系。关系代数继承了集合代数的许多运算符,其操作可分为两类:
- 继承自集合理论的操作 :如并(UNION)、交(INTERSECTION)、差(SET DIFFERENCE)和笛卡尔积(CARTESIAN PRODUCT,也称为 CROSS PRODUCT)。
- 特定于关系模型的操作 :如选择(SELECT)和投影(PROJECT)。
关系代数操作还可分为二元操作和一元操作。原始关系代数运算符具有重构复杂查询的强大能力,原始运算符包括:
| 运算符
超级会员免费看
订阅专栏 解锁全文

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



