SQL第6周数据库上机作业答案

合集下载

2023 SQL 数据库查询练习题及答案

2023 SQL 数据库查询练习题及答案

2023 SQL 数据库查询练习题及答案数据库查询是数据管理和处理的重要环节,熟练的SQL查询技巧对于数据库工程师和数据分析师来说至关重要。

为了提升大家的SQL 查询能力,以下是一些2023年的SQL数据库查询练习题及答案,希望能够对大家的学习和实践有所帮助。

练习题1:学生成绩表考虑一个学生成绩表(Students)和课程信息表(Courses),请使用SQL查询语句完成以下操作。

1. 查询所有学生的姓名和学号;2. 查询所有参加了"C3"课程的学生的姓名和学号;3. 查询所有选择了至少两门课程的学生的姓名和学号;答案1:SELECT 学号, 姓名FROM 学生成绩表;答案2:SELECT 学生成绩表.学号, 学生成绩表.姓名FROM 学生成绩表, 课程信息表WHERE 学生成绩表.课程编号 = 课程信息表.课程编号AND 课程信息表.课程名称 = "C3";答案3:SELECT 学号, 姓名FROM 学生成绩表GROUP BY 学号, 姓名HAVING COUNT(*) >= 2;练习题2:库存管理考虑一个库存管理系统的数据库,包含了商品表(Products)、仓库表(Warehouses)和库存表(Inventory)。

请使用SQL查询语句完成以下操作。

1. 查询商品表中单价不低于100元的商品的名称和单价;2. 查询所有位于“北京”仓库中的商品的名称和库存量;3. 查询库存量最多的商品的名称和库存量;答案1:SELECT 名称, 单价FROM 商品表WHERE 单价 >= 100;答案2:SELECT 商品表.名称, 库存表.库存量FROM 商品表, 仓库表, 库存表WHERE 商品表.商品ID = 库存表.商品IDAND 仓库表.仓库ID = 库存表.仓库IDAND 仓库表.所在地 = "北京";答案3:SELECT 商品表.名称, 库存表.库存量FROM 商品表, 库存表WHERE 商品表.商品ID = 库存表.商品IDORDER BY 库存表.库存量 DESCLIMIT 1;练习题3:订单管理考虑一个订单管理系统的数据库,包含了客户表(Customers)、订单表(Orders)和订单详情表(OrderDetails)。

数据库上机实验题目和答案

数据库上机实验题目和答案

试用SQL的查询语句表达下列查询:1.检索王丽同学所学课程的课程号和课程名。

select Cno ,Cname from c where Cno in(select cno from sc where sno in (select sno from s where sname='王丽' ))2.检索年龄大于23岁的男学生的学号和姓名。

select sno,sname from swhere sex='男' and age>233.检索‘c01’课程中一门课程的女学生姓名select sname from swhere sex='女' and sno in(select sno from sc where cno='c01')4.检索s01同学不学的课程的课程号。

select cno from cwhere cno not in (select cno from sc where sno ='s01')5.检索至少选修两门课程的学生学号。

select sc.sno from s,scwhere s.sno=sc.snogroup by sc.snohaving count(o)>=26.每个学生选修的课程门数。

解法一:select so.sno sno,ount,s.snamefrom(select sc.sno sno,count(sc.sno) ccountfrom sc,swhere s.sno=sc.snogroup by sc.sno ) so,swhere s.sno=so.sno解法二:select sc.sno sno,s.sname,count(sc.sno) ccountfrom sc,swhere s.sno=sc.snogroup by sc.sno,sname7.求选修C4课程的学生的平均分。

sql数据库原理习题集(带答案)

sql数据库原理习题集(带答案)

#include <stdio.h>void main(){int b,i,c=0,a[30];scanf("%d",&b);while(b!=0){i=b%2;a[c]=i;c++;b=b/2;}for(;c>=1;c--){printf("%d",a[c-1]);}printf("\n");}数据库原理模拟试卷(1)一、项选择题(在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。

每小题1分,共15分)1.数据库系统的体系结构是(C )A、两级模式结构和一级映象B、三级模式结构和一级映象C、三级模式结构和两级映象D、三级模式结构和三级映象2.SQL语言称为(C )。

A、结构化定义语言B、结构化控制语言C、结构化查询语言D、结构人操纵语言3.在视图上不能完成的操作是(D)。

A、在视图上定义新的视图B、查询操作C、更新视图D、在视图上定义新的基本表4.数据库的并发操作有可能带来的三个问题中包括(D)。

A、数据独立性降低B、无法读出数据C、权限控制D、丢失更新5.当前应用最广泛的数据模型是(B)。

A、ER模型B、关系模型C、网状模型D、层次模型16.现有一个关系:借阅(书号、书名,库存数,读者号,借期,还期),假如同一本书允许一个读者多次借阅,但不能同时对一种书借多本。

则该关系模式的码是(D )。

