文档库 最新最全的文档下载
当前位置:文档库 › 数据库实验答案

数据库实验答案

数据库实验答案
数据库实验答案

1)找出 MGM studios 的地址。

select 地址

from 制片公司

where 公司名称='MGM studios'

2)找出 Sandra Bullock 的出生日期。

select 生日

from 电影明星

where 姓名='Sandra Bullock'

3)找出在2003年拍摄过电影的所有影星,或者拍摄过电影中含有"天空"的电影的所有明星。select 演员姓名

$

from 演员参演电影

where 拍摄年份=2003 or 电影名称 like'%天空%'

4)找出净资产至少1000万美元的所有行政长官。

select 姓名

from 制片人与行政总裁

where 资产>=

5)找出所有的男影星或者是住址中含有 Malibu 的影星。

select 姓名

from 电影明星

where 地址 like 'Malibu' or 性别 like '男'

@

1)电影"加勒比海盗4"中的男影星都有谁。

select 姓名

from 电影明星

where 性别 ='男' and 姓名 in

(

select 演员姓名

from 演员参演电影

where 电影名称='加勒比海盗4'

)

2)谁是米高梅制片公司的总裁。

{

select 姓名

from 制片人与行政总裁

where 身份证号 =

( select 行政总裁

from 制片公司

where 公司名称 ='MGM studios'

)

4)那些电影比《乱世佳人》更长。

select 电影名称

from 电影

[

where 长度 >

(

select 长度

from 电影

where 电影名称 = '乱世佳人'

)

5)那些行政长官比 Tom 更富有。

select 姓名

from 制片人与行政总裁

where 资产>

^

(

select 资产

from 制片人与行政总裁

where 姓名='Tom'

)

1、找出价格低于6000元的PC计算机型号、速度、以及硬盘容量。

select 型号,速度,硬盘容量

from PC电脑

where 价钱 < 6000

?

2、同上要求,另外将 "速度" 改名为 "兆赫",将 "硬盘" 改名为 "G字节"。

select 型号,速度兆赫,硬盘容量 G字节

from PC电脑

where 价钱 < 6000

3、找出打印机的制造商。

select 制造商

from 产品

where 产品类型 = '打印机'

4、找出价格高于2000元的"便携式电脑"的型号、内存容量及屏幕大小。

select 型号,内存,屏幕大小

[

from 便携式电脑

where 价钱 > 6000

5、从"打印机"关系中找出所有彩色打印机的元组。

select *

from 打印机

where 是否彩色 = '是'

6、找出具有300GB以上的硬盘容量而价格低于2000元的所有个人计算机的型号、速度及硬盘。

select 型号,速度,硬盘容量

from PC电脑

where 硬盘容量>300 and 价钱 <6000

1、找出配置了容量至少为300GB硬盘的便携式电脑的制造商及其速度。select 制造商,速度

from 产品,便携式电脑

where 产品型号=便携式电脑.型号 and 硬盘>300

2、找出由生产厂商"苹果"生产的所有产品的型号和价格。

select 型号,价钱

from PC电脑

where 型号 in

(

select 产品型号

|

from 产品

where 制造商='苹果'

)

union

select 型号,价钱

from 便携式电脑

where 型号 in

(

select 产品型号

from 产品

where 制造商='苹果'

)

union

select 型号,价钱

from 打印机

where 型号 in

(

select 产品型号

from 产品

where 制造商='苹果'

)

3、找出所有出售"便携式电脑"(而不出售PC)的生产厂商。

select 制造商

from 产品

where 产品类型 LIKE '便携式电脑' and 制造商 not in

(

select 制造商

from 产品

where 产品类型 LIKE 'PC电脑' or 产品类型 LIKE '打印机'

)

4、找出在两种或两种以上PC上出现的硬盘容量。

select 硬盘容量

from PC电脑

group by 硬盘容量

having count(*)>=2

5、找出拥有相同速度和内存的PC的成对的型号。

select distinct Q.型号,P.型号

from PC电脑 Q, PC电脑 P

where Q.速度=P.速度 and Q.内存=P.内存 and Q.型号

1、找出速度至少为1500MHz的"PC电脑"制造商。("=any"和"in")

select distinct 制造商

from 产品

where 产品类型='PC电脑' and 产品型号 in

(

select 型号

from PC电脑

where 速度>=1500

)

2、找出价格最高的打印机。(注意 ">all" 和 ">any" 的区别) (">=all"和"=max()") select 型号

from 打印机

where 价钱 >=all

(

select 价钱

from 打印机

)

3、找出速度低于任何PC的便携式电脑。(注意"

select 型号

from 便携式电脑

where 速度 < all

(

select 速度

from PC电脑

)

4、找出具有最高价格的机器(PC,便携式电脑或打印机)的型号。

select 型号

from PC电脑

where 价钱=

(

select MAX(价钱)

<

from PC电脑

)

union

select 型号

from 便携式电脑

where 价钱=

(

select MAX(价钱)

from 便携式电脑

)

}

union

select 型号

from 打印机

where 价钱=

(

select MAX(价钱)

from 打印机

)

5、找出具有最低价格的彩色"打印机"的制造商。("=any和in" "<=all和MIN()") select 制造商

from 产品

where 产品型号 =any

(

select 型号

from 打印机

where 价钱<=all

(

select 价钱

from 打印机

where 是否彩色 ='是'

"

)

)

6、找出在具有最小内存容量的所有 PC 中,具有最快处理器的 PC 制造商。select 制造商

from 产品

where 产品型号 =any

(

select 型号

from PC电脑

where 速度 =

(

select MAX(速度)

from PC电脑

where 内存<=all

(

select 内存

from PC电脑

)

)

and 内存 in

~

(

select min(内存)

from pc电脑

)

)

select 制造商

from 产品

where 产品型号 in

(

select 型号

]

from PC电脑

where 速度=

(

select MAX(速度)

from PC电脑

where 内存=

(

select MIN(内存)

from PC电脑

)

)

and 内存 in

(

select MIN(内存)

from pc电脑

)

)

select 制造商

from 产品,PC电脑

where 产品.产品型号=PC电脑.型号 and %

PC电脑.速度=

(

select MAX(速度)

from PC电脑

where 内存<=all

(

select 内存

from PC电脑

)

)

<

and 内存 in

(

select min(内存)

from pc电脑

)

create view vproduct(制造商,产品型号,产品类型,价钱,速度)

as

select 制造商,产品型号,产品类型,价钱,速度

from 产品,PC电脑

where 产品.产品型号=PC电脑.型号

