第3章 关系数据库标准语言SQL——章末小结和习题

简介: 第3章 关系数据库标准语言SQL——章末小结和习题

第3章  关系数据库标准语言SQL


章末小结


     SQL可以分为数据定义、数据查询、数据更新、数据控制四大部分。人们有时把数据更新称为数据操纵,或把数据查询与数据更新合称为数据操纵。本章系统而详尽地讲解了前面三部分的内容。

     数据控制中的数据安全性和完整性控制将放在第5章和第6章中讲解。嵌入式SQL、过程性SQL与存储过程将放在第8章中讲解。

     本章在讲解SQL的同时,进一步讲解了关系数据库系统的基本概念,使关系数据库的许多概念更加具体、更加丰富。

     SQL是关系数据库语言的工业标准。目前,大部分数据库管理系统产品都能支持SQL 92,但是许多数据库系统只支持SQL 99、SQL 2008和SQL 2011的部分特征,至今尚没有一个数据库系统能够完全支持SQL 99以上的标准。

     SQL的数据查询功能是最丰富,也是最复杂的,读者应加强实验练习。


习题




1、试述SQL的特点。








2、说明在drop table时,restrictcascade的区别。








3、有两个关系S(A,B,C,D)T(C,D,E,F),写出与下列查询等价的SQL表达式:

11a0d1fb7dbc012285f820817fa0bfa81_640_wxfrom=5&wx_lazy=1&wx_co=1.jpg

28426f3b8fce034b5c562c95311f4e08c_640_wxfrom=5&wx_lazy=1&wx_co=1.jpg

317d3440c730c64b74636fc66e7c2d367_640_wxfrom=5&wx_lazy=1&wx_co=1.jpg

42950b50f5069f85c04ffc2a7d98ea57a_640_wxfrom=5&wx_lazy=1&wx_co=1.jpg

58a0b9e9f071885188d7111960a8403d1_640_wxfrom=5&wx_lazy=1&wx_co=1.jpg

6fe2dd686a096a8429329126231d8a9b6_640_wxfrom=5&wx_lazy=1&wx_co=1.jpg










4、用SQL语句建立第二章习题6中的四个表;针对建立的4个表用SQL语言完成第二章习题6中的查询。

设有一个SPJ数据库,包括SPJSPJ4个关系模式:

S(SNO,SNAME,STATUS,CITY);

P(PNO,PNAME,COLOR,WEIGHT);

J(JNO,JNAME,CITY);

SPJ(SNO,PNO,JNO,QTY);


供应商表S由供应商代码(SNO)、供应商姓名(SANME)、供应商状态(STATUS)、供应商所在城市(CITY)组成。

零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成。

工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成。

供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY


今有若干数据如下:

S


SPJ

SNO

SNAME

STATUS

CITY


SNO

PNO

JNO

QTY

S1

精益

20

天津


S1

P1

J1

200

S2

盛锡

10

北京


S1

P1

J3

100

S3

东方红

30

北京


S1

P1

J4

700

S4

丰泰盛

20

天津


S1

P2

J2

100

S5

为民

30

上海


S2

P3

J1

400

P


S2

P3

J2

200

PNO

PNAME

COLOR

WEIGHT


S2

P3

J4

500

P1

螺母

12


S2

P3

J5

400

P2

螺栓

绿

17


S2

P5

J1

400

P3

螺丝刀

14


S2

P5

J2

100

P4

螺丝刀

14


S3

P1

J1

200

P5

凸轮

40


S3

P3

J1

200

P6

齿轮

30


S4

P5

J1

100

J


S4

P6

J3

300

JNO

JNAME

CITY


S4

P6

J4

200

J1

三建

北京


S5

P2

J4

100

J2

一汽

长春


S5

P3

J1

200

J3

弹簧厂

天津


S5

P6

J2

200

J4

造船厂

天津


S5

P6

J4

50

J5

机车厂

唐山






J6

无线电厂

常州






J7

半导体厂

南京

















1)建表








2)使用SQL语句完成下列查询

求供应工程J1零件的供应商号码SNO



求供应工程J1零件P1的供应商号码SNO



求供应工程J1零件为红色的供应商号码SNO





求没有使用天津供应商生产的红色零件的工程号JNO











求至少用了供应商S1所供应的全部零件的工程号JNO











5、针对习题4中的4个表试用SQL完成以下各项操作:

1)找出所有供应商的姓名和所在城市;



2)找出所有零件的名称、颜色、重量;