A、书号B、读者号C、书号+读者号D、书号+读者号+借期7.要保证数据库物理数据独立性,需要修改的是( B )A.模式B.模式与内模式的映射C.模式与外模式的映射D.内模式8.下列四项中,不属于数据库特点的是( D )A.数据共享B.数据完整性C.数据冗余较小D.数据独立性低9.数据库中存储的是( D )A.数据B.数据模型C.数据之间的联系D.数据以及数据之间的联系10.反映现实世界中实体及实体间联系的信息模型是( D )A.关系模型B.层次模型C.网状模型D.E—R模型11. 五种基本关系代数运算是( a)A. ∪,-,×,π和σB. ∪,-,∞,π和σC. ∪,∩,×,π和σD. ∪,∩,∞,π和σ12.数据库保护的几个方面中,不包括的是( A )A.控制数据冗余B.并发控制C.完整性保护D.故障恢复13.下列四项中,关系规范化程度最高的是关系满足( B )A.非规范关系B.第三范式C.第二范式D.第一范式14.单个用户使用的数据视图的描述称为(a )A.外模式B.概念模式C.内模式D.存储模式15. 子模式DDL用来描述( b )A.数据库的总体逻辑结构B.数据库的局部逻辑结构C.数据库的物理存储结构D.数据库的概念结构二、填空题(每空1分,共15分)1、在三大传统的数据模型中,具有严格的数学理论基础的是_关系模型___。

sql数据库参考答案

sql数据库参考答案

1、反映现实世界中实体及实体间联系的信息模型是( )。

【正确答案: D】A 关系模型B 层次模型C 网状模型D E-R模型2.在数据操作语言(DML)的基本功能中,不包括的是( )【正确答案: B】A 插入新数据B 描述数据库结构C 修改数据D 删除数据3.扩展名为mdf的文件是【正确答案: A】A 主数据文件B 次数据文件C 日志文件D 项目文件4.下列四项中,不属于数据库特点的是( ) 【正确答案: C】A 数据共享B 数据完整性C 数据冗余很高D 数据独立性高5.数据库管理系统的英文缩写是()。

【正确答案: D】A DBB DBSC DBAD DBMS6.视图是从一个或多个表中或视图中导出的()【正确答案: A】A 表B 查询C 报表D 数据7. update语句来更新表中的数据,一次可以更新( ).【正确答案: D】A 一行B 多行C 一行和多行D 多个8.以下不属于聚合函数的是()【正确答案: A】)A insert ;B max()C min()D sum()9.不是SQL Server中所包含的约束种类的是() 【正确答案: A】A 关键字约束C 唯一性约束D 默认约束10.在SQL中,SELECT语句的"SELECT DISTINCT"表示查询结果中( )【正确答案: B】A 属性名都不相同B 去掉了重复的数据C 行都不相同D 属性值都不相同11.在数据操作语言(DML)的基本功能中,不包括的是( )【正确答案: B】A 插入新数据B 描述数据库结构C 修改数据D 删除数据12. DELETE语句来删除表中的数据,一次可以删除()【正确答案: c】A 一行B 多行C 一行和多行D 多个13.视图是从一个或多个表或试图中导出的()【正确答案: C】A 报表B 查询C 表D 数据14.()包含用于恢复数据库的日志信息。

【正确答案: B】A 数据库文件;B 事物日志文件;C 文件组;D 次文件组15.下列运算符中表示一个或多个任意字符的是( ).【正确答案: B】A *B %C LIKED _16.()是SQL Server中最重要的管理工具【正确答案: A】A 企业管理器B 查询分析器C 服务管理器D 事件探察器17.修改和删除数据库中数据的语句。

SQL数据库题库及答案

SQL数据库题库及答案

一、单项选择题,请将正确答案填在括号里。

1、()是位于用户与操作系统之间的一层数据管理软件.A、数据库管理系统B、数据库系统C、数据库D、数据库应用系统2、要想使SQL Server2000数据库管理系统开始工作,必须首先启动()。

A、数据导入和导出程序B、查询分析器C、网络实用工具D、SQL Server服务器3、SQL Server 的登录账户信息保存在()数据库中。

A、masterB、modelC、 msdbD、tempdb4、以下哪个数据库角色中拥有可以执行所有数据库角色的活动的权限? ( )A、publicB、db_ownerC、db_security adminD、db_access admin5、下列关于数据库的数据文件叙述错误的是()。

A 、创建数据库时必须指定数据文件B 、创建数据库时, PRIMARY 文件组中的第一个文件为主数据文件C 、一个数据库可以有多个数据文件D 、一个数据库只能有一个主数据文件6、创建约束的命令是()。

A、CREATE TABLEB、ALTER CONSTRAINTC、ALTER TABLED、ALTER COLUMN7、下列有关批的叙述中正确的是()。

A、批是一起提交处理的一组语句B、通常用GO来表示一个批的结束C、不能在一个批中引用其它批定义的变量D、批可长可短,在批中可以执行任何T-SQL语句8、下面关于聚集索引和非聚集索引说法正确的是()。

A、每个表只能建立一个非聚集索引B、非聚集索引需要较多的硬盘空间和内存C、一张表上不能同时建立聚集和非聚集索引D、一个复合索引只能是聚集索引9、下列命令不能执行的是()。

A、 SELECT * FROM [select]B、 SELECT * FROM @MyTableC、 SELECT * FROM [MyTable]D、 SELECT * FROM MyTable10、并发操作会带来的数据不一致性有()。

