当前位置:文档之家› 数据库上机习题及答案

数据库上机习题及答案

数据库上机习题及答案
数据库上机习题及答案

数据库及应用复习题

一、设计题

有一个[学生课程]数据库,数据库中包括三个表:

学生表Student由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,记为: Student(Sno,Sname,Ssex,Sage,Sdept) ,Sno 为关键字。

课程表Course由课程号(Cno)、课程名(Cname)、先修课号(Cpno)、学分(Ccredit)四个属性组成,记为:Course(Cno,Cname,Cpno,Ccredit) Cno为关键字。

成绩表SG由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,记为:SG(Sno,Cno,Grade) (SNO, CNO)为关键字。

用SQL语言实现下列功能:

1.建立学生表Student,其中学号属性不能为空,并且其值是唯一的。

2.向Student表增加“入学时间(Scome)”列,其数据类型为日期型。

3.查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列。4.查询学习1号课程的学生最高分数、平均成绩。

5.查询与“李洋”在同一个系学习的学生。

6.将计算机系全体学生的成绩置零。

7.删除学号为05019的学生记录。

8.删除计算机系所有学生的成绩记录。

1.

CREATETABLE Student

(Sno CHAR(5) NOT NULL UNIQUE,

Sname CHAR(20),

Ssex CHAR(2),

Sage INT,

Sdept CHAR(15))

2.

ALTER TABLE Student ADD Scome DATETIME

3.

SELECT Sno, Grade

FROM SG

WHERE Cno='3'

ORDER BY Grade DESC

4.

SELECT MAX(Grade), AVG(Grade)

FROM SC

WHERE Cno='1'

5.

SELECT Sno, Sname, Sdept

FROM Student

WHERE Sdept IN

(SELECT Sdept FROM Student

WHERE Sname='李洋')

6.UPDATE SG

SET Grade=0

WHERE Sno in

( SELECT Sno FROM Student

WHERE Sdept = '计算机系')

7.DELETE FROM Student

WHERE Sno='05019'

8.DELETE FROM SG

WHERE Sno in

( SELECT Sno FROM Student

WHERE Sdept = '计算机系')

二、设计题

现有关系数据库如下:

数据库名:教师数据库

教师表(编号 char(6),姓名,性别,民族,职称,身份证号)

课程表(课号 char(6),名称)

任课表(ID,教师编号,课号,课时数)

用SQL语言实现下列功能的sql语句代码:

1. 创建上述三表的建库、建表代码(14分);

要求使用:主键(教师表.编号,课程表.课号)、外键(任课表.教师编号,任课表.课号)、默认(民族)、非空(民族,姓名)、唯一(身份证号)、检查(性别、课时数),自动编号(ID)

2. 将下列课程信息添加到课程表的代码(6分)

课号课程名称

100001 SQL Server数据库

100002 数据结构

100003 VB程序设计

修改课号为100003的课程名称:Visual Basic程序设计

删除课号为100003的课程信息

3. 写出创建[任课表视图](教师编号,姓名,课号,课程名称,课时数)的代

码;(4分)

4. 写出创建[某门课任课教师]内嵌表值函数以及检索的代码;(6分)

检索:所有代'SQL Server数据库'这门课程的老师姓名;

5. 写出创建[统计课时数]:输出最大课时数、最低课时数、平均课时的存储

过程以及执行代码;(6分)

6.写出创建:计算某教师代课总课时,并将值返回的存储过程以及执行代码。

(6分)

执行:计算“郭老师”的总课时。(6分)

7. 检索有一门或一门以上课程课时数大于90的所有教师的信息,包括编号、

姓名。(4分)

8. 建一个规则,并将其绑定到教师表的职称列上,规定取值为('教授','副教授','讲师', '助教')之一。(4分)

1.

create database [教师数据库] --(2分)

use [教师数据库]

go

create table 教师表 --(6分)

([编号] char(6) primary key,

[姓名] nchar(4) not null,

[性别] nchar(1) check([性别] in ('男', '女')),

[民族] nchar(8) default '汉族' not null,

[职称] nchar(12),

[身份证号] char(18) unique

)

create table 课程表 --(2分)

([课号] char(6) primary key,

[名称] char(40) not null

)

create table 任课表 --(4分)

(ID IDENTITY(1, 1),

[教师编号] char(6) references 学生表(学号),

[课号] char(6) references 课程表(课号),

[课时数] integer check([课时数] between 0 and 200)

)

2.

insert 课程表 values('100001', 'SQL Server数据库')

insert 课程表 values('100002', '数据结构')

insert 课程表 values('100003', 'VB程序设计')

update 课程表set 名称='Visual Basic程序设计' where 课号='100003'

delete 课程表 where 课号='100003'

3.

create view [任课表视图] as

select 教师编号,姓名,课号, 课程名称,课时数 from 教师表,任课表

where 教师表.编号=任课表.教师编号

4.

create function [某门课任课教师](@课程名 varchar(15))

returns table as

return (select 课程名称, 课时数, 教师姓名=姓名 from 任课表视图

where 课程名=@课程名)

go

select * from [某门课任课教师]('SQL Server数据库')

5.

create procedure [统计课时数]

as

select 最大课时数=max(课时) ,最小课时数=min(课时),平均课时数=avg(课时) from 任课表

go

execute [统计课时]

6.

create procedure [统计课时]

@教师名 nchar(16),

as

begin

declare @总课时 int

select @总课时=sum (课时) from 任课表视图

where 姓名 = @教师名

end

go

execute [统计课时] '郭老师'

7.

select 编号, 姓名 from 教师表

where编号 in (select distinct 教师编号 from 任课表 where课时数>=90)

8.

create rule zhicheng _rule

as @zhicheng in ('教授','副教授','讲师', '助教')

go

sp_bindrule zhicheng_rule, '教师表.职称'

三、设计题(共50分)

现有关系数据库如下:

数据库名:医院数据库

医生表(编号,姓名,性别,出生日期,职称)

病人表(编号,姓名,性别,民族,身份证号)

病历表(ID,病人编号,医生编号,病历描述)

用SQL语言实现下列功能的sql语句代码:

1. 创建上述三表的建库、建表代码;

要求使用:主键(师医生表.编号,病人表.课号)、外键(病历表.医生编号,病历表.病人课号)、非空(职称,姓名)、检查(性别),自动编号(ID) (16分)

2. 将下列医生信息添加到医生表的代码

编号姓名性别出生日期职称

100001 杜医生男 1963-5-18 副主任医师

100002 郭医生女 1950-7-26 副主任医师

100003 刘医生男 1973-9-18 医师

修改编号为100002的医生职称为‘主任医师’

删除编号为100003的医生信息 (8分)

3. 写出创建:医疗表视图(医生编号,姓名,病人姓名,病历)的代码;(4分)

4. 写出所有病人编号、姓名、病历、以及病人所对应的医生编号的查询语句;

(4分)

7.写出创建:输出某医生(根据医生编号即可)看病人数存储过程以及执