union

select 制造商,产品型号,产品类型,价钱,速度

from 产品,便携式电脑

where 产品.产品型号=便携式电脑.型号

1、找出销售便携式电脑但不销售 PC 的厂商。

select 制造商

from vproduct

where 产品类型 LIKE '便携式电脑' and 制造商 not in

( select 制造商

from 产品

where 产品类型 LIKE 'PC电脑' or 产品类型 LIKE '打印机'

)

2、找出至少生产两种不同的计算机(PC或便携式电脑)且极其速度至少为133的厂商。select distinct 制造商

from vproduct

where 速度>133 and 产品类型 LIKE 'PC电脑' or 产品类型 LIKE '便携式电脑' and 制造商 in

(select min(制造商)

from vproduct

group by 制造商

having COUNT(产品型号)>=2)

3、找出生产最高速度的计算机(PC电脑或便携式电脑)厂商。

select distinct 制造商

from vproduct

where 速度>133 and 产品类型 LIKE 'PC电脑' or 产品类型 LIKE '便携式电脑' and 制造商 in

(select min(制造商)

from vproduct

group by 制造商

having COUNT(产品型号)>=2)

create view 最高速度1

~

as

select distinct 制造商

from 产品,PC电脑

where 产品.产品型号=PC电脑.型号

and 速度=

(

select MAX(速度)

from PC电脑

)

union

/

select distinct 制造商

from 产品,便携式电脑

where 产品.产品型号=便携式电脑.型号

and 速度=

(

select MAX(速度)

from 便携式电脑

)

4、找出至少生产三种不同速度 PC的厂商。

select distinct 制造商

)

from vproduct

where 产品类型 LIKE 'PC电脑' and 制造商 in

(select min(制造商)

from vproduct

group by 产品类型

having count(速度)>=3)

5.找出只卖三种不同型号的PC的厂商。

create view 三种

as

select 制造商

from 产品 A

where A.产品型号=any

(

select 型号

from PC电脑

)

AND A.制造商 not in

(

select B.制造商

from 产品 B

~

where 产品类型='便携式电脑' or 产品类型='打印机'

)

GROUP BY 制造商

having count(*)=3

create view vproduct3(制造商,产品型号,产品类型)

as

select 制造商,产品型号,产品类型

from 产品

where 制造商 not in

(select 制造商

·

from 产品

where 产品类型 LIKE '便携式电脑' or 产品类型 LIKE '打印机' )

select 制造商

from vproduct3

group by 制造商

having count(产品型号)>=2

select avg(速度)

from PC电脑

select avg(速度)

&

from 便携式电脑

where 价钱>2500

select avg(价钱)

from PC电脑

where 型号 in

(select 产品型号

from 产品

where 制造商='A'

)

实验六

^

1)找出PC的平均速度。

select AVG(速度)

from vproduct3

where 产品类型='PC电脑'

2)找出价格超过2500美元的便携式电脑的平均速度。

select AVG(速度)

from vproduct3

where 产品类型='便携式电脑' and 价钱>2500

3)找出厂商A生产PC的平均价格。

select AVG(价钱)

from vproduct3

where 制造商='A' and 产品类型='PC电脑'

4)找出厂商D生产的PC和便携式电脑的平均价格。

select AVG(价钱)

from vproduct3

where 制造商='D'

(5)找出各种不同速率的pc的平均价格

create view five

as

select 价钱,速度

from PC电脑

select 速度,AVG(价钱) as 平均价钱

from five

group by 速度

直接查询

select 速度,AVG(价钱)

from PC电脑

group by 速度

6)找出各厂商生产的便携式电脑的显示器平均尺寸。

create view vproduct4(制造商,产品型号,速度,价钱,屏幕大小) @

as

select 制造商,产品型号,速度,价钱,屏幕大小

from 产品,便携式电脑

where 产品.产品型号=便携式电脑.型号

select 制造商,AVG(屏幕大小)

from vproduct4

group by 制造商

7)找出生产三种不同型号的PC的厂商。

create view vproduct5(制造商,产品型号,产品类型,价钱)

as

#

select 制造商,产品型号,产品类型,价钱

from 产品,PC电脑

where 产品.产品型号=PC电脑.型号

select 制造商

from vproduct5

group by 制造商

having count(产品型号)=3

8)找出各厂商生产的PC的最高价格。

select 制造商,MAX(价钱)

from vproduct5

]

group by 制造商

9)找出速度超过150MHz的各种速度的PC的平均价格。

select AVG(速度)

from vproduct3

where 产品类型='PC电脑' and 速度>150

10)找出所有生产打印机的厂商生产PC的硬盘平均容量。

create view now

as

select 制造商,产品型号

~

from 产品

where 制造商 in

(select 制造商

from 产品

where 产品类型='打印机')

and 产品类型='PC电脑'

create view now1

as

select 制造商,产品型号,硬盘容量

from now,PC电脑

{

where now.产品型号=PC电脑.型号

select avg(硬盘容量)平均硬盘容量

from now1

实验七

1)

create procedure P1

@制造商 char(10),@产品型号 char(10),@产品类型 char(10),@速度 int,@内存 int,@硬盘容量 int,@价钱 money

as

begin transaction

declare @error1 int

insert into 产品 values(@制造商,@产品型号,@产品类型)

set @error1=@error1+@@error

insert into PC电脑 values(@产品型号,@速度,@内存,@硬盘容量,@价钱) set @error1=@error1+@@error

if(@error1<>0)

begin

print '插入失败,回滚事物'

rollback transaction

end

|

else

begin

print '成插入成功,提交事物'

commit transaction

end

exec P1 @制造商='C',@产品型号='11100',@产品类型='PC电脑',@速度=240,@内存=32,@硬盘容量='',@价钱=2499

2)

create procedure P2

as

begin transaction

declare @Error2 int

insert into 产品(制造商,产品型号,产品类型)

select 制造商,产品型号+'1100','便携式电脑'

from 产品

where 产品.产品类型='PC电脑'

set @Error2=@Error2+@@error

insert into 便携式电脑(型号,速度,内存,硬盘,屏幕大小,价钱)

select 型号+'1100',速度,内存,硬盘容量,11,价钱+500

from PC电脑

;

set @Error2=@Error2+@@error

if(@Error2<>0)

begin

print'插入失败,回滚事物'

rollback transaction

end

else

begin

print'插入成功,提交事物'

commit transaction

end

3)

create trigger P3

on PC电脑

for delete

as

delete from 产品

where 产品型号 in (select 型号 from deleted) delete from PC电脑