sql数据库习题与答案

sql数据库习题与答案

sql数据库习题与答案SQL数据库习题与答案SQL(Structured Query Language)是一种用于管理关系型数据库的标准化语言。

在数据库管理系统中,SQL可以用于执行各种操作,如插入、更新、删除和查询数据。

对于学习SQL的人来说,练习SQL数据库习题是非常重要的。

下面将为大家提供一些常见的SQL数据库习题以及相应的答案。

1. 查询所有学生的信息答案:SELECT * FROM students;2. 查询所有学生的姓名和年龄答案:SELECT name, age FROM students;3. 查询所有学生的姓名,并按照年龄从小到大进行排序答案:SELECT name FROM students ORDER BY age;4. 查询学生表中年龄大于18岁的学生信息答案:SELECT * FROM students WHERE age > 18;5. 查询学生表中姓“张”的学生信息答案:SELECT * FROM students WHERE name LIKE '张%';6. 查询学生表中的姓名和对应的课程名称答案:SELECT , FROM students INNER JOIN course ON students.course_id = course.id;7. 查询学生表中每个班级的学生人数答案:SELECT class, COUNT(*) FROM students GROUP BY class;通过以上SQL数据库习题与答案的练习,可以帮助大家更好地理解和掌握SQL语言的基本操作和常用查询。

同时,也可以帮助大家提升解决实际问题的能力,为今后的数据库管理工作打下坚实的基础。

希望大家能够认真对待SQL数据库习题,不断提升自己的技能水平。

2023 SQL 数据库管理练习题及答案

2023 SQL 数据库管理练习题及答案

2023 SQL 数据库管理练习题及答案练习一:创建表格在关系型数据库中,表格是存储数据的基本单位。

请根据以下需求创建一个名为“Students”的表格,包括以下字段:- 学号(StudentID):学生的唯一标识符,类型为整数。

- 姓名(Name):学生的姓名,类型为字符串。

- 年龄(Age):学生的年龄,类型为整数。

- 成绩(Grade):学生的成绩,类型为浮点数。

使用 SQL 语句创建表格的格式如下所示:```CREATE TABLE 表格名称 (字段1 数据类型,字段2 数据类型,...);```练习二:插入数据在已创建的表格中插入数据是常见的操作。

请根据以下需求向表格“Students”中插入三条学生记录:- 学号为001,姓名为张三,年龄为18岁,成绩为85.5。

- 学号为002,姓名为李四,年龄为20岁,成绩为90.0。

- 学号为003,姓名为王五,年龄为19岁,成绩为78.5。

使用 SQL 语句插入数据的格式如下所示:```INSERT INTO 表格名称 (字段1, 字段2, ...)VALUES (值1, 值2, ...);```练习三:查询数据查询是数据库管理中重要的操作之一。

请根据以下需求从表格“Students”中查询数据:1. 查询所有学生的学号和姓名。

2. 查询成绩大于等于90分的学生记录。

3. 查询年龄大于等于20岁的学生记录,并按照成绩降序排列。

使用 SQL 语句查询数据的格式如下所示:```SELECT 字段1, 字段2, ...FROM 表格名称WHERE 条件;```练习四:更新数据数据的更新是数据库管理中常见的操作之一。

请根据以下需求更新表格“Students”中的数据:将学号为001的学生记录的成绩更新为88.0。

使用 SQL 语句更新数据的格式如下所示:```UPDATE 表格名称SET 字段 = 新值WHERE 条件;```练习五:删除数据数据的删除也是数据库管理中常见的操作之一。

2023SQL数据库操作复习 题集附答案

2023SQL数据库操作复习 题集附答案

2023SQL数据库操作复习题集附答案SQL数据库操作复习题集附答案1. 操作数据库表题目一:创建表根据以下需求,创建一个名为"Students"的表,并定义适当的字段和数据类型:- 学生ID(整型,主键)- 姓名(字符串类型,最大长度为50)- 年龄(整型)答案一:CREATE TABLE Students (StudentID INT PRIMARY KEY,Name VARCHAR(50),Age INT);题目二:插入数据向"Students"表中插入以下两条学生记录:- 学生ID:1,姓名:张三,年龄:20- 学生ID:2,姓名:李四,年龄:22答案二:INSERT INTO Students (StudentID, Name, Age) VALUES (1, '张三', 20),(2, '李四', 22);2. 查询数据题目三:基本查询完成以下查询操作:1. 查询所有学生记录的学生ID和姓名;2. 查询年龄大于等于21岁的学生记录。

答案三:1. SELECT StudentID, Name FROM Students;2. SELECT * FROM Students WHERE Age >= 21;题目四:排序查询查询所有学生记录,并按照年龄从小到大排序。

答案四:SELECT * FROM Students ORDER BY Age ASC;3. 更新和删除数据题目五:更新记录将学生ID为1的学生姓名改为"王五"。

答案五:UPDATE Students SET Name = '王五' WHERE StudentID = 1;题目六:删除记录删除所有年龄小于18岁的学生记录。

