第3章 sql 练习
数据库原理 第三章关系数据库标准语言——SQL期末习题与答案

1、数据库的事务日志文件()。
A.只能有一个B.可以有多个C.可以没有D.以上都不对正确答案:B2、CREATE命令属于()语句。
A.数据查询B.数据操纵C.数据定义D.数据控制正确答案:C3、使用ALTER命令修改数据时,以下说法错误的是()。
A.可以增加主要数据文件B.可以删除次要数据文件C.可以修改文件的增容方式D.可以增加事务日志文件正确答案:A4、使用存储存储过程Sp_helpfile可以()。
A.查看数据库的结构B.查看数据库的文件信息C.查看数据库的文件组信息D.以上都可以5、在DBMS中分离数据库之后,()。
A.数据库文件将会从磁盘上删除B.数据库文件将会脱离DBMSC.事务日志文件将会从磁盘上删除D.以上都不对正确答案:B6、假设学号字段“SNo”的数据类型为nvarchar(6),当“SNo”的值为“S001”时,“SNo”在内存中占()字节。
A.4B.6C.8D.12正确答案:C7、创建数据表时,如果给某个字段定义PRIMARY KEY约束时,该字段的数据()。
A.不允许有空值B.允许有多个空值C.允许有一个空值D.以上都不对正确答案:A8、为数据表增加新的字段时,()。
A.可以为新字段设置NOT NULL约束B.不能为新字段设置NOT NULL约束C.不能为新字段设置约束D.以上都不对9、在SQL的SELECT语句中,能实现选取操作的是()。
A.SELECTB.FROMC.WHERED.GROUP BY正确答案:C10、假定学生关系是S(SNo,SName,Sex,Age),课程关系是C(CNo,CName,Teacher),学生选课关系是SC(SNo,CNo,Grade)。
要查找选修“数据库”课程的“男”学生姓名,将涉及的关系是()。
A.SB.SC,CC.S,SCD.S,C,SC正确答案:D11、下列SQL语句中,()不是数据操纵语句。
A.INSERTB.CREATEC.DELETED.UPDATE正确答案:B12、SQL中,下列涉及空值的操作,不正确的是()。
大三sql课后习题答案

