一、数据库定义
模式:
1.创建模式:CREATE SCHEME <模式名> AUTHORIZATION <用户名> [<表定义子句>|<视图定义子句>|<授权定义子句>]
2.删除模式:DROP SCHEME <模式名> <CASCADE(级联:连子女关系一起全删) | RESTRICT(限制:没有子女关系才能执行删除)>
表(相关依赖条件:视图、约束、外键、存储过程、函数、触发器):
1.创建表:CREATE TABLE <表名> (<列名> <数据类型> [列级约束条件] [,....] [<表级约束条件>])
2.修改表:ALTER TABLE <表名>--
--ADD [COLUMN] <新列名> [完整性约束]
--ADD [<表级完整性约束>]
--DROP [COLUMN] <列名> [CASCADE(级联:也删除该列的其他对象)|RESTRICT(限制:如果该列被引用,拒绝删除)]
--DROP CONSTRAINT <完整性约束名> [RESTRICT|CASCADE]
--ALTER COLUMN <列名> <数据类型>
3.删除表:DROP TABLE <表名> [CASCADE(级联:也删除该表的相关依赖对象)|RESTRICT(限制:如果该表有相关依赖对象,拒绝删除)]
索引(提高查询速度)
1.建立索引:CREATE [UNIQUE] [CLUSTER] INDEX <索引名> ON <表名> ( <列名> [<ASC(升序)|DESC(降序)>] [,...] ] [,...]);
--UNIQUE:表名每个索引值只对应唯一的数据记录
--CLUSTER:表明建立的索引是聚簇索引
2.修改索引:ALTER INDEX <旧索引名> RENAME TO <新索引名>
3.删除索引:DROP INDEX <索引名>
视图(不具备数据存储功能,并非所有视图都是可更新的)
1.建立视图:CREATE VIEW <视图名> [(列名) [,...]] AS <子查询> [WITH CHECK OPTION];
--查询语句在视图生成时不执行,只是视图定义存储在数据字典中
--WITH CHECK OPTION:限制通过视图修改基表时,视图也必须能反应出修改后的结果,否则不予通过
2.删除视图:DROP VIEW <视图名> [CASCADE]
--删除基本表时会导致其依赖视图不可用,此时需要显式操作——DROP VIEW
3.视图的意义:简化操作,多角度展示数据,对重构数据库提供逻辑独立性,机密数据安全保护,更清晰的表达某些查询