答案六:DELETE FROM Students WHERE Age < 18;4. 高级操作题目七:连接查询创建一个名为"Courses"的表,包含以下字段:- 课程ID(整型,主键)- 课程名称(字符串类型,最大长度为100)- 学生ID(整型,外键)编写SQL语句实现以下查询操作:查询选修了课程ID为1的学生的姓名和课程名称。

sql习题参考答案

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习题及其参考答案。

SQL第6周数据库上机作业答案

SQL第6周数据库上机作业答案

第二次(第6周)上机作业一、用T-SQL语句在E:\DATA\文件夹中创建一个教师信息数据库teacher,该数据库包含:(界面方式也要会)1、一个主数据文件逻辑名‘teacherdata1 ’,物理名‘E:\DATA\tdata1.mdf ’,初始容量1MB,最大容量10MB,每次增长量为15%。

2、一个辅助数据文件逻辑名‘teacherdata2 ’物理名‘E:\DATA\tdata2.ndf ’,初始容量2MB,最大容量15MB,每次增长量为2MB。

3、两个数据文件不单独创建文件组,即使用默认的PRIMARY组;4、一个事务日志文件逻辑名‘teacherlog’物理名‘E:\DATA\teacherlog.ldf ’,初始容量500KB,最大容量不受限制,每次增长量为500KB。

先确认E:\DATA\文件夹已创建,CREATE DATABASE teacherON PRIMARY( NAME = teacherdata1 ,FILENAME = 'E:\DATA\tdata1.mdf' ,SIZE =5MB ,MAXSIZE= 10 ,FILEGROWTH = 15%) ,( NAME = teacherdata2 ,FILENAME = 'E:\DATA\tdata2.ndf' ,SIZE = 2 ,MAXSIZE= 15 ,FILEGROWTH = 2MB)LOG ON /* 创建事务日志文件*/( NAME = teacherlog ,FILENAME = 'E:\DATA\teacherlog.LDF',SIZE = 500 KB ,/* 初始容量,KB单位不能省略*/MAXSIZE = UNLIMITED ,/* 日志文件最大容量不受限制*/FILEGROWTH = 500 KB/* 增长量KB 不能省略*/ )二、修改数据库“teacher”,增加两个文件组,文件组名:Gteacher1和Gteacher2。

数据库sql课后练习题及答案解析

数据库sql课后练习题及答案解析

数据库sql课后练习题及答案解析第一篇:数据库sql课后练习题及答案解析先创建下面三个表:(book表)(borrow表)(reader表)1)找出姓李的读者姓名(NAME)和所在单位(COMPANY)。

2)列出图书库中所有藏书的书名(BOOK_NAME)及出版单位(OUTPUT)。

3)查找“高等教育出版社”的所有图书名称(BOOK_NAME)及单价(PRICE),结果按单价降序排序。

4)查找价格介于10元和20元之间的图书种类(SORT),结果按出版单位(OUTPUT)和单价(PRICE)升序排序。

5)查找书名以”计算机”开头的所有图书和作者(WRITER)。

6)检索同时借阅了总编号(BOOK_ID)为112266和449901两本书的借书证号(READER_ID)。

##7)* 查找所有借了书的读者的姓名(NAME)及所在单位(COMPANY)。

8)* 找出李某所借所有图书的书名及借书日期(BORROW_DATE)。

9)* 无重复地查询2006年10月以后借书的读者借书证号(READER_ID)、姓名和单位。

##10)* 找出借阅了一书的借书证号。

11)找出与”赵正义”在同一天借书的读者姓名、所在单位及借书日期。

12)查询2006年7月以后没有借书的读者借书证号、姓名及单位。

#13)求”科学出版社”图书的最高单价、最低单价、平均单价。

##14)* 求”信息系”当前借阅图书的读者人次数。

#15)求出各个出版社图书的最高价格、最低价格和总册数。

#16)分别找出各单位当前借阅图书的读者人数及所在单位。

17)* 找出当前至少借阅了2本图书(大于等于2本)的读者姓名及其所在单位。

18)分别找出借书人次数多于1人次的单位及人次数。

19)找出藏书中各个出版单位的名称、每个出版社的书籍的总册数(每种可能有多册)、书的价值总额。

20)查询经济系是否还清所有图书。

如果已经还清,显示该系所有读者的姓名、所在单位和职称。

sql数据库试题及答案

sql数据库试题及答案

sql数据库试题及答案# SQL数据库试题及答案一、选择题1. SQL代表什么?- A. Structured Query Language- B. Simple Query Language- C. Standard Query Language- D. System Query Language答案:A2. 在SQL中,用于查询数据的语句是:- A. INSERT- B. UPDATE- C. SELECT- D. DELETE答案:C3. 下列哪个不是SQL的数据类型?- A. INT- B. FLOAT- C. CHAR- D. TEXT答案:D二、填空题4. SQL中的主键(_______)是用来唯一标识表中每一行数据的字段。

答案:PRIMARY KEY5. 在SQL中,使用(_______)语句可以增加新的数据记录到表中。

答案:INSERT INTO6. SQL中的(_______)用于删除表中的记录。

答案:DELETE三、简答题7. 简述SQL中的事务是什么,并说明其四个基本特性。

