数据库原理第三章关系数据库SQL语言

数据库原理第三章关系数据库SQL语言,第1张

第三章 关系数据库SQL语言

32 SQL数据库的体系结构及术语:

SQL数据库的体系结构也是三级,但术语与传统的关系模型不同。

关系模式称为“基本表”,存储模式称为“存储文件”,子模式称为“视图”,元组称为“行”,属性称为“列”。

33 SQL数据库的体系结构要点是什么:

(1) 一个SQL数据库是表(table)的汇集,它用一个或多个SQL模式定义。一个SQL模式是表和授权的表态定义。

(2) 一个SQL表由行集构成,一行是列的序列,每列对应一个数据项。

(3) 一个表或者是一个基本表,或者是一个视图。(视图只保存定义,不保存数据)

(4) 一个基本表可跨一个或多个存储文件,一个存储文件也可存放一个或多个基本表。每个存储文件与外部存储器上一个物理文件对应。

(5) 用户可用SQL语句对视图和基本表进行查询等 *** 作。

(6) SQL用户可以是应用程序,也可以是终端用户。

34 SQL的组成分成几部分:

SQL主要分成四部分:

(1) 数据定义。(SQL DDL)用于定义SQL模式、基本表、视图和索引的创建和撤消 *** 作。

(2) 数据 *** 纵。(SQL DML)数据 *** 纵分成数据查询和数据更新两类。数据更新又分成插入、删除、和修改三种 *** 作。

(3) 数据控制。包括对基本表和视图的授权,完整性规则的描述,事务控制等内容。

(4) 嵌入式SQL的使用规定。涉及到SQL语句嵌入在宿主语言程序中使用的规则。

35 SQL模式的撤消有哪两种方式:

CASCADE(连锁式)方式:执行DROP语句时,把SQL模式及其下属的基本表、视图、索引等所有元素全部撤消。

RESTRICT(约束式)方式:执行DROP语句时,只有当SQL模式中没有任何下属元素时,才能撤消SQL模式,否则拒绝执行DROP语句。

36 SQL提供的基本数据类型有哪些?每种举两个例子:

(1) 数值型:INTEGER长整数、SMALLINT短整数

(2) 字符串型:CHAR(N)长度为N的定长字符串、VARCHAR(N)具有长度为N的变长字符串。

(3) 位串型:BIT(N)长度为N的二进制位串、BIT VARYING(N)长度为N的变长二进制位串

(4) 时间型:DATE日期、TIME时间

SQL2允许用户使用“CREATE DOMAIN”语句定义新的域。

37 完整性约束主要有哪三种子句:

完整性约束主要有三种子句:主键子句(PRIMARY KEY),检查子句(CHECK)和外键子句(FOREIGN KEY)

38 什么是视图,它与表的区别是什么:

在SQL中,外模式一级数据结构的基本单位是视图,视图是从若干基本表和(或)其他视图构造出来的表。我们创建一个视图时,只是把其视图的定义存放在数据字典中,而不存储视图对应的数据,因此,视图被称为“虚表”,这是它与表的主要区别。

39 对于视图元组的更新 *** 作(INSERT、DELETE、UPDATE)有哪三条规则:

(1) 如果一个视图是从多个基本表使用联接 *** 作导出的,那么不允许对这个视图执行更新 *** 作。

(2) 如果在导出视图的过程中,使用了分组和聚合 *** 作,也不允许对这个视图执行更新 *** 作。

(3) 如果视图是从单个基本表使用选择、投影 *** 作导出的,并且包含了基本表的主键或某个候选键,那么这样的视图称为“行列子集视图”,并且可以被执行更新 *** 作。

SQL2中,允许更新的视图在定义时,必须加上“WITH CHECK OPTION”短语。

40 SQL语言有哪两种使用方式:

一种是在终端交互方式下使用,称为交互式SQL;

