1、数据库是一个结构化的数据集合;
2、数据环境是对象,关系是数据环境中的对象;
3、在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是:需求分析
4、在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是:需求分析
5、在表结构中,逻辑型、日期型、备注型字段的宽度分别固定为:1,8,4
6、数据库系统的三级模式分别为:概念级模式、内部级模式与外部级模式。
7、关系模型的数据操纵即是建立在关系上的数据操纵,一般有查询、增加、删除和修改四种操作。
8、下列函数中函数值为字符型的是___B___。
A、DATE() B、TIME() C、YEAR() D、DATETIME()
9、索引类似于书的目录,主要用于提高查询效率,也就是按条件查询的时候,先查询索引,再通过索引找到相关的数据,索引相当于记录了对某个关键词,指定到不同的文件,或者文件里的不同位置的结构;
索引会降低数据更新的效率,当插入、修改、删除时会引起索引结构的更新。
10、游标用于定位结果集的行。通过判断全局变量@@FETCH_STATUS可以判断其是否到了最后。通常此变量不等于0表示出错或到了最后。
11、用一条SQL语句 查询出每门课都大于80分的学生姓名
name kecheng score
张三 语文 81
张三 数学 75
李四 语文 76
李四 数学 90
王五 语文 81
王五 数学 100
王五 英语 90
解答:select distinct name
from score
where name not in (select distinct name from score where score<=80)
12、
1
2
3
|
select
S.S#, SNAME
from
S, SC
where
S.S# = SC.S#
AND
C# =
'C2'
;
|
这个语句执行时,要先对from 后的基本表S 和SC 做笛卡尔积操作,然后再做等值连接(S.S# = SC.S#)、选择(C# = 'C2')和投影等操作。由于S# 在S 和SC 中都出现,因此引用时需要注上基本表名,如S.S#、SC.S# 等。
13、字符串的匹配操作中,通配符
百分号(%)表示与零个或多个字符组成的字符串匹配;
下划线(_)表示与单个字符匹配。
1
2
3
4
|
--查询姓“李”的老师的个数;
select
count
(
distinct
(Tname))
from
Teacher
where
Tname
like
'李%'
;
--条件表达式中字符串的匹配操作符是like
|
14、关键码(key,键)由一个或多个属性组成。
主键(primary key):用户选作元组标识的候选键称为主键。一般如不加说明,键是指主键。
外键(foreign key):如果模式R中属性K是其他模式的主键,那么K在模式R中称为外键。
超键(super key):在关系中能唯一标识元组的属性或属性集称为关系模式的超键。
候选键(candidate key):不含有多余属性的超键称为候选键。也就是在候选键中,如再删除属性,就不是键了。
15、 (1)数据库系统由五部分组成:硬件、数据库集合、数据库管理系统及相关软件、数据库管理员(DBA)、用户
(DBS包括DB和DBMS);
(2)DBMS是位于用户和操作系统之间的数据库管理系统,是属于OS(Operation System )支持下的系统文件;
(3)关系模型中的“关系”是指具有相关性,但非从属性的平行的数据之间按照某种序列排列的集合关系;
(4)关系数据库中所谓的“关系”是指:数据库模型符合一定条件的二维表格式;
(5)记录:表中的每一行称为一条记录,也称元组
字段:二维表中的一列
数据项:也称为分量,是每个记录中的一个字段值
字段的值域:字段的取值范围,也称为属性
(6)在Access中,一般关系都为一对多的关系;
经典例题:
Student(S#,Sname,Sage,Ssex) 学生表
S#:学号;Sname:学生姓名;Sage:学生年龄;Ssex:学生性别
Course(C#,Cname,T#) 课程表
C#,课程编号;Cname:课程名字;T#:教师编号
SC(S#,C#,score) 成绩表
S#:学号;C#,课程编号;score:成绩
Teacher(T#,Tname) 教师表
T#:教师编号; Tname:教师名字
1、查询平均成绩大于60分的同学的学号和平均成绩;
1
2
3
|
select
S#,
avg
(score)
from
sc
group
by
S#
having
avg
(score) >60;
|
2、查询姓“李”的老师的个数;
1
2
3
|
select
count
(
distinct
(Tname))
from
Teacher
where
Tname
like
'李%'
;
|
3、查询没学过“叶平”老师课的同学的学号、姓名;
1
2
3
|
select
Student.S#,Student.Sname
from
Student
where
S#
not
in
(
select
distinct
( SC.S#)
from
SC,Course,Teacher
where
SC.C#=Course.C#
and
Teacher.T#=Course.T#
and
Teacher.Tname=
'叶平'
);
|
4、查询所有课程成绩小于60分的同学的学号、姓名;
1
2
3
|
select
S#,Sname
from
Student
where
S#
not
in
(
select
Student.S#
from
Student,SC
where
S.S#=SC.S#
and
score>60);
|
5、删除学习“叶平”老师课的SC表记录;
1
2
3
|
Delect SC
from
course ,Teacher
where
Course.C#=SC.C#
and
Course.T#= Teacher.T#
and
Tname=
'叶平'
;
|
6、查询和“1002”号的同学学习的课程完全相同的其他同学学号和姓名;
1
2
|
select
S#
from
SC
where
C#
in
(
select
C#
from
SC
where
S#=
'1002'
)
group
by
S#
having
count
(*)=(
select
count
(*)
from
SC
where
S#=
'1002'
);
|
7、把“SC”表中“叶平”老师教的课的成绩都更改为此课程的平均成绩;
1
2
3
|
update
SC
set
score=(
select
avg
(SC_2.score)
from
SC SC_2
where
SC_2.C#=SC.C# )
from
Course,Teacher
where
Course.C#=SC.C#
and
Course.T#=Teacher.T#
and
Teacher.Tname=
'叶平'
);
|