答案:事务是SQL中用来保证数据一致性的操作序列。

事务具有以下四个基本特性:- 原子性(Atomicity):事务中的所有操作要么全部完成,要么全部不完成,不会结束在中间某个点。

- 一致性(Consistency):事务必须保证数据库从一个一致的状态转移到另一个一致的状态。

- 隔离性(Isolation):并发执行的事务之间不会互相影响。

- 持久性(Durability):一旦事务提交,它对数据库的改变就是永久性的,即使系统发生故障也不会丢失。

8. 解释什么是SQL的联接(JOIN)操作,并给出内联接(INNER JOIN)的例子。

答案:联接操作是SQL中用于结合两个或多个表中的行的一种操作。

内联接根据两个表中的共同字段来选择记录。

例如:```sqlSELECT Orders.OrderID, Customers.CustomerNameFROM OrdersINNER JOIN Customers ON Orders.CustomerID =Customers.CustomerID;```这个例子中,`Orders` 表和 `Customers` 表通过 `CustomerID` 字段进行内联接。

SQL上机考试(答案)

SQL上机考试(答案)

数据库原理及应用上机考试提示:1、在F盘建立一个以学号+姓名为文件名的文件夹,将此Word文档存入该文件夹。

2、附加“THXY_SM”数据库,完成下面操作。

3、将每题目的操作要求完成。

4、提交该Word文档。

操作要求如下:1、创建“专业表”。

请写出SQL语句:Create table专业表(序号INT identity(1,1)primary key,专业代码char(8),专业名称varchar(20),系号char(10)references系部表(系号))2、设置“成绩表”的主键。

请写出SQL语句:alter table成绩表add constraint pk1 primary key(学号,课程号)3、在“THXY_SM”数据库中,打开“数据库关系图”中的“学生管理关系图”,请完善表之间关系的创建。

请截关系图并粘贴在此下面:SQL 语句为:(1)、Alter table学生表Add Constraint fk1 foreign key(班号)references班级表(班号)(2)、Alter table成绩表Add Constraint fk2 foreign key(学号)references学生表(学号)(3)、Alter table成绩表Add Constraint fk3 foreign key(课程号)references课程表(课程号)4、修改“学生表”,为学生表的“性别”列创建取值约束,约束条件为性别列的取值为“男”或“女”,约束名称为“性别取值约束”。

请写出SQL语句:Alter table学生表add constraint性别取值约束check( 性别in('男','女') )5、修改“成绩表”,将“成绩”列的数据类型修改为numeric,精度为6,小数位保留1位。

请写出SQL语句:Alter table成绩表alter column成绩numeric(6,1)6、为学生表的“姓名、班号”列建立一个非聚集组合索引“name_class”,按姓名的降序、班号升序排列。

sql实验指导答案3--6

sql实验指导答案3--6

