- 一个关系数据库管理系统的实例(Instance)中可以建立多个数据库
- 一个数据库中可以建立多个模式
- 一个模式下通常包括多个表、视图和索引等数据库对象

在CREATE SCHEMA中可以接受CREATE TABLE,CREATE VIEW和GRANT子句。
CREATE SCHEMA<模式名>AUTHORIZATION<用户名>[<表定义子句>|<视图定义子句>|<授权定义子句>]授权定义子句>视图定义子句>表定义子句>用户名>模式名>
例子:

DROP SCHEMA<模式名><CASCADE|RESTRICT>模式名>
- CASCADE(级联)
- 删除模式的同时把该模式中所有的数据库对象全部删除
- RESTRICT(限制)
- 如果该模式中定义了下属的数据库对象(如表、视图等),则拒绝该删除语句的执行。
CREATE TABLE<表名> (<列名><数据类型>[<列级完整性约束条件>] [,<列名><数据类型>[<列级完整性约束条件>]] [,<表级完整性约束条件>]);表级完整性约束条件>列级完整性约束条件>数据类型>列名>列级完整性约束条件>数据类型>列名>表名>
- <表名>:所要定义的基本表的名字 表名>
- <列名>:组成该表的各个属性(列) 列名>
- <列级完整性约束条件>:涉及相应属性列的完整性约束条件 列级完整性约束条件>
- <表级完整性约束条件>:涉及一个或多个属性列的完整性约束条件 表级完整性约束条件>
- 如果完整性约束条件涉及到该表的多个属性列,则必须定义在表级上,否则既可以定义在列级也可以定义在表级。
例子:

SQL中域的概念用数据类型来实现
ALTER TABLE<表名> [ADD[COLUMN]<新列名><数据类型>[完整性约束]] [ADD<表级完整性约束>] [DROP[COLUMN]<列名>[CASCADE|RESTRICT]] [DROP CONSTRAINT<完整性约束名>[RESTRICT|CASCADE ]] [ALTER COLUMN<列名><数据类型>];数据类型>列名>完整性约束名>列名>表级完整性约束>数据类型>新列名>表名>
- <表名>是要修改的基本表 表名>
- ADD子句用于增加新列、新的列级完整性约束条件和新的表级完整性约束条件
- DROP COLUMN子句用于删除表中的列
- 如果指定了CASCADE短语,则自动删除引用了该列的其他对象
- 如果指定了RESTRICT短语,则如果该列被其他对象引用,关系数据库管理系统将拒绝删除该列
- DROP CONSTRAINT子句用于删除指定的完整性约束条件
- ALTER COLUMN子句用于修改原有的列定义,包括修改列名和数据类型
例子:

DROP TABLE<表名>[RESTRICT|CASCADE];表名>
- RESTRICT:删除表是有限制的。
- 欲删除的基本表不能被其他表的约束所引用
- 如果存在依赖该表的对象,则此表不能被删除
- CASCADE:删除该表没有限制。
- 在删除基本表的同时,相关的依赖对象一起删除
- 建立索引的目的:加快查询速度
- 由数据库管理员或表的拥有者建立
- 关系数据库管理系统自动完成维护
- 系数据库管理系统自动使用合适的索引作为存取路径,用户不必也不能显式地选择索引
- 关系数据库管理系统中常见索引:
- 顺序文件上的索引
- B+树索引
- 散列(hash)索引
- 位图索引
语句格式
CREATE [UNIQUE] [CLUSTER]INDEX<索引名> ON<表名>(<列名>[<次序>] [,<列名>[<次序>]]);次序>列名>次序>列名>表名>索引名>
- <表名>:要建索引的基本表的名字 表名>
- 索引:可以建立在该表的一列或多列上,各列名之间用逗号分隔
- <次序>:指定索引值的排列次序,升序:ASC,降序:DESC。缺省值:ASC 次序>
- UNIQUE:此索引的每一个索引值只对应唯一的数据记录
- CLUSTER:表示要建立的索引是聚簇索引
例子:

ALTER INDEX<旧索引名>RENAME TO<新索引名>新索引名>旧索引名>
- [例3.14]将SC表的SCno索引名改为SCSno
ALTER INDEX SCno RENAME TO SCSno;
DROP INDEX<索引名>;索引名>
-
删除索引时,系统会从数据字典中删去有关该索引的描述。
- [例3.15]删除Student表的Stusname索引
DROP INDEX Stusname;
- 数据字典是关系数据库管理系统内部的一组系统表,它记录了数据库中所有定义信息:
- 关系模式定义
- 视图定义
- 索引定义
- 完整性约束定义
- 各类用户对数据库的操作权限
- 统计信息等
- 关系数据库管理系统在执行SQL的数据定义语句时,实际上就是在更新数据字典表中的相应信息。