1、数据库支持模式、表、视图和索引的创建(Create)、删除(Drop),但只支持表的修改(Alter)。
2、模式的定义、删除
create schema s1 authorization user1;
若没有定义模式名,则将用户名user1作为默认的模式名。模式就相当于命名空间,定义好之后就可以在模式下定义表、视图和索引了。在创建模式的时候可以同时创建表、视图和索引。
drop schema s1 <Cascade|Restrict>;
因为模式下建立了表、视图等,所以要考虑级联删除。
两者必选其一。
3、表的建立、删除和修改
3.1 建立表
create table tname (
col1 int(10) not null primary,
col2 varchar(255);
col3 varchar(255) unique;
foreign key (col2) references table2(tId);
);
完整性约束条件存储在数据字典中。
在某个模式下创建表,首先要指定模式,语句如下:
show search_path to schema1,public;然后创建表即可
3.2 修改表
alter table t1 add newcol int(10);
alter table t1 drop column col1;
alter table t2 add Unique(cname);
alter table t2 alter column col1 int(10);
3.3 删除表
drop table t1 [CASCADE|RESTRICT];
4、索引的创建、删除
系统在存取数据时会自动选择合适的索引作为存储路径,用户不必也不能显示地选择。索引包括唯一索引和聚簇索引,唯一索引是指每一个索引值都对应唯一的数据记录,聚簇索引是指索引项的顺序与表中记录的物理顺序一致的索引组织,对增删比较多的表不易建该索引,一个表只能建一个聚簇索引。
4.1 创建索引
create [UNIQUE|CLUSTER] index index1 on table1(col1 ASC,col2 DESC);
索引是保存在数据字典里的,有B+树索引和Hash索引,B+索引有较好的动态平衡,Hash索引查找速度比较快。具体采用哪种索引是RDBMS决定的。增删改较频繁时,维护索引开销比较大。
4.2 删除索引
drop index index1;
这里不用考虑级联,因为不会在索引上建立其他东西。
5、视图的建立和删除、查询、更新
视图细分有行列子集视图和带表达式的视图。
5.1 建立视图
视图是建立在基本表的虚表,它不包含数据,只有被调用的时候才会对它填充数据,
它的定义存储在数据字典中。create view view1(col1,col2,...) as
select c1,c2,...
from t1
where ...
with check option;
最后一句的作用是,当插入、删除和修改数据时会检查是否符合谓词条件。定义视图时可以不指定列名,但在下面三种情况下一定要指定列名:
①select 的目标列中含有表达式或者聚合函数
②目标列中有重名的情况
③需要重命名各列
5.2 删除视图
drop view view1 [CASCADE]
5.3 更新视图
并不是所以的视图都支持更新的,一般只支持行列子集视图可以更新,但不同的系统有不同的规定。因为有的视图更新不能唯一有意义的转换成为相应基本表的更新,如定义在AVG(cno)上的视图。
5.4 查询视图
视图消解,即将定义中的子查询和用户的查询结合起来,转化成对基本表的查询,然后再执行修正了查询。但是对于非行列子集视图的查询不能进行转化,就直接对基本表进行。
5.5 视图的好处
①简化了用户的操作,使用户将注意力只放在关心的数据上
②对于机密数据提高了安全性
③对同一数据从不同角度看待
④在一定程度上为重构数据库提供了逻辑独立性
⑤适当的视图可以更清楚的表达查询
分享到:
相关推荐
SQL,全称Structured Query Language,是一种专门用于管理关系数据库的标准语言,它在1974年由Boyce和Chamberlin提出,并在IBM的System R上首次实现。由于其简单易学和功能强大,SQL迅速受到用户和数据库厂商的广泛...
《SQL:关系数据库标准语言详解》 SQL,全称为Structured Query Language,即结构化查询语言,是用于管理和处理关系数据库的标准语言。SQL的功能不仅限于查询,它还包含了数据定义、数据操纵和数据控制等重要部分,...
**SQL(Structured Query Language)**是关系数据库的标准语言,由Boyce和Chamberlin于1974年提出,并在1975年至1979年由IBM在System R原型系统上实现。自那时起,SQL经历了多次标准化,包括SQL-86、SQL-89、SQL-92...
《SQL——关系数据库标准语言详解》 SQL,全称为Structured Query Language,是1974年由IBM公司研发的关系数据库管理系统System R所实现的一种语言。它以其功能强大、语言简洁的特点,逐渐成为关系数据库操作的事实...
**第三章 关系数据库标准语言SQL** SQL,全称为Structured Query Language,即结构化查询语言,它是关系数据库的标准语言,广泛应用于数据管理、查询、更新和控制等方面。SQL的产生和发展经历了多个版本,从最初的...
【SQL93】是关系数据库的标准语言,全称为Structured Query Language,它在1974年由Boyce和Chamberlin提出,并在IBM的System R系统中首次应用。SQL经过多次标准化,包括SQL-86、SQL-89、SQL2(1992)和SQL3(1999)...
- SQL主要用于处理存储在关系数据库管理系统中的数据。它是一种通用的语言,被广泛应用于各种不同的数据库系统中。 2. **SQL语言的功能**: - **数据定义**:用于创建、删除和修改数据库对象,如表、视图、索引等...
**实验二:关系数据库标准语言SQL (一)** SQL(Structured Query Language)是用于处理关系数据库的标准语言。在实验中,你需要创建学生选课模式的数据库,包括学生表(student)、课程表(course)和选课表(sc),并定义...
SQL,全称为Structured Query Language,即结构化查询语言,是关系数据库的标准语言,用于管理和处理关系数据库中的数据。SQL的特点包括以下几个方面: 1. **综合统一**:SQL集成了数据定义、查询、操纵和控制等...
总结来说,SQL是关系数据库管理的核心工具,它的简洁性和强大的功能使得数据库操作变得简单而高效。从创建数据库结构、查询数据、更新记录到控制访问权限,SQL在数据库领域的应用无处不在,是理解和操作数据库系统不...
【数据库系统概论-第三章关系数据库标准语言SQL续1.ppt】的讲解主要集中在关系数据库的标准查询语言SQL,特别是数据查询的各种方法。本部分详细介绍了SQL中的单表查询、连接查询、嵌套查询、集合查询以及SELECT语句...
第三章 关系数据库标准语言SQL31-341单表查询 SQL(Structured Query Language),结构化查询语言,是用于管理关系数据库的标准语言。自1970年代E.F.Codd提出关系模型以来,SQL经历了从SQUARE到SEQUEL再到SQL的发展...
根据给定文件的信息,我们可以详细地探讨关系数据库语言SQL的相关知识点。 ### 关系数据库语言SQL #### SQL数据库的体系结构与组成 SQL是Structured Query Language的缩写,意为“结构化查询语言”。它是一种标准...
SQL,全称为Structured Query Language,即结构化查询语言,是用于管理和处理关系数据库的标准编程语言。自1974年由Boyce和Chamberlin提出以来,IBM公司的San Jose Research Laboratory在其关系数据库管理系统System...
《工学数据库系统概论第四关系数据库标准语言》的学习教案主要涵盖了关系数据库的标准语言SQL的相关内容,包括SQL的特点、学生-课程数据库的构建、数据定义、数据查询、数据操纵以及视图的创建和管理。 首先,SQL...
SQL(Structured Query Language)是一种用于管理关系数据库的标准编程语言,广泛应用于数据的增删改查、数据表的设计和管理以及数据库的备份与恢复等任务。本篇“SQL数据库语言学习笔记”将深入探讨SQL的基本概念、...
SQL(Structured Query Language)是Structured Query Language的缩写,中文名为结构化查询语言,它是用于管理关系数据库系统的核心工具。SQL不仅用于数据查询,还涵盖了数据插入、更新、删除、数据库模式创建等全面...
SQL(Structured Query Language)是用于管理和处理关系数据库的标准语言,由IBM的研究员在1970年代初开发。在微软数据库系统中,SQL语言被广泛应用于Microsoft SQL Server,这是一个功能强大的关系型数据库管理系统...
其中,SQL(Structured Query Language)是用于操作数据库的标准语言。 1. 数据模型:数据库设计通常基于关系模型,其中包括表、字段和键的概念。主键是表中的唯一标识符,外键用于关联不同表。 2. SQL基础:SQL...