create database employeesonprimary(name='employee1',filename='D:\data\employee1.mdf',size= 10 MB,maxsize=UNLIMITED,filegrowth= 10%),(name='employee2',filename='D:\data\employee2.mdf',size= 20 MB,maxsize= 100 MB,filegrowth= 1 MB)log on(name='employeelog1',filename='D:\data\employeelog1.ldf',maxsize= 50 MB,filegrowth= 1 MB),(name='employeelog2',filename='D:\data\employeelog2.ldf',maxsize= 50 MB,filegrowth= 1 MB)alter database employeesadd filegroup fgroupgoalter database employeesadd file(name='employee3',filename='D:\data\employee3.mdf',size= 20 MB,maxsize= 100 MB,filegrowth= 1 MB),(name='employee4',filename='D:\data\employee4.mdf',size= 20 MB,maxsize= 100 MB,filegrowth= 1 MB),(name='employeelog3',filename='D:\data\employeelog3.ldf',maxsize= 50 MB,filegrowth= 1 MB)to filegroup fgroupgouse employeesgoCREATE TABLE employee(number int NOT NULL,name varchar(20)NOT NULL,sex char(2)NULL,birthday date NULL,hire_date date NOT NULL DEFAULT (getdate()),professional_title varchar(10)NULL,salary money NULL,memo ntext NULL,constraint pk_id primary key clustered(number))use employeesgoselect*from employeeuse employeesgodrop table employeeuse MASTERgoalter database employees set offline with rollback immediate drop database employeesgocreate table products(id char(10)not null,name char(20)not null,price money default 0.01,quantity smallint null,constraint pk_id primary key clustered (id))create table student(Id char(8),name char(8),sex char(2),phonenum char(11),constraint chk_sex check(sex in('F','M')),Constraint chk_phonenum check(phonenum like'(010)[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]') )alter table studentdrop constraint chk_phonenumalter table studentadd constraint chk_phonenum check(phonenum like'(010)[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]') create database storeon(name=store,filename='D:\data\store.mdf',size= 5 MB,maxsize= 10 MB,filegrowth= 1 MB)log on(name=storelog,filename='D:\data\storelog.ldf',size= 5 MB,maxsize= 10 MB,filegrowth= 1 MB)use storegocreate table商品(商品号char(8)not null primary key,商品名char(16)not null,单价float not null,商品类别char(10),供应商char(10),constraint p_p check(单价>0.0))create table顾客(顾客号char(10)not null primary key,姓名char(10)not null,住址varchar(50))create table购买(顾客号char(10)not null,商品号char(8)not null,购买数量int not null,primary key(顾客号,商品号),foreign key (顾客号)references顾客(顾客号),foreign key (商品号)references商品(商品号),constraint b_n check(购买数量>0 and购买数量<20))create table购买(顾客号char(10)not null,商品号char(8)not null,购买数量int not null,primary key(顾客号,商品号),constraint buy_c foreign key (顾客号)references顾客(顾客号), constraint buy_p foreign key (商品号)references商品(商品号),constraint b_n check(购买数量>=0 and购买数量<=20))insert into商品values('M01','佳洁士',8.00,'牙膏','宝洁');insert into商品values('M02','高露洁',6.50,'牙膏','高露洁');insert into商品values('M03','洁诺',5.00,'牙膏','联合利华');insert into商品values('M04','舒肤佳',3.00,'香皂','宝洁');insert into商品values('M05','夏士莲',5.00,'香皂','联合利华');insert into商品values('M06','雕牌',2.50,'洗衣粉','纳爱斯');insert into商品values('M07','中华',3.50,'牙膏','联合利华');insert into商品values('M08','汰渍',3.00,'洗衣粉','宝洁');insert into商品values('M09','碧浪',4.00,'洗衣粉','宝洁');insert into顾客values('C01','Dennis','海淀');insert into顾客values('C02','John','朝阳');insert into顾客values('C03','Tom','东城');insert into顾客values('C04','Jenny','东城');insert into顾客values('C05','Rick','西城');insert into购买values('C01','M01',3);insert into购买values('C01','M05',2);insert into购买values('C01','M08',2);insert into购买values('C02','M02',5);insert into购买values('C02','M06',4);insert into购买values('C03','M01',1);insert into购买values('C03','M05',1);insert into购买values('C03','M06',3);insert into购买values('C03','M08',1);insert into购买values('C04','M03',7);insert into购买values('C04','M04',3);insert into购买values('C05','M06',2);insert into购买values('C05','M07',8);select distinct姓名from顾客,商品,购买where顾客.顾客号=购买.顾客号and商品.商品号=购买.商品号and商品.供应商='宝洁'select distinct姓名from顾客where顾客.顾客号in(select购买.顾客号from购买where购买.商品号in(select商品.商品号from商品where商品.供应商='宝洁'))select distinct姓名from顾客where exists(select*from购买where exists(select*from商品where顾客.顾客号=购买.顾客号and商品.商品号=购买.商品号and商品.供应商='宝洁'))select distinct姓名from顾客,商品,购买where顾客.顾客号=购买.顾客号and商品.商品号=购买.商品号and商品.商品号in(select distinct商品.商品号from顾客,商品,购买where顾客.顾客号=购买.顾客号and商品.商品号=购买.商品号and姓名='Dennis') and姓名<>'Dennis'select姓名from顾客where顾客号in(select顾客号from购买where商品号in(select商品号from购买where顾客号in(select顾客号from顾客where姓名='Dennis')))and姓名<>'Dennis'select top 1 供应商,sum(购买数量)from购买,商品where商品.商品号=购买.商品号and商品类别='牙膏'group by供应商order by SUM(购买数量)descupdate商品set单价=单价*1.1where商品类别='牙膏'deletefrom商品where商品号not in(select商品号from购买)CREATE TABLE S(sno char (10)primary key,sname char (10)not null,age tinyint,sex char (10)CHECK(sex='男'OR sex='女'))INSERT INTO S VALUES ('98601','李强',20,'男')INSERT INTO S VALUES ('98602','刘丽',21,'女')INSERT INTO S VALUES ('98603','张兵',20,'男')INSERT INTO S VALUES ('98604','陈志坚',22,'男')INSERT INTO S VALUES ('98605','张兵',21,'女')CREATE TABLE C(cno char (10)primary key,cname char (10)not null,teacher char(8),office char (10))INSERT INTO C VALUES ('C601','高等数学','周振兴', 416) INSERT INTO C VALUES ('C602','数据结构','刘建平', 415) INSERT INTO C VALUES ('C603','操作系统',' 刘建平', 415)INSERT INTO C VALUES ('C604','编译原理',' 王志伟', 415) CREATE TABLE SC(sno char (10)not null,cno char (10)not null,score tinyint,primary key (sno,cno),foreign key (sno)references S(sno),foreign key (cno)references C(cno))INSERT INTO SC VALUES ('98601','C601',90)INSERT INTO SC VALUES ('98601','C602',90)INSERT INTO SC VALUES ('98601','C603',85)INSERT INTO SC VALUES ('98601','C604',87)INSERT INTO SC VALUES ('98602','C601',90)INSERT INTO SC VALUES ('98603','C601',75)INSERT INTO SC VALUES ('98603','C602',70)INSERT INTO SC VALUES ('98603','C604',56)INSERT INTO SC VALUES ('98604','C601',90)INSERT INTO SC VALUES ('98604','C604',85)INSERT INTO SC VALUES ('98605','C601',95)INSERT INTO SC VALUES ('98605','C603',80)SELECT cno,cname FROM CWHERE teacher='周振兴'SELECT sno,sname FROM SWHERE age>21 and sex='男'--youwentiSELECT sname FROM SWHERE NOT EXISTS(SELECT*FROM CWHERE teacher='刘建平'AND NOT EXISTS(SELECT*FROM SCWHERE SC.sno=S.sno AND o=o)) SELECT cno FROM CWHERE cno NOT in(SELECT cno FROM SCWHERE cno=o and sno in(SELECT sno FROM SWHERE sname='刘丽'))SELECT cno FROM CWHERE NOT EXISTS(SELECT cno FROM SCWHERE cno=o and sno in(SELECT sno FROM SWHERE sname='刘丽'))SELECT sno FROM SCGROUP BY sno HAVING COUNT(*)>=2SELECT cno,cname FROM CWHERE NOT EXISTS(SELECT*FROM SWHERE NOT EXISTS(SELECT*FROM SCWHERE o=o AND SC.sno=S.sno)) SELECT sno FROM SWHERE sno IN(SELECT sno FROM SCWHERE cno IN(SELECT cno FROM CWHERE teacher='王志伟'))SELECT SC2.sno FROM SC SC1JOIN SC SC2ON SC1.sno=SC2.snoWHERE o='C601'and o='C603'SELECT sname FROM SWHERE NOT EXISTS(SELECT*FROM CWHERE NOT EXISTS(SELECT*FROM SCWHERE SC.sno=S.sno AND o=o)) SELECT sno FROM SWHERE sno IN(SELECT sno FROM SCWHERE cno IN(SELECT cno FROM SCWHERE sno='98603'))AND sno!='98603'SELECT DISTINCT sno FROM SCWHERE cno IN(SELECT cno FROM SCWHERE sno='98603')AND sno!='98603'SELECT S.sno,sname FROM S,SC,CWHERE S.sno=SC.sno and o=o and ame='操作系统' select*FROM S,SC,CWHERE S.sno=SC.sno and o=o。

