【数据库系统概论】考研第三章重点分析【3.1】

混江龙づ霸主 提交于 2020-03-09 09:42:57

(二) 【关系数据库语言SQL】

SQL功能 动词
数据定义 CREATE,DROP,ALTER
数据查询 SELECT
数据操纵 INSERT,UPDATE,DELETE
数据控制 GRANT,REVOKE

1.【SQL概貌,特点及其相关基本概念】

SQL语言涉及到【外模式】、【模式】,涉及不到内模式。

1.1【SQL语言的发展及标准化过程】

1.2【SQL语言的主要特点】

  • 综合统一
  • 高度非过程化
  • 面向集合的操作方式
  • 以同一种语法结构提供两种使用方法
  • 语言简洁,易学易用

1.3【SQL中基本表和视图的概念】

1.3.1【视图】

  • 视图不是一个独立的文件,是由一个或几个基本表导出形成的虚表。视图存储的内容是来自本地数据源或远程数据源的定义,不存放实际数据。

1.3.2【表】

  • 表是数据库中用来存储数据的对象,是有结构的数据的集合,是整个数据库系统的基础。表存储的内容是本地数据源的数据。

2.【SQL数据定义功能】

操作对象 创建 删除 修改
模式 CREATE SCHEMA DROP SCHEMA
CREATE TABLE DROP TABLE ALTER TABLE
视图 CREATE VIEW DROP VIEW
索引 CREATE INDEX DROP INDEX

2.1【用SQL语句定义基本表(建立主码、外码,以及定义其它约束条件)】

//建立一个学生选课表SC,有学号Sno,课程号Cno,修课成绩Grade,其中(Sno,Cno)为主码
CREATE TABLE SC
(
Sno CHAR(5) NOT NULL UNIQUE,//非空约束 和 唯一约束
Cno CHAR(3),
Grade INT,
Primary key (Sno,Cno)//主码
//Foreign key (Sno,Cno)//外码
);

2.2【修改基本表的定义】

2.2.1【增加新列和新完整性约束】

ALTER TABLE Student ADD Scome DATE;//向Student表加入入学时间列,其数据类型为日期型

2.2.2【删除指定的完整性约束条件】

ALTER TABLE Student Drop Scome;//直接删除此Scome列
ALTER TABLE Student Drop UNIQUE(Sname);//删除学生姓名必须取唯一值的约束

2.2.3【修改列名和数据类型】

ALTER TABLE Student MODIFY Sage SMALLINT;//将年龄的数据类型改为半字长整数

2.3【撤消基本表】

DROP TABLE Student;//删除Student表

2.4【用SQL语句定义和撤消索引】

2.4.1【建立唯一索引】

CREATE UNIQUE INDEX Stusno ON Student(Sno);//Student表按学号升序建唯一索引
CREATE UNIQUE INDEX Coucno ON Course(Cno);//Course按课程号升序建唯一索引
CREATE UNIQUE INDEX SCno ON SC(Sno ASC,Cno DESC);//SC按学号升序和课程号降序唯一索引

2.4.2【建立聚簇索引】(更改物理顺序)

CREATE CLUSTER INDEX Stusname ON Student(Sname);

2.4.2【删除索引】

DROP INDEX StuSname;

3.【SQL数据操纵功能】

3.1【SELECT语句的格式和用法】

3.1.1【SELECT】

  • 查询全体学生姓名,出生年份和所有系,要求小写字母表示所有系名。
SELECT Sname , 'BrithYear:'  , 2020-Sage , ISLOWER(Sdept) FROM Student;
  • 查询全体学生姓名,出生年份(列别名:BRITHDAY)和所有系,要求小写字母表示所有系名。使用列别名改变查询结构列标题。
SELECT Sname , 'BrithYear:' BRITH , 2020-Sage BRITHDAY , ISLOWER(Sdept) FROM Student;
  • 查询选修了课程的学生学号
SELECT DISTINCT Sno FROM SC
  • 查询选修课程的各种成绩
SELECT DISTINCT Cno,Grade FROM SC

3.1.2【WHERE】

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.1.3【集函数】

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3.1.4【连接查询】

  • 广义笛卡尔积
  • 等值连接
  • 非等值连接查询
  • 自身连接查询
  • 外连接查询
  • 复合条件连接查询
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    非等值连接:between * and *或<,>,!=,>=,<=等

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.1.5【嵌套查询】

  • 不相关子查询
  • 相关子查询
  • 引出子查询的谓词
    IN、>,<,=,ANY,ALL,EXISTS
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.1【INSERT语句的格式和用法】

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.1【DELETE语句的格式和用法】

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.1【UPDATE语句的格式和用法】

在这里插入图片描述

【重点例题】:

【选择】

在这里插入图片描述
(B)
在这里插入图片描述
(C)
在这里插入图片描述
(D)
在字符串的匹配操作中,通配符【%】表示与零个或多个字符组成的字符串匹配.
三.综合题
1.设有关系数据:
PART (PART_NO, PART_NAME)
PROJECT ( PROJECT_NO,PROJECT_NAME)
SUPPLER ( SUPPLER_NO,SUPPLIER_NAME, CITY)
SUPPLY ( PART_NO,PROJECT_NO ,QUANTITY)
其中PART,PROJECT,SUPPLIER,SUPPLY
分别表示零部件,工程,供货商和供货四个关系,
关系中各属性的含义是:
PART_NO (工程编号,主键)
PART NAME (零件名称)
PROJECT NO (工程编号,主键) ;
PROJECT NAME(工程名称) ;
SUPPLIER _NO (供货商编号.主键):
SUPPLIER NANE (供货商名称) ;
CITY (供货商所在城市)
QUANTITY (供货量)
用关系代数表达式表示如下询问:
找出使用了长沙的供货商所供零部件的所有工程的名称
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(2)
在这里插入图片描述
在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!