目前,没有一个数据库系统能够支持SQL标准的所有概念和特性。
它是一个综合的,功能极强同时又简洁易学的语言,集数据查询,数据操纵,数据定义,数据控制功能于一体。
主要特点:1,综合统一。
数据语言分为:①模式数据定义语言DDL。②外模式数据定义语言外模式DDL。③数据存储有关的描述语言DSDL。④数据操纵语言DML。它们分别用于定义模式,外模式,内模式和进行数据的存取与处理。
操作要求:①定义和修改,删除关系模式,定义和删除视图,插入数据,建立数据库。②对数据库中的数据进行查询和更新。③数据库重构和维护。④数据库安全性,完整性控制,以及事务控制。⑤嵌入式SQL和动态SQL定义。良好的可扩展性。
2,高度非过程化。
3,面向集合的操作方式:非关系数据模型面向记录。
4,以同一种语法结构提供多种使用方式。
5,语言简洁,易学易用。
支持SQL的关系数据库管理系统同样支持关系数据库三级模式结构。外模式包括若干视图和部分基本表,模式包括若干基本表,内模式包括若干存储文件。一个关系对应一个基本表,一个或多个基本表对应一个存储文件,一个表可以带若干索引,索引也存放在存储文件中。
存储文件的逻辑结构组成了关系数据库的内模式。
包括模式定义,表定义,视图和索引的定义。
创建CREATE SCHEMA/TABlE/VIEW/INDEX 模式/表/视图/INDEX。删除DROP SCHEMA/TABlE/VIEW/INDEX 模式/表/视图/INDEX。修改ALTER TABLE/INDEX表/索引。
如果没有指定模式名,那么模式名隐含为用户名。定义时后+AUTHORIZATI0N+用户名。
要创建模式,调用该命令的用户必须拥有数据库管理员权限。定义模式实际上定义了一个命名空间。
删除时后+CASCADE或RESTRICT必选其一,CASCADE级联:删除模式时把该模式的所有数据库对象全部删除。RESTRICT限制:如果该摸式中己经定义了下属的数据库对象,则拒绝该删除语句。
1,定义时可+(列 数据类型 列级约束条件……)其中列级完整牲约束条件可选有无。如果完整性约束条件涉及该表的多个属性列,则必须定义在表级上。
2,数据类型:CHAR长度为n的定长字符串,VARCHAR最大长度为n的变长字符串,CIOB字符串大对象,BLOB二进制大对象等
3,模式与表:每一个基本表都属于一个模式,一个模式包含多个基本表。
三种方法:①在表名中明显地给出模式名。②在创建模式语句中同时创建表。③设置所属模式,这样在创建表时表名中不必给出模式名。
4,修改基本表:ALTEP TABLE 表名语句+ADD或DROP或ALTER COLUMN……
5,删除基本表。
建立索引是加快查询速度的有效手段,但索引需占用一定的存储空间,基本表更新时,索引要进行相应的维护,目前SQL标准中没有涉及索引。索引属于内模式范畴。
1,建立索引:使用CREATE INDEX语句,它们之间可以加UNIQUE表明此索引的每一个索引值只对应唯一的数据记录/CLUSTER表示要建立的索引是聚簇索引。
2,修改:ALTER INDEX语句+旧索引名+RENAME TO新索引名。
3,删除:如果数据增,删,改频繁,系统会花费许多时间来维护索引,从而降低了查询效率,此时可删除一些不必要的索引。用DROP INDEX语句。