where 硬盘容量<50

~

create trigger P4

on 产品

for update

as

declare @型号1 char(10)

declare @制造商 char(10)

select @型号1=产品型号 from inserted

select @制造商=制造商

from inserted b

where b.产品型号=@型号1

)

if @制造商 is null

begin

print '错误!'

rollback transaction

end

update 产品

set 制造商='A'

where 制造商='B'

(4)厂商A收购了B,将所有由B制造的产品改为A制造declare MyCursor cursor

|

DYNAMIC

for

select 制造商,产品型号,产品类型

from 产品

where 制造商 = 'B'

for update

open MyCursor

fetch next from MyCursor

update 产品

set 制造商 = 'A'

where current of MyCursor

while(@@FETCH_STATUS =0)

begin

fetch next from MyCursor

update 产品

set 制造商 = 'A'

where current of MyCursor

END

(

deallocate MyCursor

create database Movies

create table 电影明星(

姓名 varchar(20) not null primary key,

地址 varchar(50),

性别 char(2)check(性别='男' or 性别='女'),

生日 datetime

);

create table 制作人与行政总裁(

姓名 varchar(20),

地址 varchar(50),

身份证号 char(18) not null primary key,

资产 int

);

create table 制片公司(

公司名称 varchar(50) not null primary key,

地址 varchar(50),

行政总裁 char(18)not null references 制作人与行政总裁(身份证号),

);

create table 电影(

电影名称 varchar(50) not null,

拍摄年份 datetime not null,

长度 int,

是否彩色 char(2)check(是否彩色 = '是' or 是否彩色 = '否'),

所属电影公司 varchar(50) references 制片公司(公司名称),

制片人 char(18) references 制作人与行政总裁(身份证号),

constraint dy primary key(电影名称,拍摄年份)

);

create table 演员参演电影(

电影名称 varchar(50) not null ,

拍摄年份 datetime not null ,

演员姓名 varchar(20) not null references 电影明星(姓名),

foreign key(电影名称,拍摄年份) references 电影(电影名称,拍摄年份), constraint yycydy primary key(电影名称,拍摄年份,演员姓名)

);

create database Products

create table 产品(

制造商 varchar(50),

产品型号 char(4) not null primary key,

产品类型 varchar(20),

)

create table PC电脑(

型号 char(4) not null primary key references 产品(产品型号),

速度 float,

内存 float,

硬盘容量 float,

价钱 int,

);

create table 便携式电脑(

型号 char(4) not null primary key references 产品(产品型号),

速度 int,

内存 int,

硬盘 int,

屏幕大小 int,

价钱 int,

)

create table 打印机(

型号 char(4) not null primary key references 产品(产品型号),

是否彩色 char(2)check(是否彩色 = '是' or 是否彩色 = '否'),

类型 varchar(20) ,

价钱 int,

)

数据库实验3答案

实验三:交互式SQL语句的使用 1、实验目的 (1)掌握数据库对象的操作过程,包括创建、修改、删除 (2)熟悉表的各种操作,包括插入、修改、删除、查询 (3)熟练掌握常用SQL语句的基本语法 2、实验平台 使用SQL Server提供的Microsoft SQL Server Management Studio工具,交互式使用SQL语句。 3 实验容及要求 选择如下一个应用背景之一: ●学生选课系统 ●习题3、4、和5中使用的数据库 ●其它你熟悉的应用 (1)建立一个数据库和相关的表、索引、视图等数据库对象,练习对表、索引和视图的各种操作。 (2)要求认真进行实验,记录各实验用例及执行结果。 (3)深入了解各个操作的功能。 实验要求包括如下方面的容: 3.1 数据定义 1.基本表的创建、修改及删除 2.索引的创建 3.视图的创建 3.2 数据操作 完成各类更新操作包括: 1.插入数据

2.修改数据 3. 删除数据 3.3 数据查询操作 完成各类查询操作 1.单表查询 2.分组统计 3. 连接查询 4. 嵌套查询 5. 集合查询 3.4 数据操作 1.创建视图 2.视图查询 参考示例: 建立一个学生选课数据库,练习对表、视图和索引等数据库对象的各种操作。 一、数据定义 创建学生选课数据库ST,包括三个基本表,其中Student表保存学生基本信息,Course表保存课程信息,SC表保存学生选课信息,其结构如下表: 表1. Student表结构 表2. Course表结构

表3. SC表结构 1.创建、修改及删除基本表 (1)创建Student表 CREATE TABLE Student (Sno CHAR(8)PRIMARY KEY, Sname CHAR(8), Ssex CHAR(2)NOT NULL, Sage INT, Sdept CHAR(20) ); (2)创建Course表 CREATE TABLE Course (Cno CHAR(4)PRIMARY KEY, Cname CHAR(40)NOT NULL, Cpno CHAR(4), Ccredit SMALLINT, ); (3)创建SC表 CREATE TABLE SC (Sno CHAR(8)FOREIGN KEY (Sno)REFERENCES Student(Sno), Cno CHAR(4), Grade SMALLINT, ); (4)创建员工表Employee

《数据库原理与应用》实验题目及答案

《数据库原理与应用》实验作业布置 实验1 数据库的建立修改与删除 完成以下实验报告: 《数据库原理与应用》实验报告 实验1 数据库的建立修改与删除 二、实验环境 操作系统:Windows XP。 数据库管理系统:MS SQL Server 2000 或MS SQL Server 2008。 三、实验目的 1.熟悉SQL Server 2000上机环境,学会SQL Server 2000“企业管理器”以及“查询分析器”的启动与退出;或熟悉MS SQL Server 2008上机环境,学会SQL Server Management Studio的启动与退出。 2.掌握建立数据库的两种方法。 3.掌握查看和修改数据库的两种方法。 4.掌握删除数据库的两种方法。 四、实验内容 (一) 规定内容 1. 在用户方便的存储空间上建立存放用户数据库的文件夹。本实验在D盘根目录下建立文件夹:D:\SQL2000DB,再建立存放T_SQL源代码的文件夹:D:\SQL2000DB\T_SQL 2.利用企业管理器创建学生课程数据库ST,参数如表1.1所示。 3.利用企业管理器查看ST数据库的属性。 4.使用T-SQL语句建立学生-课程数据库ST,参数如表1.1所示。 5.使用T-SQL 语句建立数据库JXDB,参数如表1.2所示。

6.使用T-SQL语句为数据库JXDB添加文件组JX_Group2,并为此文件组添加1个数据文件JXDB_Data4;添加1个日志文件JXDB_log1。参数由用户自己设定。 7.使用T-SQL语句修改数据库JXDB中次数据文件JXDB_Data4的属性:文件初始大小改为5M,增长方式改为每次按20%增长。删除日志文件JXDB_log1。 8.使用T-SQL语句删除数据库JXDB。 (二) 自定内容 五、出现的问题及解决方法 实验2 表结构的建立修改删除及完整性约束条件定义 完成以下实验报告: 《数据库原理与应用》实验报告 一、实验题目 实验2 表结构的建立修改删除及完整性约束条件定义 二、实验环境 操作系统:Windows XP。 数据库管理系统:MS SQL Server 2000或MS SQL Server 2008。 三、实验目的 1.掌握建立、修改与删除表结构的两种方法。 2.掌握定义完整性约束条件的方法。 3.掌握利用企业管理器和使用T-SQL语句向表中插入记录的方法。 四、实验内容 (一) 规定内容 1.对学生课程数据库ST进行完整性约束条件规划设计。 设计结果如表2.1所示。

数据库实验四作业及答案

实验4数据查询 一、实验目的 1.掌握使用Transact-SQL的SELECT语句进行基本查询的方法。 2.掌握使用SELECT语句进行条件查询的方法。 3.掌握嵌套查询的方法。 4.掌握多表查询的方法。 5.掌握SELECT语句的GROUP BY和ORDER BY子句的作业和使用方法。 6.掌握联合查询的操作方法。 7.掌握数据更新语句INSERT INTO、UPDATE、DELETE的使用方法。 二、实验准备 1.了解SELECT语句的基本语法格式和执行方法。 2.了解嵌套查询的表示方法。 3.了解UNION运算符的用法。 4.了解SELECT语句的GROUP BY和ORDER BY子句的作用。 5.了解IN、JOIN等子查询的格式。 6.了解INSERT INTO、UPDATE、DELETE的格式与作用。 三、实验内容及步骤 0. 创建studentsdb数据库及其相应表,并录入数据。 启动查询分析器,运行下面链接的代码即可。 创建数据库代码 1.在studentsdb数据库中,使用下列SQL语句将输出什么? (1)SELECT COUNT(*) FROM grade (2)SELECT SUBSTRING(姓名,1,2) FROM student_info (3)SELECT UPPER('kelly')

(4)SELECT Replicate('kelly',3) (5)SELECT SQRT(分数) FROM grade WHERE 分数>=85 (6)SELECT 2,3,POWER(2,3) (7)SELECT YEAR(GETDATE()),MONTH(GETDATE()),DAY(GETDATE()) 2.在studentsdb数据库中使用SELECT语句进行基本查询。 (1)在student_info表中,查询每个学生的学号、姓名、出生日期信息。 SELECT*FROM student_info (2)查询学号为0002的学生的姓名和家庭住址。 SELECT姓名,家庭住址FROM student_info WHERE学号=0002 (3)找出所有男同学的学号和姓名。 SELECT学号,姓名FROM student_info

数据库原理课后题答案

第1章 1.试述数据、数据库、数据库系统、数据库管理系统的概念。 答:(1)数据:描述事物的符号记录成为数据。数据的种类有数字、文字、图形、图像、声音、正文等。数据与其语义是不可分的。 (2)数据库:数据库是长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按照一定的数据模型组织。描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。 (3)数据库系统:数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发人具)、应用系统、数据库管理员构成。 (4)数据库管理系统:数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。DBMS的主要功能包括数据定义功能、数据操作功能、数据库的建立和维护功能。 6.试述数据库系统三级模式结构,这种结构的优点是什么? 答:数据库系统的三级模式机构由外模式、模式和内模式组成。 外模式,亦称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。 模式亦称逻辑模式,是数据库中全体数据呃逻辑结构和特征的描述,是所有用户的公共数据视图。模式描述的是数据的全局逻辑结构。外模式涉及的是数据的内部逻辑结构,通常是模式的子集。