sql数据库参考答案

sql数据库参考答案

sql数据库参考答案1、反映现实世界中实体及实体间联系的信息模型是( )。

【正确答案: D】A 关系模型B 层次模型C 网状模型D E-R模型2.在数据操作语言(DML)的基本功能中,不包括的是( )【正确答案: B】A 插入新数据B 描述数据库结构C 修改数据D 删除数据3.扩展名为mdf的文件是【正确答案: A】A 主数据文件B 次数据文件C 日志文件D 项目文件4.下列四项中,不属于数据库特点的是( ) 【正确答案: C】A 数据共享B 数据完整性C 数据冗余很高D 数据独立性高5.数据库管理系统的英文缩写是()。

【正确答案: D】A DBB DBSC DBAD DBMS6.视图是从一个或多个表中或视图中导出的()【正确答案: A】A 表B 查询C 报表D 数据7. update语句来更新表中的数据,一次可以更新( ).【正确答案: D】A 一行B 多行C 一行和多行D 多个8.以下不属于聚合函数的是()【正确答案: A】)A insert ;B max()C min()D sum()9.不是SQL Server中所包含的约束种类的是() 【正确答案: A】A 关键字约束C 唯一性约束D 默认约束10.在SQL中,SELECT语句的"SELECT DISTINCT"表示查询结果中( )【正确答案: B】A 属性名都不相同B 去掉了重复的数据C 行都不相同D 属性值都不相同11.在数据操作语言(DML)的基本功能中,不包括的是( )【正确答案: B】A 插入新数据B 描述数据库结构C 修改数据D 删除数据12. DELETE语句来删除表中的数据,一次可以删除()【正确答案: c】A 一行B 多行C 一行和多行D 多个13.视图是从一个或多个表或试图中导出的()【正确答案: C】A 报表B 查询C 表D 数据14.()包含用于恢复数据库的日志信息。

【正确答案: B】A 数据库文件;B 事物日志文件;C 文件组;D 次文件组15.下列运算符中表示一个或多个任意字符的是( ).【正确答案: B】A *B %C LIKED _16.()是SQL Server中最重要的管理工具【正确答案: A】A 企业管理器B 查询分析器C 服务管理器D 事件探察器17.修改和删除数据库中数据的语句。

2023 SQL 数据库维护练习题及答案

2023 SQL 数据库维护练习题及答案

2023 SQL 数据库维护练习题及答案一、简答题1. 什么是 SQL 数据库维护?SQL 数据库维护是指对数据库进行管理和保养,包括备份和恢复数据、优化查询性能、监控数据库运行状态等一系列操作和任务。

2. 数据库备份的作用是什么?数据库备份的作用是将数据库中的数据和结构保存到另一个位置,作为重要的数据保护手段。

在数据出现故障或错误时,可以通过备份文件进行数据恢复,确保数据的安全性和可靠性。

3. 数据库恢复的方法有哪些?数据库恢复的方法包括逻辑恢复和物理恢复。

- 逻辑恢复:通过对备份数据进行逻辑操作和分析,以达到数据恢复的目的。

