sql语言有四类语句 1.docx
《sql语言有四类语句 1.docx》由会员分享,可在线阅读,更多相关《sql语言有四类语句 1.docx(10页珍藏版)》请在冰点文库上搜索。
![sql语言有四类语句 1.docx](https://file1.bingdoc.com/fileroot1/2023-5/25/c7bf4d08-075d-4f41-af84-89d755ff8bcf/c7bf4d08-075d-4f41-af84-89d755ff8bcf1.gif)
sql语言有四类语句1
一、填空题
1.SQL语言有四类语句,分别是DDL、DQL、DML和DCL(中文及英文简写均可)。
2.SQL有两种使用方式:
自含式SQL和嵌入式SQL。
3.数据库系统一般由DB、应用系统、DBMS、DBA和用户组成。
4.关系模型的基本数据结构是基表,其数据库存储时的基本组织方式是文件。
二、选择
1.对DB中数据的操作分成两大类A。
A)查询和更新B)检索和修改C)查询和修改D)插入和修改
2.SQL中,下列操作不正确的是B。
A)AGEISNOTNULLB)NOT(AGEISNULL)
C)SNAME=‘王五’D)SNAME=‘王%’
3.SQLServer是一种C数据库管理系统。
A)层次型B)网络型C)关系型D)链状型
4.某个用户对某类数据有何种操作权力由C决定。
A)用户B)系统分析员C)DBAD)应用程序员
5.若关系模式R(U)的每个非主属性都不部分函数依赖、也不传递函数依赖于关键字,则称R满足C。
A)1NFB)2NFC)3NFD)BCNF
6.当多个用户的D同时存取或修改数据时,可能会发生相互干扰而造成得到错误的结果。
A)应用程序B)操作C)数据库D)并发进程
7.数据库系统中,数据独立性是指B。
A)数据之间相互独立B)应用程序与数据库的结构之间相互独立
C)数据的逻辑结构与物理结构相互独立
D)数据与磁盘之间相互独立
8.SQL中,“AGEIN(20,22)”的语义是D。
A)AGE<=22ANDAGE>=20B)AGE<22ANDAGE>20
C)AGE=20ANDAGE=22D)AGE=20ORAGE=22
9.下列式子中,不正确的是A。
A)R∩S=S-(R-S)B)R∩S=S-(S-R)
C)R=(R-S)∪(R∩S)D)R-S=R-(R∩S)
10.概念模型表示方法最常用的是B。
A)关系模型B)实体联系方法C)面向对象方法D)数据模型
三、简答题
1.关系数据库包含哪三级模式?
它们分别对应数据库的哪一部分?
答:
关系数据库包含内模式、模式、外模式三级模式。
它们分别对应数据库的存储文件、基表、视图。
2.什么是数据库管理系统(DBMS)?
其主要功能有哪些?
答:
数据库管理系统是负责具体实施DB的定义、创建、维护、管理等各项功能的一组专用软件。
其主要功能有:
DB的定义功能;数据操纵功能;DB运行管理;DB的建立和维护功能。
3.关系数据库的规范化理论是为了解决什么问题?
一个关系模式从1NF到2NF,消除了原关系模式的什么问题?
答:
由于数据之间存在着联系和约束,在关系模式的关系中可能会存在数据冗余和操作异常现象,因此,需把关系模式进行分解,以消除冗余和异常现象。
一个关系模式从1NF到2NF,消除了原关系模式中的部分函数依赖。
四、名词解释
1.实体集R、S之间1:
N的联系:
对于R中每一实体,S中有N个实体与之联系;而对于S中每一实体,R中至多只有一个实体与之联系。
2.数据库:
按一定的组织结构集成存储在计算机存储介质上的相关数据及数据之间逻辑关系的集合。
3.基表:
实表。
独立存在的表,不由其它表导出。
4.完全函数依赖:
若R(U)中,已知X→Y,且对于任何X的真子集X’都有X’→Y,则称Y完全函数依赖于X,记作X→Y。
5.外模式:
也称“子模式,用户模式”,是DB用户看到的(或用到的)那部分数据视图。
五、E-R模型设计题(本题20分)
1.设有商务数据库用以处理销售记帐,它涉及的数据包括顾客、商品信息。
试设计一个E-R模型,并将之转换为关系模型。
(注:
关键字用下划线标出)(10分)
(1)E-R图(属性略):
(2)关系模型:
顾客(顾客号,姓名,地址,电话,…);
商品(商品号,品名,型号规格,单价,…);
购买(顾客号,商品号,数量,日期,…)。
2.学校课程管理子系统主要包括的实体有学生、课程、教师、教室,试设计该子系统E-R模型,并将之转换为关系模型。
(注:
关键字用下划线标出)(10分)
(1)E-R图(属性略):
(2)关系模型:
学生(学号,姓名,年龄,…);
课程(课程号,课程名,课时,…);
教师(教师号,姓名,职称,…);
教室(楼名,教室号,…);
选课(学号,课程号,成绩,…);
授课(教师号,课程号,楼名,教室号,时间,…)。
六、对于某图书出版管理数据库,其中有两个表:
publishers(pub_id,pub_name,city)
titles(title_id,title_name,type,pub_id,price,pubdate)
含义为:
出版商表(出版商代号,出版商名字,所在城市),书籍表(书号,书名,书的种类,出版商代号,价格,出版日期),并规定每一出版商有唯一的代号,每一种书以书号标识。
写出实现下列各功能的SQL语句。
1)用SQL的数据定义语言建立titles表,并定义其主码与外码。
Createtabletitle(title_idchar(10),
title_namechar(20),
typechar(10),
pub_idchar(10),
pricenumeric(6,2),
pubdatedatetime,
primarykey(title_id),
foreignkey(pub_id)referencespublishers(pud_id));
2)把某一出版商的信息(0735,人民邮电出版社,北京)录入到publishers表中。
Insertintopublishersvalues(‘0735’,’人民邮电出版社’,’北京’);
3)把书的种类为“计算机”类的书的价格降低30%。
Updatetitlessetprice=price*(1-0.3)
Wheretype=’计算机’;
4)查询书的价格在20至50元之间的书的书号、种类和价格。
Selecttitle_id,type,pricefromtitleswherepricebetween20and50;
5)从publishers表和titles表中查询书的书号、书名、种类及出版商名字。
Selecttitle_id,title_name,type,pub_name
fromtitles,publishers
wherepub_id=publishers.pub_id;
6)查询所有价格高于平均价格的书。
Select*fromtitleswhereprice>(selectavg(price)fromtitles);
7)列出“机械工业出版社”自2001年以来出版的各种书籍情况。
Select*fromtitleswherepub_id=(selectpub_idfrompublishers
Wherepub_name=’机械工业出版社’)
Andpubdate>=’2001/01/01’;
8)删除所在城市为“沈阳”的出版商的信息。
Deletefrompublisherswherecity=’沈阳’;
五、设职工---社团数据库有三个基本表:
职工(职工号,姓名,年龄,性别);
社会团体(编号,名称,负责人,活动地点);
参加(职工号,编号,参加日期);
其中:
1.职工表的关键字为职工号。
2.社会团体表的关键字为编号;外关键字为负责人,被参照表为职工表,对应属性为职工号。
3.参加表的职工号和编号为关键字;职工号为外关键字,其被参照表为职工表,对应属性为职工号;编号为外关键字,其被参照表为社会团体表,对应属性为编号。
试用SQL语句表达下列操作:
1.定义职工表、社会团体表和参加表,并说明其关键字。
2.建立下列两个视图。
社团负责人(编号,名称,负责人职工号,负责人姓名,负责人性别);
参加人情况(职工号,姓名,社团编号,社团名称,参加日期)
3.查找参加唱歌队或篮球队的职工号和姓名。
4.查找以下情况。
1) 查找参加了职工号为“1001”的职工所参加的全部社会团体的职工号。
2) 求每个社会团体的参加人数。
3) 求参加人数最多的社会团体的名称和参加人数。
4) 求参加人数超过100人的社会团体的名称和负责人。
五、
1.
CREAT TABLE 职工(职工号 CHAR(10)NOT NULL UNIQUE,
姓名 CHAR(8)NOT NULL,
年龄 SMALLINT,
性别 CHAR
(2),
CONSTRAINT C1 CHECK(性别IN(‘男’,‘女’)));
CREAT TABLE 社会团体(编号 CHAR(8)NOT NULL UNIQUE,
名称 CHAR(12)NOT NULL,
XX文库-让每个人平等地提升自我负责人 CHAR(8),
活动地点 VARCHAR(50),
CONSTRAINT C2 FOREIGN KEY(负责人)REFERENCES职工 (职工号));
CREAT TABLE 参加(职工号 CHAR(8),
编号 CHAR(8),
参加日期 DATA,
CONSTRAINT C3 PRIMARY KEY(职工号,编号),
CONSTRAINC3FOREIGNKEY(职工号)REFERENCES职工(职工号));
2.
CREATVIEW社团负责人(编号,名称,负责人职工号,负责人姓名,负责人性别)
AS SELECT编号,名称,负责人,姓名,性别
FROM 社会团体,职工
WHERE 社会团体.负责人=职工.职工号;
CREATVIEW参加人情况(职工号,姓名,社团编号,参加日期)
AS SELECT参加.职员号,姓名,社会团体.编号,名称,参加日期 FROM职工,社会团体,参加
WHERE 职工.职工号=参加.职工号AND参加.编号=社会团体.编号;
3.
SELECT 职工号,姓名
FROM 职工,社会团体,参加
WHERE 职工.职工号=参加.职工号AND参加.编号=社会团体.编号
AND 社会团体.名称IN(‘唱歌队’,‘篮球队’);
4
1)
SELECT职工号
FROM 职工
WHERE NOT EXISTS(SELECT*
FROM参加 参加1
WHERE 参加1.职工号=‘1001’AND NOT EXISTS
(SELECT*
FROM 参加 参加2
WHERE 参加2.编号=参加1.编号 AND 参加2.职工号=职工.职工号));
2)
SELECT COUNT(职员号)
FROM 参加
GROUP BY 编号;
3)
SELECT 社会团体.名称,COUNT(参加.职工号)
FROM社会团体 参加
WHERE 社会团体.编号=参加.编号
GROUP BY 参加编号
HAVING MAX (COUNT(参加.职工号))=COUNT(参加.职工号));
4)
SELECT 社会团体.名称,职工.姓名
FROM 职工,社会团体,参加
WHERE 社会团体.编号=参加.编号 AND 社会团体.负责人=职工.职工号
GROUP BY 参加.编号 HAVING COUNT(参加.编号)>100;
五、设工程—零件数据库中有四个基本表:
供应商(供应商代码,姓名,所在城市,联系电话);
工程(工程代码,工程名,负责人,预算);
零件(零件代码,零件名,规格,产地,颜色);
供应零件(供应商代码,工程代码,零件代码,数量)
试用SQL语句完成下列操作:
1.找出天津市供应商的姓名和电话。
2.查找预算在50000~100000元之间的工程的信息,并将结果按预算降序排列。
3.找出使用供应商S1所供零件的工程号码。
4.找出工程项目J2使用的各种零件名称及其数量。
五、
1.
SELECT 姓名,联系电话
FROM 供应商
2.
SELECT*
FROM工程
WHERE 预算 BETWEEN 50000 AND 100000
ORDER BY 预算 DESC;
3.
SELECT 工程代号
FROM 供应零件
WHERE 供应商代码=‘SI’;
4.
SELECT 零件.零件名,供应零件.数量
FROM 零件 供应零件
WHERE 零件.零件代码=供应零件.零件代码AND供应零件.工程代码=‘J2’;