内模式,亦称存储模式,是数据在数据库内部的表示,即对数据的物理结构和存储方式的描述。 数据库系统的三级模式是对数据的三个抽象级别,它对数据的具体组织留给DBMS管理,使用户能逻辑抽象地处理数据,而不必关心数据在计算机中的表示和存储。 为了能够在内部实现这三个抽象层次的联系和转换,数据库系统在这三级模式之间提供了两层映像:外模式∕模式映像和模式∕内模式映像。正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。 7.定义并解释下列术语。 外模式:亦称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。 内模式:亦称存储模式,是数据在数据库内部的表示,即对数据的物理结构和存储方式的描述。 模式:亦称逻辑模式,是数据库中全体数据逻辑结构和特征的描述,是所有用户的公共数据视图。模式描述的是数据的全局逻辑结构。外模式涉及的是数据的内部逻辑结构,通常是模式的子集。 DDL:数据库定义语言,用来定义数据库模式、外模式、内模式的语言。DML:数据操纵语言,用来对数据库中数据进行查询、插入、删除和修改的语句。 8.什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么

数据库实验题目和答案

按照如下方式重新定义四张表: 定义新的books表,其所拥有的属性与属性类型与原有的books表一致 以列级完整性的方式定义属性bookId为主码,同时在定义的时候必须提供约束名 定义属性category为”非空” ,同时在定义的时候必须提供约束名 create table Books( bookId number(9,0) constraint BooksKey primary key, title varchar(80), author varchar(40), year integer, category varchar(15) constraint B1 not null ); commit; 定义新的customers表,其所拥有的属性与属性类型与原有的customers表一致 以表级完整性的方式定义属性cid为主码 以列级完整性的方式定义属性cname为”唯一”,同时在定义的时候必须提供约束名 create table Customers ( cid number(9,0), cname char(40) constraint C1 unique, age integer, primary key(cid) ); commit; 定义新的purchases表,其所拥有的属性与属性类型与原有的purchases表一致 定义属性cid与bookId为主码,同时在定义的时候必须提供约束名 以列级完整性的方式定义属性bookId为外码,它参照Books表的主码,同时在定义的时候必须提供约束名。当删除Books表中的某一本书时,级联删 除与它相关的购买记录 以表级完整性的方式定义属性cid为外码,它参照customers表,同时在定义的时候必须提供约束名。当删除customers表中的某个顾客时,如果存在 与该客户相关的购买记录,拒绝删除。 create table Purchases( cid number(9,0), bookId number(9,0)

数据库原理实验报告(5)

南京晓庄学院 《数据库原理与应用》课程实验报告 实验五嵌套子查询设计实验 所在院(系):数学与信息技术学院 班级: 学号: 姓名:

1.实验目的 (1)掌握多表查询和子查询的方法。 (2)熟练使用IN、比较符、ANY或ALL和EXISTS操作符进行嵌套查询操作。 (3)理解不相关子查询和相关子查询的实现方法和过程。 2.实验要求 (1)针对“TM”数据库,在SQL Server查询分析器中,用T-SQL语句实现以下查询操作: a)查询选修了数据结构与算法的学生学号和姓名。 b)查询07294002课程的成绩低于孙云禄的学生学号和成绩。 c)查询和孙云禄同年出生的学生的姓名和出生年份。 d)查询其他系中年龄小于数学与信息技术学院年龄最大者的学生。 e)查询其他系中比数学与信息技术学院学生年龄都小的学生。 f)查询同孙云禄数据库原理与应用课程分数相同的学生的学号和姓名。 g)查询选修了07294002课程的学生姓名。 h)查询没有选07294002课程的学生姓名。 i)查询同时选修了07295006和07295007课程的学生的学号。 j)查询所有未授课的教师的工号、姓名和院系,结果按院系升序排列。 扩展实验: a)查询和10060101选修的全部课程相同的学生的学号、课程号、期末考试 成绩。 b)查询至少选了10060101选修的全部课程的学生的学号。 c)查询年龄比所在院系平均年龄小的学生的学号、姓名、年龄、院系,按 院系和年龄升序排列。 d)查询每门课都在80分以上的学生的学号和姓名。 (2)在SQL Server Management Studio中新建查询,尽可能用多种形式表示实验中的查询语 句,并进行比较。 (3)按要求完成实验报告。 3.实验步骤、结果和总结实验步骤/结果 将调试成功的T-SQL语句写在下方(标明题号)。

