数据库系统概述第三章-关系数据库标准语言SQL的思维导图:
第三章-关系数据库标准语言SQL:
- 数据定义
- 功能
- 模式定义
- 定义模式
- CREATE SCHEMA <模式名> AUTHORIZATION <用户名>[<表定义子句>|<视图定义子句>|<授权定义子句>]
- 删除模式
- DROP SCHEMA <模式名><CASCADE|RESTRICT>
- CASCADE(级联)
- 删除模式的同时把该模式中所有的数据库对象全部删除
- RESTRICT(限制)
- 如果该模式中定义了下属的数据库对象(如表、视图等),则拒绝该删除语句的执行
- 仅当该模式中没有任何下属的对象时才执行
- 定义模式
- 表定义
- 定义基本表
- CREATE TABLE <表名>
- (<列名><数据类型>[<列级完整性约束条件>]
- [,<列名><数据类型>[<列级完整性约束条件>]]
- ...
- [,<表级完整性约束条件>]);
- 如果完整性约束条件涉及到该表的多个属性列,责任必须定义在表级上,否则即可以定义在列级也可以定义在表级
- 修改基本表
- ALTER TABLE <表名>
- [ADD[COLUMN]<新列名><数据类型>[完整性约束]]
- [ADD <表级完整性约束>]
- [DROP [COLUMN] <列名> [CASCADE| RESTRICT]]
- [DROP CONSTRAINT <完整性约束名>[RESTRICT|CASCADE]]
- [ALTER COLUMN<列名><数据类型>];
- 不管基本表中原来是否已有数据,新增加的列一律为空值
- 删除基本表
- DROP TABLE <表名>[RESTRICT|CASCADE];
- RESTRICT:删除表是有限制的
- 欲删除的基本表不能被其他表的约束所引用
- 如果存在依赖该表的对象,则此表不能被删除
- CASCADE:删除该表没有限制
- 数据类型
- 模式与表
- 每一个基本表都属于某一个模式
- 一个模式包含多个基本表
- 定义基本表所属模式
- 在表中明显给出模式名
- 在创建模式语句中同时创建表
- 设置所属的模式
- 关系数据库管理系统会使用模式列表中第一个存在的模式作为数据库对象的模式名
- 创建基本表时,若没有指定模式,系统会根据搜索路径来确定该对象所属的模式
- 定义基本表
- 视图和索引定义
- 建立索引的目的
- 加快查询速度
- 常见索引
- 顺序文件上的索引
- B+树索引
- 具有动态平衡的优点
- 散列索引
- 具有查找速度快的特点
- 位图索引
- 建立索引
- CREATE [UNIQUE] [CLUSTER] INDEX <索引名>
- ON <表名>(<列名>[<次序>][,<列名>[<次序>]]...);
- 次序:
- 升序:ASC
- 降序;DESC
- CLUSTER:表示要建立的索引时聚簇索引
- 次序:
- 修改索引
- ALTER INDEX <旧索引名> RENAME TO <新索引名>
- 删除索引
- DROP INDEX <索引名>;
- 删除定义表时创建的索引或约束是修改表的定义所以用alter语句*/
- ALTER TABLE <表名> DROP CONSTRAINT <索引名>
- 建立索引的目的
- 数据字典
- 是关系数据库管理系统内部的一组系统表,记录了数据库中所有定义信息:
- 关系模式定义
- 索引定义
- 视图定义
- 完整性约束定义
- 各类用户对数据库的操作权限
- 关系数据库管理系统在执行SQL的数据定义语句时,实际上就是在更新数据字典表中的相应信息。
- 模式定义
- 功能