行过程(要求输入医生姓名的参数,输出病人数)(6分)。

8.写出查询1970年以前出生的医生(4分)。

7. 检索有病人的医生信息。(4分)

8. 创建一个默认,并将其绑定到医生表的成绩职称列上,默认值为“医师”。

(4分)

1.

create database [医院数据库]

use [医院数据库]

go

create table 医生表

([编号] char(6) primary key,

[姓名] nchar(4) not null,

[性别] nchar(1) check([性别] in ('男', '女')),

[出生日期]datetime ,

[职称] char(18) not null

)

create table病人表

([课号] char(6) primary key,

[姓名] nchar(4) not null,

[性别] nchar(1) check([性别] in ('男', '女')),

[民族] nchar(10),

[身份证号] char(18) not null

)

create table病历表

(ID IDENTITY(1, 1),

[病人编号] char(6) references 病人表(学号),

[医生编号] char(6) references 医生表(编号),

[病历描述] varchar(1000)

)

2.

insert 医生表 values('100001', '杜医生', '男', '1963-5-18', '副主任医师')

insert 医生表 values('100002', '郭医生', '女', '1950-7-26', '副主任医师')

insert 医生表 values('100003', '刘医生', '男', '1973-9-18', '医师')

update医生表 set 职称='主任医师' where 编号='100002'

delete医生表 where 编号='100003'

3.

create view [医疗表视图] as

select br.姓名,ys.姓名,yl.病历 from 病人表 as br join 医疗表 as yl

on br.编号yl.病人编号

join 医生表 as ys

on yl.医生编号=ys.编号

4.

Select br.编号, br.姓名, br.病历, yl.医生编号

from 病人表 br left join 医疗表 yl

on br.编号 = yl.病人编号

5.

create procedure [某医生看病人数]

@医生编号 nchar(16), @人数 int output

as

select @人数=count(病人编号)

from 病人表

where 医生编号 = @医生编号

go

declare @TOTAL int

execute [某医生看病人数] '100001', @TOTAL

6

select * from 医生表 where 出生日期<'1970-01-01'

9.

select 编号, 姓名, 性别, 出生日期, 职称 from 医生表

where 编号 in (select 医生编号 from 医疗表)

8.

create default zhicheng AS '医师'

go

exec sp_bindefault 'zhicheng', '医生表.职称'

四、设计题(共50分)

现有关系数据库如下:

数据库名:学生选课数据库

学生表(学号,姓名,性别,年龄,专业)

课程表(课程号,课程名,学分,先行课程号)

选课表(ID, 学号,课程号,分数)

用SQL语言实现下列功能的sql语句代码:

1. 创建数据库[学生选课数据库]代码(2分);

2. 创建[课程表]代码(2分);

课程表(课程号 char(6),课程名,学分,先行课程号)

要求使用:主键(课程号)、非空(课程名, 学分)

3. 创建[学生表]代码(6分);

学生表(学号 char(6),姓名,性别,年龄,专业)

要求使用:主键(学号)、非空(姓名,专业)、检查(性别)

4. 创建[选课表]代码(4分);

选课表(ID,学号,课号,分数)

要求使用:外键(选课表.学号,选课表.课程号)、检查(分数),自动编号(ID) 5. 将下列课程信息添加到课程表的代码(8分)

课程号课程名学分先行课程号

100001 C语言 2

100002 数据结构 2 100001

100003 数据库原理 2

修改课程号为100003的课程名:SQL数据库

删除课程号为100002的课程信息

6. 写出创建:选课表视图(学号,姓名,课程号,课程名,学分,分数)的代

码;(4分)

7. 写出创建:某门课程成绩内嵌表值函数以及检索的代码;(6分)

检索:所有修 SQL数据库这门学生的成绩;

8. 写出创建:某门课程高低均分计算某门课程成绩最高分、最低分、平均

分存储过程以及执行的代码;(6分)

执行:所有修 SQL数据库这门学生的最高分、最低分、平均分;

9. 检索姓张的女同学的情况:姓名、学号、专业。(2分)

10.检索有一门或一门以上课程成绩小于60分的所有学生的信息,包括学号、

姓名。(4分)

1.

create database [学生选课数据库]

go

use [学生选课数据库]

go

2.

create table 学生表

([学号] char(6) primary key,

[姓名] nchar(4) not null,

[性别] nchar(1) check([性别] in ('男', '女')),

[年龄] numeric(2) ,

[专业] char(18) not null

)

3.

create table课程表

([课程号] char(6) primary key,

[课程名] char(40) not null,

[学分] numeric(2) not null,

[先行课程号] char(6)

)

4.

create table选课表

(ID IDENTITY(1, 1),

[学号] char(6) references 学生表(学号),

[课程号] char(6) references 课程表(课程号),

[分数] integer check([分数] between 0 and 100)

)

5.

insert 课程表 values('100001', 'C语言',2)

insert 课程表 values('100002', '数据结构', 2, '100001')

insert 课程表 values('100003', '数据库原理', 2)

update课程表 set 课程名='SQL数据库' where 课程号='100003'

delete课程表 where 课程号='100002'

6. create view [选课表视图] as

select 选课表.学号,姓名,选课表.课程号,课程名, 学分, 分数

from 选课表,学生表,课程表

where 选课表.学号=学生表.学号

and 选课表.课程号=课程表.课程号

--或

create view [选课表视图] as

select 选课表.学号,姓名,选课表.课程号,课程名, 学分,分数

from 选课表 join 学生表 on 选课表.学号=学生表.学号

join 课程表 on 选课表.课程号=课程表.课程号

7.

create function [某门课程成绩](@课程名 varchar(40))

returns table as

return (select学号,姓名,课程名,学分,分数from 选课表视图

where 课程名=@课程名)

go

select * from [某门课程成绩]('SQL数据库')

8.

create procedure [某门课程高低均分]

@课程名 varchar(40) as

select 课程名, 最高分=max(分数)、最低分=min(分数)、平均分=avg(分数)

from 选课表视图

where 课程名 = @课程名

go

execute [某门课程高低均分] 'SQL数据库'

9.

select 姓名, 学号, 专业 from 学生表

where 姓名 like '张%' and 性别='女'

10.

select 学号, 姓名, 专业 from 学生表 where学号 in

(select distinct 学号 from 选课表 where分数<60)

数据库习题与答案

