数据库系统中的关系模型与SQL语言详解
立即解锁
发布时间: 2025-08-23 00:19:57 阅读量: 2 订阅数: 6 

# 数据库关系系统与SQL语言详解
## 1. 关系系统深度剖析
### 1.1 关系模型概述
关系模型的显著特征定义了关系系统的最低要求,不过数据库系统的其他理想特性同样重要。多年来,软件工程公司在构建和销售符合这些标准的数据库管理系统(DBMS)套件时面临诸多挑战,如今的产品标准更是有所提高。
### 1.2 关系模型的影响
#### 1.2.1 科德早期基准
1982年,被誉为“数据库系统之父”的埃德加·F·科德(Edgar F. Codd)提出,一个系统若要被视为关系型系统,至少需支持关系数据库,以及RESTRICT、PROJECT和(自然)JOIN操作,且无需预先定义访问路径。这些操作可显式或隐式支持,系统还需对用户请求进行内部优化以实现理想性能。基于这些最低要求,DBMS套件被分为四类:表格型、最小关系型、关系完备型和完全关系型。当时能通过这一严格基准测试的产品不多,如今仍表现出色的有Oracle、DB2和INGRES。
#### 1.2.2 关系系统的修订定义
1985年,科德修订了关系系统的定义,克里斯托弗·戴特(Christopher Date)随后提出了重要建议。此外,科德还提出了12条规则来判断DBMS产品的关系程度,戴特则提出了零规则对科德的12条规则进行总结。
- **戴特零规则**:一个系统若要被认定为关系型数据库管理系统,必须仅使用其关系功能来管理数据库。不能仅为一个非关系型系统添加支持PROJECT、JOIN、SELECT的接口就宣称其为关系型系统,系统的各个方面都必须是关系型的。
- **科德十二规则**:
1. **信息规则**:数据库中的所有信息必须以关系表的形式表示,并遵循既定的完整性约束、结构和操作特性。
2. **保证访问规则**:数据库中存储的所有数据必须通过指定关系、相关属性和主键值进行逻辑寻址。
3. **空值系统处理规则**:DBMS需要有一致的方式来表示和处理所谓的“缺失信息”,这种方式应与常规数据值不同,且独立于所支持的数据类型。
4. **活跃在线目录规则**:系统应拥有一个全面的关系目录,授权用户可通过常规查询语言访问该目录。
5. **综合数据子语言规则**:系统必须支持至少一种满足以下条件的关系语言:具有线性语法;可在交互式环境和应用程序中使用;能充分支持数据定义语言(DDL)、数据操作语言(DML)和数据控制语言(DCL)操作。SQL语言满足这些要求。
6. **视图更新规则**:所有理论上可更新的视图都必须能被系统更新。
7. **高级插入、更新和删除规则**:系统必须支持集合级的DML操作,如INSERT、UPDATE和DELETE操作,SQL能满足这一要求。
8. **物理数据独立性规则**:系统应将所有应用程序(和最终用户访问)与数据库的物理结构隔离开来,一方的更改不应影响另一方。
9. **逻辑数据独立性规则**:系统应将所有应用程序(和最终用户访问)与数据库的逻辑结构隔离开来,一方的更改不应影响另一方。
10. **完整性独立性规则**:完整性约束必须与应用程序分开指定,并存储在系统目录中,可根据需要更改这些约束,而不影响访问数据库的应用程序。
11. **分布独立性规则**:当引入或升级DBMS的分布式版本时,现有应用程序应能继续成功运行。
12. **无颠覆规则**:如果系统提供低级(逐记录)接口,不能使用该接口破坏或绕过系统的关系安全或完整性约束。
#### 1.2.3 深远影响
这些约束为关系型DBMS(RDBMS)套件设定了很高的标准。在相当长的一段时间里,行业内难有产品能完全满足所有要求,许多产品因未能接近既定标准而被淘汰。不过,随着多年来DB2、Oracle、Informix和Sybase等产品的逐步改进,如今行业内已有符合这些标准的产品,但仍有改进空间。这些标准为软件工程公司树立了理想目标,也为关系模型奠定了坚实的数学基础,在一定程度上保护了消费者免受不良公司的侵害。
## 2. 结构化查询语言(SQL)概
0
0
复制全文
相关推荐