数据库实验五题目答案

实验五 实验5.1 数据查询 1)要求 以School数据库为例,在该数据库中存在四表格,分别为: ●表STUDENTS(sid, sname, email, grade); ●表TEACHERS(tid, tname, email, salary); ●表COURSES(cid, cname, hour); ●表CHOICES(no, sid, tid, cid, score) 在数据库中,存在这样的关系:学生可以选择课程,一个课程对应一个教师。在表CHOICES中保存学生的选课记录。 按以下要求对数据库进行查询操作: (1)查询年级为2001的所有学生的名称并按编号升序排列。 程序:Select sname from students where grade='2001' order by sid asc; (2)查询学生的选课成绩合格的课程成绩。 程序:Select score from choices where score>'59';

(3)查询课时是48或60的课程的名称。 程序:select cname from courses where hour='48'or hour='60'; (4)查询所有课程名称中含有data的课程编号。 程序:select cid from courses where cname like'%data%';

(5)查询所有选课记录的课程号(不重复显示)。 程序:select distinct cid from choices; (6)统计所有教师的平均工资。 程序:select avg(salary) from teachers;

《数据库原理与应用》实验报告书修改版(1)答案

《数据库原理与应用》实验报告书修 改版(1)答案 《数据库原理与应用》实验报告书班级:学号:姓名:教师:郑先容医药信息工程学院·数据决策2012年2月目录实验一利用ACCESS 创建数据库及熟悉SQL Server开发环境... 2 实验三数据库、表的创建............................................................... ... 6 实验五连接查询和嵌套查询................................................................ 12 实验七数据的插入、修改、删除.................................................... 18 实验九SQL Server数据库的安全性控制........................................ 21 实验十一熟悉Power Designer数据库设计软件................................ 24 实验十三Transact-SQL编

程................................................................ 27 实验十五存储过程的使用............................................................... ..... 30 第十章数据库的恢复技术作业............................................................ 33 《数据库原理与应用》实验报告实验一利用ACCESS创建数据库及熟悉SQL Server 开发环境一、实验目的1、熟知机房用机安全规则和实验报告的书写。2、掌握SQL Server 2005的安装,卸载以及相关服务的启动、退出。3、熟悉SQL Server Management Studio环境。4、掌握创建服务器组合注册服务器。5、初步了解数据库的概念; 6、初步了解SQL Server联机丛书的使用。 7、用ACCESS创建数据库,体会数据库的功能。注意:每次实验的指导视频,上课所需要的软件、数据库还有ppt。都可以在ftp://的“数据决策”->“数据库”->“2011-2012”文件夹下找到,以后每次实验相关的文件和数据

数据库实验四(含答案)

实验四使用SQL语句创建和删除数据库、表 一. 实验目的: 1、了解SQL Server 2005数据库的逻辑结构和物理结构。 2、掌握使用SQL 语句创建和删除数据库。 3、学会使用T-SQL语句创建表。 二. 实验准备 1.明确能够创建数据库的用户必须是系统管理员,或是被授权使用CREATE DATABASE语句的用户。 2.了解用SQL语句创建和删除数据库的基本语法。 3.是用查询分析器,完成用SQL语句创建和删除基本表。 三. 实验要求 1、熟练使用查询分析器进行数据库的创建和删除操作。 2、用查询分析器,完成用SQL语句创建和删除基本表。 3、完成实验报告。 四. 实验内容 一、数据库 1.以下是创建数据库userdb1的SQL语句, create database userdb1 on (name=userdb4_data,--数据文件的逻辑名称,注意不能与日志逻辑同名 filename='g:\xygl\userdb4.mdf' ,--物理名称,注意路径必须存在 size=5,--数据初始长度为5M maxsize=10,--最大长度为10M filegrowth=1)--数据文件每次增长1M log on ( name=userdb4_log, filename='g:\xygl\userdb4.ldf ' , size=2 , maxsize=5 , filegrowth=1) 运行上诉语句建立数据库userdb1