一.选择题: 1、数据库分析与设计中,其设计对象称客观世界的( ) A、逻辑对象 B、目标对象 C、实体对象 D、需求对象 答案:B (150) 2、数据库物理设计完成后,进入数据库实施阶段,下列各项中不属于实施阶段的工作就是 ( ) A、建立库结构 B、扩充功能 C、加载数据 D、系统调试 答案:B (150) 3、通常用以下的顺序来完成数据库的设计工作( ) A、概念设计、物理设计、逻辑设计 B、逻辑设计、概念设计、物理设计 C、概念设计、逻辑设计、物理设计 D、物理设计、逻辑设计、概念设计 答案:C (150) 4、在数据库设计中,在概念设计阶段可用E-R方法,其设计出的图称为( ) A、实物示意图 B、实用概念图 C、实体表示图 D、实体联系图 答案:D (153) 5、 E-R图就是数据库设计的工具之一,它适用于建立数据库的( ) A、概念模型 B、逻辑模型 C、结构模型 D、物理模型 答案:A (155) 6、在关系数据库设计中,完成设计关系模式的任务就是属于( ) A、需求分析阶段 B、概念设计阶段 C、逻辑设计阶段 D、物理设计阶段 答案:C (157) 7、数据库逻辑设计的主要任务就是( ) A、建立E-R图与说明书 B、创建数据库说明 C、建立数据流图 D、把数据送入数据库 答案:B (158) 二.填空题 1、数据库概念设计就是在数据需求分析基础上进行的,其目的就是分析数据间的内在语义 关联,在此基础上建立一个数据的______________。 答案:抽象模型(152) 2、数据库的逻辑设计的基本方法就是将E-R图转换成指定RDBMS中的______________, 此外还包括关系的规范化以及性能调整,最后就是约束条件设置。 答案:关系模式(156) 3、数据库的逻辑设计的基本方法就是将E-R图转换成指定RDBMS中的关系模式,此外还 包括______________以及性能调整,最后就是约束条件设置。 答案:关系的规范化(156) 4、数据库的逻辑设计的基本方法就是将E-R图转换成指定RDBMS中的关系模式,此外还

全国计算机三级数据库技术上机试题100道

1.【考点分析】本题考查对4位整数的排序。考查的知识点主要包括:数组元素的排序算法,if判断语句和逻辑表达式,以及求余算术运算。 【解题思路】此题属于4位数排序问题。本题需主要解决3个问题:问题1如何取4位数的后3位进行比较;问题2如何按照题目要求的条件(按照每个数的后3位的大小进行降序排列,如果后3位相等,则按照原始4位数的大小进行升序排列)排序;问题3如何将排完序的前10个数存到数组bb中去。 本题的解题思路为:使用双循环对数组按条件进行排序,然后将排完序的前10个数存到数组bb中。对于问题1可以通过算术运算的取余运算实现(aa[i]%1000);问题2通过包含if判断语句的起泡排序法就可以实现。 【参考答案】 void jsSort() { int i,j; /*定义循环控制变量*/ int temp; /*定义数据交换时的暂存变量*/ for(i=0;i<199;i++) /*用选择法对数组进行排序*/ for(j=i+1;j<200;j++) { if(aa[i]%1000aa[j]) /*则要按原4位数的值进行升序排序*/ { temp=aa[i]; aa[i]=aa[j]; aa[j]=temp; } } for(i=0;i<10;i++) /*将排序后的前10个数存入数组b中*/ bb[i]=aa[i]; } 【易错提示】取4位数后三位的算法,if判断语句中逻辑表达式的比较运算符。 2.【考点分析】本题主要考查的知识点包括:C语言循环结构,if判断语句和逻辑表达式,以及分解多位整数的算术运算。 【解题思路】分析题干,本题除给出条件"SIX+SIX+SIX = NINE+NINE"之外,还可得出2个隐含的条件:条件1:SIX和NINE分别是3位和4位的正整数;条件2:SIX的十位数字等于NINE的百位数字,NINE的千位数字和十位数字相等。 本题解题思路:通过嵌套的循环结构可以遍历到所有的3位和4位数,对于每一个3位数及4位数的组合进行题设条件(SIX+SIX+SIX = NINE+NINE)的判断,满足条件的对其分解得到各数位的数字,再进一步判断各位数字是否满足本题隐含的条件(条件1及条件2),如果满足则个数加1,并将该3位数及4位数添加到和值中。 【参考答案】 void countValue() { int i,j; int s2; int n2,n3,n4; for(i=100;i<1000;i++)

数据库SQL实验题目

实验一数据定义操作 实验目的 1.掌握数据库和表的基础知识 2.掌握使用创建数据库和表的方法 3.掌握数据库和表的修改、查看、删除等基本操作方法 实验内容和要求 一、数据库的创建 在开始菜单中,启动SQl Server 程序中的“SQL Server Management Studio”,在对象资源管理器窗口中,右键单击“数据库”,选择“新建数据库”,创建成绩管理数据库Grademanager,要求如下表所示: Grademanager数据库参数表 参数参数值参数参数值 存储的数据文件路 径 D:\db\ 存储的日志文件路径D:\db\ 数据文件初始大小5MB 日志文件初始大小2MB 数据文件最大值20MB 日志文件最大值15MB 数据文件增长量原来10% 日志文件增长量2MB 二、表的创建、查看、修改和删除 1.表的创建 在Grademanager数据库中,右键单击“表”,选择“新建表”命令,创建如下表所示的表:(1)Student表的表结构 字段名称数据类型长度精度小数位数是否允许 Null值 说明 Sno Char 10 0 0 否学号,主码 Sname Varchar 8 0 0 是姓名 Ssex Char 2 0 0 是性别,取值:男或女 Sbirthday Date 8 0 0 是出生日期 Sdept Char 16 0 0 是系名 Speciality Varchar 20 0 0 是专业名 特别注意: 为属性Ssex设置约束,需选中属性Ssex行,然后单击菜单中的“表设计器”,选择“CHECK 约束”命令,然后按照图1进行设置。

图1 设置性别的约束 (2)Course表(课程名称表)的表结构 字段名称数据类型长度精度小数位数是否允许Null值说明 Cno Char 5 0 0 否课程号,主码Cname Varchar 20 0 0 否课程名 (3)SC表(成绩表)的表结构 字段名称数据类 型 长 度 精 度 小数位 数 是否允许Null值说明 Sno Char 10 0 0 否学号,外码 Cno Char 5 0 0 否课程号,外码 Degree Decimal 5 5 1 是成绩,0~100之间 特别注意: ①为属性Degree 约束,可参照属性Ssex进行设置,“CHECK约束对话框”中的表达式为Degree>=1 And Degree<=100 ②为SC表设置外键Sno和Cno的方法: 右键单击表SC,选择“设计”命令,然后选择菜单“表设计器”中的“关系”命令,打开“外键关系”窗口,选择“添加”按钮,然后单击“表和列规范”后的按钮,按照图2进行设置,即可将SC表中的Cno属性设置为外键。按照相同的方法,将属性Sno也设置为外键。

数据库实验上机题

一、要求: 1、上机前写好题目答案,上机验证; 2、上机后写好实验报告(手写),内容是题目结果; 3、每个同学做的ACCESS程序,文件名为姓名学号,每班一个文件夹,压缩后发给我。 二、内容 实验一 在ACCESS环境下写出创建如下3张表的SQL语句: (1)“图书表”结构如下: 书号:文本型,长度为6,主码; 书名:文本型,长度为30,非空; 第一作者:文本型,长度为10,非空; 出版日期:日期时间型; 价格:定点小数,小数部分1位,整数部分3位。 (2)“书店表”结构如下: 书店编号:文本型,长度为6,主码; 店名:文本型,长度为30,非空; 电话:文本型,8位长,每一位的取值均是0-9的数字; 地址:文本型,40位长; 邮政编码:文本型,6位长。 (3)“图书销售表”结构如下: 书号:文本型,长度为6,非空; 书号编号:文本型,长度为30,非空; 销售日期:小日期时间型,非空; 销售数量:整型,大于等于1; 主码为(书号,书店编号,销售日期); 其中“书号”为引用“图书表”的“书号”的外码; “书店编号”为引用“书店表”的“书店编号”的外码。 实验二 请参照实验一设计一个图书借阅系统。 要求实现: 1、在ACCESS下设计相应的数据表。 2、在表中添加数据,比如“图书表”中添加几本图书信息等。 3、在ACCESS下设计表之间的关系。 4、在ACCESS下设计查询:根据书名模糊查询图书信息,根据销售时间查询销 售数据。 实验三 在ACCESS下写出创建Student、Course和SC表的SQL语句,并建立数据库1、Student: Sno 学号文本长度7 主键 Sname 姓名文本长度10 非空

数据库试题和答案

试题一 一、单项选择 1.对于现实世界中事物的特征,在实体-联系模型中使用() A)属性描述B)关键字描述C)二维表格描述D)实体描述 2.把实体-联系模型转换为关系模型时,实体之间多对多联系在关系模型中是通过()A)建立新的属性来实现B)建立新的关键字来实现 C)建立新的关系来实现D)建立新的实体来实现 3.专门的关系运算不包括下列中的() A)联接运算(两个关系横向连接)B)选择运算(从行抽取) C)投影运算(从列抽取)D)交运算 4.对关系S和关系R进行集合运算,结果中既包含S中元组也包含R中元组,这种集合运算称为 A)并运算B)交运算C)差运算D)积运算 5.在数据库设计中,将ER图转换成关系数据模型的过程属于() A)需求分析阶段B)逻辑设计阶段 C)概念设计阶段D)物理设计阶段 6.对于关系数据库,任何二元关系模式最高都可以达到范式。 A)1NF B)2NF C)3NF D)BCNF 7.在概念设计阶段,最常使用的数据模型是() A)对象模型B)物理模型C)逻辑模型D)实体联系模型 8.下面有关索引的描述正确的是() A)创建非聚集索引以后,原来的数据库表文件中记录的物理顺序将被改变(不被改

变) B)索引与数据库表的数据存储在一个文件中(创建一个新的文件) C)创建非聚集索引是创建一个指向数据库表文件记录的指针构成的文件 D)使用索引并不能加快对表的查询操作(能加快) 9.关系R1和R2,经过关系运算得到结果是S,则S 是 A)一个关系B)一个表单C)一个数据库D)一个数组 10.子模式是用户与数据库的接口之一,它对应于数据库的 A)外模式B)概念模式C)内模式D)存储模式 11.已知关系R(A,B,C,D,E)及其上的函数相关性集合,F={A→B,E→A,CE→D},该关系的候选关键字是 A)AE B)BE C)CE D)DE 12.设有关系R(A,B,C,D)及其上的函数相关性集合F={B→A,BC→D},那么关系R最高是A)第一范式的B)第二范式的C)第三范式的D)BCNF范式的13.如果学生表STUDENT是使用下面的SQL语句创建的CREATE TABLE STUDENT(SNO CHAR(4) PRIMARY KEY NOT NULL,SN CHAR(8),SEX CHAR(2),AGE DECIMAL(2) CHECK(AGE>15 AND AGE<30)) 下面的SQL语句中不可以正确执行的是 A)INSERT INTO STUDENT(SNO,SEX,AGE) valueS ("S9","男",17) B)INSERT INTO STUDENT(SNO,SEX,AGE) valueS ("李安琦","男",20) C)INSERT INTO STUDENT(SEX,AGE) valueS ("男",20) D)INSERT INTO STUDENT(SNO,SN) valueS ("S9","安琦") 14.设有部门和职员两个实体,每个职员只能属于一个部门,一个部门可以有多名职员。

