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、
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、字符串的匹配操作中,通配符
百分号(%)表示与零个或多个字符组成的字符串匹配;
下划线(_)表示与单个字符匹配。
--查询姓“李”的老师的个数;
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分的同学的学号和平均成绩;
select S#,avg(score)
from sc
group by S# having avg(score) >60;
2、查询姓“李”的老师的个数;
select count(distinct(Tname))
from Teacher
where Tname like '李%';
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分的同学的学号、姓名;
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表记录;
Delect SC
from course ,Teacher
where Course.C#=SC.C# and Course.T#= Teacher.T# and Tname='叶平';
6、查询和“1002”号的同学学习的课程完全相同的其他同学学号和姓名;
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”表中“叶平”老师教的课的成绩都更改为此课程的平均成绩;
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='叶平');