句,并建立“学生信息”数据库.(.mdf的名字可以修改) 3.数据库的修改(alter database 数据库名add file),将一个大小为10MB 的数据文件mrkj添加到userdb1的数据库中,该数据文件的大小为10MB,最大的文件大小为100MB,增长速度为2MB,物理地址与原有的mdf,ldf文件放在一起。 alter database 数据库名 add file() 注括号内格式同下: ( name=userdb4_log, filename='g:\xygl\userdb4.ldf ' , size=2 , maxsize=5 ,

数据库试验答案

计算机与信息学院 数据库实验报告 专业班级 学生姓名及学号 课程教学班号 任课教师 实验指导教师 实验地点 2012 ~2013 学年第二学期

实验1 使用向导创建和删除数据库 一、实验目的 1.熟悉SQL Server 中SQL Server Management Studio的环境 2.了解SQL Server 数据库的逻辑结构和物理结构 3.掌握使用向导创建和删除数据库的方法 二、实验要求 1.熟练使用SSMS进行数据库的创建和删除操作。 2.完成实验报告。 三、实验内容 设有一学籍管理系统,其数据库名为“EDUC”。 初始大小为10MB,最大为50MB,数据库自动增长,增长方式是按5%比例增长; 日志文件初始为2MB,最大可增长到5MB,按1MB增长。 数据库的逻辑文件名为“student_data”, 物理文件名为“student_data.mdf,存放路径为“E:\sql_data”。 日志文件的逻辑文件名为“student_log”, 物理文件名为“student_log.ldf”,存放路径为“E:\sql_data”。 四、实验步骤

1.使用SQL Server Management Studio(简称SSMS)创建数据库。 (1)启动SSMS 在开始菜单中:所有程序-SQL Server 2005 -SQL Server Management Studio单击“连接”按钮,便可以进入【SQL Server Management Studio】窗口。如果身份验证选择的是“混合模式”,则要输入sa的密码。 (2)建立数据库 在“对象资源管理器”窗口,建立上述数据库EDUC。在数据库节点上右击选择新建。同时建立一个同样属性的数据库EDUC1。

数据库实验2-1答题文件(答案)

第2章VisualFoxPro入门 实验2-1 初识VFP 实验要求 打开其中的“实验2-1答题文件.doc”文件,简答或按题目要求实现如下操作。 实验 1.VFP的安装与卸载 ●卸载VFP操作步骤: (1)单击“开始”按钮,单击打开“控制面板”,再双击“添加或删除程序”打开“添加或删除程序”面板,选中需要卸载(删除)的VFP程序,单击“更改/删除”按钮,如图1-1-1所示。按照提示步骤即可完成卸载(删除)VFP程序的操作。 图1-1-1卸载(删除)VFP程序 ●安装VFP操作步骤: (1)双击老师提供的资料“VFP60.RAR”,解压缩到文件夹VFP60,双击文件夹VFP60中的SETUP.EXE安装图标,开始进行安装,如图1-1-2所示。 图1-1-2卸载(删除)VFP程序 1

(2)单击“下一步”按钮,出现如1-1-3所示界面,单击选中“接受协议”。 图1-1-3VFP程序用户许可协议 (3)单击“下一步”按钮,出现如1-1-4所示界面,要求用户输入产品的ID号,如果正确,“下一步”按钮变为可选状态。 图1-1-4输入产品的ID号 (4)单击“下一步”按钮,选择公用安装文件夹的位置,默认安装路径是“C:\Program Files\Microsoft Studio\Common”,用户可单击“浏览”按钮,重新指定路径,如图1-1-5所示。 2

图1-1-5选择安装目标文件夹 (5)单击“下一步”按钮,进入VFP的安装程序界面,单击“继续”按钮,按提示完成一系列操作,如图1-1-6所示。 图1-1-6安装程序界面 (6)安装结束后,显示安装成功的界面,如图1-1-7所示。单击“确定”按钮完成安装。 图1-1-7安装成功界面 2.VFP的启动方法 用不同的方法启动VFP,认识VFP6的主窗口,了解VFP的菜单栏。 (1)VFP的启动方法有: 方法一:单击“开始”按钮,选择【程序】→【Microsoft Visual FoxPro 6.0】→【Microsoft Visual FoxPro 6.0】,即可启动VFP程序。 方法二:直接双击桌面上的快捷图标“Microsoft Visual FoxPro 6.0”即可启动VFP 程序。 (2)Visual FoxPro主窗口界面即Visual FoxPro的工作环境,启动Visual FoxPro 6.0后,打开如图1-1-8所示的界面,了解VFP的菜单栏。 3

数据库实验答案

实验3 使用T-SQL语言完成单表查询 一、实验目的 掌握使用T-SQL语言完成单表查询 掌握常用谓词的用法 掌握where子句的用法 掌握order by 子句的用法 掌握group by 子句和having短语的用法 实验环境 Microsoft SQL Server 2000。 实验内容和要求 查询全体学生的详细信息。 查询所有课程的详细信息。 查询所有选课记录的详细信息,要结果表中的列名以中文的形式显示,分别为:学号,课程号,成绩。 查询已被学生选修了的课程的编号。 查询系别编号为“d002”的学生的姓名和性别。 查询年龄在19至21岁或者性别为“女”的学生的学号和所在系别编号。 查询系别编号为d001、d002和d003的学生的学号和姓名。 查询课程名为“C_”开头的课程名和学分。 某些学生入学后还没有确定所在的系,查询还没有确定系的学生的姓名。 查询成绩大于60分的学生的学号、课程号和成绩,并将查询结果按课程编号升序排列,同一课程的成绩按分数降序排列。 查询学校所开设的总的课程数。 计算2号课的学生成绩总和以及平均成绩,对应的列名分别为“总成绩”和“平均成绩”。 查询选修了3号课程的学生的最高分和最低分,对应的列名分别为“最高分”和“最低分”。 求各个系别的编号以及各系的人数。 查询选课人数大于等于2人的课程编号以及选课的人数。 查询学生2选修课程的总成绩对应的列名为“总成绩”,并显示出学号。 查询有2门以上课程是80分以上的学生的学号及课程数。 查询选修了1号课的学生的学号和成绩,结果按成绩降序、学号升序排列。 实验1 使用T-SQL语言建库、建表 实验2 向表中增、删、改数据 实验目的 掌握使用T-SQL建库、建表、修改表; 掌握使用T-SQL对表中数据进行插入、删除和修改。 实验环境 Microsoft SQL Server 2000。 实验内容和要求 建立数据库STDB 在数据库STDB中建立四个表:

同济大学数据库实验5答案

create proc procA as select* from student exec proca create proc procB @_year char(4) as select* from student where year(birthday )=@_year declare @_year char(4) set @_year ='1994' exec procB@_year create proc procf @_Snum char(30) as select s.snum ,avg(score)as平均成绩,count(https://www.wendangku.net/doc/904013777.html,um)as选秀门数,sum(1-score/60)as不及格门数 from student s,course c,sc,sections st where s.snum =sc.snum and sc.secnum =st.secnum and https://www.wendangku.net/doc/904013777.html,um =https://www.wendangku.net/doc/904013777.html,um and S.Snum =@_Snum group by S.Snum DECLARE @_SUNM char(30) set @_SUNM ='s001' exec procf@_sunm CREATE PROC Procd @_snum char(4),@_avg int out,@_selected_course int out,@_failed_course int out AS SELECT @_avg=AVG(score),@_selected_course=COUNT(cnum),@_failed_course=sum(1-score/60) FROM sc JOIN sections ON sc.secnum =sections.secnum WHERE snum=@_snum

数据库实验7-1答题文件(答案)

第7章SQL结构化查询语言 实验7-1 SQL基本操作 实验要求 1.将服务器上的数据源文件夹“data7-1”下载到本地盘(比如E:\); 2.打开其中的“实验7-1答题文件.doc”文件,边做实验边将各题的操作步骤或所用的命令记录在该文件中。实验完成后将实验完成后将整个文件夹上传到你的“作业”文件夹中。 3、在答题时将答案的文字格式加上蓝色加粗。 实验步骤 1.“学生.dbf”的SQL语言的简单查询 操作步骤: 在命令窗口中依次输入如下命令: (1) 使用set default to 命令设置默认路径: set default to E:\ data7-1 (2) 查询“学生.dbf”中的所有字段的内容: SELECT * FROM 学生 (3) 查询“学生.dbf”中的“姓名”、“出生日期”和“性别”字段的内容: SELECT 姓名,出生日期,性别FROM 学生 (4) 查询“学生.dbf”中的所有女生的记录内容,并按年龄降序排列: SELECT * FROM 学生WHERE 性别="女" ORDER BY 年龄DESC (5) 查询“学生.dbf”中出生日期在1983年1月1日至1984年1月1日的所有学生“姓名”、“出生日期”和“性别”字段的内容: SELECT 姓名,性别,出生日期FROM 学生; WHERE 出生日期>= date(1983,1,1) ; AND 出生日期<= date(1984,1,1) 或: SELECT 姓名,性别,出生日期FROM 学生; WHERE 出生日期between date(1983,1,1) and date(1984,1,1) 或: 70

mysql数据库实验答案

实验一创建、修改数据库和表结构 1、用create建立教学数据库的五个基本表: (1)学生表(学号,姓名,性别,年龄),student((Sno, sname,ssex,sage) ; (2)课程表(课程号,课程名,学分),Course (Cno, Cname, credit) ; (3)选课表(学号,课程号,成绩),SC (Sno,, Cno, grade ) ; (4) 教师表(教师号,姓名,性别,出生年月,系部,职称,地址), T(Tno,Tname,ssex,birthday,dept,title,address) ; (5) 工资表(教师号,基本工资,职务工资,合计),Salary(Tno,jbgz,zwgz,hj); Create Database Student default character set utf8 default COLLATE utf8_bin;

Use Student; Create Table Student( SNo c har(20) primary key, SName char(20) , SSex char(4) default '男', SAge int ) ENGINE=InnoDB; Create Table Course( CNo c har(20) primary key, CName char(20) NOT NULL,

CRedit f loat ) ENGINE=InnoDB; Create Table SC( SNo c har(20) NOT NULL, CNo c har(20) NOT NULL, Grade float, Primary Key(SNo, CNo), Foreign Key(SNo) References Student(SNo) On Delete Cascade, Foreign Key(CNo) References Course(CNo) )ENGINE=InnoD B;

数据库实验1-6参考答案

实验一SQL Server使用初步 一、实验目的 1、熟悉SQL Server2000的组成及基本功能。 2、掌握SQL Server2000的登录及注册。 3、掌握SQL Server2000企业管理器的使用方法。 4、熟悉查询分析器的基本使用。 二、实验预习 1、什么是数据库管理系统DBMS?你所知道的DBMS有哪些? 答:DBMS是位于用户和操作系统之间的一层数据管理软件。常见的DBMS主要有:Oracle、db2、SQL Server、MySQL、PostgreSQL、SQLite、Firebird等等。 2、SQL Server 2000(2005)的安装步骤? 答:以企业版安装为例,步骤为: 将企业版安装光盘插入光驱后,出现以下提示框。请选择“安装 SQL Server 2000 组件” 出现下面对话框后,选择 "安装数据库服务器" 。 选择 "下一步",然后选择 "本地计算机" 进行安装。 在 "安装选择" 窗口,选择 "创建新的SQL Server实例..."。对于初次安装的用户,应选用这一安装模式,不需要使用 "高级选项" 进行安装。 "高级选项" 中的内容均可在安装完成后进行调整。 在 "用户信息" 窗口,输入用户信息,并接受软件许可证协议。 在“安装定义”窗口,选择“服务器和客户端工具”选项进行安装。 在“实例名”窗口,选择“默认”的实例名称。 在“安装类型”窗口,选择“典型”安装选项,并指定“目的文件夹”。 在 "服务账号" 窗口,请选择 "对每个服务使用统一账户..." 的选项。 在 "身份验证模式" 窗口,选择 "混合模式..." 选项,并设置管理员"sa"账号的密码。 最后按“下一步”即可完成安装。 检测安装:如果安装成功,应该能成功启动SQL Server,并且能和SQL Server 客户端连接上。 可以通过服务管理器来进行启动。

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

试用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 s where sex='男' and age>23 3.检索‘c01’课程中一门课程的女学生姓名 select sname from s where sex='女' and sno in (select sno from sc where cno='c01') 4.检索s01同学不学的课程的课程号。 select cno from c where cno not in (select cno from sc where sno ='s01') 5.检索至少选修两门课程的学生学号。 select sc.sno from s,sc where s.sno=sc.sno group by sc.sno having count(https://www.wendangku.net/doc/904013777.html,o)>=2 6.每个学生选修的课程门数。 解法一: select so.sno sno,https://www.wendangku.net/doc/904013777.html,ount,s.sname from(select sc.sno sno,count(sc.sno) ccount from sc,s where s.sno=sc.sno group by sc.sno ) so,s where s.sno=so.sno 解法二: select sc.sno sno,s.sname,count(sc.sno) ccount from sc,s where s.sno=sc.sno group by sc.sno,sname

数据库实验5答案

实验五:数据库综合查询 一、实验目的 1.掌握SELECT语句的基本语法和查询条件表示方法; 2.掌握查询条件种类和表示方法; 3.掌握连接查询的表示及使用; 4.掌握嵌套查询的表示及使用; 5.了解集合查询的表示及使用。 二、实验环境 已安装SQL Server企业版的计算机(120台); 具有局域网环境,有固定IP; 三、实验学时 2学时 四、实验要求 1.了解SELECT语句的基本语法格式和执行方法; 2.了解连接查询的表示及使用; 3.了解嵌套查询的表示及使用; 4.了解集合查询的表示及使用; 5.完成实验报告; 五、实验内容及步骤 1.利用Transact-SQL嵌套语句实现下列数据查询操作。 1) 查询选修了计算机体系结构的学生的基本信息。 select*from student where Sno in(select Sno from course where Cno in(select Cno from sc where Cname='计算机体系结构')) 2) 查询年龄比李勇小的学生的学号和成绩。 select a.sno,grade from student a,course where a.sno=course.sno and sage<(select sage from student where sname='李勇') 3) 查询其他系中比系编号为‘D1’的学生中年龄最小者要大的学生的信息。select*from student where dnum<>'D1'AND SAGE>(select min(sage)from student where dnum='D1') 4) 查询其他系中比系编号为‘D3’的学生年龄都大的学生的姓名。 select*from student where dnum<>'D3'AND SAGE>all(select sage from student where dnum='D3')