《数据库》上机练习题

数据库期中上机考试题 1、在E:\学教管理系统\的路径下建立“学教管理”数据库 2、从服务器jsj上的“jxgl1“库中导入数据到“学教管理”数据库中。 3、在‘学教管理’数据库中增加两个数据表Scholarship-class (奖学金等级,平均最低成绩,金额),Scholarship(学号,奖学金等级,获奖时间),并建立相应的主码、外码和关联。 4、创建“学教管理”数据库中表之间的关系。 5、根据“学教管理”数据库中的基本数据表,进行下列各操作 1)修改Grade表,添加主码、外部码及关联,以及成绩限制在0~100之间。 2)在课程表中增加一个‘先修课号’属性,用于指定在学本课之前必须先修的课程,如果为空,则表示该课没有要求的先修课程。 3)向Student表中录入一条新记录(2005061,赵五,男) 4)分别向Class和grade表中录入一些2009信管管理、2009工商管理、2009旅游管理、2009数理经济四个班级的信息,以及四个班级的一些同学的选课信息。。 5)将李勇的计算机网络成绩置空。 6)找出所有被学生选修了的课程号。 7)查询01311班女同学的个人信息。 8)查询没有选修1号课程的学生姓名与班级号,并按班级号分组和排序。 9)查询姓李的学生的所有信息。 10)查询2009信息管理专业学生的数据库成绩 11)求选修了所有课程的学生学号和姓名。 12)求选修了数据库课程的学生人数。 13)列出每门课程的选修人数。 14)查询选修了3门课以上的学生学号和姓名 15)查询学生张婷婷选修的课程号、课程名和成绩 16)找出2009数理经济班所学数据库的平均分、最高分、最低分 17)找出与李勇在同一班级的学生基本情况信息 18)找出年龄介于李勇的年龄和25之间的学生信息 19)TOM已退学,从数据库删除有关他的相应记录。

Access上机练习题

Access上机练习 一、Access的基本练习 1.学习Access的启动和退出; 2.通过上机熟悉Access的用户界面(包括Access窗口和数据库窗口的组成); 二、数据库的创建 1.在桌面创建一个TEST.Mdb数据库; 2.在上述所建数据库中创建如下三张数据表

【操作步骤】 (1)在“数据库”窗口中,单击“对象”栏下的“表”,然后双击“使用设计器创建表”快捷方式。 (2)弹出表“设计视图”对话框,在“字段名称”列中输入字段名,在“数据类型”列中选择数据类型。 (3)在窗口下部的“字段属性”区中,利用“常规”选项卡设置字段大小。 3.将学生表的“学号”字段定为主键,课程表的“课程号”定为主键,成绩表使用学号和课程号的组合作为主键。 【操作步骤】

