第3章SQL语言习题参考-答案~(新~)
大三 sql 课后习题答案
第二章3.上机练习题02 程序代码如下:CREATE DATABASE STUDENT1ON PRIMARY(NAME= STUDENT1_data,FILENAME='E:\DATA\STUDENT1.mdf', SIZE=3,MAXSIZE=unlimited,FILEGROWTH=15%)LOG ON(NAME= STUDENT1_log,FILENAME='E:\DATA\STUDENT1.ldf', SIZE=2,MAXSIZE=30,FILEGROWTH=2)03 程序代码如下:create database studentson primary(name=students1,filename='E:\DATA\students1.mdf', size=5,maxsize=75,filegrowth=10%),(name= students12,filename='E:\DATA\students2.ndf', size=10,maxsize=75,filegrowth=1)log on(name=studentslog1,filename='E:\DATA\studentslog1.ldf', size=5,maxsize=30,filegrowth=1),(name=studentslog2,filename='E:\DATA\studentslog2.ldf', size=5,maxsize=30,filegrowth=1)第三章:3 上机练习题01 程序代码如下:-- 创建表book的Transact-SQL语句:USE test01GOCREATE TABLE book(book_id nchar(6)NOT NULL,book_name nchar(30)NULL,price numeric(10, 2)NULL,CONSTRAINT PK_book PRIMARY KEY CLUSTERED(book_id ASC))ON PRIMARY-- 创建表uthor的Transact-SQL语句:CREATE TABLE dbo.author(anthor_name nchar(4)NOT NULL,book_id nchar(6)NOT NULL,address nchar(30)NOT NULL)ON [PRIMARY]-- 设置book中的book_id为主键,author表中的book_id为外键ALTER TABLE dbo.author WITH CHECKADD CONSTRAINT FK_ book_author FOREIGN KEY(book_id) REFERENCES dbo.book (book_id)02 程序代码如下:--利用Transact-SQL语句创建表booksales的代码。
数据库第3章习题参考答案
第3章习题解答1.选择题(1)表设计器的“允许空”单元格用于设置该字段是否可输入空值,实际上就是创建该字段的(D)约束。
A.主键B.外键C.NULL D.CHECK(2)下列关于表的叙述正确的是(C)。
A.只要用户表没有人使用,则可将其删除B.用户表可以隐藏C.系统表可以隐藏D.系统表可以删除(3)下列关于主关键字叙述正确的是( A )。
A.一个表可以没有主关键字B.只能将一个字段定义为主关键字C.如果一个表只有一个记录,则主关键字字段可以为空值D.都正确(4)下列关于关联叙述正确的是( C )。
A.可在两个表的不同数据类型的字段间创建关联B.可在两个表的不同数据类型的同名字段间创建关联C.可在两个表的相同数据类型的不同名称的字段间创建关联D.在创建关联时选择了级联更新相关的字段,则外键表中的字段值变化时,可自动修改主键表中的关联字段(5)CREATE TABLE语句(C )。
A.必须在数据表名称中指定表所属的数据库B.必须指明数据表的所有者C.指定的所有者和表名称组合起来在数据库中必须唯一D.省略数据表名称时,则自动创建一个本地临时表(6)删除表的语句是(A)。
A.Drop B.Alter C.Update D.Delete (7)数据完整性不包括(B )。
A.实体完整性B.列完整性C.域完整性D.用户自定义完整(8)下面关于Insert语句的说法正确的是(A )。
A.Insert一次只能插入一行的元组B.Insert只能插入不能修改C.Insert可以指定要插入到哪行D.Insert可以加Where条件(9)表数据的删除语句是( A )。
A.Delete B.Inser C.Update D.Alter (10)SQL数据定义语言中,表示外键约束的关键字是(B )。
A.Check B.Foreign Key C.Primary Key D.Unique2.填空题(1)数据通常存储在表中,表存储在数据库文件中,任何有相应权限的用户都可以对之进行操作。
SQL第三章课后习题答案
--1):创建数据库并进行一些操作:create database studentonprimary (name=sudent_datafilename='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\student.mdf',size=20,maxsize=50,filegrowth=25%)log on(name=student_log,filename='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\student_log.LDF',size=3,maxsize=10,filegrowth=1)--2):将数据库student的初始分配空间大小扩充到40Muse studentgoalter database studentmodify file(name=student,size=40)--3):将数据库student的空间压缩到最小容量use studentgodbcc shrinkdatabase('student',2)--4):将student数据库重新设置为只读状态EXEC sp_dboption 'student','read only',false--5):将student数据库改名为scholasticexec sp_renamedb 'student','scholastic'--6):删除scholastic数据库drop database scholastic--7):采用系统存储过程分离和附加数据库create database studentexec sp_detach_db @dbname='student' --从服务器分离student数据库exec sp_attach_db @dbname=N'student'@filename1=N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\student_Data.mdf'@filename2=N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\student_log.LDF'--本章习题:--1:--(1)、关系数据库以二维表的形式存储数据--(2)、系统数据库和用户数据库--(3)、master,model,mdb,tempdb--master数据库记录了SQL server 2005的所有系统级信息--madel数据库为用户创建新的数据库提供模板--msdb数据库是SQL Server 2005代理服务使用的数据库--tempdb数据库保存所有的临时表和临时存储过程--(4)、使用对象资源管理器创建跟使用T-SQL语句创建用户数据库--(5)、--举例如下:--create database student 创建一个名为student的数据库--on 指定存储数据库数据部分的磁盘文件--primary (NAME=student, 主要的,命名--FILENAME='D:\student.mdf', 存储位置--size=3, 初始大小--maxsize=10, 最大容量--filegrowth=1) 增长方式--LOG on 指定建立数据库的日志文件--(name=student, 命名--filename='D:\student.ldf', 地址--size=1, 初始大小--maxsize=10, 最大容量--filegrowth=1)增长方式--(6)、--在数据库中创建一个数据表,以及对数据表中的某一数据进行修改等操作都是一个事务--事务日志的作用,根据日志文件信息,可以重新执行某些事务,完成某些未完成的事务,将数据库回滚--到之前的缪戈时间状态、复制事务或服务器等。
SQL语言习题参考答案(新)
第3章 SQL语言习题参考答案1.试述SQL语言的特点。
(85页)答:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供两种使用方式、语言简捷,易学易用。
2.试述SQL的定义功能。
(87页)答:SQL的数据定义功能包括定义表、定义视图和定义索引3.用SQL语句建立第二章习题5中的四个表。
S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY);供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成:CREATE TABLE S(Sno C(2) UNIQUE,Sname C(6) ,Status N(2),City C(4))零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成:CREATE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2),WEIGHT I(2))工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、所在城市(CITY)组成:CREATE TABLE J(Jno C(2) UNlQUE,JNAME C(8),CITY C(4))供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成:CREATE TABLE SPJ(Sno C(2),Pno C(2),JNO C(2),QTY N(2))4.针对上题中建立的四个表试用SQL语言完成第二章习题5中的查询:(1)求供应工程J1零件的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO=’J1’(2)求供应工程J1零件P1的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1' (3)求供应工程J1零件为红色的供应商号码SNO:SELECT SNO FROM SPJ,P WHERE JNO='J1' AND = AND COLOR='红' (4)求没有使用天津供应商生产的红色零件的工程号JNO:SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM SPJ,P,S WHERE ='天津' AND COLOR='红' AND = AND =。
第三章SQL语言习题
第三章SQL语⾔习题第三章SQL语⾔⼀、选择题:1、SQL语⾔是的语⾔,易学习。
A.过程化B.⾮过程化C.格式化D.导航式2、SQL语⾔是语⾔。
A.层次数据库B.⽹络数据库C.关系数据库D.⾮数据库3、SQL语⾔具有的功能。
A.关系规范化,数据操纵,数据控制B.数据定义,数据操纵,数据控制C.数据定义,关系规范化,数据控制D.数据定义,关系规范化,数据操纵4、SQL语⾔具有两种使⽤⽅式,分别称为交互式SQL和。
A.提⽰式SQL B.多⽤户SQLC.嵌⼊式SQL D.解释式SQL5、SQL语⾔中,实现数据检索的语句是。
A.SELECT B.INSERTC.UPDATE D.DELETE6、下列SQL语句中,修改表结构的是。
A.ALTER B.CREATEC.UPDATE D.DELETE7、SQL中,与“NOT IN”等价的操作符是。
A.=SOME B.<>SOMEC.=ALL D.<>ALL8、假设有三个基本表:学⽣表S、课程表C、学⽣选课表SC,它们的结构如下:S(S#,SN,SEX,AGE,DEPT)C(C#,CN)SC(S#,C#,GRADE)检索所有⽐“王华”年龄⼤的学⽣姓名、年龄和性别。
正确的SQL语句是。
A.SELECT SN,AGE,SEX FROM SWHERE AGE>(SELECT AGE FROM SWHERE SN=”王华”)B.SELECT SN,AGE,SEXFROM SWHERE SN=”王华”C.SELECT SN,AGE,SEXFROM SWHERE AGE>(SELECT AGEWHERE SN=”王华”)D.SELECT SN,AGE,SEXFROM SWHERE AGE>王华.AGE9、检索选修课程”C2”的学⽣中成绩最⾼的学⽣的学号。
正确的SELECT语句是。
A.SELECT S#FROM SCWHERE C#=”C2”AND GRADE>=(SELECT GRADE FROM SCWHERE C#=“C2”)B.SELECT S#FROM SCWHERE C#=”C2”AND GRADE IN(SELECT GRADE FROM SCWHERE C#=“C2”)C.SELECT S#FROM SCWHERE C#=”C2”AND GRADE NOT IN(SELECT GRADE FROM SCWHERE C#=“C2”)D.SELECT S#FROM SCWHERE C#=”C2”AND GRADE>=ALL(SELECT GRADE FROM SCWHERE C#=“C2”)10、检索学⽣姓名及其所选修课程的课程号和成绩。
(完整版)第三章SQL练习题参考答案
11、针对以上四个表,用SQL语言完成以下各项操作:①给学生表增加一属性Nation(民族),数据类型为Varchar(20);Alter table studentadd Nation Varchar(20);②删除学生表中新增的属性Nation;Alter table studentdrop column Nation;③向成绩表中插入记录(”2001110”,”3”,80);insert into Gradevalues('2001103','3',80);④修改学号为”2001103”的学生的成绩为70分;update Gradeset Gmark=70where Sno='2001103';⑤删除学号为”2001110”的学生的成绩记录;delete Gradewhere Sno='2001110';⑥为学生表创建一个名为,以班级号的升序排序;create index IX_Class on student(Clno ASC);⑦删除IX_Class索引Drop index IX_Class12、针对以上四个表,用SQL语言完成以下各项查询:①找出所有被学生选修了的课程号;select distinct cnofrom grade;②找出01311班女学生的个人信息;select *from studentwhere clno=01311 and ssex='女';③找出01311班、01312班的学生姓名、性别、出生年份;Select sname,ssex, year(getdata())-sage as ‘出生年份’from studentwhere clno in('01311','01312');④找出所有姓李的学生的个人信息;Select *from studentwhere sname like ’李%’;⑤找出学生李勇所在班级的学生人数;Select count(*)from studentwhere clno in (select clnofrom studentwhere sname= '李勇');⑥找出课程名为操作系统的平均成绩、最高分、最低分;Select avg(gmark),max(gmark),min(gmark)from gradewhere cno =(select cnofrom coursewhere cname='操作系统');⑦找出选修了课程的学生人数;Select count(distinct sno)from grade;⑧找出选修了课程操作系统的学生人数;Select count(sno)from gradewhere cno =(select cnofrom coursewhere cname='操作系统');⑨找出2000级计算机软件班的成绩为空的学生姓名。
SQL习题参考答案
8. 数据库设计过程包括几个主要阶段?这里只概要列出数据库设计过程的六个阶段:( l )需求分析;( 2 )概念结构设计;( 3 )逻辑结构设计;( 4 )数据库物理设计;( 5 )数据库实施;( 6 )数据库运行和维护。
这是一个完整的实际数据库及其应用系统的设计过程。
不仅包括设计数据库本身,还包括数据库的实施、运行和维护。
设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。
二、选择题1. 在下面所列出的条目中,哪些是数据库管理系统的基本功能__ ABC ____。
A. 数据库定义B. 数据库的建立和维护C. 数据库存取D. 数据库和网络中其他软件系统的通信2. 在数据库的三级模式结构中,内模式有___ A ___。
A. 1个B. 2个C. 3个D. 任意多个3. 下面列出的条目中,哪些是数据库技术的主要特点___ ABC ___。
A. 数据的结构化B. 数据的冗余度小C. 较高的数据独立性D. 程序的标准化4. __ B ___是按照一定的数据模型组织的,长期储存在计算机内,可为多个用户共享的数据的聚集。
A. 数据库系统B. 数据库C. 关系数据库 . 数据库管理系统5. 数据库(DB)、数据库系统(DBS)、数据库管理系统(DBMS)三者之间的关系,正确的表述是__ B ____。
A. DB和DBS都是DBMS的一部分B. DBMS和DB都是DBS的一部分C. DB是DBMS的一部分D. DBMS包括数据库系统和DB6. 用于对数据库中数据的物理结构描述的是___C_____。
A. 逻辑模式B. 用户模式C. 存储模式D. 概念模式7. 用于对数据库中全体数据的逻辑结构和特征描述的是___A_____。
A. 公共数据视图B. 外部数据视图C. 内模式D. 存储模式8. 用于对数据库中数据库用户能够看得见和使用的局部数据的逻辑结构和特征描述的是____B____。
A. 逻辑模式B. 外模式C. 内模式D. 概念模式9. 数据库三级模式体系结构的划分,有利于保持数据库的___A_____。
数据库技术与应用SQL Server 2008第3章习题参考答案
第3章习题解答1.思考题(1)数据通常存储在什么对象中?表对象存储在什么文件中?什么用户可以对表对象进行操作?答:数据通常存储在表对象中,表对象存储在数据库文件是,任何有相应权限的用户都可以对之进行操作。
在SQL Server 2008中数据表的创建可以以图形界面方式完成,也可以使用T-SQL 语言的方式完成。
(2)什么是数据的完整性?数据完整性包括哪些内容?为什么要使用数据的完整性?答:数据的完整性是指数据库中数据的正确性、有效性和一致性。
(1)正确性:指数据的合法性,如数值型数据只能包含数字,不能包含字母。
(2)有效性:指数据是否处在定义域的有效范围之内。
(3)一致性:指同一事实的两个数据应该一致,不一致即是不相容的。
通俗地讲就是限制数据库中的数据表可输入的数据,防止数据库中存在不符合语义规定的数据和因错误信息的输入输出造成的无效操作或错误信息。
使用数据完整性可确保数据库中的数据质量。
(3)假定利用CREA TE TABLE 命令建立下面的BOOK表:CREA TE TABLE BOOK( 总编号char(6),分类号char(6),书名char(6),单价numeric(10,2))则“单价”列的数据类型是什么?列宽度是多少?是否有小数位?答:“单价”列的数据类型是数值型,列宽度是10,有小数位2位。
(4)在SQL Server 中删除数据表和删除表数据是一个问题吗?为什么?若要删除表的定义及其数据,应使用什么语句?答:在SQL Server 中删除数据表和删除表数据不是一个问题。
删除数据表是指将整个表文件在数据库中删除,删除表数据则是对数据表的某些数据内容进行删除。
若要删除表的定义及其数据,应使用语句:DROP TABLE 语句(5)什么是实体完整性?实体完整性可通过什么措施实现?主键约束和唯一性约束有什么区别?答:实体完整性是指一个关系中所有主属性不能取空值。
所谓“空值”,就是“不知道”或“无意义”的值。
第3章 SQL语言习题参考答案
第3章 SQL语言习题参考答案1.试述SQL语言的特点。
(85页)答:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供两种使用方式、语言简捷,易学易用。
2.试述SQL的定义功能。
(87页)答:SQL的数据定义功能包括定义表、定义视图和定义索引3.用SQL语句建立第二章习题5中的四个表。
S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY);供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成:CREATE TABLE S(Sno C(2) UNIQUE,Sname C(6) ,Status N(2),City C(4))零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成:CREATE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2), WEIGHT I(2))工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、所在城市(CITY)组成:CREATE TABLE J(Jno C(2) UNlQUE,JNAME C(8), CITY C(4))供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成:CREATE TABLE SPJ(Sno C(2),Pno C(2),JNO C(2), QTY N(2))4.针对上题中建立的四个表试用SQL语言完成第二章习题5中的查询:(1)求供应工程J1零件的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO=’J1’(2)求供应工程J1零件P1的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1'(3)求供应工程J1零件为红色的供应商号码SNO:SELECT SNO FROM SPJ,P WHERE JNO='J1' AND SPJ.PNO=P.PNO AND COLOR='红'(4)求没有使用天津供应商生产的红色零件的工程号JNO:SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM SPJ,P,S WHERE S.CITY='天津' AND COLOR='红' AND S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO)。
数据库系统原理教程课后习题及答案(第三章)汇编
第3章关系数据库标准语言SQL1 .试述sQL 语言的特点。
答:(l)综合统一。
sQL 语言集数据定义语言DDL 、数据操纵语言DML 、数据控制语言DCL 的功能于一体。
(2)高度非过程化。
用sQL 语言进行数据操作,只要提出“做什么”,而无需指明“怎么做”,因此无需了解存取路径,存取路径的选择以及sQL 语句的操作过程由系统自动完成。
(3)面向集合的操作方式。
sQL 语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。
(4)以同一种语法结构提供两种使用方式。
sQL 语言既是自含式语言,又是嵌入式语言。
作为自含式语言,它能够独立地用于联机交互的使用方式;作为嵌入式语言,它能够嵌入到高级语言程序中,供程序员设计程序时使用。
(5)语言简捷,易学易用。
2 .试述sQL 的定义功能。
sQL 的数据定义功能包括定义表、定义视图和定义索引。
SQL 语言使用cREATE TABLE 语句建立基本表,ALTER TABLE 语句修改基本表定义,DROP TABLE 语句删除基本表;使用CREATE INDEX 语句建立索引,DROP INDEX 语句删除索引;使用CREATE VIEW 语句建立视图,DROP VIEW 语句删除视图。
3 .用sQL 语句建立第二章习题5 中的4 个表。
答:对于S 表:S ( SNO , SNAME , STATUS , CITY ) ;建S 表:CREATE TABLE S ( Sno C(2) UNIQUE,Sname C(6) ,Status C(2),City C(4));对于P 表:P ( PNO , PNAME , COLOR , WEIGHT );建P 表:CREATE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2),WEIGHT INT);对于J 表:J ( JNO , JNAME , CITY);建J 表:CREATE TABLE J(Jno C(2) UNlQUE,JNAME C(8),CITY C(4))对于sPJ 表:sPJ ( sNo , PNo , JNo , QTY);建SPJ 表:SPJ(SNO,PNO,JNO,QTY)CREATE TABLE SPJ(Sno C(2),Pno C(2),JNO C(2),QTY INT))4.针对上题中建立的4 个表试用sQL 语言完成第二章习题5 中的查询。
习题(第三章SQL查询)
• 对第二章习题5中的四个表完成查询
– 找出所有供应商的姓名和所在城市 – 找出所有零件的名称、颜色、重量 – 找出使用供应商S1所供应零件的工程号码 – 找出工程项目J2使用的各种零件的名称及其数量 – 找出上海厂商供应的所有零件号码 – 找出使用上海产的零件的工程号码
– 找出没有使用天津产的零件的工程号码
– 显示每个系的学生的平均年龄 – 查询“计算机”系所有选修了“数据库原理”课程的学生 姓名 – 显示至少有5名学生选修的课程的平均分数 – 查询每个人选修的课程数,显示其学号及课程数 – 查询“数据结构”这门课程的学生成绩
– 为所有工程供应了零件的供应商号,供应商名和他们所
Байду номын сангаас
在的城市
• 对第二章习题5中的四个表完成查询
– 取出所有工程的全部细节 – 取出重量最轻的零件的代号 – 取出供应商S1提供的零件的颜色 – 取出为工程J1和J2提供零件的供应商号 – 取出为所在城市为上海的工程提供零件的供应商号 – 取出供应商与工程所在城市相同的供应商提供的零件号
综合练习
• 对P75 5完成下列查询
取出所有工程的全部细节
取出重量最轻的零件的代号
取出供应商S1提供的零件的颜色
取出为工程J1和J2提供零件的供应商号
取出为所在城市为上海的工程提供零件的供应商号 取出供应商与工程所在城市相同的供应商提供的零 件号
• 用SQL针对“学生-课程数据库”完成查询
第三章 SQL语言练习题和答案
第三章SQL语言一、选择题1. SQL语言是(B )的语言,容易学习。
A.过程化B. 非过程化C.格式化D. 导航式2. SQL语言的数据操纵语句包括SELECT、INSERT、UPDATE、DELETE等。
其中最重要的,也是使用最频繁的语句是(A)。
A. SELECTB. INSERTC. UPDATED. DELETE3. 在视图上不能完成的操作是()。
A. 更新视图B. 查询C. 在视图上定义新的表D. 在视图上定义新的视图4. SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREATE、DROP、ALTER语句是实现哪种功能()。
A. 数据查询B. 数据操纵C. 数据定义D. 数据控制5. SQL语言中,删除一个视图的命令是()。
A.DELETEB.DROPC.CLEARD.REMOVE6. 在SQL语言中的视图VIEW是数据库的()。
A. 外模式B. 模式C. 内模式D. 存储模式7. 下列的SQL语句中,()不是数据定义语句。
A. CREATE TABLEB. DROP VIEWC. CREATE VIEWD. GRANT8. 若要撤销数据库中已经存在的表S,可用()。
A. DELETE TABLE SB. DELETE SC. DROP TABLE SD. DROP S9. 若要在基本表S中增加一列CN(课程名),可用()。
A.ADD TABLE S(CN CHAR(8))B.ADD TABLE S ALTER(CN CHAR(8))C.ALTER TABLE S ADD(CN CHAR(8))D.ALTER TABLE S (ADD CN CHAR(8))10. 学生关系模式S(S#,Sname,Sex,Age),S的属性分别表示学生的学号、姓名、性别、年龄。
要在表S中删除一个属性“年龄”,可选用的SQL语句是()。
A. DELETE Age from SB. ALTER TABLE S DROP AgeC. UPDATE S AgeD. ALTER TABLE S …Age‟11. 有关系S(S#,SNAME,SAGE),C(C#,CNAME),SC(S#,C#,GRADE)。
SQL语句练习部分题目答案
SQL语句练习部分题⽬答案1、(6分)(3分) 分别⽤关系代数和SQL语⾔查询⾄少选修了⼀门其直接先⾏课为5号课程的学⽣姓名πSname(σCpno='5'(Course SC Student))或πSname(σCpno='5'(Course) SC πSno,Sname(Student))或πSname (πSno (σCpno='5' (Course)SC)πSno,Sname (Student))(3分) 分别⽤关系代数和SQL语⾔查询⾄少选修了⼀门其直接先⾏课为5号课程的学⽣姓名SELECT Sname FROM Course,SC,StudentWHERE /doc/587453d43186bceb19e8bbb1.html o = SC,Cno And Student.Sno = SC.Sno And Course.Cpno = ‘5’;2、(3分)假设每个职⼯可以在多个公司⼯作,⽤SQL语⾔查询每个职⼯的兼职公司的数⽬和⼯资总数,显⽰为:E#,NUM,SUM_SALARY。
SELECT E#,COUNT(*) NUM ,SUM(SALARY) SUM_SALARYFROM WORKSGROUP BY E#;3、(3分) ⽤SQL语⾔查询联华公司中低于本公司平均⼯资的职⼯的⼯号和姓名。
SELECT EMP.E#,ENAMEFROM EMP,COMP,WORKSWHERE COMP. C#= WORKS. C#ANDEMP.E#=WORKS.E#ANDCNAME=’联华’ANDSALARY<(SELECT A VG(SALARY)FROM WORKSWHERE C#=(SELECT C#FROMWHERE CNAME=’联华’)) ;4、(3分) ⽤SQL语⾔为50岁以上的职⼯加薪300元。
UPDATE WORKSSET SALARY=SALARY+300WHERE E# IN (SELECT E#FROM EMP WHERE AGE>50);5、(3分)创建视图,要求包括属性:职⼯姓名、⼯作的公司名称、⼯资、公司所在的城市。
sql习题参考答案
sql习题参考答案SQL习题参考答案SQL(Structured Query Language)是一种用于管理和操作关系型数据库的语言。
在学习SQL时,练习习题是非常重要的,它们可以帮助我们巩固所学的知识,并提供实践的机会。
本文将为大家提供一些SQL习题的参考答案,以便读者们在学习过程中参考和对照。
1. 查询所有学生的姓名和年龄```sqlSELECT name, ageFROM students;```2. 查询所有学生的姓名和年龄,并按年龄降序排列```sqlSELECT name, ageFROM studentsORDER BY age DESC;```3. 查询所有学生的姓名和年龄,并按年龄升序排列,年龄相同时按姓名升序排列```sqlSELECT name, ageFROM studentsORDER BY age ASC, name ASC;```4. 查询所有学生的姓名和成绩,并显示成绩大于80分的学生```sqlSELECT name, scoreFROM studentsWHERE score > 80;```5. 查询所有学生的姓名和成绩,并显示成绩在70到90之间的学生```sqlSELECT name, scoreFROM studentsWHERE score BETWEEN 70 AND 90;```6. 查询所有学生的姓名和成绩,并显示成绩不在70到90之间的学生```sqlSELECT name, scoreFROM studentsWHERE score NOT BETWEEN 70 AND 90;```7. 查询所有学生的姓名和成绩,并按成绩分组,显示每个分数段的学生数量 ```sqlSELECT score, COUNT(*)FROM studentsGROUP BY score;```8. 查询所有学生的姓名和成绩,并按成绩分组,显示每个分数段的学生数量,并按数量降序排列```sqlSELECT score, COUNT(*)FROM studentsGROUP BY scoreORDER BY COUNT(*) DESC;```9. 查询所有学生的姓名和成绩,并显示成绩在每个分数段的平均成绩```sqlSELECT score, AVG(score)FROM studentsGROUP BY score;```10. 查询所有学生的姓名和成绩,并显示成绩在每个分数段的最高成绩```sqlSELECT score, MAX(score)FROM studentsGROUP BY score;```以上是一些常见的SQL习题及其参考答案。
第3章编程题目及参考答案
{
int a,b,c,d;
cout<<"a=";cin>>a;
if(a<=0||a%2!=0)
printf("输入一个正偶数!\n");
else
for(b=3;b<=a/2;b+=2)
{
for(c=2;c<=sqrt(b);c++)
sum=sum+fenzi/fenmu;
temp=fenzi;
fenzi=fenzi+fenmu;
fenmu=temp;
}
printf("n项之和为:%lf\n",sum);
// printf("%lf \n ",s);
}
*/
//3-5 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时
/*
#include <stdio.h>
void main(void)
{
int i;
double x,n,s=0.0;
double fact(int n);
scanf("%lf", &x);
n=x;
for(i=1;n>0.00001;i++)
第10次落地时,共经过多少米?第10次反弹多高?
3-13 打印出如下图案(菱形)
*
***
*****
(完整版)第3章SQL语言习题参考答案(新)
第3章 SQL语言习题参考答案1.试述SQL语言的特点。
(85页)答:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供两种使用方式、语言简捷,易学易用。
2.试述SQL的定义功能。
(87页)答:SQL的数据定义功能包括定义表、定义视图和定义索引3.用SQL语句建立第二章习题5中的四个表。
S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY);供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成:CREATE TABLE S(Sno C(2) UNIQUE,Sname C(6) ,Status N(2),City C(4))零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成:CREATE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2), WEIGHT I(2))工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、所在城市(CITY)组成:CREATE TABLE J(Jno C(2) UNlQUE,JNAME C(8),CITY C(4))供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成:CREATE TABLE SPJ(Sno C(2),Pno C(2),JNO C(2),QTY N(2))4.针对上题中建立的四个表试用SQL语言完成第二章习题5中的查询:(1)求供应工程J1零件的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO=’J1’(2)求供应工程J1零件P1的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1' (3)求供应工程J1零件为红色的供应商号码SNO:SELECT SNO FROM SPJ,P WHERE JNO='J1' AND SPJ.PNO=P.PNO AND COLOR='红'(4)求没有使用天津供应商生产的红色零件的工程号JNO:SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM SPJ,P,S WHERE S.CITY='天津' AND COLOR='红' AND S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO)。
数据库习题第三章 习题
CH3关系数据库标准语言SQL一、选择题1、SQL属于()数据库语言A、关系型B、网状型C、层次型D、面向对象型2、SQL中创建基本表应使用()语句A、CREATE INDEXB、CREATE TABLEC、CREATE VIEWD、CREATE DATEBASE3、SQL中创建视图应使用()语句A、CREATE SHCEMAB、CREATE TABLEC、CREATE VIEWD、CREATE DATEBASE4、关系代数中的Π运算对应SELECT语句中的()子句A、SELECTB、FROMC、WHERED、GROUP BY5、关系代数中的σ运算对应SELECT语句中的()子句A、SELECTB、FROMC、WHERED、GROUP BY6、WHERE子句的条件表达式中,可以匹配0个到多个字符的通配是()A、*B、%C、_D、?7、WHERE子句的条件表达式中,可以匹配单个字符的通配是()A、*B、%C、_D、?8、SELECT语句中与HA VING子句同时使用的是()子句A、ORDER BYB、WHEREC、GROUP BYD、无需配合9、与WHERE G BETWEEN 60 AND 100 语句等价的子句是()A、WHERE G>60 AND G<100B、WHERE G>=60 AND G<100C、WHERE G>60 AND G<=100D、WHERE G>=60 AND G<=10010、若用如下的SQL语句创建一个表student:CREATE TABLE student ( NO CHAR(4) NOT NULL,NAME CHAR(8) NOT NULL,SEX CHAR (2),AGE INT)可以插入到student表中的是()A、(‘1031’,‘刘华’,男,23)B、(‘1031’,‘刘华’,NULL,NULL)C、(NULL,‘刘华’,‘男’,‘23’)D、(‘1031’,NULL,‘男’,23)11、SQL语言支持建立聚簇索引,这样可以提高查询效率,但是,并非所有属性列都适宜建立聚簇索引,下面()属性列不适宜建立聚簇索引。
数据库系统原理与设计(第2版) 万常选版 第3章 SQL 课后答案
一个图书管理数据库BookDB的模式如图3-31—图3-34所示。
请基于该数据库模式用SQL图3-32 图书表Book的模式图3-34 借阅表Borrow的模式答案:SET NOCOUNT ONSET DATEFORMAT YMDUSE masterGO创建数据库BookDBIF EXISTS(SELECT * FROM sysdatabases WHERE name='BookDB')DROP DATABASE BookDBGOCREATE DATABASE BookDBGOUSE BookDBGO创建图书分类表BookClassCREATE TABLE BookClass(classNo char(3) PRIMARY KEY, /*分类号*/ className char(20) NOT NULL /*分类名称*/)GO创建图书表BookCREATE TABLE Book(bookNo char(10) PRIMARY KEY, /*图书编号*/ classNo char(3) NOT NULL /*分类号*/FOREIGN KEY REFERENCES BookClass, bookName varchar(40) NOT NULL, /*图书名称*/ authorName char(8) NOT NULL, /*作者姓名*/ publishingName varchar(20) NOT NULL, /*出版社名称*/ publishingNo char(17) NOT NULL, /*出版号*/price numeric(7,2) NOT NULL, /*单价*/ publishingDate datetime NOT NULL, /*出版时间*/ shopDate datetime NOT NULL, /*入库时间*/ shopNum int NOT NULL /*入库数量*/)GO创建读者表ReaderCREATE TABLE Reader(readerNo char(8) PRIMARY KEY, /*读者编号*/ readerName char(8) NOT NULL, /*读者姓名*/sex char(2) NOT NULL, /*性别*/ identitycard char(18) NOT NULL, /*身份证号*/ workUnit varchar(50) NULL /*工作单位*/)GO创建借阅表BorrowCREATE TABLE Borrow(readerNo char(8) NOT NULL, /*读者编号*/ bookNo char(10) NOT NULL, /*图书编号*/ borrowDate datetime NOT NULL, /*借阅日期*/shouldDate datetime NOT NULL, /*应归还日期*/returnDate datetime NULL, /*归还日期*/FOREIGN KEY(readerNo) REFERENCES Reader,FOREIGN KEY(bookNo) REFERENCES Book,PRIMARY KEY(readerNo,bookNo,borrowDate))GO3.1 查询1991年出生的读者姓名、工作单位和身份证号。
sql课后习题答案
sql课后习题答案SQL课后习题答案在学习SQL课程时,课后习题是非常重要的一部分。
通过完成这些习题,我们可以加深对SQL语言的理解,提高自己的实际操作能力。
下面是一些SQL课后习题的答案,希望对大家的学习有所帮助。
1. 查询所有员工的信息```sqlSELECT * FROM employees;```2. 查询员工编号为1001的员工信息```sqlSELECT * FROM employees WHERE employee_id = 1001;```3. 查询员工表中的员工数量```sqlSELECT COUNT(*) FROM employees;```4. 查询员工表中的员工姓名和薪水```sqlSELECT employee_name, salary FROM employees;```5. 查询员工表中薪水大于5000的员工信息```sqlSELECT * FROM employees WHERE salary > 5000;```通过以上的习题答案,我们可以看到SQL语言的基本操作,包括查询、条件筛选、统计等。
这些都是我们在日常工作中经常会用到的操作,对于掌握SQL语言非常重要。
除了以上的习题,我们还可以通过实际的项目案例来练习SQL语言的应用。
例如,可以通过查询销售数据、客户信息等来加深对SQL语言的理解和掌握。
总的来说,通过课后习题的答案,我们可以更好地掌握SQL语言的基本操作,提高自己的实际操作能力,为以后的工作做好准备。
希望大家在学习SQL语言的过程中能够多加练习,不断提升自己的技能水平。
萨师煊版数据库概论习题.
数据库系统概论(第三版)课后习题答案第1章绪论习题参考答案1、试述数据、数据库、数据库管理系统、数据库系统的概念。
(3、4、5页)答:描述事物的符号记录称为数据;数据库是长期储存在计算机内的、有组织的、可共享的数据集合;数据库管理系统是位于用户与操作系统之间的一层数据管理软件;数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。
2.使用数据库系统有什么好处?(12页)答:数据库系统使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的阶段,这样既便于数据的集中管理,又有利于应用程序的研制和维护,提高了数据的利用率和相容性,提高了决策的可靠性。
3.试述文件系统与数据库系统的区别和联系。
(8、9、10页)答:1)数据结构化是数据库与文件系统的根本区别。
在文件系统中,相互独立的文件的记录内部是有结构的,管其记录内部已有了某些结构,但记录之间没有联系。
数据库系统实现整体数据的结构化,是数据库的主要特征之一。
2)在文件系统中,数据的最小存取单位是记录,粒度不能细到数据项。
而在数据库系统中,存取数据的方式也很灵活,可以存取数据库中的某一个数据项、一组数据项一个记录或或一组记录。
3)文件系统中的文件是为某一特定应用服务的,文件的逻辑结构对该应用程序来说是优化的,因此要想对现有的数据再增加一些新的应用会很困难,系统不容易扩充。
而在数据库系统中数据不再针对某一应用,而是面向全组织,具有整体的结构化。
5.试述数据库系统的特点。
(9、10、11页)答:数据结构化;数据的共享性高、冗余度低、易扩充;数据独立性高;数据由DBMS统一管理和控制。
6.数据库管理系统的主要功能有哪些? (4页)答:数据定义功能、数据操纵功能、数据库的运行管理、数据库的建立和维护功能。
7.试述数据模型的概念(13页)、数据模型的作用、数据模型的三个要素。
(14、15页)答:数据模型(Data Model)也是一种模型,它是现实世界数据特征的抽象。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3章 SQL语言习题参考答案1.试述SQL语言的特点。
(85页)答:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供两种使用方式、语言简捷,易学易用。
2.试述SQL的定义功能。
(87页)答:SQL的数据定义功能包括定义表、定义视图和定义索引3.用SQL语句建立第二章习题5中的四个表。
S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY);供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成:CREATE TABLE S(Sno C(2) UNIQUE,Sname C(6) ,Status N(2),City C(4))零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成:CREATE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2),WEIGHT I(2))工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、所在城市(CITY)组成:CREATE TABLE J(Jno C(2) UNlQUE,JNAME C(8), CITY C(4))供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成:CREATE TABLE SPJ(Sno C(2),Pno C(2),JNO C(2), QTY N(2))4.针对上题中建立的四个表试用SQL语言完成第二章习题5中的查询:(1)求供应工程J1零件的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO=’J1’(2)求供应工程J1零件P1的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1' (3)求供应工程J1零件为红色的供应商号码SNO:SELECT SNO FROM SPJ,P WHERE JNO='J1' AND SPJ.PNO=P.PNO AND COLOR='红'(4)求没有使用天津供应商生产的红色零件的工程号JNO:SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM SPJ,P,S WHERE S.CITY='天津' AND COLOR='红' AND S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO)。
(5)求至少用了供应商S1所供应的全部零件的工程号JNO。
由于VFP不允许子查询嵌套太深,将查询分为两步A、查询S1供应商供应的零件号SELECT DIST PNO FROM SPJ WHERE SNO='S1'结果是(P1,P2)B、查询哪一个工程既使用P1零件又使用P2零件。
SELECT JNO FROM SPJ WHERE PNO='P1'AND JNO IN (SELECT JNO FROM SPJ WHERE PNO='P2') 5.针对习题3中的四个表试用SQL语言完成以下各项操作:(1)找出所有供应商的姓名和所在城市。
SELECT SNAME,CITY FROM S(2)找出所有零件的名称、颜色、重量。
SELECT PNAME,COLOR,WEIGHT FROM P(3)找出使用供应商S1所供应零件的工程号码。
SELECT DIST JNO FROM SPJ WHERE SNO='S1'(4)找出工程项目J2使用的各种零件的名称及其数量。
SELECT PNAME,QTY FROM SPJ,PWHERE P.PNO=SPJ.PNO AND SPJ.JNO='J2'(5)找出上海厂商供应的所有零件号码。
SELECT PNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND CITY='上海'(6)出使用上海产的零件的工程名称。
SELECT JNAME FROM SPJ,S,JWHERE S.SNO=SPJ.SNO AND S.CITY='上海' AND J.JNO=SPJ.JNO(7)找出没有使用天津产的零件的工程号码。
注意: SELECT DISP JNO FROM SPJ WHERE JNO NOT IN (SELECT DIST JNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND S.CITY='天津') 适用于JNO是唯一或不唯一的情况.注意: SELECT DIST JNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND S.CITY<>'天津'适用于JNO是唯一的情况(8)把全部红色零件的颜色改成蓝色。
UPDATE P SET COLOR='蓝' WHERE COLOR='红'(9)由S5供给J4的零件P6改为由S3供应。
UPDATE SPJ SET SNO='S3' WHERE SNO='S5' AND JNO='J4' AND PNO='P6'(10)从供应商关系中删除供应商号是S2的记录,并从供应情况关系中删除相应的记录。
A、DELETE FROM S WHERE SNO=’S2’B、DELETE FROM SPJ WHERE SNO=‘S2’(11)请将(S2,J6,P4,200)插入供应情况关系。
INSERT INTO SPJ VALUES(‘S2’,‘J6’,‘P4’,200)6.什么是基本表?什么是视图?两者的区别和联系是什么?(87页)基本表是本身独立存在的表,在SQL中一个关系就对应一个表。
一个(或多个)基本表对应一个存储文件,一个表可以带若干索引,索引也存放在存储文件中。
视图是从一个或几个基本表导出的表。
它本身不独立存储在数据库中,即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中,因此视图是一个虚表。
视图在概念上与基本表等同,用户可以在视图上再定义视图。
7.试述视图的优点。
(128页)答:视图能够简化用户的操作、视图使用户能以多种角度看待同一数据、视图对重构数据库提供了一定程度的逻辑独立性、视图能够对机密数据提供安全保护。
8.所有的视图是否都可以更新?为什么?(127页)答:并不是所有的视图都是可更新的,因为有些视图的更新不能唯一地有意义地转换成对相应基本表的更新。
9.哪类视图是可以更新的,哪类视图是不可更新的? 各举一例说明。
(127页)行列子集视图是可更新的。
除行列子集视图外,还有些视图理论上是可更新的,但它们的确切特征还是尚待研究的课题。
还有些视图从理论上不可更新的。
10.试述某个你热悉的实际系统中对视图更新的规定。
(VFP)11.请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件代码(PNO)、供应数量(QTY)。
CREATE VIEW VSP AS SELECT SNO,PNO,QTY FROM SPJ,JWHERE SPJ.JNO=J.JNO AND J.JNAME='三建' 针对该视图VSP完成下列查询:(1)找出三建工程项目使用的各种零件代码及其数量。
SELECT DIST PNO,QTY FROM VSP(2)找出供应商S1的供应情况。
SELECT DIST * FROM VSP WHERE SNO='S1'12.针对习题3建立的表,用SQL语言完成以下各项操作:(1) 把对表S的INSERT权限授予用户张勇,并允许他再将此权限授予其他用户。
GRANT INSERT ON TABLE S TO 张勇 WITH GRANT OPTION (2) 把查询SPJ表和修改QTY属性的权限授给用户李天明。
GRANT SELECT,UPDATE(QTY) ON TABLE SPJ TO 李天明************** 以下选作 *************13.在嵌入式SQL中是如何区分SQL语句和主语言语句的? (133页)在嵌入式SQL中,为了能够区分SQL语句与主语言语句,所有SQL 语句都必须加前缀EXEC SQL。
(VFP例外)14.在嵌入式SQL中是如何解决数据库工作单元与源程序工作单元之间通讯的?(134页)(1)向主语言传递SQL语句的执行状态信息,使主语言能够据此信息控制程序流程,主要用SQL通信区(SQL Communication Area,简称SQLCA)实现。
(2)主语言向SQL语句提供参数,主要用主变量(Host Variable)实现。
(3)将SQL语句查询数据库的结果交主语言进一步处理,主要用主变量和游标(Cursor)实现。
15.在嵌入式SQL中是如何协调SQL语言的集合处理方式和主语言的单记录处理方式的? (135页)答:游标是用于协调SQL语言的集合处理方式和主语言的单记录处理方式。
SQL语言与主语言具有不同的数据处理方式。
SQL语言是面向集合的,一条SQL语句原则上可以产生或处理多条记录。
主语言是面向记录的,一组主变量一次只能存放一条记录。
所以仅使用主变量并不能完全满足SQL语句向应用程序输出数据的要求,为此嵌入式SQL引入了游标的概念,用游标来协调这两种不同的处理方式。
============= 完 ==========。