另一种是嵌入在高级语言的程序中使用,称为嵌入式SQL,而这些高级语言可以是C、PASCAL、COBOL等,称为宿主语言。

41 嵌入式SQL的实现有哪两种处理方式:

一种是扩充宿主语言的编译程序,使之能处理SQL语句;

另一种是采用预处理方式。目前多数系统采用后一种。

42 在宿主语言的程序中使用SQL语句有哪些规定:

(1) 在程序中要区分SQL语言与宿主语句。所有SQL语句前必须加上前缀标识“EXEC SQL”,并以“END_EXEC”作为语句的结束标志。(结束标志在不同的宿主语言中不同)

(2) 允许嵌入的SQL语句引用宿主语言的程序变量(共享变量),但有两条规定:

1) 引用时,这些变量前必须加冒号“:”作为前缀,以示与数据库中变量有区别。

2) 这些变量由宿主语言的程序定义,并用SQL的DECLARE语句说明。

43 用游标机制协调SQL的集合处理方式所用的SQL语句有哪些:

与游标有关的SQL语句有下列四个:

(1) 游标定义语句(DECLARE)

(2) 游标打开语句(OPEN)

(3) 游标推进语句(FETCH)

(4) 游标关闭语句(CLOSE)

44 SQL DML的嵌入使用技术:

(1) 若是INSERT、DELETE、UPDATE语句,则不必涉及游标,只要加上前缀标识和结束标志就能嵌入宿主语言程序中使用。

(2) 若是已知查询结果肯定是单元组的SELECT语句,则不必涉及游标,也可加上前缀标识和结束标志后嵌入宿主语言程序中使用,但此时应该在SELECT语句中增加一个INTO子句,指出找到的值应送到相应的共享变量中去。

(3) 若是已知查询结果为多个元组的SELECT语句,则必须涉及到游标,用游标机制把多个元组一次一个地传送给宿主程序处理。

第三章 关系数据库SQL语言

本章为重点章,应熟悉和掌握SQL的数据定义、数据查询、数据更新的句法及其应用,特别是数据查询的应用。结合上机 *** 作进行理解和掌握。

一、SQL概述。

1、SQL发展历程( 识记 )

SQL从1970年美国IBM研究中心的EFCodd发表论文到1974年Boyce和Chamberlin把SQUARE语言改为SEQUEL语言,到现在还在不断完善和发展之中,SQL(结构式查询语言)虽然名为查询,但实际上具有定义、查询、更新和控制等多种功能。

2、SQL数据库的体系结构( 领会 )

SQL数据库的体系结构也是三级结构 ,但术语与传统关系模型术语不同,在SQL中,关系模式称为“ 基本表 ”,存储模式称为“ 存储文件 ”,子模式称为“ 视图 ”,元组称“ 行 ”,属性称“ 列 ”。

SQL数据库体系的结构要点如下:

(1)一个SQL数据库是表的汇集。

(2)一个SQL表由行集构成,行是列的序列,每列对应一个数据项。

(3)表或者是基本表,或者是视图。基本表是实际存储在数据库中的表,视图由是由若干基本表或其他视图构成的表的定义。

(4)一个基本表可以跨一个或多个存储文件,一个存储文件也可存放一个或多个基本表。存储文件与物理文件对应。

(5)用户可以用SQL语句对表进行 *** 作,包括视图和基本表。

(6)SQL的用户可以是应用程序,也可以是终端用户。

3、SQL的组成( 识记 )

SQL由四部分组成:

(1)数据定义:SQL DDL定义SQL模式,基本表、视图和索引。

(2)数据 *** 纵:SQL DML包括数据查询和数据更新(增、删、改)。

(3)数据控制:包括对基本表和视图的授权、完整性规则的描述,事务控制等。

(4)嵌入式SQL的使用规定。

二、SQL的数据定义( 简单应用 )

1、SQL模式的创建和撤消:

SQL 模式的创建 可简单理解为建立一个数据库,定义一个存储空间,其句法是:

