SQL语言 (structural query language)结构化的查询语言
是关系数据库的基础语言
SQL的特点:
综合统一:
集合DDL、DCL、DML功能于一体
可以独立完成数据库系统生命周期的全部活动
高度非过程化的:
SQL只需要提出 “我要做什么?”,无需了解存储路径
路径的选择和SQL的操作过程由系统自动完成
面向集合的操作方式:
非关系模型采用面向记录的操作方式,操作对象是一条记录
SQL采用集合操作方式,操作对象、查找结果可以是元组的集合
一次插入、删除、更新操作的对象可以是元组的集合
同一种语法结构提供多种使用方式:
SQL是独立的语言
可以独立的用于联机交互
SQL也是嵌入式的语言
可以嵌入到其他的高级语言程序中,提供给程序员设计程序使用
语言简洁、易学易用:
功能性极强,核心功能只用了9个动词
SQL支持关系数据库三级模式结构
引入了视图(虚表)的概念:是定义在基本表上面的虚拟表
利用视图就可以建立起外模式到模式之间的层次
同时基本表和物理的存储文件之间也是独立的,并且不一定是一对一的关系
故:SQL是支持数据库的三级模式结构的
核心:基本表
特点
- 本身独立存在的表
- SQL中一个关系就对应一个基本表
- 一个(或多个)基本表对应一个存储文件
- 一个表可以带若干索引
存储文件
- 逻辑结构组成了关系数据库的内模式
- 物理结构对用户是隐蔽的
视图
- 从一个或几个基本表导出的表
- 数据库中只存放视图的定义而不存放视图对应的数据
- 视图是一个虚表
- 用户可以在视图上再定义视图
示例数据库
数据的定义
SQL数据定义功能包括:
- 模式定义
- 表定义
- 视图定义
- 索引定义
删除模式 (有两种约束 级联和限制)
基本表的定义
学生表Student
课程表Course
学生选课表SC
模式与表
修改基本表
删除基本表
索引的定义
建立索引(DBA)
修改索引
删除索引