常用的逻辑恢复方式有:重建索引、执行逻辑恢复脚本等。

- 物理恢复:通过将备份文件直接还原到数据库,达到恢复数据库的目的。

常用的物理恢复方式有:全量备份恢复、增量备份恢复等。

4. 如何优化 SQL 查询性能?优化 SQL 查询性能可以从以下几个方面入手:- 建立索引:对需要频繁查询的字段创建索引,可以提高查询效率。

- 避免全表扫描:尽量避免对整个表进行查询,可以通过加上适当的查询条件或者调整查询语句的逻辑结构来缩小查询范围。

- 合理设计表结构:合理的表结构设计可以减少数据冗余,提高查询效率。

- 避免使用子查询:子查询在一些情况下会导致性能低下,可以尝试通过其他方式进行查询操作。

二、实操题1. 创建数据库创建一个名为 "Company" 的数据库。

答案:CREATE DATABASE Company;2. 创建表在数据库 "Company" 中创建一个名为 "Employee" 的表,包含以下字段:- EmpID:整型,主键- EmpName:字符串,不为空- Age:整型- Department:字符串答案:USE Company;CREATE TABLE Employee (EmpID INT PRIMARY KEY,EmpName VARCHAR(50) NOT NULL,Age INT,Department VARCHAR(50));3. 插入数据向 "Employee" 表中插入以下数据:EmpID EmpName Age Department1 Alice 25 HR2 Bob 30 IT3 Charlie 35 Sales答案:INSERT INTO Employee (EmpID, EmpName, Age, Department) VALUES(1, 'Alice', 25, 'HR'),(2, 'Bob', 30, 'IT'),(3, 'Charlie', 35, 'Sales');4. 查询数据查询 "Employee" 表中所有数据。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二次(第6周)上机作业
一、用T-SQL语句在E:\DATA\文件夹中创建一个教师信息数据库teacher,该数据库包含:(界面方式也要会)
1、一个主数据文件逻辑名‘teacherdata1 ’,
物理名‘E:\DATA\tdata1.mdf ’,
初始容量1MB,最大容量10MB,每次增长量为15%。

2、一个辅助数据文件逻辑名‘teacherdata2 ’
物理名‘E:\DATA\tdata2.ndf ’,
初始容量2MB,最大容量15MB,每次增长量为2MB。

3、两个数据文件不单独创建文件组,即使用默认的PRIMARY组;
4、一个事务日志文件逻辑名‘teacherlog’物理名‘E:\DATA\teacherlog.ldf ’,初始容量500KB,最大容量不受限制,每次增长量为500KB。

先确认E:\DATA\文件夹已创建,
CREATE DATABASE teacher
ON PRIMARY
( NAME = teacherdata1 ,
FILENAME = 'E:\DATA\tdata1.mdf' ,
SIZE =5MB ,
MAXSIZE= 10 ,
FILEGROWTH = 15%
) ,
( NAME = teacherdata2 ,
FILENAME = 'E:\DATA\tdata2.ndf' ,
SIZE = 2 ,
MAXSIZE= 15 ,
FILEGROWTH = 2MB
)
LOG ON /* 创建事务日志文件*/
( NAME = teacherlog ,
FILENAME = 'E:\DATA\teacherlog.LDF',
SIZE = 500 KB ,/* 初始容量,KB单位不能省略*/
MAXSIZE = UNLIMITED ,/* 日志文件最大容量不受限制*/
FILEGROWTH = 500 KB/* 增长量KB 不能省略*/ )
二、修改数据库“teacher”,增加两个文件组,文件组名:Gteacher1和Gteacher2。

ALTER DATABASE teacher
Add filegroup Gteacher1
ALTER DATABASE teacher
Add filegroup Gteacher2
三、增加一个辅助数据文件,文件逻辑名teacherdata3,物理名为:E:\data\ teacherdata3.ndf’,初始大小为20MB,最大100MB,增量10MB,归属于文件组“Gteacher1”。

Alter database teacher
Add file
( NAME = teacherdata3,
FILENAME = 'E:\data\teacherdata3.ndf',
SIZE = 20MB ,
MAXSIZE = 100,
FILEGROWTH = 10MB)
to filegroup Gteacher1
四、增加一个事物日志文件teacherlog1,物理名‘E:\DATA\teacherlog1.ldf ’,大小为30MB,最大大小为50MB,每次增长10MB。

Alter database teacher
Add LOG file
( NAME =teacherlog1,
FILENAME = 'E:\DATA\teacherlog1.ldf',
SIZE = 30MB ,
MAXSIZE = 50MB ,
FILEGROWTH = 10MB )
五、删除文件组Gteacher2。

ALTER DATABASE teacher
Remove filegroup Gteacher2
六、删除题四中建立的日志文件teacherlog1.ldf
ALTER DATABASE teacher
remove file teacherlog1
七、将数据库teacher的名称修改为teacheringsystem。

alter database teacher
modify name=teacher-system
八、分离数据库teacheringsystem,再附加数据库teacheringsystem。

九、使用Transact-SQL语言删除数据库teacheringsystem。

(界面方式也要会)
drop database teacheringsystem。

相关文档
最新文档