CREAT SCHEMA 模式名> AUTHORIZATION 用户名>

撤消SQL模式的句法为:

DROP SCHEMA 模式名> [ CASCADE | RESTRICT ]

方括号中的选项参数CASCADE表示连锁方式,执行时将模式下所有基本表、视图、索引等元素全部撤消。RESTRICT表示约束式,执行时必须在SQL模式中没有任何下属元素时方可撤消模式。

2、SQL提供的基本数据类型

数值型:包括 integer、smallint、real、double precision 、float(n),numeric(p,d)

字符串型:char(n)、varchar(n),前者是定长,后者为变长串

位串型:bit(n),bit varying(n),同上。

时间型:date、time

3、基本表的创建、修改和撤消

基本表的创建:(可理解为建立表结构)

CREAT TABLE SQL 模式名。基本表名

(列名,类型,

……

完整性约束……)

完整性约束包括主键子句(PRIMARY KEY)、检查子句(CHECK)和外键子句(Foreign KEY)。

基本表结构的修改

ALTER TABLE 基本表名 ADD/ DROP (增加/删除) 列名 类型名(增加时写出)

删除时有子句 [CASCADE|RESTRICT],前者为连锁删除,后者为约束删除,即没有对本列的任何引用时才能删除。

基本表的撤消

DROP TABLE 基本表名 [CASCADE|RESTRICT]

4、视图的创建和撤消

创建: CREAT VIEW 视图名(列名表) AS SELECT 查询语句

撤消: DROP VIEW 视图名

5、索引的创建和撤消

创建: CREAT [UNIQUE] INDEX 索引名 ON 基本表名(列名表 [ASC|DESC])

撤消: DROP INDEX 索引名

总结:凡创建都用 CREAT ,删除都用 DROP ,改变用 alter ,再跟类型和名字,附加子句很容易了。

三、SQL的数据查询( 综合应用 )

这一段是本章的重点内容,应该熟练掌握。首先了解基本句法:

1、 SELECT -FROM- WHERE 句型

SELECT 列名表(逗号隔开) FROM 基本表或视图序列 WHERE 条件表达式

在这里,重点要掌握条件表达式中各种运算符的应用,如=,>,<,>等算术比较运算符、逻辑运算符 AND、OR、NOT 、集合成员资格运算符: IN,NOT IN ,以及嵌套的 SELECT 语句的用法要特别注意理解。 针对课本的例题和课后习题进行掌握。

在查询时, SELECT 语句可以有多种写法,如 联接查询、嵌套查询和使用存在量词的嵌套查询 等。都掌握,但是起码应能写出一种正确的查询语句。

2 SELECT 语句完整的句法:

SELECT 列名表(逗号隔开)

FROM 基本表或视图序列

[ WHERE 条件表达式] (此为和条件子句)

[GROUP BY 列名序列] (分组子句)

[HAVING 组条件表达式] (组条件子句)

[ORDER BY列名[ASC|DESC]……] (排序子句)

这段关于完整句法的内容能够理解也就问题不大了。

3、 SELECT 语句中的限定

这一段内容主要是对 SELECT 语句进一步使用进行的深入学习,领会下列各种限定的使用目的和方法。

要求输出表格中不出现重复元组,则在 SELECT 后加一DISTINCT

SELECT 子句中允许出现加减乘除及列名,常数的算术表达式

WHERE 子句中可以用BETWEEN……AND……来限定一个值的范围

同一个基本表在 SELECT 语句中多次引用时可用AS来增加别名

WHERE 子句中字符串匹配用LIKE和两个通配符,%和下划线_

查询结果的结构完全一致时可将两个查询进行并(UNION)交(INTERSECT)差(EXCPT) *** 作

查询空值 *** 作不是用='null',而是用 IS NULL来测试。

集合成员资格比较用 IN/NOT IN ,集合成员算术比较用元组θSOME/ALL

可以用子查询结果取名(表名(列名序列))来作为导出表使用

