第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 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
14 4
|
3天前
|
SQL 关系型数据库 MySQL
go语言中安装数据库驱动
【11月更文挑战第1天】
16 5
|
4天前
|
SQL 关系型数据库 MySQL
go语言中数据库操作
【10月更文挑战第22天】
17 4
|
3天前
|
关系型数据库 MySQL 数据库连接
go语言中打开数据库连接
【11月更文挑战第1天】
14 2
|
28天前
|
SQL Oracle 关系型数据库
SQL语言的主要标准及其应用技巧
SQL(Structured Query Language)是数据库领域的标准语言,广泛应用于各种数据库管理系统(DBMS)中,如MySQL、Oracle、SQL Server等
|
1月前
|
SQL 关系型数据库 MySQL
Go语言项目高效对接SQL数据库:实践技巧与方法
在Go语言项目中,与SQL数据库进行对接是一项基础且重要的任务
50 11
|
1月前
|
SQL Serverless 数据库
数据库常用DQL语言合集
数据库常用DQL语言合集
|
1月前
|
SQL NoSQL 数据管理
超越查询语言:GQL 如何塑造图形数据库的未来
超越查询语言:GQL 如何塑造图形数据库的未来
23 0
|
3月前
|
SQL 关系型数据库 MySQL
|
3月前
|
SQL 数据库 开发者
下一篇
无影云桌面