数据库第三章总结

结构化查询语言(SQL)是关系数据库的标准语言。
SQL的特点:
综合统一
SQL集数据定义语言、数据操纵语言、数据控制语言的功能于一体,可以独立完成数据库生命周期中的全部活动。
关系模型中数据结构的单一性带来了数据操作符的统一性,克服了非关系系统由于信息表示方式的多样性带来的操作复杂性。
高度非过程化
用SQL进行数据操作时,无需了解存取路径,存取路径的选择以及SQL的操作过程由系统自动完成。
面向集合的操作方式
非关系数据模型采用面向记录的操作方式,操作对象是一条记录。
SQL采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,一次插入、删除、更新操作的对象也可以是元组的集合。
以同一种语法结构提供多种使用方式
SQL既能独立地用于联机交互的使用方式,又能够嵌入到高级语言程序中。
语言简洁,易学易用
SQL的动词:


SQL的基本概念:
支持SQL的关系数据库的外模式包括若干视图(view)和部分基本表(base table),模式包括若干基本表,内模式包括若干存储文件。


可以用SQL对基本表和视图进行查询或其他操作,基本表和视图都是关系。
基本表是本身独立存在的表,在关系数据库管理系统中一个关系对应一个基本表。
一个或多个基本表对应一个存储文件,一个表可以带若干索引,索引也存放在存储文件中。
存储文件的逻辑结构组成了关系数据库的内模式。
存储文件的物理结构对最终用户是隐蔽的。
视图是从一个或几个基本表导出的表,数据库中只存放视图的定义不存放视图对应的数据,这些数据存放在到处视图的基本表中,因此视图是一个虚表,可以在视图上再定义视图。
 

3.3数据定义
SQL的数据定义功能包括模式定义、表定义、视图和索引的定义:


SQL不提供修改模式定义和修改视图定义的操作。
一个关系数据库管理系统的实例中可以建立多个数据库,一个数据库中可以建立多个模式,一个模式下通常包括多个表、视图和索引等数据库对象。
定义模式:
模式定义语句:CREATE SCHEMA<模式名>AUTHORIZATION<用户名>;
如果没有指定<模式名>,那么<模式名>隐含为<用户名>。
创建模式的用户必须拥有数据库管理员权限,或者获得了管理员授予的CREATE SCHEMA的权限。
定义模式即定义一个命名空间,在这个空间里可以进一步定义该模式包含的数据库对象,如基本表、视图、索引等
可以在创建模式的同时在这个模式定义中进一步创建基本表、视图,定义授权。
删除模式:
删除模式语句:DROP SCHEMA<模式名><CASCADE|RESTRICT>;
CASCADE 和 RESTRICT 必须二选一。
CASCADE(级联):在删除模式的同时把该模式中所有的数据库对象全部删除,
RESTRICT(限制):如果该模式已经定义了下属的数据库对象,则拒绝该删除语句的执行。只有当该模式中没有任何下属的对象时才能执行该语句。
定义基本表:
定义基本表语句:
CREATE TABLE<表名>(<列名><数据类型>[列级完整性约束条件],

<列名><数据类型>[列级完整性约束条件],

……

<表级完整性约束条件>

);

如果完整性约束条件涉及多个属性列,那么必须定义在表级上。
与表有关的完整性约束条件存入系统的数据字典中。
完整性约束:
列级完整性约束:
标记某属性为主码:Sno CHAR(9) PRIMARY KEY
标记某属性取唯一值:Sname CHAR(20) UNIQUE
标记某属性不能取空值:Cname CHAR(40) NOT NULL
表级完整性约束:
标记外码:FOREIGN KEY(Cpno)REFERENCES Course(Cno)   //Cpno是外码,被参照表是Course,被参照列是Cno
主码由两个属性构成时标记主码:PRIMARY KEY(Sno,Cno)
数据类型:
定义表的各种属性时需要指明其数据类型及长度。
常用数据类型:


模式与表:
每一个基本表都属于一个模式,一个模式包含多个基本表。
在模式中定义基本表:
方法一:在表名中明显地给出模式名:CREATE TABLE "S-T".Student(...);   // Student 所属的模式是 S-T
方法二:在创建模式语句中同时创建表。
方法三:设置所属模式,这样创建表时表名中不必给出模式名。
若用户创建数据库对象时没有指定模式,系统会根据搜索路径来确定该对象所属的模式。
显示当前的搜索路径:SHOW search_path;<

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值