(1)在学生表的设计视图下,单击学号所在的行,再单击“工具栏”上的主键按钮; (2)在课程表的设计视图下,单击课程号所在的行,再单击“工具栏”上的主键按钮; (3)在成绩表的设计视图下,按下Shift键分别单击学号和课程号所在的行,再单击“工具栏”上的主键按钮; 4.向表中输入数据。 【操作步骤】 (1)在数据库窗口中双击要输入数据的表,进入“数据表”视图。 (2)在“数据表”视图中可进行数据的输入。 5.建立上述三个表之间的关系,在建立过程中要求选择“实施参照完整性”。 【操作步骤】 (1)按F11键切换到“数据库”窗口。 (2)单击工具栏上的“关系”按钮,打开“关系”窗口;同时出现“显示表”对话框,其中将有上述所建的三个表。 (3)分别双击“学生”表、“成绩”表和“课程”表;然后关闭“显示表”对话框。 (4)用鼠标按住“学生”表中的“学号”(主键),将其拖动“成绩”表的“学号”(外键)上;在弹出的“编辑关系”对话框中选择“实施参照完整性”,然后单击“确定”按钮。 (5)再用鼠标按住“课程”表中的“课程号”(主键),将其拖动“成绩”表的“课程号”(外键)上;在弹出的“编辑关系”对话框中选择“实施参照完整性”,然后单击“确定”按钮。 二、使用用设计视图对TEST.mdb数据库建立相关查询对象。 1.根据以下要求创建一个名为“一般选择查询”的选择查询对象。 (1)查询所有同学的有关基本信息和考试成绩。 (2)查询显示字段为:学号、姓名、出生日期、课程号、课程名、成绩。 【操作步骤】 (1)按F11键切换到“数据库”窗口。 (2)在“数据库”窗口中,单击“对象”栏下的“查询”,然后双击“在设计视图中创建查询”快捷方式,此时出现“设计”窗口和“显示表”对话框,“显示表”对话框中显示上述所建的三个数据表。 (3)分别双击三个表,将它们添加到查询“设计”窗口中作为查询数据源,然

(完整版)数据库课后习题及答案

第一章数据库系统概述 选择题 1实体-联系模型中,属性是指(C) A.客观存在的事物 B.事物的具体描述 C.事物的某一特征 D.某一具体事件 2对于现实世界中事物的特征,在E-R模型中使用(A) A属性描述B关键字描述C二维表格描述D实体描述 3假设一个书店用这样一组属性描述图书(书号,书名,作者,出版社,出版日期),可以作为“键”的属性是(A) A书号B书名C作者D出版社 4一名作家与他所出版过的书籍之间的联系类型是(B) A一对一B一对多C多对多D都不是 5若无法确定哪个属性为某实体的键,则(A) A该实体没有键B必须增加一个属性作为该实体的键C取一个外关键字作为实体的键D该实体的所有属性构成键 填空题 1对于现实世界中事物的特征在E-R模型中使用属性进行描述 2确定属性的两条基本原则是不可分和无关联 3在描述实体集的所有属性中,可以唯一的标识每个实体的属性称为键 4实体集之间联系的三种类型分别是1:1 、1:n 、和m:n 5数据的完整性是指数据的正确性、有效性、相容性、和一致性 简答题 一、简述数据库的设计步骤 答:1需求分析:对需要使用数据库系统来进行管理的现实世界中对象的业务流程、业务规则和所涉及的数据进行调查、分析和研究,充分理解现实世界中的实际问题和需求。 分析的策略:自下而上——静态需求、自上而下——动态需求 2数据库概念设计:数据库概念设计是在需求分析的基础上,建立概念数据模型,用概念模型描述实际问题所涉及的数据及数据之间的联系。 3数据库逻辑设计:数据库逻辑设计是根据概念数据模型建立逻辑数据模型,逻辑数据模型是一种面向数据库系统的数据模型。 4数据库实现:依据关系模型,在数据库管理系统环境中建立数据库。 二、数据库的功能 答:1提供数据定义语言,允许使用者建立新的数据库并建立数据的逻辑结构 2提供数据查询语言 3提供数据操纵语言 4支持大量数据存储 5控制并发访问 三、数据库的特点 答:1数据结构化。2数据高度共享、低冗余度、易扩充3数据独立4数据由数据库管理系统统一管理和控制:(1)数据安全性(2)数据完整性(3)并发控制(4)数据库恢复 第二章关系模型和关系数据库 选择题 1把E-R模型转换为关系模型时,A实体(“一”方)和B实体(“多”方)之间一对多联系在关系模型中是通过(A)来实现的

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

试用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.doczj.com/doc/1a11799730.html,o)>=2 6.每个学生选修的课程门数。 解法一: select so.sno sno,https://www.doczj.com/doc/1a11799730.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

数据库试题及答案_

笔试样卷一 参考答案 一、简答题(25分) 1.数据库阶段数据管理的主要特点是什么? 2.解释DB、DBMS、DBS三个概念? 3.什么是物理数据独立性和逻辑数据独立性? 4.试说明DBMS的主要功能? 5.在ER模型转换为关系模型时,联系类型要根据不同的情况作不同的处理,试说明之。 二、计算题(20分) 1.设有关系R和S R: S: A B C A B C 3 6 7 3 4 5 2 5 7 7 2 3 7 3 4 4 4 3 列表计算R∪S、R-S、R×S、π 3,2(S)、δ B<5 (R)。(5分) 2.设有三个关系 S (SNO, SNAME, AGE, SEX, SDEPT) SC (SNO, CNO, GRANDE) C (CNO, CNAME, CDEPT, TNAME) 试用关系代数表达式表示下列查询

(1)检索LIU老师所授课程的课程号、课程名 (2)检索年龄大于23岁的男学生的学号和姓名 (3)检索学号为S3的学生所学课程的课程名和认课教师姓名 (4)检索WANG同学不学的课程的课程号 (5)检索至少选修了两门课程的学生的学号(10分) 三、设有三个基本表(45分) S (SNO, SNAME, AGE, SEX, SDEPT) SC (SNO, CNO, GRANDE) C (CNO, CNAME, CDEPT, TNAME) 1.试用T-SQL的查询语句表达下列查询 (1)检索LIU老师所授课程的课程号、课程名 (2)检索年龄大于23岁的男学生的学号和姓名 (3)检索学号为S3的学生所学课程的课程名和认课教师姓名 (4)检索WANG同学不学的课程的课程号 (5)检索至少选修了两门课程的学生的学号(10分) 2.试用T-SQL的查询语句表达下列查询 (1)统计有学生选修的课程的门数 (2)求选修C4课程的学生的年龄 (3)求LIU老师所授课程的每门课程的学生的平均成绩 (4)统计每门课程的学生选修人数 (5)求年龄大于所有女同学年龄的男学生的姓名和年龄(10分)3.试用T-SQL更新语句完成下列更新操作 (1)往表S中插入一个学生资料(‘S9’, ‘WU’, 18)