大三sql课后习题答案第二章3.上机练习题02 程序代码如下:STUDENT1 DATABASE CREATE ON PRIMARY (NAME= STUDENT1_data, FILENAME='E:\DATA\', SIZE=3,MAXSIZE=unlimited, FILEGROWTH=15%)LOG ON(NAME= STUDENT1_log, FILENAME='E:\DATA\', SIZE=2,MAXSIZE=30, FILEGROWTH=2)03 程序代码如下:create database studentson primary(name=students1,filename='E:\DATA\',size=5,maxsize=75,filegrowth=10%),(name= students12,filename='E:\DATA\',size=10,maxsize=75,filegrowth=1)log on(name=studentslog1, filename='E:\DATA\',size=5,maxsize=30,filegrowth=1),(name=studentslog2, filename='E:\DATA\',,5=sizemaxsize=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(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 WITH CHECKADD CONSTRAINT FK_ book_author FOREIGN KEY(book_id) REFERENCES(book_id)02 程序代码如下:--利用Transact-SQL语句创建表booksales的代码。
SQL课后练习题(1-9章答案)

第一章1、数据完整性是指( D )A.数据库存中的数据不存在重复B.数据库中所有的数据格式是一样的C.所有的数据全部保存在数据库中D.数据库中的数据能够正确反映情况2、SQL中pubs数据库属于(A )A.用户数据库B.系统数据库C.数据库模板D.数据库管理系统3、数据冗余指的是( D )A.数据与数据之间没有联系B.数据有丢失C.数据量太大D.存在重复的数据4、SQL Server数据库的主数据文件的扩展名为( B )A. .sqlB. .mdfC. .mdbD. .ldf5、下列关于关系数据库叙述错误的是(B )A.关系数据库的结构一般保持不变,但也可根据需要进行改变B.一个数据表组成一个关系数据库,多种不同数据则需要创建多个数据库C. 关系数据库表中的所有记录的关键字字段的值互不相同D. 关系数据库表中的外部关键字不能用于区别该表中的记录6、创建数据库时,需要指定( C )属性。
A.数据库初始大小B.数据库的存放位置C.数据库的物理名和逻辑名D.数据库的访问权限7、以下说法正确的是( A )A.通过SQL Server服务器对SQL Server的启动、停止和通过服务管理器对SQL Server的启动、停止是同等功效B.必须先启动服务管理器中的SQL Server服务之后才能通过SQL Server服务管理器启动SQL ServerC.必须先通过SQL Server服务管理器启动SQL Server之后才能启动服务管理器中的SQL Server服务D.只能通过服务管理器对SQL S erver进行启动和停止8、SQL Server提供的4个系统数据库,以下说法正确的是( D )A.tempdb数据库是一个空数据库,完全可以删除B.adventure works是用来做模板的一个数据库C.msdb数据库是用来做例子的数据库D.创建新的空白数据库时,将使用Model数据库所规定的默认值9、以下说法错误的是(C)A.数据完整性是指存储在数据库中数据的准确性B.SQL Server是一个DBMSC.ERP、CRM、MIS等都是DBMSD.设计数据库时允许必要的冗余第二章1、创建银行的贷款情况表时,“还款日期”默认为当天,且必须晚于“借款日期”,应采用(A)约束。
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练习题

sql练习题SQL练习题在现代信息化社会中,数据的处理和管理变得愈发重要。
而SQL(Structured Query Language)作为一种用于管理和处理关系型数据库的语言,也成为了各行各业从事数据分析和管理的必备技能之一。
为了提高自己的SQL技能,我们可以通过练习题来不断巩固和提升。
练习题一:查询商品信息假设有一个商品表(Product)和一个供应商表(Supplier),其中商品表包含了商品的ID、名称、价格和供应商ID等信息,供应商表包含了供应商的ID和名称等信息。
请写出一条SQL语句,查询出所有商品的名称、价格和供应商名称。
解答一:```sqlSELECT , Product.Price, FROM ProductJOIN Supplier ON Product.SupplierID = Supplier.ID;```练习题二:统计销售额假设有一个订单表(Orders)和一个订单详情表(OrderDetails),其中订单表包含了订单的ID、日期和客户ID等信息,订单详情表包含了订单详情的ID、订单ID、商品ID和数量等信息。
请写出一条SQL语句,统计每个客户的总销售额,并按销售额降序排序。
解答二:```sqlSELECT Orders.CustomerID, SUM(Product.Price * OrderDetails.Quantity) AS TotalSalesFROM OrdersJOIN OrderDetails ON Orders.ID = OrderDetails.OrderIDJOIN Product ON OrderDetails.ProductID = Product.IDGROUP BY Orders.CustomerIDORDER BY TotalSales DESC;```练习题三:查询员工信息假设有一个员工表(Employee)和一个部门表(Department),其中员工表包含了员工的ID、姓名和部门ID等信息,部门表包含了部门的ID和名称等信息。
第三章 SQL

12
使用【对象资源管理器】
4.在【连接到数据库】框中键入“Student”,单击【连接】,连接 到服务器。如果已经连接,则将直接返回到对象资源管理器,并将该服 务器设置为当前服务器,如图3.6所示。
图3.6 对象资源管理器窗口
13
第三节 改变窗口布局
SQL Server Management Studio集成了很多组件,组件的展开会占 用屏幕空间。为了腾出更多空间,使屏幕简洁,布局合理、易用, 用户可以关闭、隐藏或移动Management Studio组件,根据自己的需 要,灵活定制窗口布局,来提高工作效率。
第三章 Management Studio
1
LOGO
本章主题
SSMS的组件 如何配置SSMS 如何保护SQL Server 的外围应用,使其免受攻击
Management Studio
SQL Server Management Studio是SQL Server 2005提供的一种集成的 管理平台,它提供了用于数据库管理的图形工具和功能丰富的开发环 境。Management Studio是SQL Server 2005最重要、最常用的管理工具, 所有的SQL Server对象的建立与管理都可以通过它来完成。 本章主要介绍SQL Server Management Studio的工具组件及其使用方 法。
16
(三)设置窗口的布局属性
可以为SQL Server Management Studio设置启动时打开首选配置的设 计图面,步骤如下: (1)在【工具】菜单上,单击【选项】,弹出【选项】对话框,如 图3.9所示。 (2)展开【环境】,单击【常规】。在【启动时】列表中,包含以 下四个选项: 打开对象资源管理器。这是默认选项。 打开新查询窗口。 打开对象资源管理器和新查询。 打开空环境。 (3)单击首选选项,再单击【确定】。 (4)还有其他选项。例如【在对象资源管理器中隐藏系统对象】, 该选项针对【对象资源管理器】是否显示系统对象而设置。
(完整版)第三章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级计算机软件班的成绩为空的学生姓名。
数据库第三章习题及答案

第3章关系数据库标准语言SQL一、选择题1、SQL语言是的语言,易学习。
A.过程化 B.非过程化 C.格式化 D.导航式答案:B2、SQL语言是语言。
A.层次数据库 B.网络数据库 C.关系数据库 D.非数据库答案:C3、SQL语言具有的功能。
A.关系规范化、数据操纵、数据控制 B.数据定义、数据操纵、数据控制C.数据定义、关系规范化、数据控制 D.数据定义、关系规范化、数据操纵答案:B4、SQL语言具有两种使用方式,分别称为交互式SQL和。
A.提示式SQL B.多用户SQL C.嵌入式SQL D.解释式SQL 答案:C5、假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。
要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系。
A.S B.SC,C C.S,SC D.S,C,SC 答案:D6、若用如下的SQL语句创建一个student表:CREATE TABLE student(NO C(4) NOT NULL,NAME C(8) NOT NULL,SEX C(2),AGE N(2))可以插入到student表中的是。
A.(‘1031’,‘曾华’,男,23) B.(‘1031’,‘曾华’,NULL,NULL)C.(NULL,‘曾华’,‘男’,‘23’) D.(‘1031’,NULL,‘男’,23) 答案:B7、当两个子查询的结果时,可以执行并,交,差操作.A.结构完全不一致 B.结构完全一致C.结构部分一致D.主键一致答案:B第8到第10题基于这样的三个表即学生表S、课程表C和学生选课表SC,它们的结构如下:S(S#,SN,SEX,AGE,DEPT)C(C#,CN)SC(S#,C#,GRADE)其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库模式如下: 数据库模式如下:
仓库(仓库号,负责人) 仓库 仓库号,负责人 仓库号 货物(货物号 货物名,货物描述) 货物号, 货物 货物号,货物名,货物描述 入库记录(货物号 仓库号,数量,入库日期,经办人号) 货物号, 入库记录 货物号,仓库号,数量,入库日期,经办人号
用SQL实现以下查询要求: 实现以下查询要求: 实现以下查询要求
第7页
第8页
新生“张军”来校报到并选修了两门课程, 新生“张军”来校报到并选修了两门课程,请将相关的信息 插入到对应表中去。 插入到对应表中去。 Insert into Student(Sno,Sname,Sage,Ssex) ( , , , Values(‘95009’,‘张军’,20,‘男’ ); ( , 张军’ , Insert into SC(Sno,Cno)Values(‘95009’,‘2’); ( , ) ( , Insert into SC(Sno,Cno)Values(‘95009’,‘3’); ( , ) ( , 删除信息系所有学生的选课记录。 删除信息系所有学生的选课记录。 Delete from SC Where Sno in (Select Sno from Student Where Sdept=‘IS’); 将计算机系“王明”的一号课程成绩置为90。 将计算机系“王明”的一号课程成绩置为 。 Update SC Set Grade=90 Where Sno= (Select Sno from Student Where Sname=‘王明’ and Sdept=‘CS’); 王明’ 王明
职工-工资数据库 职工职工(工号,姓名,职务,部门) 职工(工号,姓名,职务,部门) 工资表(工号,月份,基本工资,岗位津贴,交通补贴) 工资表(工号,月份,基本工资,岗位津贴,交通补贴) 查询所有职工的姓名和5 查询所有职工的姓名和5月份总收入 将本月总收入低于1000元的职工的基本工资增加200 1000元的职工的基本工资增加200元 将本月总收入低于1000元的职工的基本工资增加200元 将工资表中清空
第9页
查询仓库中有多少种不同的货物 查询每天入库数量的最大值 统计2003年3月20日以后每天入库的货物总数量 统计 年 月 日以后每天入库的货物总数量 按货物号统计每一种货物在仓库中的总数量 查询“ 查询“A-001”号经办人当日经办的入库记录数 号经办人当日经办的入库记录数
第1页
SELECT COUNT(*) FROM 货物; 货物; 或 SELECT COUNT(DISTINCT 货物号 货物号) FROM 入库记录; 入库记录; SELECT入库日期 MAX(数量 入库日期, 数量) 入库日期 数量 FROM 入库记录 GROUP BY 入库日期; 入库日期; SELECT入库日期 SUM(数量 入库日期, 数量) 入库日期 数量 FROM 入库记录 GROUP BY 入库日期 HAVING 入库日期 > “2003/03/20”; ;
第3页
练习
假设有学生-课程数据库: Student(SNo,SN,Age,Dept) Course(CNo,CN,CT) SC(SNo,CNo,Score) 用SQL完成查询: (1)学号为S3的学生的系别和年龄; (2)有不及格成绩(<60)学生的课程名; (3)计算机系有不及格课程的学生名单; (4)“微机原理”课程的平均成绩。 (5)学生钱尔的“数据库”课程成绩。
第4页
SELECT Dept, Age FROM Student Where Sno=‘S3’; ;
SELECT Distinct CN FROM Course, SC Where o=o and Score<60; ; SELECT Distinct SN FROM Student, SC Where Student.Sno=SC.Sno and Score<60 and Dept=‘计算机 计算机’; 计算机
第2页
SELECT 货物号,SUM(数量 货物号, 数量) 数量 FROM 入库记录 GROUP BY 货物号 货物号;
SELECT COUNT(*) FROM 入库记录 WHERE入库日期 入库日期=Today() 入库日期 GROUP BY 经办人号 HAVING 经办人号 = “A-001”;
第5页
SELECT AVG(Score) FROM SC,Course Where o=o and =‘微机原理 ; 微机原理’; 微机原理 SELECT Score FROM Course, SC, Student Where o=o and SC.Sno=Student.Sno and Student.SN=‘钱尔 and =‘数据库’ ; 钱尔’ 钱尔
第6页
练习
Student-Course-SC数据库中 Student-Course-SC数据库中
新生“张军”来校报到并选修了两门课程, 新生“张军”来校报到并选修了两门课程,请将相关的 信息插入到对应表中去。 信息插入到对应表中去。 删除信息系所有学生的选课记录。 删除信息系所有学生的选课记录。 将计算机系“王明”的一号课程成绩置为90 90。 将计算机系“王明”的一号课程成绩置为90。
职工(工号,姓名,职务,部门) 职工(工号,姓名,职务,部门) 工资表(工号,月份,基本工资,岗位津贴, 工资表(工号,月份,基本工资,岗位津贴,交通补 贴) 查询所有职工的姓名和5月份总收入 查询所有职工的姓名和 月份总收入 Select 工号,姓名,基本工资 岗位津贴 交通补贴 工号,姓名,基本工资+岗位津贴 岗位津贴+交通补贴 from 职工,工资表 职工, Where 职工 工号 工资表 工号 and 月份 月’; 职工.工号 工资表.工号 工号=工资表 月份=‘5月 将工资表中清空 Delete from工资表 工资表; 工资表 将本月总收入低于1000元的职工的基本工资增加 元的职工的基本工资增加200元 将本月总收入低于 元的职工的基本工资增加 元 Update 工资表 Set 基本工资 基本工资 基本工资=基本工资 基本工资+200 Where 基本工资 岗位津贴 交通补贴 基本工资+岗位津贴 交通补贴<1000; 岗位津贴+交通补贴