第4章 SQL主要介绍了结构化查询语言SQL,它是关系数据库的标准语言,融合了数据查询、操纵、定义和控制等功能。SQL经历了多个版本的发展,如SQL-89、SQL-92、SQL-99(SQL3)和SQL2003(SQL4),并引入了面向对象的概念。SQL的特点包括:
1. 综合统一:SQL集成了DDL(数据定义语言)、DML(数据操纵语言)和DCL(数据控制语言),涵盖了数据库生命周期的全部活动。它使用单一的操作符来表示关系模型中的实体和联系。
2. 高度非过程化:用户只需描述要执行的操作,无需详细指定执行步骤,提高了数据独立性。
3. 面向集合的操作:SQL的操作对象是集合,支持对一组记录同时进行查询、插入、删除和修改。
4. 多种使用方式:SQL可以作为独立的语言用于在线交互,也可以嵌入到高级语言中,语法结构保持一致,提供灵活性。
本章内容包括SQL的系统结构、数据定义、数据操纵、视图、数据控制和嵌入式SQL。在系统结构方面,SQL支持数据库的三级模式结构,即外模式(视图)、模式(基本表的集合)和内模式(物理存储文件)。数据定义功能包括创建、删除和修改表、视图、索引以及模式。例如,可以使用`CREATE SCHEMA`定义模式,`CREATE TABLE`创建表,`ALTER TABLE`修改表结构,`CREATE VIEW`定义视图,`CREATE INDEX`创建索引,`DROP SCHEMA/TABLE/VIEW/INDEX`进行相应的删除操作。
在模式定义中,一个模式包含了表、视图和索引等元素,可以为特定用户或账号分配权限。例如,`CREATE SCHEMA SST AUTHORIZATION SDBA`将创建名为SST的模式,归属用户SDBA。
在不同的数据库管理系统中,如Oracle和SQL Server,模式的概念可能有所不同,但其核心作用都是组织和管理数据库对象。在SQL Server中,用户账号和模式之间存在隐含关系,创建用户时会默认创建同名的模式。
SQL是数据库管理的核心工具,它的强大功能和广泛适用性使其成为数据库操作的标准。通过学习和掌握SQL,开发者可以高效地管理和操作各种关系型数据库。