数据库上机习题及答案

数据库及应用复习题 一、设计题 有一个[学生课程]数据库,数据库中包括三个表: 学生表Student由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,记为: Student(Sno,Sname,Ssex,Sage,Sdept) ,Sno 为关键字。 课程表Course由课程号(Cno)、课程名(Cname)、先修课号(Cpno)、学分(Ccredit)四个属性组成,记为:Course(Cno,Cname,Cpno,Ccredit) Cno为关键字。 成绩表SG由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,记为:SG(Sno,Cno,Grade) (SNO, CNO)为关键字。 用SQL语言实现下列功能: 1.建立学生表Student,其中学号属性不能为空,并且其值是唯一的。 2.向Student表增加“入学时间(Scome)”列,其数据类型为日期型。 3.查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列。4.查询学习1号课程的学生最高分数、平均成绩。 5.查询与“李洋”在同一个系学习的学生。 6.将计算机系全体学生的成绩置零。 7.删除学号为05019的学生记录。 8.删除计算机系所有学生的成绩记录。 1. CREATETABLE Student (Sno CHAR(5) NOT NULL UNIQUE, Sname CHAR(20), Ssex CHAR(2), Sage INT, Sdept CHAR(15)) 2. ALTER TABLE Student ADD Scome DATETIME 3. SELECT Sno, Grade FROM SG WHERE Cno='3' ORDER BY Grade DESC 4. SELECT MAX(Grade), AVG(Grade) FROM SC WHERE Cno='1' 5. SELECT Sno, Sname, Sdept FROM Student WHERE Sdept IN

数据库习题及答案,第三版

2004-2005学年第二学期期末考试 D 2002级计算机科学与技术专业《数据库原理与应用》课程试题一、选择题(15分,每空1分): 1.数据库系统中,物理数据独立性(physical data independence)是指____。 A.数据库与数据库管理系统的相互独立 B.应用程序与DBMS的相互独立 C.应用程序与存储在磁盘上数据库的物理模式是相互独立的 D.应用程序与数据库中数据的逻辑结构相互独立 2.数据库系统的特点是____、数据独立、减少数据冗余、避免数据不一致和加强了数据保护。 A.数据共享B.数据存储 C.数据应用D.数据保密 3.数据库管理系统能实现对数据库中数据的查询、插入、修改和删除等操作的数据库语言称为____。 A.数据定义语言(DDL)B.数据管理语言 C.数据操纵语言(DML)D.数据控制语言 4.在关系代数的专门关系运算中,从表中取出满足条件的属性的操作称为①;从表中选出满足某种条件的元组的操作称为②;将两个关系中具有共同属性值的元组连接到一起构成新表的操作称为③。 A.选择B.投影C.连接D.扫描 5.关系模型中,一个候选码____。 A.可由多个任意属性组成 B.至多由一个属性组成 C.可由一个或多个其值能唯一标识该关系模式中任何元组的属性组成 D.必须由多个属性组成 6.SQL语言是____语言。 A.层次数据库B.网络数据库 C.关系数据库D.非数据库 7.数据库中只存放视图的________。 A.操作B.对应的数据 C.定义D.限制 8.关系数据库规范化是为解决关系数据库中____问题而引人的。 A.数据冗余B.提高查询速度 C.减少数据操作的复杂性D.保证数据的安全性和完整性 9.数据库管理系统通常提供授权功能来控制不同用户访问数据的权限,这主要是为了实现数据库的________。 A.可靠性B.一致性C.完整性D.安全性 10.若事务T对数据对象A加上S锁,则________。

数据库上机题目

上机时间7-18周周四上午3、4节 实验第一部分数据库操作 一:熟悉ACCESS环境(不用提交) 下面的实验要在七周内完成 实验1 建立学生、课程及成绩表,录入部分数据,并设计验证实体、参照及用户自定义完整性。 实验第二部分SQL语句VB数据库访问技术 二:SQL语句及VB数据库访问技术(要提交) 下面的SQL语句要求在“学生成绩管理”数据库进行测试。 下面的实验要在八至十二周内完成,要求提交纸质实验报告,实验报告包括:实验题目、SQL语句及查询结果的截图(查询的名称为自己的学号加姓名)。 【实验2_1】查询学生基本信息表中的所有信息。 SQL语句如下: 【实验2_2】在学生基本信息表中查询学生的学号、姓名、性别和族别信息。 SQL语句如下: 【实验2_3】从学生基本信息表中查询学生由哪些民族构成。 学生的族别有多行重复,要快速查询学生的民族构成,实际上就是对相同值的族别只需要显示一行,可使用DISTINCT关键字实现。 【实验2_4】从成绩表中查询学生成绩。 SQL语句如下: 【实验2_5】从相关表中查询每一位学生的学号、姓名、课程名称、成绩。 【实验2_6】在课程信息表中查找“Delphi程序设计”课程的任课老师。 【实验2_7】查询少数民族学生的基本情况。 【实验2_8】检索1985年1月1日以后出生的女生基本信息。 【实验2_9】查询每位同学的课程门数、总成绩、平均成绩。 【实验2_10】从学生基本信息表中统计各民族学生人数。 【实验2_11】从学生基本信息表中统计汉族学生的人数。 【实验2_12】显示平均成绩大于等于80分以上的学生情况。

【实验2_13】查询学生成绩并将显示的结果按成绩升序排序。 SQL语句如下: 【实验2_14】查询1985年出生的学生基本信息。 【实验2_15】查询不及格学生成绩信息。 查询不及格学生成绩信息,也就是查询0—59之间的学生成绩,可用BETWEEN关键字表示为:WHERE 成绩BETWEEN 0 AND 59。 【实验2_16】查询课程编号为002、003、007的课程编号、课程名称、任课教师和上课时间。 【实验2_17】检索所有姓刘的学生基本信息。 【实验2_18】检索包含“技术”两字的课程信息。 【实验2_19】查询第2 个字为“丽”的学生信息。 【实验2_20】查询课程信息表中教师未定的课程信息。 【实验2_21】统计成绩表中各门课程的学生人数、总成绩、平均成绩。 【实验2_22】检索单科成绩高于全班平均分的学生成绩信息。 【实验2_23】使用左外连接检索学生成绩信息(学号,姓名,课程名称)。 【实验2_24】使用右外连接检索学生成绩信息(学号,姓名,课程名称)。 【实验2_25】查找同名同姓的学生信息。 【实验2_26】在VB中设计针对“课程信息表”的基本编辑窗体,需要附运行界面及源程序代码。 实验第三部分数据库应用系统开发 数据库应用系统开发作为本课程课程设计考查内容,需要在18周之前提交纸质课程设计报告(主要是系统开发侧重于实施环节的报告)及数据库应用系统。系统开发可以两人(不能超过两人)一组,系统名称可自行拟定。

数据库习题与答案

数据库习题与答案