数据库考试题目+答案

一.选择题 1.(D )是存储在计算机内有结构的数据集合。 A.数据库系统 B.数据库管理系统 C. 数据模型 D. 数据库 2.不属于Access对象的是(B ) A.表 B.文件夹 C.窗体 D.查询 3. Access数据库的类型是( C )。 A.层次数据库 B.网状数据库 C.关系数据库 D.面向对象数据库4.在以下叙述中,正确的是( D ) A.ACCESS只能使用系统菜单创建数据库应用系统 B.ACCESS不具备程序设计能力 C.ACCESS只具备了模块化程序设计能力 D.ACCESS具有面向对象的程序设计能力,并能创建复杂的数据库应用系统 5. “学号”字段中含有“1”、“2”、“3”……等值,则在表设计器中,该字段可以设置成数字类型,也可以设置为( B )类型 A、货币 B、文本 C、备注 D、日期/时间 6. E-R模型属于( A )。 A.信息(概念)模型 B.层次模型 C.关系模型 D.网状模型 7.在数据表视图中,不可以( A )。

A.修改字段的类型 B.修改字段的名字 C.删除一个字段 D.删除一条记录 8.在关系数据库中,表与表之间的联系是通过如下哪项实现的(B )。 A .实体完整性规则 B .参照完整性规则 C .用户自定义的完整性规则 D .值域 9.在下列 SQL 语句中,属于数据控制的语句是( B )。 A . CREATE , DROP , DELETE , ALTER B . GRANT , REVOKE C . SELECT , UPDATE , DELETE , INSERT D . CREAT E , DROP ,ALTER 10. Access表中字段的数据类型不包括( C )。 A.文本 B.备注 C.通用 D.日期/时间 11.将表“学生表”的记录复制到表“学生名单”中,且不删除表“学生表”中的记录,所使用的查询方式是( C )。 A. 删除查询 B. 更新查询 C. 追加查询 D. 交叉表查询 12. 条件“性别=“女”AND工资额>2000“的意思是( A )。 A. 性别为“女”并且工资额大于>2000的记录 B. 性别为“女”或者且工资额大于>2000的记录 C. 性别为“女”并非工资额大于>2000的记录 D. 性别为“女”或者工资额大于>2000的记录,且而者择一的记录