基本表的自然联接 *** 作是用 NATURAL INNER JOIN来实现的。

四、SQL的数据更新( 简单应用 )

简单应用就是掌握基本的句型并能套用在一些简单的查询要求上。

1、数据插入:

INSERT INTO 基本表名(列名表)

valueS (元组值)

INSERT INTO 基本表名(列名表)

SELECT 查询语句

其中元组值可以连续插入。用查询语句可以按要求插入所需数据。

2、数据删除:

DELETE FROM 基本表名 [ WHERE 条件表达式]

3、数据修改:

UPDATE 基本表名

SET 列名=值表达式,[列名=值表达式……]

[ WHERE 条件表达式]

4、对视图的更新:

我们知道,对视图的查询是和基本表相同的,但是更新 *** 作则受到下列三条规则的限制:(领会一下)

如果视图是从多个基本表使用联接 *** 作导出的,则不允许更新。

如果导出的视图使用了分组和聚合 *** 作,也不允许更新。

如果视图是从单个基本表使用选择和投影 *** 作导出的,并且包括了基本表的主键或某个候选键,则可以执行 *** 作。(这就相当于在基本表上 *** 作)。

这一节的关于增删改的 *** 作要和前面关于数据库模式、表的增删改 *** 作进行对比学习,以加深理解。不要忘记上机实践

有网友写脚本去对比,这些在网上搜一下能找到。

也可以用些大众化的方法:

1将两数据表生成出创建的脚本,并保存成文本文件。

2找WinMerge软件,其能很方便比较出两个脚本的差异。

sql数据库中包含主数据文件、事务日志文件、辅助数据文件三种文件。

1、主数据文件

该文件包含数据库的启动信息,并用于存储数据。每个数据库都有一个主要数据文件。

2、事务日志文件

这些文件包含用于恢复数据库的日志信息。每个数据库都必须至少有一个日志文件。

3、辅助数据文件

这些文件含有不能置于主要数据文件中的所有数据。如果主文件可以包含数据库中的所有数据,那么数据库就不需要次要数据文件。

扩展资料

sql数据库特点

1、SQL数据库的数据体系结构基本上是三级结构,但使用术语与传统关系模型术语不同。在SQL中,关系模式(模式)称为“基本表”(basetable);存储模式(内模式)称为“存储文件”(storedfile);子模式(外模式)称为“视图”(view);元组称为“行”(row);属性称为“列”(column)。

2、sql数据库是非过程化语言、统一的语言、是所有关系型数据库的公共语言。

3、SQL用户可以是应用程序,也可以是终端用户。SQL语句可嵌入在宿主语言的程序中使用,宿主语言有FORTRAN,COBOL,PASCAL,PL/I,C和Ada语言等。SQL用户也能作为独立的用户接口,供交互环境下的终端用户使用。

SQL是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的 *** 作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。

SQL数据库的数据体系结构基本上是三级结构,但使用术语与传统关系模型术语不同。在SQL中,关系模式(模式)称为"基本表"(base table);存储模式(内模式)称为"存储文件"(stored file);子模式(外模式)称为"视图"(view);元组称为"行"(row);属性称为"列"(column)。

扩展资料

SQL数据库的优点:

1、易用性高:

适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性价比等。

2 为数据管理与分析带来了灵活性:

允许单位在快速变化的环境中从容响应,从而获得竞争优势。从数据管理和分析角度看,将原始数据转化为商业智能和充分利用Web带来的机会非常重要。作为一个完备的数据库和数据分析包,SQLServer为快速开发新一代企业级商业应用程序、为企业赢得核心竞争优势打开了胜利之门。

参考资料来源:百度百科-SQL数据库

以上就是关于数据库原理第三章关系数据库SQL语言全部的内容,包括:数据库原理第三章关系数据库SQL语言、自考《数据库原理》串讲—关系数据库SQL语言、怎样比较两个数据库的表结构等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10130263.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存