一.选择题: 1.数据库分析与设计中,其设计对象称客观世界的() A.逻辑对象 B.目标对象 C.实体对象 D.需求对象 答案:B (150) 2. 数据库物理设计完成后,进入数据库实施阶 段,下列各项中不属于实施阶段的工作是() A.建立库结构 B.扩充功能 C.加载数据 D.系统调试 答案:B (150) 3. 通常用以下的顺序来完成数据库的设计工作() A.概念设计、物理设计、逻辑设计 B.逻辑设计、概念设计、物理设计 C.概念设计、逻辑设计、物理设计 D.物理设计、逻辑设计、概念设计 答案:C (150) 4. 在数据库设计中,在概念设计阶段可用E-R 方法,其设计出的图称为() A.实物示意图 B.实用概念图 C.

实体表示图 D.实体联系图 答案:D (153) 5. E-R图是数据库设计的工具之一,它适用于建立数据库的() A.概念模型 B.逻辑模型 C.结构模型 D.物理模型 答案:A (155) 6.在关系数据库设计中,完成设计关系模式的任务是属于() A.需求分析阶段 B.概念设计阶段 C.逻辑设计阶段 D.物理设计阶段 答案:C (157) 7. 数据库逻辑设计的主要任务是() A.建立E-R图和说明书 B.创建数据库说明 C.建立数据流图 D.把数据送入数据库 答案:B (158) 二.填空题

1.数据库概念设计是在数据需求分析基础上进 行的,其目的是分析数据间的内在语义关联,在此基础上建立一个数据的______________。 答案:抽象模型(152) 2.数据库的逻辑设计的基本方法是将E-R图转 换成指定RDBMS中的______________,此外还包括关系的规范化以及性能调整,最后是约束条件设置。 答案:关系模式(156) 3.数据库的逻辑设计的基本方法是将E-R图转 换成指定RDBMS中的关系模式,此外还包括______________以及性能调整,最后是约束条件设置。 答案:关系的规范化(156) 4.数据库的逻辑设计的基本方法是将E-R图转 换成指定RDBMS中的关系模式,此外还包括关系的规范化以及______________,最后是约束条件设置。 答案:性能调整(156) 5.数据库的逻辑设计的基本方法是将E-R图转 换成指定RDBMS中的关系模式,此外还包

大学数据库复习题及答案整理

数据库原理 第一章 1. 单个用户使用的数据视图的描述称为(A)(2001年10月全国卷) A. 外模式 B. 概念模式 C. 内模式 D. 存储模式 2. 子模式DDL用来描述(B)(2001年10月全国卷) A. 数据库的总体逻辑结构 B. 数据库的局部逻辑结构 C. 数据库的物理存储结构 D. 数据库的概念结构 3. 在DBS中,DBMS和OS之间的关系是(B)(2001年10月全国卷) A. 相互调用 B. DBMS调用OS C. OS调用DBMS D. 并发运行 4.数据库物理存储方式的描述称为( B)(2003年1月全国卷) A.外模式 B.内模式 C.概念模式 D.逻辑模式 5.在下面给出的内容中,不属于DBA职责的是( C)(2003年1月全国卷) A.定义概念模式 B.修改模式结构 C.编写应用程序 D.编写完整性规则 6.在数据库三级模式间引入二级映象的主要作用是(A )(2003年1月全国卷) A.提高数据与程序的独立性 B.提高数据与程序的安全性 C.保持数据与程序的一致性 D.提高数据与程序的可移植性 7.DB、DBMS和DBS三者之间的关系是( B)(2003年1月全国卷) A.DB包括DBMS和DBS B.DBS包括DB和DBMS C.DBMS包括DB和DBS D.不能相互包括 8.DBS中“第三级存储器”是指( B)(2002年10月全国卷) A.磁盘和磁带 B.磁带和光盘 C.光盘和磁盘 D.快闪存和磁盘 9.位于用户和操作系统之间的一层数据管理软件是(C) A.DBS B.DB C.DBMS D.MIS 10.数据库系统中的数据模型通常由(A)三部分组成 A、数据结构、数据操作和完整性约束 B、数据定义、数据操作和安全性约束 C、数据结构、数据管理和数据保护 D、数据定义、数据管理和运行控制 12.数据库技术的三级模式中,数据的全局逻辑结构用(C)来描述 A、子模式 B、用户模式 C、模式 D、存储模式 13.用户涉及的逻辑结构用(D)描述

数据库上机考试试题及答案

1下列说法中正确的是:( D ) A 、 SQL 中局部变量可以不声明就使用 B 、 SQL 中全局变量必须先声明再使用 C 、 SQL 中所有变量都必须先声明后使用 D 、 SQL 中只有局部变量先声明后使用;全局变量是由系统提供的用户不能自己建立。 2.哪个关键字用于测试跟随的子查询中的行是否存在( B )。 A.MOV B.EXISTS C.UNION D.HAVING 3 .下列哪些语句用于创建存储过程( A )? A、CREATE PROCEDURE B、CREATE TABLE C、DROP PROCEDURE D、其他 5.在SQL中,SELECT语句的“SELECT DISTINCT”表示查询结果中 ( C )。 A.属性名都不相同 B.去掉了重复的列 C.行都不相同 D.属性值都不相同 语言集数据查询、数据操作、数据定义和数据控制功能于一体,语句INSERT、DELETE、UPDATA实现下列哪类功___A_____。 A. 数据查询 B. 数据操纵 C. 数据定义 D. 数据控制 Server 2000 采用的身份验证模式有( D )。 (A)仅Windows身份验证模式 (B)仅SQL Server身份验证模式 (C)仅混合模式 (D)Windows身份验证模式和混合模式 Server 2000 企业版可以安装在操作系统上。( C ) (A)Microsoft Windows 98 (B)Microsoft Windows 2000 Professional (C)Microsoft Windows 2000 Server (D)Microsoft Windows XP Server是一个( C )的数据库系统。 (A)网状型(B)层次型 (C)关系型(D)以上都不是 语言中,删除一个视图的命令是( B )。 A. DELETE B. DROP C. CLEAR D. REMOVE 语言中,删除记录的命令是( A )。

数据库sql查询语句上机练习1_习题_结果(单世民)

习题1 请根据给出的数据库表结构来回答相应问题: DEPT (DEPTNO INT, DNAME VARCHAR(14),LOC VARCHAR(13)); EMP (EMPNO INT,ENAME VARCHAR(10), JOB VARCHAR(9), MGR INT, HIREDATE DATE, SAL FLOAT, COMM FLOAT, DEPTNO INT); BONUS (ENAME VARCHAR(10), JOB VARCHAR(9), SAL INT, COMM INT); SALGRADE ( GRADE INT, LOSAL INT, HISAL INT); 其中表中包含如下数据: DEPT表: EMP表: SALGRADE表:

BONUS表: 无数据 根据上面描述完成下面问题: (注意:注意保存脚本,尤其是DDL和DML,以便进行数据还原) DDL 1. 写出上述表的建表语句。此外,在DEPT上创 建名为”PK_DEPT”的主键约束,在EMP表上 创建名为”PK_EMP”的主键约束以及指向表 DEPT的外键约束”FK_DEPTNO”。 命令: Create table DEPT (DEPTNO INT NOT NULL,DNAME VARCHAR(14),LOC VARCHAR(13)); Alter table DEPT add constraint PK_DEPT PRIMARY KEY (DEPTNO); create table EMP(EMPNO INT NOT NULL,ENAME VARCHAR(10),JOB VARCHAR(9),MGR INT,HIREDATE DATE, SAL FLOAT,COMM FLOAT,DEPTNO INT); alter table EMP add constraint PK_EMP PRIMARY KEY (EMPNO); alter table EMP add constraint FK_DEPTNO foreign key(DEPTNO) references DEPT(DEPTNO);

数据库上机题

现有一个商店的数据库,记录顾客及其购物情况,由下面三个表组成: 商品(商品号,商品名,单价,商品类别,供应商); 顾客(顾客号,姓名,住址); 购买(顾客号,商品号,购买数量); 建表,在定义中要求声明: 1)每个表的主外码; 2)顾客的姓名和商品名不能为空值; 3)单价必须大于0,购买数量必须在0到20之间; 1.往表中插入数据: 商品( M01,佳洁士,8.00,牙膏,宝洁; M02,高露洁,6.50,牙膏,高露洁; M03,洁诺,5.00,牙膏,联合利华; M04,舒肤佳,3.00,香皂,宝洁; M05,夏士莲,5.00,香皂,联合利华; M06,雕牌,2.50,洗衣粉,纳爱斯; M07,中华,3.50,牙膏,联合利华; M08,汰渍,3.00,洗衣粉,宝洁; M09,碧浪,4.00,洗衣粉,宝洁 ) 顾客(C01,Dennis,海淀; C02,John,朝阳; C03,Tom,东城; C04,Jenny,东城; C05,Rick,西城;) 购买(C01,M01,3;C01,M05,2; C01,M08,2;C02,M02,5; C02,M06,4;C03,M01,1; C03,M05,1;C03,M06,3; C03,M08,1;C04,M03,7; C04,M04,3;C05,M06,2; C05,M07,8;) 2.用SQL语句完成下列查询: (1)检索购买了供应商"宝洁"产品的所有顾客; (2)检索买的商品包括了顾客"Dennis"所购买商品的顾客(姓名); (3)检索牙膏卖出数量最多的供应商。 (4)检索至少购买了两种商品的所有顾客 (5)检索全部顾客都购买过的商品 (6)将所有的牙膏商品单价增加10%。 (7)删除从未被购买的商品记录。

SQL上机练习题

《数据库软件SQL SERVER》 考试说明:在F:盘新建一个以考生的学号和姓名命名的文件夹(例如2007001张三),将所做的数据库以及所有的SQL文本文件均存放在此文件夹中。(第一题为数据库,第二、三、四和五题均存为一个SQL文本文件,请标明题目编号) 一、(30分)操作题 创建数据库:在该文件夹下创建一个为“library”的数据库,主文件的初始大小为3MB,增长方式为10%增长,最大容量为10MB。日志文件初始大小为3MB,增长方式为1MB,最大容量为10MB。“library”中包含的数据“book”表有如下结构:(bookid为主键) (2)创建一视图view_borrow,要求包含借阅者的姓名、所借阅图书名和借阅日期 “library”表记录如下:

二、(40分)编写查询语句(要求所有命令存储于SQL的文本文件中,文件名SQL代码”) (1)向“book”表中添加一条记录,书号为100005,书名计算机网 络基础,作者孙超 (2)修改“reader”表中记录,将姓刘凡易的所在部门改为水建 (3)查询所有未借阅图书的所有读者姓名 (4)查询至少借阅了两门图书的读者的姓名 (5)查询借阅了“100001”和未借阅“100002”图书的读者姓名 (6)查询出借阅了图书的各个部门的人数 (7)查询和“大学英语”出版社相同的图书名称 (8)查询比所有图书平均价低的图书的编号 (9 )查询书名中包含有“计算机”的书名和作者 (10)查询各个出版社中图书最高价格、最低价格和图书数目 三、(10分)编写存储过程 要求利用读者姓名查询出该读者所借阅图书的书名、出版社和价格, 并 军”读者的相关信息。

数据库习题及其答案

第一章习题 一、单项选择题 1.数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是(A)。 A. DBS包括DB和DBMS B. DBMS包括DB和DBS C. DB包括DBS和DBMS D. DBS就是DB,也就是DBMS 2. 下面列出的数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是(D)。 I.人工管理阶段 II.文件系统阶段 III.数据库阶段 A. I 和 II B. 只有 II C. II 和 III D. 只有 I 3. 下列四项中,不属于数据库系统特点的是(C)。 A. 数据共享 B. 数据完整性 C. 数据冗余度高 D. 数据独立性高 4. 数据库系统的数据独立性体现在(B)。 A.不会因为数据的变化而影响到应用程序 B.不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序 C.不会因为存储策略的变化而影响存储结构 D.不会因为某些存储结构的变化而影响其他的存储结构 5. 要保证数据库的数据独立性,需要修改的是(C)。 A. 模式与外模式 B. 模式与内模式 C. 三层之间的两种映射 D. 三层模式 6. 要保证数据库的逻辑数据独立性,需要修改的是( A)。

A. 模式与外模式的映射 B. 模式与内模式之间的映射 C. 模式 D. 三层模式 7. 用户或应用程序看到的那部分局部逻辑结构和特征的描述是(C),它是模式的逻辑子集。 A.模式 B. 物理模式 C. 子模式 D. 内模式 8. 下述(B)不是DBA数据库管理员的职责。 A.完整性约束说明 B. 定义数据库模式 C.数据库安全 D. 数据库管理系统设计 9. 常见的数据模型有三种,它们是(B) A 网状、关系和语义 B 层次、关系和网状 C 环状、层次和关系 D 字段名、字段类型和记录 10. 在E-R图中,用来表示属性的图形是(B) A 矩形 B 椭圆形 C 菱形 D 平行四边形 二、填空题 1. 描述数据库全体数据的全局逻辑结构和特性的是_____模式______。 2. ____数据的物理独立性__________是指数据库的物理(存储)结构改变时,尽量不影响整体逻辑结构、用户的逻辑结构以及应用程序。 3. 数据库系统与文件管理系统相比较,数据的冗余度___低______ ,数据共享性_____高____。 4. 用树形结构表示实体类型及实体间联系的数据模型称之为___层次模型___。5.模式/内模式映像为数据库提供了____物理_____独立性。 6.数据库中对数据的操作可以以数据项为单位,也可以以____记录____为单位。7.数据库用户分为四类,分别是___数据库管理员___、____系统分析员____、_____应用程序员______和_____最终用户______。 8.数据模型由_____数据结构_____、_____数据操作______和______数据的完

相关主题
文本预览
相关文档 最新文档