数据库原理 实验2解答

(1)查询性别为“男”的所有学生的名称并按学号升序排列。 SELECT Sname FROM Students WHERE Ssex='男' ORDER BY Sno (2)查询学生的选课成绩合格的课程成绩,并把成绩换算为积分。积分的计算公式为:[1+(考试成绩-60)*0.1]*Ccredit。考试成绩>=60 否则=0 SELECT Sno, Tno, https://www.wendangku.net/doc/904013777.html,o, Score, 'Point of Score', CONVERT(FLOAT(1), (Score-60)*0.1*Ccredit+Ccredit) FROM Courses, Reports WHERE Score>=60 AND https://www.wendangku.net/doc/904013777.html,o=https://www.wendangku.net/doc/904013777.html,o UNION SELECT Sno, Tno, https://www.wendangku.net/doc/904013777.html,o, Score, 'Point of Score', 0 FROM Courses, Reports WHERE https://www.wendangku.net/doc/904013777.html,o=https://www.wendangku.net/doc/904013777.html,o AND (Score < 60 OR Score IS NULL) (3)查询学分是3或4的课程的名称。 SELECT Cname FROM Courses WHERE Ccredit IN('3','4') (4)查询所有课程名称中含有“算法”的课程编号。 SELECT Cname FROM Courses WHERE Cname LIKE '%算法%' /*查询得到算法分析与设计、数据结构与算法分析*/ (5)查询所有选课记录的课程号(不重复显示)。 SELECT DISTINCT Cno FROM Reports (6)统计所有老师的平均工资。 SELECT A VG(Tsalary) FROM Teachers (7)查询所有教师的编号及选修其课程的学生的平均成绩,按平均成绩降序排列。 SELECT Tno,A VG(Score) FROM Reports GROUP BY Tno ORDER BY A VG(Score) DESC (8)统计各个课程的选课人数和平均成绩。

数据库实验三作业及答案.docx

实验3 SQL Server 数据表的管理 一、实验目的 1.学会使用企业管理器和Transact-SQL语句CREATE TABLE和ALTER TABLE创建和修改表。 2.学会在企业管理器中对表进行插入、修改和删除数据操作。 3.学会使用Transact-SQL语句对表进行插入、修改和删除数据操作。 4.了解SQL Server的常用数据类型。 二、实验准备 1.了解在企业管理器中实现表数据的操作,如插入、修改和删除等。 2.掌握用Transact-SQL语句对表数据进行插入(INSERT)、修改(UPDATE)和删除(DELETE和TRANCATE TABLE)操作。 三、实验内容及步骤 1.启动企业管理器,展开studentsdb数据库文件夹。 2.在studentsdb数据库中包含有数据表student_info、curriculum、grade,这些表的数据结构如图1-2、图1-3和图1-4所示。 图1-2 学生基本情况表student_info 图1-3 课程信息表curriculum 图1-4 学生成绩表grade 3.在企业管理器中创建student_info、curriculum表。 4.在企业管理器中,将student_info表的学号列设置为主键,非空。 5.使用Transact-SQL语句CREATE TABLE在studentsdb数据库中创建grade表。 CREATE TABLE grade (学号varchar(4), 课程编号varchar(4), 分数decimal(5,0) ) 6.student_info、curriculum、grade表中的数据如图1-5、图1-6和图1-7所示。 图1-5 student_info的数据

相关文档