3)找出使用供应商S1所供应零件的工程号码;



4)找出工程项目J2使用的各种零件的名称及其数量;




5)找出上海厂商供应的所有零件号码;





6)找出使用上海产的零件的工程名称;



7)找出没有使用天津产的零件的工程号码;









8)把全部红色零件的颜色改成蓝色;



9)由S5供给J4的零件P6改为由S3供应,请作必要的修改;





10)从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录;




11)请将(S2,J6,P4,200)插入供应情况关系。




6、什么是基本表?什么是视图?两者的区别和联系是什么?







7、试述视图的优点。






8、哪类视图是可以更新的,哪类视图是不可更新的?各举一例说明。







9、请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件代码(PNO)、供应数量(QTY)。针对该视图完成下列查询:

找出三建工程项目使用的各种零件代码及其数量。

找出供应商S1供应三建工程的情况。


相关实践学习
MySQL数据库快速部署实践
本场景主要介绍如何在一台配置了CentOS 7.7版本的ECS实例(云服务器)上安装mysql,执行mysql的常用操作,学习基本的SQL语句。
相关文章
|
6月前
|
SQL Oracle 关系型数据库
SQL语言小结
针对数据库、表单和数据行的增删改,没有涉及到sql真正的用途也就是查询,sql提供的查询语句的关键字占 sql 语言的一半之多,查询语句还是得单拿出来讲,不然太多了。 因为没有涉及到查询,所以sql的新增和修改都是很笼统的做法,drop、alter drop、delete这些很容易,逻辑性也不强,再次说明sql的真正精髓在于查询,不然为啥叫做结构化查询语言
386 0
|
6月前
|
SQL 关系型数据库 MySQL
(SQL)SQL语言中的查询语句整理
查询语句在sql中占了挺大一部分篇幅,因为在数据库中使用查询语句的次数远多于更新与删除命令。而查询语句比起其他语句要更加的复杂,可因为sql是数据库不可或缺的一部分,所以即使不懂,也必须得弄懂,以上。
358 0
|
6月前
|
SQL 存储 监控
SQL日志优化策略:提升数据库日志记录效率
通过以上方法结合起来运行调整方案, 可以显著地提升SQL环境下面向各种搜索引擎服务平台所需要满足标准条件下之数据库登记作业流程综合表现; 同时还能确保系统稳健运行并满越用户体验预期目标.
346 6
|
7月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
1233 152
|
7月前
|
关系型数据库 分布式数据库 数据库
阿里云数据库收费价格:MySQL、PostgreSQL、SQL Server和MariaDB引擎费用整理
阿里云数据库提供多种类型,包括关系型与NoSQL,主流如PolarDB、RDS MySQL/PostgreSQL、Redis等。价格低至21元/月起,支持按需付费与优惠套餐,适用于各类应用场景。
|
7月前
|
SQL 人工智能 Linux
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
622 5
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
|
7月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供高性价比、稳定安全的云数据库服务,适用于多种行业与业务场景。
914 156
|
7月前
|
SQL 数据管理 关系型数据库
SQL 语言入门:开启数据管理的大门
在数字化时代,数据已成为核心资产,而 SQL 作为操作关系型数据库的标准语言,是数据从业者、程序员及办公人员必备技能。本文从基础概念讲起,详解 SQL 的核心用法,包括数据查询、插入、修改、删除及表结构操作,并通过实例演示帮助读者快速上手。掌握 SQL,不仅能提升数据处理效率,更为深入理解数据管理打下坚实基础。
|
7月前
|
SQL Oracle 关系型数据库
Oracle数据库创建表空间和索引的SQL语法示例
以上SQL语法提供了一种标准方式去组织Oracle数据库内部结构,并且通过合理使用可以显著改善查询速度及整体性能。需要注意,在实际应用过程当中应该根据具体业务需求、系统资源状况以及预期目标去合理规划并调整参数设置以达到最佳效果。
472 8
|
8月前
|
SQL 人工智能 Java
用 LangChain4j+Ollama 打造 Text-to-SQL AI Agent,数据库想问就问
本文介绍了如何利用AI技术简化SQL查询操作,让不懂技术的用户也能轻松从数据库中获取信息。通过本地部署PostgreSQL数据库和Ollama模型,结合Java代码,实现将自然语言问题自动转换为SQL查询,并将结果以易懂的方式呈现。整个流程简单直观,适合初学者动手实践,同时也展示了AI在数据查询中的潜力与局限。
1042 8
下一篇
开通oss服务