第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供应三建工程的情况。


相关实践学习
体验RDS通用云盘核心能力
本次实验任务是创建一个云数据库RDS MySQL(通用云盘),并通过云服务器ECS对RDS MySQL实例进行压测,体验IO加速和IO突发带来的性能提升;并通过DMS执行DDL,将数据归档到OSS,再结合云盘缩容,体验数据归档带来的成本优势。
相关文章
|
2月前
|
SQL 开发框架 .NET
ASP.NET连接SQL数据库:详细步骤与最佳实践指南ali01n.xinmi1009fan.com
随着Web开发技术的不断进步,ASP.NET已成为一种非常流行的Web应用程序开发框架。在ASP.NET项目中,我们经常需要与数据库进行交互,特别是SQL数据库。本文将详细介绍如何在ASP.NET项目中连接SQL数据库,并提供最佳实践指南以确保开发过程的稳定性和效率。一、准备工作在开始之前,请确保您
284 3
|
8天前
|
SQL Oracle 数据库
使用访问指导(SQL Access Advisor)优化数据库业务负载
本文介绍了Oracle的SQL访问指导(SQL Access Advisor)的应用场景及其使用方法。访问指导通过分析给定的工作负载,提供索引、物化视图和分区等方面的优化建议,帮助DBA提升数据库性能。具体步骤包括创建访问指导任务、创建工作负载、连接工作负载至访问指导、设置任务参数、运行访问指导、查看和应用优化建议。访问指导不仅针对单条SQL语句,还能综合考虑多条SQL语句的优化效果,为DBA提供全面的决策支持。
31 11
|
1月前
|
SQL 缓存 监控
大厂面试高频:4 大性能优化策略(数据库、SQL、JVM等)
本文详细解析了数据库、缓存、异步处理和Web性能优化四大策略,系统性能优化必知必备,大厂面试高频。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:4 大性能优化策略(数据库、SQL、JVM等)
|
22天前
|
SQL 关系型数据库 MySQL
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。
|
21天前
|
SQL 监控 安全
SQL Servers审核提高数据库安全性
SQL Server审核是一种追踪和审查SQL Server上所有活动的机制,旨在检测潜在威胁和漏洞,监控服务器设置的更改。审核日志记录安全问题和数据泄露的详细信息,帮助管理员追踪数据库中的特定活动,确保数据安全和合规性。SQL Server审核分为服务器级和数据库级,涵盖登录、配置变更和数据操作等事件。审核工具如EventLog Analyzer提供实时监控和即时告警,帮助快速响应安全事件。
|
1月前
|
SQL 关系型数据库 MySQL
体验使用DAS实现数据库SQL优化,完成任务可得羊羔绒加厚坐垫!
本实验介绍如何通过数据库自治服务DAS对RDS MySQL高可用实例进行SQL优化,包含购买RDS实例并创建数据库、数据导入、生成并优化慢SQL、执行优化后的SQL语句等实验步骤。完成任务,即可领取羊羔绒加厚坐垫,限量500个,先到先得。
151 12
|
28天前
|
SQL 存储 BI
gbase 8a 数据库 SQL合并类优化——不同数据统计周期合并为一条SQL语句
gbase 8a 数据库 SQL合并类优化——不同数据统计周期合并为一条SQL语句
|
28天前
|
SQL 数据库
gbase 8a 数据库 SQL优化案例-关联顺序优化
gbase 8a 数据库 SQL优化案例-关联顺序优化
|
1月前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第16天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括配置系统源、安装 SQL Server 2019 软件包以及数据库初始化,确保 SQL Server 正常运行。
|
1月前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。