第三章(数据库管理系统->数据库->模式->表、视图、索引)

一、数据库定义

模式:

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.视图的意义:简化操作,多角度展示数据,对重构数据库提供逻辑独立性,机密数据安全保护,更清晰的表达某些查询

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容