范文一:大学数据库考试题库
习题一、选择题1数据库系统是采用了数据库技术的计算机系统,数据库系统由数据库、数据库管理系统、应用系统和()组成。A 、系统分析员B 、程序员C 、数据库管理员D 、操作员2.数据库(DB )、数据库系统(DBS )和数据库管理系统(DBMS )之间的关系是:()
A 、DBS 包括DB 和DBMS B 、DBMS 包括DB 和DBS C 、DB 包括和DBMS 、DBS D 、DBS 就是DB ,就是DBMS 3.下面列出的数据库管理技术发展的3个阶段中,没有专门的软件对数据进行管理的是()。I. 人工管理阶段II 文件系统阶段III 数据为阶段A 、I 和II B 、只有II C 、II 和III D 只有I 4.下列4项中,不属于数据库系统特点的是()
A 、数据共享B 、数据完整性C 、数据冗余度高D 、数据独立性高5.数据库系统的数据独立性体现在()
A 、不会因为数据的变化而影响到应用程序B 、不会因为数据存储结构与数据逻辑结构的变化而影响应用程序C 、不会因为存储策略的变化而影响存储结构D 、不会因为某些存储结构的变化而影响其他的存储结构6.描述数据库全体数据的全局逻辑结构和特性的是()
模式内模式外模式7.要保证数据库的数据独立性,需要修改的是()A 、B 、C 、A 、模式与外模式B 、模式与内模式C 、三级模式之间的两层映像D 、三级模式8.要保证数据库的逻辑数据独立性,需要修改的是()
模式与外模式之间的映像模式与内模式之间的映像C 、模式D、A 、B 、三级模式9.用户和应用程序看到的那部分局部逻辑结构和特征的描述是()
)不是DBA 的数据库管理员的A 、模式B 、物理模式C 、子模式10.下述(职责。A 、完整性约束说明B 、定义数据库模式C 、数据库安全D 、数据为管
理系统设计二、填空题1、数据库系统具有(永久存贮)、(有组织)和(可共享)3个基本特点。2、数据库管理系统是数据库系统的一个重要组成部分,它的功能包括(数据定义)、(数据操纵)、(数据库运行和管理)、(数据库的建立和维护)。3、数据库系统是指在计算机系统中引入数据库后的系统,一般由(数据库)、(数据库管理系统开发工具)、(应用系统)和(数据库管理员)构成。4、数据管理技术的发展是与计算机技术及其应用的发展联系在一起的,它经历了3个阶段:(人工管理阶段)、(文件系统阶段)、(数据库阶段)。5、数据库具有数据结构化、最小的(冗余度)、较高的(共享性)等特点。6、DBMS 还必须提供(数据的安全)保护、(完整性)检查、(并发控制)、(数据库恢复)等数据控制功能。7、模式是数据库中全体数据的(逻辑结构)和(特征)的描述,它仅仅涉及到(型)的描
述,不涉及到具体的值。8、三级模式之间的两层映像保证了数据库系统中的数据能够具有较高的(逻辑独立性)和(物理独立性)三、简答题1、试述数据、数据库、数据库管理系统、数据库系统的概念。数据:是数据库中存储的基本对象,种类可以是数字、文字、图形、图象、声音、语言等。数据库:长期存储在计算机内,有组织可共享的数据集合数据库管理系统(DBMS ):提供数据的定义,操作,描述的语言,还有数据库的运行管理,建立以及维护,一般指数据库管理软件如SqlServer 、orcal 、MySql 数据库系统(DBS ):一般指引入数据库后的系统构成,一般由数据库。数据库管理系统,应用系统,数据库管理员和用户构成2、使用数据库系统有什么好处?答:使用数据库系统的好处:数据冗余度小,节省存储空间,共享性高,数据独立性和物理独立性强。3、试述文件系统与数据库系统的区别和联系。答:文件系统把数据组织成相互独立的数据文件,实现了记录内的结构性,但整体无结构;而数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。在文件系统中,数
据冗余度大,浪费存储空间,容易造成数据的不一致;数据库系统中,数据是面向整个系统,数据可以被多个用户、多个应用共享使用,减少了数据冗余。
文件系统中的文件是为某一特定应用服务的,当要修改数据的逻辑结构时,必须修改应用程序,修改文件结构的定义,数据和程序之间缺乏独立性;数据库系统中,通过DBMS 的两级映象实现了数据的物理独立性和逻辑独立性,把数据的定义从程序中分离出去,减少了应用程序的维护和修改。文件系统和数据库系统均可以长期保存数据,由数据管理软件管理数据,数据库系统是在文件系统基础上发展而来。4、试述数据库系统的特点。答:面向全组织的数据结构化;数据的共享性高,冗余度低,易扩充;数据独立性高;数据由DBMS 统一管理和控制。5、数据库管理系统的主要功能有哪些?答:数据定义功能;数据操纵功能;数据库的运行控制管理,数据控制包括:安全(Security )、完整(Integrity )、并发(Concurrency )、恢复(Recovery );数据库的建立和维护功能。6、试述数据库系统三级模式结构,这种结构的优点是什么?答:数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成;外模式
用户的数据视图,是数据的局部逻辑结构,模式的子集;模式(Schema):(Sub-Schema):所有用户的公共数据视图,是数据库中全体数据的全局逻辑结构和特性的描述,一个数据
库只有一个模式;内模式(StorageSchema) :又称存储模式,数据的存储方式,数据库数据在物理结构的描述。
数据库系统三级模式结构,使数据库的用户看到的数据库,与数据库的物理方面,即实际存储的数据库区分开来,提高了数据的物理独立性和逻辑独立性。数据与程序的独立,使得数据的定义从应用程序中分离出去,用户的重点放在模式的定义上;由于数据的存取由
DBMS 管理,用户不必考虑存取路径等细节,简化了应用程序的编制。7、定义如下述语:模式:所有用户的公共数据视图,是数据库中全体数据的全局逻辑结构和特性的描述,一个数据库只有一个模式;外模式:用户的数据视图,是数据的局部逻辑结构,模式的子集;内模式:又称存储模式,数据的存储方式,数据库数据在物理结构的描述DML :数据操作语言,用户可以使用DML 操作数据实现对数据库的基本操作,如查询,插入、删除和修改等。DDL :数据定义语言,用户通过它,可以方便地定义数据库、表、索引、视图等数据对象。8、什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据为系统具有数据与程序的独立性?答:存储结构改变时,使模式保持不变,从而应用程序可以保持不变,称为物理独立性。
当模式改变时,使外模式保持不变,从而应用程序可以保持不变,称为逻辑独立性。因为数据库系统的三级模式和两级映象结构,使得当存储结构改变时,修改内模式/模式映象,使模式保持不变,从而应用程序可以保持不变,实现了物理独立性;当模式改变时,修改外模式/模式映象,使外模式保持不变,从而应用程序可以保持不变,实现了逻辑独立性。9、试述数据库系统的组成?答:数据库系统一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。硬件是必须的,软件有OS 、DBMS 、应用系统,数据的集合构成数据库,用户又细分为最终用户、应用程序员、系统分析员、数据库管理员DBA 10、DBA 的职责是什么?答:DBA 职责可以分为三个方面:建库方面:决定数据库中信息内容和结构,确定模式、外模式;决定数据库的存储结构和存取策略,定义存储结构;同时负责初始数据的整理和装入。用库方面:定义数据的安全性要求和完整性约束条件,规定数据的保密级别、用户权限;监督和控制数据库的运行情况,制定后援和恢复策略,负责故障恢复。改进方面:监督分析系统的性能(空间利用率,处理效率);数据库重组织,物理上重组织,以提高性能;数据库重构造,设计上较大改动,模式和内模式修改。
11、系统分析员、数据库设计人员、应用程序员的职责是什么?答;系统分析员负责应用系统的需求分析和规范说明,系统分析员要和用户及DBA 相结合,确定系统的硬件、软件配置,并参与数据库系统的概要设计。数据库设计人员负责数据库中数据的确定、数据库各级模式的设计。数据库设计人员必须参加用户需求调查和系统分析,然后进行数据库设计。在很多情况下,数据库设计人员就由数据库管理员担任。应用程序员负责设计和编写应用系统的程序模块,并进行调试和安装。第二章数据模型习题:一、选择题1、概念模型是现实世界的第一层抽象,这一类模型中,最著名的模型是()
A 、层次模型B 、关系模型C 、网状模型D 、实体-联系模型)A 、名称2、区分不同实体的依据是(B 、属性C 、对象D 、概念)3、关系数据模型是目前最重要的一种数据模型,它的3个要素分别是(实体完整性、参照完整性、用户自定义完整性B 、数据结构、关系操作、完整性约束C 、A 、数据增加,数据修改,数据查询D 、外模式、模式、内模式4、在()中,一个结点可以有多个双亲,结点之间可以有多种联系。A 、网状模型B 、关系模型C 、层次模式()的存取路径对用户透明,从而具有更高的数据独立性,更好D 、以上都有5、
的安全保密性,也简化了程序员的工作和数据库开发建立的工作。A 、网状模型B 、关系模型C 、层次模式D 、以上都有二、填空题1、根据模型应用的不同目的,可以将这些模型划分为两类,它们分别属于两个不同的层次。第一类是(概念模型),第二类是(逻辑模型和物理模型)。2、数据模型的三要素是指(数据结构)、(数据操作)和(数据完整性约束)。实际数据库系统中所支持的主要数据模型是(层次模型)(网状模型)和(关系模型)3、数据模型中的(数据模型)是对数据系统的静态特征描述,包括数据结构和数据间联系的描述,(数据操作)是对数据库系统的动态特征描述,是一组定义在数据上的操作,包括操作的涵义、操作符]、运算规划及其语言等。4、用树型结构表示实体类型及实体间联系的数据模型称为(层次模型),上一层的父结点和下一层的子结点之间的联系是(1:n )的联系。5、用有向图结构表示实体类型及实体间联系的数据模型称为(网状模型),数据之间的联系通常用(图)实现6、(关系模型)是目前最常用也是最重要的一种数据模型。采用该模型作为数据的组织方式的数据库系统称为(关系数据库系统)7、关系的完整性约束条件包括三大类:(实体完整性)、(参照完整性)和(用户定义完整司长)。三、简答题1、试述数据模型的概念;答:数据模型是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架2、试述数据模型在数据库系统中的作用。答:3、试述数据模型的3个要素。答:数据模型通常由数据结构、数据操作和完整性约束三部分组成。1)数据结构:是所研究的对象类型的集合,是对系统静态特性的描述;
2)数据操作:是指对数据库中各种对象的实例允许进行的操作的集合,包括操作及有关的操作规则,是对系统动态特性的描述;
3)数据的约束条件:是一组完整性规则的集合,完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态
以及状态的变化,以保证数据的正确、有效、相容。4、试述层次模型的概念、网状模型的概念、关系模型的概念。
答:在数据库中,把满足以下两个条件的基本层次联系的集合称为“层次模型”:1)且仅有一个结点无双亲,这个结点称为“根节点”;
2)其他结点有且仅有一个双亲。在数据库中把满足以下两个条件的基本层次结构的集合称为“网状模型”:
1)允许一个以上结点无双亲;
范文二:大学数据库考试重点内容
表存在的修改问题:插入—当插入某一行的时候,会产生null 值问题。更新—在某一行更新,会导致不一致的数据产生。删除—在删除行的时候会丢失过多的数据。 如何解决的:可采用关系模型的方法将列表中这三个问题进行解决, 即将多个单主题的表通过关系模型连接起来, 如果一个表含有两个或多个主题, 我们就将其分割成两个表。关系:是指一种特殊类型的表,具体特征:表中每行存储了某个实体或实体某个部分的数据;表的每列包含了用于表示实体某个属性的数据;关系中每个单元格的值都必须为单值,不允许有重复的出现;每一列具有唯一名称,但列与列之间顺序任意;列与行的顺序任意;任意两行不具有完全相同的数据值。关系与表的区别:在数据库中,人们通常将术语“表”与“关系”互换使用。“表”的行和列在“关系”当中用元祖和属性表示。根据关系的定义知道如果一个表含有重复的行,那么它就不是关系。然而在实践中,这个条件常常被忽视。特别是在使用DBMS 对关系进行操作的时候,操作的结果往往造成了表包含重复的行。为了使其成为关系,应该删除重复数据,但对于很大的表来说很耗时,因此在实践中,一些包含重复行的表仍成为关系。关系与表的转换:规范化的过程:1. 确认关系的所有的候选键。2. 确认关系中的所有函数依赖关系。
3. 检查函数依赖关系的决定因子。如果任何一个决定因子都不是候选键,则关系就存在规范化问题。按下列方法处理:a. 在它们自己的新关系中放置具有函数依赖关系的列。b. 让函数依赖关系的决定因子成为新关系的主键。c. 将决定因子的副本作为原始关系中的外键。d. 在新关系和原始关系中创建参照完整性约束。4. 根据需要,多次重复步骤3,直至每个关系的决定因子都是候选键。 规范化的步骤:根据规范化过程,首先确定所有的候选键。2. 根据规范化的步骤2,可以确定所有函数依赖关系。3. 根据步骤3,决定存在的决定因子是否为候选键。 SQL 语言数据化结构查询语言叫SQL 语言,它作为数据定义和操作的技术而出现,可以通过SQL 完成查询,插入,更新和删除。 SQL 如何定义数值类型数据:在用SQL 语句创建一个表时通过定义它的数据类型,
1、需求分析阶段:设计者将和长度,外加以约束条件。数据库系统开发的3个阶段:○
2、系统用户交流, 获得抽样表单, 报表, 查询以及有关数据库中的各更新活动的说明、○
设计阶段:数据模型被转换成为特定的数据库的设计, 包括各种表的设计, 关联和 约束
3、实现阶段:构建数据库, 并向其中填充数据, 同时还建立各种查询, 表单和报设计等. ○
表, 编写应用程序。 需求分析数据来源:与用户交流;表单、报表、查询、用例、业务规则,其中用例是描述用户将如何使用新系统的各个特性和功能。用例可以由以下几个方面组成,用户利用新系统时所扮演的角色说明,以及活动情况说明,用例中同时也定义了供给系统的输入以及由系统生成的输出结果,用例提供了需求的来源,并且可以验证数据模型,设计及实现方案。 ER 实体模型的相关概念:E-R 模型中最重要的元素包括:实体、属性、标识符和关系。实体是指用户希望跟踪的对象。给定类型的实体被分为实体集,实体集的实体实例是指存在的特殊的实体。属性是指用来描述实体的特征。标识符是用于给不同实例进行命名或标识的属性。实体之间是通过关系进行关联的,E-R 模型包括了关系集合关系实例,关系集反映了实体集之间的关联,关系实例则反映了实体实例之间的关联。 范式:第一范式:可满足关系定义的所有表,这种表会产生不规则性。第二范式:可以消除部分的不规则性。满足如下条件:1. 它本身属于第一范式的形式;2. 所有非键的属性都是由整个主键所确定。第三范式:减少第二范式中残留的不规则性,但不规则性依然存在。BC 范式:消除了第三范式中发现的不规则性。保证函数依赖关系的决定因子都为候选键。第四范式:可以消除多值依赖性,却存在不能正确的结合的另一种不规则性。第五范式:消除第四范式存在的不能正确结合的不规则性。DK 范式:消除了所有的不规则性。 数据模型转换为关系模型:1、为每个实体创建一个表,为每个列指定属性 ,(数据类型,空值的状态,默认值,指定数据约束)。2、通过设置外键创建关系 (强实体关系,标识符依赖弱实体以及非标识符依赖弱实体的关系,子型实体的关系,递归关系)。 数据库的并发问题:并发控制的目的是保证一个用户的工作不会对另一个用户的工作产生不合理的影响。并发的核心是操作的互不影响。并发问题:脏读取、不可重复读取、幻
象读取。当一个事务读取了一个尚未提交到数据库但已经过修改的记录时,这种情况称为脏读取。如果事务重新读取以前读取过的数据,并且发现另一个事务对其进行了修改和删除,称为不可重复读取。当事务重新读取数据,但发现在读取该数据后已有另一半事务插入了新的数据行,称为幻象读取。如果一个数据库同时处理两个事务,称这两个事务为并发事务。 处理并发问题的方法:即在将要修改某些数据行或列时禁止多个应用程序同时读取这些行或列的副本 这种方法成为资源锁定。 关系模型的概念:关系模型是目前在数据库处理方面最为重要的一个标准关系型数据库:数据以表的形式进行存储的数据库称为关系数据库 键的种类和意义:候选键:是唯一标识关系中每一行的键。复合键:包含两个或多个属性的键称为复合键 可以使唯一的也可以是不唯一的。主键:是以候选键选择出来用来唯一标识关系中每一行的键 理想主键:较短的数字值,且永远不变。外键:为了表示关联,可以将一个关系的值放入到另一个关系中 ,使用的值的第一关系的主键,而对于外键第二关系来说,这些值的属性称为外键。意义:键是关系用来标识行的某一列或多列,键可以唯一确定一行,同时,键也可以确定多行。 非规范化的必要性:避免因规范化带来的自相矛盾 通常是指空于非空的问题。
如何用鸟足模型来表示关系:
范文三:大学考试数据库试题
超完整、大学数据库考试试题
包含46道循序渐进的试题及答案。
如果感觉本文档对您的学习工作有帮助,请用积分下载来支持我们。
create table student(
sno varchar2(10) primary key,
sname varchar2(20),
sage number(2),
ssex varchar2(5)
);
create table teacher(
tno varchar2(10) primary key,
tname varchar2(20)
);
create table course(
cno varchar2(10),
cname varchar2(20),
tno varchar2(20),
constraint pk_course primary key (cno,tno)
);
create table sc(
sno varchar2(10),
cno varchar2(10),
score number(4,2),
constraint pk_sc primary key (sno,cno)
);
/*******初始化学生表的数据******/
insert into student values ('s001','张三',23,' 男');
insert into student values ('s002','李四',23,' 男');
insert into student values ('s003','吴鹏',25,' 男');
insert into student values ('s004','琴沁',20,' 女');
insert into student values ('s005','王丽',20,' 女');
insert into student values ('s006','李波',21,' 男');
insert into student values ('s007','刘玉',21,' 男');
insert into student values ('s008','萧蓉',21,' 女');
insert into student values ('s009','陈萧晓',23,' 女');
insert into student values ('s010','陈美',22,' 女');
commit;
/******************初始化教师表***********************/
insert into teacher values ('t001', '刘阳');
insert into teacher values ('t002', '谌燕');
insert into teacher values ('t003', '胡明星');
commit;
/***************初始化课程表****************************/
insert into course values ('c001','J2SE','t002');
insert into course values ('c002','Java Web','t002');
insert into course values ('c003','SSH','t001');
insert into course values ('c004','Oracle','t001');
insert into course values ('c005','SQL SERVER 2005','t003');
insert into course values ('c006','C#','t003');
insert into course values ('c007','JavaScript','t002');
insert into course values ('c008','DIV+CSS','t001');
insert into course values ('c009','PHP','t003');
insert into course values ('c010','EJB3.0','t002');
commit;
/***************初始化成绩表***********************/
insert into sc values ('s001','c001',78.9);
insert into sc values ('s002','c001',80.9);
insert into sc values ('s003','c001',81.9);
insert into sc values ('s004','c001',60.9);
insert into sc values ('s001','c002',82.9);
insert into sc values ('s002','c002',72.9);
insert into sc values ('s003','c002',81.9);
insert into sc values ('s001','c003','59');
commit;
练习:
注意:以下练习中的数据是根据初始化到数据库中的数据来写的SQL 语句,请大家务必注意。
1、查询“c001”课程比“c002”课程成绩高的所有学生的学号;
2、查询平均成绩大于60 分的同学的学号和平均成绩;
3、查询所有同学的学号、姓名、选课数、总成绩;
4、查询姓“刘”的老师的个数;
5、查询没学过“谌燕”老师课的同学的学号、姓名;
6、查询学过“c001”并且也学过编号“c002”课程的同学的学号、姓名;
7、查询学过“谌燕”老师所教的所有课的同学的学号、姓名;
8、查询课程编号“c002”的成绩比课程编号“c001”课程低的所有同学的学号、姓名;
9、查询所有课程成绩小于60 分的同学的学号、姓名;
10、查询没有学全所有课的同学的学号、姓名;
11、查询至少有一门课与学号为“s001”的同学所学相同的同学的学号和姓名;
12、查询至少学过学号为“s001”同学所有一门课的其他同学学号和姓名;
13、把“SC ”表中“谌燕”老师教的课的成绩都更改为此课程的平均成绩;
14、查询和“s001”号的同学学习的课程完全相同的其他同学学号和姓名;
15、删除学习“谌燕”老师课的SC 表记录;
16、向SC 表中插入一些记录,这些记录要求符合以下条件:没有上过编号“c002”课程的同学学号、“c002”号课的平均成绩;
17、查询各科成绩最高和最低的分:以如下形式显示:课程ID ,最高分,最低分
18、按各科平均成绩从低到高和及格率的百分数从高到低顺序
19、查询不同老师所教不同课程平均分从高到低显示
20、统计列印各科成绩, 各分数段人数:课程ID, 课程名称,[100-85],[85-70],[70-60],[ <>
21、查询各科成绩前三名的记录:(不考虑成绩并列情况)
22、查询每门课程被选修的学生数
23、查询出只选修了一门课程的全部学生的学号和姓名
24、查询男生、女生人数
25、查询姓“张”的学生名单
26、查询同名同性学生名单,并统计同名人数
27、1981 年出生的学生名单(注:Student 表中Sage 列的类型是number)
28、查询每门课程的平均成绩,结果按平均成绩升序排列,平均成绩相同时,按课程号降序排列
29、查询平均成绩大于85 的所有学生的学号、姓名和平均成绩
30、查询课程名称为“数据库”,且分数低于60 的学生姓名和分数
31、查询所有学生的选课情况;
32、查询任何一门课程成绩在70 分以上的姓名、课程名称和分数;
33、查询不及格的课程,并按课程号从大到小排列
34、查询课程编号为c001 且课程成绩在80 分以上的学生的学号和姓名;
35、求选了课程的学生人数
36、查询选修“谌燕”老师所授课程的学生中,成绩最高的学生姓名及其成绩
37、查询各个课程及相应的选修人数
38、查询不同课程成绩相同的学生的学号、课程号、学生成绩
39、查询每门功课成绩最好的前两名
40、统计每门课程的学生选修人数(超过10 人的课程才统计)。要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列
41、检索至少选修两门课程的学生学号
42、查询全部学生都选修的课程的课程号和课程名
43、查询没学过“谌燕”老师讲授的任一门课程的学生姓名
44、查询两门以上不及格课程的同学的学号及其平均成绩
45、检索“c004”课程分数小于60,按分数降序排列的同学学号
46、删除“s002”同学的“c001”课程的成绩
答案:
1.
*********************************
select a.* from
(select * from sc a where a.cno='c001') a,
(select * from sc b where b.cno='c002') b
where a.sno=b.sno and a.score > b.score;
*********************************
select * from sc a
where a.cno='c001'
and exists(select * from sc b where b.cno='c002' and a.score>b.score
and a.sno = b.sno)
*********************************
2.
*********************************
select sno,avg(score) from sc group by sno having avg(score)>60;
*********************************
3.
*********************************
select a.*,s.sname from (select sno,sum(score),count(cno) from sc group by sno) a ,student s where a.sno=s.sno
*********************************
4.
*********************************
select count(*) from teacher where tname like '刘%';
*********************************
5.
*********************************
select a.sno,a.sname from student a
where a.sno
not in
(select distinct s.sno
from sc s,
(select c.*
from course c ,
(select tno
from teacher t
where tname='谌燕')t
where c.tno=t.tno) b
where s.cno = b.cno )
*********************************
select * from student st where st.sno not in
(select distinct sno from sc s join course c on s.cno=c.cno
join teacher t on c.tno=t.tno where tname='谌燕')
*********************************
6.
*********************************
select st.* from sc a
join sc b on a.sno=b.sno
join student st
on st.sno=a.sno
where a.cno='c001' and b.cno='c002' and st.sno=a.sno;
*********************************
7.
*********************************
select st.* from student st join sc s on st.sno=s.sno
join course c on s.cno=c.cno
join teacher t on c.tno=t.tno
where t.tname='谌燕'
*********************************
8.
*********************************
select * from student st
join sc a on st.sno=a.sno
join sc b on st.sno=b.sno
where a.cno='c002' and b.cno='c001' and a.score <>
*********************************
9.
*********************************
select st.*,s.score from student st
join sc s on st.sno=s.sno
join course c on s.cno=c.cno
where s.score <>
*********************************
10.
*********************************
select stu.sno,stu.sname,count(sc.cno) from student stu
left join sc on stu.sno=sc.sno
group by stu.sno,stu.sname
having count(sc.cno)<(select count(distinct="" cno)from="">(select>
===================================
select * from student where sno in
(select sno from
(select stu.sno,c.cno from student stu
cross join course c
minus
select sno,cno from sc)
)
===================================
*********************************
11.
*********************************
select st.* from student st,
(select distinct a.sno from
(select * from sc) a,
(select * from sc where sc.sno='s001') b
where a.cno=b.cno) h
where st.sno=h.sno and st.sno<>'s001'
*********************************
12.
*********************************
select * from sc
left join student st
on st.sno=sc.sno
where sc.sno<>'s001'
and sc.cno in
(select cno from sc
where sno='s001')
*********************************
13.
*********************************
update sc c set score=(select avg(c.score) from course a,teacher b
where a.tno=b.tno
and b.tname='谌燕'
and a.cno=c.cno
group by c.cno)
where cno in(
select cno from course a,teacher b
where a.tno=b.tno
and b.tname='谌燕')
*********************************
14.
*********************************
select* from sc where sno<>'s001'
minus
(
select* from sc
minus
select * from sc where sno='s001'
)
*********************************
15.
*********************************
delete from sc
where sc.cno in
(
select cno from course c
left join teacher t on c.tno=t.tno
where t.tname='谌燕'
)
16.
*********************************
insert into sc (sno,cno,score)
select distinct st.sno,sc.cno,(select avg(score)from sc where cno='c002')
from student st,sc
where not exists
(select * from sc where cno='c002' and sc.sno=st.sno) and sc.cno='c002';
*********************************
17.
*********************************
select cno ,max(score),min(score) from sc group by cno;
*********************************
18.
*********************************
select cno,avg(score),sum(case when score>=60 then 1 else 0 end)/count(*)
as 及格率
from sc group by cno
order by avg(score) , 及格率desc
*********************************
19.
*********************************
select max(t.tno),max(t.tname),max(c.cno),max(c.cname),c.cno,avg(score) from sc , course c,teacher t
where sc.cno=c.cno and c.tno=t.tno
group by c.cno
order by avg(score) desc
*********************************
20.
*********************************
select sc.cno,c.cname,
sum(case when score between 85 and 100 then 1 else 0 end) AS "[100-85]",
sum(case when score between 70 and 85 then 1 else 0 end) AS "[85-70]",
sum(case when score between 60 and 70 then 1 else 0 end) AS "[70-60]",
sum(case when score <60 then="" 1="" else="" 0="" end)="" as="">60><>
from sc, course c
where sc.cno=c.cno
group by sc.cno ,c.cname;
*********************************
21.
*********************************
select * from
(select sno,cno,score,row_number()over(partition by cno order by score desc) rn from sc) where rn<>
22.
*********************************
select cno,count(sno)from sc group by cno;
*********************************
23.
*********************************
select sc.sno,st.sname,count(cno) from student st
left join sc
on sc.sno=st.sno
group by st.sname,sc.sno having count(cno)=1;
*********************************
24.
*********************************
select ssex,count(*)from student group by ssex;
*********************************
25.
*********************************
select * from student where sname like '张%';
*********************************
26.
*********************************
select sname,count(*)from student group by sname having count(*)>1;
*********************************
27.
*********************************
select sno,sname,sage,ssex from student t where to_char(sysdate,'yyyy')-sage =1988 *********************************
28.
*********************************
select cno,avg(score) from sc group by cno order by avg(score)asc,cno desc; *********************************
29.
*********************************
select st.sno,st.sname,avg(score) from student st
left join sc
on sc.sno=st.sno
group by st.sno,st.sname having avg(score)>85;
*********************************
30.
*********************************
select sname,score from student st,sc,course c
where st.sno=sc.sno and sc.cno=c.cno and c.cname='Oracle' and sc.score<60>60>
*********************************
select st.sno,st.sname,c.cname from student st,sc,course c where sc.sno=st.sno and sc.cno=c.cno;
*********************************
32.
*********************************
select st.sname,c.cname,sc.score from student st,sc,course c where sc.sno=st.sno and sc.cno=c.cno and sc.score>70
*********************************
33.
*********************************
select sc.sno,c.cname,sc.score from sc,course c
where sc.cno=c.cno and sc.score<60 order="" by="" sc.cno="">60>
*********************************
34.
*********************************
select st.sno,st.sname,sc.score from sc,student st
where sc.sno=st.sno and cno='c001' and score>80;
*********************************
35.
*********************************
select count(distinct sno) from sc;
*********************************
36.
*********************************
select st.sname,score from student st,sc ,course c,teacher t where
st.sno=sc.sno and sc.cno=c.cno and c.tno=t.tno
and t.tname='谌燕' and sc.score=
(select max(score)from sc where sc.cno=c.cno)
*********************************
37.
*********************************
select cno,count(sno) from sc group by cno;
*********************************
38.
*********************************
select a.* from sc a ,sc b where a.score=b.score and a.cno<>b.cno *********************************
39.
*********************************
select * from (
select sno,cno,score,row_number()over(partition by cno order by score desc) my_rn from sc t
where my_rn<>
*********************************
40.
*********************************
select cno,count(sno) from sc group by cno
having count(sno)>10
order by count(sno) desc,cno asc;
*********************************
41.
*********************************
select sno from sc group by sno having count(cno)>1;
||
select sno from sc group by sno having count(sno)>1;
*********************************
42.
*********************************
select distinct(c.cno),c.cname from course c ,sc
where sc.cno=c.cno
||
select cno,cname from course c
where c.cno in
(select cno from sc group by cno)
*********************************
43.
*********************************
select st.sname from student st
where st.sno not in
(select distinct sc.sno from sc,course c,teacher t
where sc.cno=c.cno and c.tno=t.tno and t.tname='谌燕')
*********************************
44.
*********************************
select sno,avg(score)from sc
where sno in
(select sno from sc where sc.score<>
group by sno having count(sno)>1
) group by sno
*********************************
45.
*********************************
select sno from sc where cno='c004' and score<90 order="" by="" score="" desc;="">90>
46.
*********************************
delete from sc where sno='s002' and cno='c001'; *********************************
范文四:[建筑]数据库考试重点 《access数据库基础》浙江大学出版社
文库帮手网 www.365xueyuan.com 免费帮下载 百度文库积分 资料
本文由从不用飘柔洗脚贡献
doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。
(一)数据库基础知识
数据库、数据库管理系统、数据库系统的概念、 1. 数据库、数据库管理系统、数据库系统的概念、数据管理技术发展阶段 (1)数据库:是从一定的组织形式存放在计算机存储介质上的相互关联的数据集合。 (2)数据管理系统的概念:database management system,DBMS 为了保证存储在其中的数 据的安全和一致, 必须有一组软件来完成相对应的管理任务, 这组软件就是数据库管理系统。 (3)计算机数据管理技术发展阶段 1,人工管理阶段 2,文件系统阶段 3,数据库系统阶段 2.access 数据库的类型 (1)层次数据库(2)网状数据库(3)关系数据库(4)面向对象数据库 access7 种对象:表,查询,窗体,报表,宏,页,模块 表:是数据库中最主要的基本对象,用来存储数据信息是整个数据库系统的数据源 查询: 主要用来检索和查看数据, 他的数据来源是表或其他查询对象, 查询还可以像表一样, 查询: 作为数据库其他对象的数据来源 窗体: 窗体:由用户自己定义的窗口叫做窗体,能给用户提供一个更友好的操作界面 报表:可以将数据库中的数据以设定的格式进行显示和打印 报表 页:使得 access 与 Internet 的结合更为紧密,用户可利用页设计器建立 web,将数据库的数 据作为文件存放在 web 发布程序所指定的文件夹中,或者发布到 web 服务器上,在 Internet 发布信息 宏:是由一系列命令组合而成集合,以达到自行执行重复性工作的功能 模块: 模块:是用 VBA 语言编写的程序段,它以 visual basic 为内置的数据库程序语言,VBA 提 供了无法完成,较为复杂或高级的功能,或者关于整个数据对象的整合操作。 数据模型概念、种类、关系数据库的相关名词及其特点(关系、实体、属性、元组、 4. 数据模型概念、种类、关系数据库的相关名词及其特点(关系、实体、属性、元组、主 键、外键) 外键) (1)数据模型的概念:数据模型是工具,是用来抽象、表示和处理现实世界中的数据和信息 的工具。 (2)数据模型的种类: (1)层次模型, (2)网状模型, (3)关系模型, (4)面向对象 相关名词: 关系。一个关系就是一个二维表,每个关系有一个关系名。 实体。客观存在并且可以相互区别的事物称为实体。 属性。二维表中垂直方向的列称为属性,每一列有一个属性名。 元组。在一个二维表中,水平方向的行称为元组,每一行是一个元组。 主键。又称为主关键字,其值能够唯一地标识一个元组的属性或属性的组合,在 access 中 表示为字段或字段的组合。 外键。表之间的联系是通过外健来建立的。 5. 数据库与表之间关系 一个数据库又一个或多个表组成,一个表包含若干个字段或记录。在 Access 中,表包含了 数据库的实际信息,一个数据库可以有多个表,分别保存不同的信息。数据库表中的信息相 互联系。 6(传统集合运算、专门关系运算的种类、计算特点理解 (传统集合运算、专门关系运算的种类、 (1)传统的结合运算 )传统的结合运算:进行交,并,差集合运算的两个关系必须具有相同的关系模式,即
元组有相同的结构。 两个相同结构关系的并是由属于这两个关系的元组共同组成的集合。 并: 差:设有两个相同结构的关系 R 和 S,R 与 S 的差是由属于 R 但不属于 S 的元组组成的集 合,即差运算的结果是从 R 中去掉 S 中也有的元素。交:两个具有相同结构的关系 R 和 S, 交 它们的交叉是由既属于 R 又属于 S 的元组组成的集合,交运算的结果是 R 和 S 的共同元组 (2)专门的关系运算:关系型数据库管理系统能完成 3 种关系操作,即选择,投影和联接 )专门的关系运算: 7 常用数据类型及其正确表达形式 (此处的答案和(二)中的第 2 题 Access 数据类型(10 种)及每种类型的特点答案一样) 8. E-R 表示方法和特点 E-R 模型有四个基本成分:矩形,它表示实体;椭圆形,它表示实体属性;菱形,它表示 联系; 连线, 它表示实体之间以及属性之间的联系。 矩形框、椭圆框、 菱形框内要标注实体、 属性和联系的名字,连线两头标注联系的类型是一对一、一对多还是多对
多的联系。
(二)数据库和表
1(设计数据库的步骤 ( ?分析数据需要。明确需要利用数据库解决什么问题,确定数据库要存储哪些数据。 ?建立概念模型。将数据分解为不同的相关主题,找出相关实体。 ?确定实体的属性和实体之间的关系,形成 E-R 图 ?确定需要的表。根据 E-R 图,以实体为基础,就可以在数据库中为每个实体建立一个表 ?确定需要的字段。实际上就是确定在各表中存储数据的内容,即确立各表的结构。 ?确定表的主键。找出能唯一地标识出实体集中的每一个实体的字段,选做主键。 ?确定各表之间的关系。研究各表之间的关系,确定各表之间的数据应该如何进行关联。 ?改进设计。对照需求,检查设计的各表是否能得到希望的结果。如果发现设计不完备,可 以对设计做一些调整。 2.Access 数据类型(10 种)及每种类型的特点 数据类型( 文本 文本或文本与数字的组合,可以是不必计算的数字 备注 适用于较长的文本叙述 数字 只可保存数字 日期/时间 可以保存日期及时间,允许范围为 100/1/1 至 9999/12/31 货币 用于计算的货币数值与数值数据,小数点后 1~4 位,整数最多 15 位 自动编号 在添加记录是自动插入的唯一顺序或随机编号 是/否 用于记录逻辑型数据 Yes(1)/No(2) OLE 对象 内容为非文本、非数字、非日期等内容,也就是用其他软件制作的文件 超级链接 内容可以是文件路径、网页的名称等,单击后可以打开 查阅向导 在向导创建的字段中, 它允许用户使用组合框选择来自其他表或来自值列表的值 4(表的视图 ( 表的视图:有数据表视图,设计视图 5(有效性规则,输入掩码(字符意义) 主关键字 ,主关键字 (有效性规则,输入掩码(字符意义) , (1)“有效性规则”是实现“用户定义完整性”的主要手段,利用该属性可以防止非法数 ( 据输入到表中。Eg:1.“性别”字段“有效性规则”属性框中输入: “男”or“女” (注意: 应使用西文的双引号,或者输入时不加引号,键如回车键,系统会自动添加体引号) 2.在 “销售订单”表,要在“七天内必须交货”“有效性规则”框中输入“ , 【送货日期】=【订 货日期】+7。 (2) (输入掩码(字符意义) :使用“输入掩码”属性可帮助用户按照规定的格式输入数据, 防止错误的输入。 “输入掩码”属性可用 P“文本”“数字”“日期/时间”和“货币型”字 , , 段。
输入掩码字符要考的有 字符 说明 0 属性 0~9 必须选;不允许使用加号(+)或者减号(-) 9 数字或者空格(非必选项) ;不允许使用加号或减号 A 字母或数字(必选项) a 字母或数字(可选项) (3)主关键字:主键,也叫主关键字,是唯一能表示一条记录的字段或字段的组合。制定了表 的主键后,在表中输入新记录时,系统会检查该字段时候有重复数据,如果有,则禁止重复 数据输入到表中。同时,系统也不允许主键字段中的值为 Null。 6(表间关系(三种) (表间关系(三种) (1).一对一 一个表中的每个记录只与第二个表中的一个记录匹配,反之亦然。 (2)一对多 一个表中的每个记录与第二个表中的一个或多个记录匹配,第二个表中的 每个记录只能与第一个表中的一个记录匹配。 (3).多对多 一个表中的每个记录与第二个表中的多个记录匹配,反之亦然。 表的操作与编辑(排序、筛选、导入、链接、导出、冻结、隐藏) 7. 表的操作与编辑(排序、筛选、导入、链接、导出、冻结、隐藏)等功能 ?排序 排序:就是将数据按照一定的逻辑顺序排列。例如,将账单安日期排序,以便知道哪张账 排序 单即将到期,将光盘按曲目的字母顺序或者作曲家名字排序。 ?筛选 筛选:是选择符合条件的记录,经过筛选后的表,只显示满足条件的记录,而不满足条件 筛选 的记录将被隐藏起来,并不是删除记录。筛选的过程实际上是创建了一个数据的子集,使用 筛选可以使数据更加便于管理。 ?导入 导入:是将其他程序的数据文件中的数据复制到 Access 的表中,通过 Access 所作的改变 导入 吧映象原来的数据。导入后的数据与原数据无关,可以警醒任何修改,运行速度比链接快。 ?链接 链接:是直接访问其他程序的数据文件中的数据,通过 Access 所作的改变均会影响原来 链接 的数据。 链接与远程
序访问的是同一个数据区, 节省磁盘的空间, 并保持了数据的同事更新, 但速度较慢。 ?导出 导出:Access 数据共享的特性并不局限于导入信息,也可以将 Access 数据输出到其他格 导出 式的文件中。 ?冻结 冻结:当表中字段比较多,由于屏幕宽度的限制,不能在屏幕上显示所有的字段,但又希 冻结 望有的列能留在数据表视图上。即“冻结”在屏幕上,这事可以使用冻结命令。 ?隐藏 “隐藏列”命令可以将用户暂时吧关心的列隐藏起来。 隐藏: 隐藏 8. 主、子表关系 建立表之间的关系后,Access 会自动在主表中插入子表。主表是一对多关系中“一”放的 表,子表是“一对多”关系中“多”方的表,在主表中的每一个记录下面都会带着一个甚至 几个字表。
(三)查询的基本操作
查询的概念、 1. 查询的概念、特点 (1)概念:查询实际上就是将这些分散的数据按一定的条件集中起来,形成一个数据记录 集合,而且这个数据集在数据库中实际上并不存在,只是在运行查询时, :Access 才会从查 询源表的数据中抽取创建它。 (2)特点:可将查询看成是动态的数据集合,使用查询可以按不同的方式来查看.更改和 分析数据,也可将查询作为窗体.报表.数据访问页的数据源,甚至是其他查询的数据源。
2 类型及其功能 (1)查询的基本功能包括:p90 1.一个或多个表或查询为数据源,选择用户需求的字段和记录,根据用户的要求生成动 态数据集。 2.可以对数据进行统计,排序,计算和汇总。 3.可以设置查询参数,形成交互形式的查询方式。 4.利用交叉表查询,进行分组汇总。 5.利用操作查询,对数据表进行生成新表、追加、更新、删除等操作。 6.查询作为其他查询、窗体、报表和数据访问页的数据源。 (2)Access 查询类型 ) 1.选择查询 2.交叉查询 3.参数查询 4.操作查询 5.SQL 查询 3 查询准则、查询表达式的正确书写(不画表,写严格的表达式)准确配备和模糊配备的表 查询准则、查询表达式的正确书写(不画表,写严格的表达式) 示 (1)查询准则 p99 p90
在查询的“设计试图”上添加查询条件,由称为选择准则,应该考虑为哪些字段添加 准则,其次是如何在查询中添加准则,而最难的是如何讲自然语言变成 Access 可以理解的 查询条件表达式。 (2)查询表达式的书写(比较重要,在 p100 页,里面有如下知识点,其中符号详细见书) 1.标识符 2.运算符 3.常量 (3)准确配备和模糊配备(书上没有具体说明,以下是我个人表达,只供参考) 模糊配备如:like“黄*” 位同 这条表达式的意思是:选出姓黄的同学,而没有点出具体的哪
学,古义思名,这就是模糊配备。反之亦言~
4 分组统计,计算常用公式 分组统计, (1)分组统计 (书上没有具体说明,以下是我个人表达,只供参考) 所谓分组统计就是统计中的一种常见方法,如分别将“物流一班”跟“工管一班”各班期末 考试平均成绩达到八十分的同学分别统计出来。这一种统计就叫分组统计。 (2)计算常用公式 p102 表 5.2 常用函数 统计函数:Count,Min,Max,Avg,Sum 字符函数、 5. 字符函数、日期函数 日期函数:Day,Month,Year,Date,Now,DateAdd,DateDiff.
字符函数:Len,Right(string,length),Left(string,length),Ilf(判断式,为真的值,为 假的值) 操作查询的种类及各自功能、 6. 操作查询的种类及各自功能、具体应用 种类:删除查询(是从一个或多个表中删除一组记录的查询) ,追加查询(将新增记录添加 到现存的一个或多个表,查询的末尾) ,更新查询(根据指定的条件更改一个或多个表中的 记录) ,生成表查询(是从一个或多个表,查询中的数据集合中创建新表的查询)(注意老 。 师说具体应用就是看 P115 到 P118 的内容) 的内容) 语言语法结构、实际应用(要求根据要求编写语句) 7. SQL 语言语法结构、实际应用(要求根据要求编写语句) 数据定义、数据操作关键动词 SQL 语言语法结构、实际应用,要看书本的 P120 中的第 4 点 SELECT(这也是老师说的) 数据定义的关键动词:CREATE,DROP,ALTER. 数据操纵的关键动词:INSERT,UPDATE,DELETE.
四(窗体 窗体的概念、 1. 窗体的概念、组成和结构 (1).概念:是数据库的用户与 ACCESS 应用程序之间的主要接口,窗体提供 了简单的自然的输入,修改,擦寻数据的友好界面,使用界面一目 了然,赏心悦目,操作方便。 (2).组成:窗体页眉,页面页眉,主体,页面页脚,窗体页脚。 (3).结构:1 窗体页页眉显示对每条记录都一样的信息 2 页面页眉在每个打印页的顶部显示标题等信息 3 页面页脚在每个打印页底部显示诸如日期或页码 4 窗体页脚:显示那些对每条记录都一样的信息 5 主体:放置文本框,命令按钮等按键区域 2(窗体类型及特点,环境 (窗体类型及特点, 1.纵栏式:特点:一次显示一条记录 环境:通过窗体底部记录浏览按钮,对其他记录进行翻阅 2.表格式:特点:一次显示多条记录信息 环境:一条记录占一行,从左到右横向排列 3.数据表:特点:打开数据表,不现实窗体页眉及窗体页脚 环境:为子窗体使用 4.数据透视表:特点:易读,易懂,一目了然 环境:用与数据分析 5.数据透视图:特点:对图表进行分析,分析结果直观易懂 环境:显示多种不同变化数据 窗体工具箱(标签、文本框、命令按钮等的使用) 、属性对话框 4. 窗体工具箱(标签、文本框、命令按钮等的使用) 属性对话框 、
(1)窗体工具箱(标签.文本框.命令按钮等使用) 选择对象,形似箭头,用来选择窗体上以有的控件.控件向导,当选中时,acess 使用向导个帮 助用户在窗体上创建控件。 .标签:在窗体上显示文本,例如标题等。 标签: 标签
文本框: 文本框:用来输入和显示某个以有的值,例如字段内容. 命令按钮:用来运行宏或者 acessVBA 模块 命令按钮 属性对话框.: 属性对话框 : ,.数据源属性,数据源是窗体信息的来源,通常在创建窗体时要指定数据来源,可以利用属 性更改或添加数据源. ,.数据输入属性,数据输入属性取值”是”或”否”.如果窗体的数据源是表,而且文本框控件 是与表绑定的,若选择 “是” ,在窗体打开后,显示记录;若选择“否” ,打开窗体后,显示以有的记录。 ,(数据集类型属性(共有三个取值) 动态集。只允许编辑单个数据或者一对一关系的多个表的组合控件。 动态集(不一致地更新) 。基于所有类型关系表中字段的组合控件,允许编辑。 快照。不允许编辑所绑定的表以及结合到其他字段的控件。 ,(记录锁定属性,这个属性可以保证表的数据记录安全。完整。不被随意修改。 不锁定。允许在本窗体编辑记录的同时,其他使用者也可以编辑或读取记录,是开放式 的设置,对记录不加锁。 所有记录。在打开窗体后,窗体使用的表以及查询一律被加锁,只能读取记录,不能修 改,这样避免料其他使用者随意修改的严重后果。 已编辑的记录。不允许在当前窗体中编辑的记录被其他用户编辑修改。 ,(允许添加,编辑删除属性 如果要阻止向表(数据源)添加新记录,就将属性“允许添加”设置为否。 如果要阻止编辑,就将“允许编辑”属性设置为否。 如果要阻止删除记录,就将“允许删除”属性设置为否。 ,(有关事件的属性 单击。双击等是件触发料什么过程,要在事件属性中设置。 ,(窗体的其他属性 在属性中,还可以设置窗体在显示时是否使用滚动条,记录选择器,最大,小化等。 在编辑窗体时,自动设置其中的某写属性。 最常见的属性是控件的高度,宽度,位置,颜色和字体等。 5 控件的类型(常用控件的特点、主要属性、应用) 控件的类型 常用控件的特点、主要属性、应用) 的类型( 绑定型(结合型)绑定一个字贞 非绑定型(非,结合型)监时时接受一个内容 计算型(绑定一个“,”开头表达式,不可删改) 7 主子窗体 见 137-138 页图表 8 菜单 见 163 页图表
(五)报表
1 报表的概念 报表是专门为打而设计的特殊表单,Access 将数据库中的表、查询的数据进行组合,形 报表 成报表,不但可以打印报表,并且还可以在报表中添加多级汇总、统计比较、图片和图表, 使报表的应用更加广泛和深入。 数据来源 报表的的页尾和页脚 在 179 页的步骤中出现,图表是 180 页 图 7、21 2、报表视图及个视图的特点、作用 、报表视图及个视图的特点、作用。 报表视图包括打印预览和版面预览。 打印预览是显示全部数
据, 版面预览是显示部分数据查 看页面效果。
3、报表的 7 个组成部分、位置及作用。 、 个组成部分、位置及作用。 (1)报表页眉,报表页眉中的内容是报表的开头显示的内容。报表页眉的信息只显示在报 表的第一页。通常情况是包括报表的标题以及报表创建者的信息。 (2)报表页脚定义了结尾将显示的内容,位置在页末的主体部分之后、页面页脚之前。报 表页脚一般被用来显示汇总信息。 (3)主体在报表正中文,显示报表上每一条记录。创建报表的工作主要集中在主体部分。 (4)页面页眉和页面页脚。 ?页面页眉和页脚包含了在每一页的顶端和底部显示的信息, 但第一页的页面页眉位于报表 页眉之下。 ?通常页面页眉区域显示表格的标题, 而页面页脚中一般都是报表的页数与总页数, 或者是 报表的输出日期等信息。 (5)组页眉和组页脚 组页眉可以输出分组信息, 一般用来设计分组的标题或提示信息。 组页脚也是用来设计分组 信息,比如放置分组的小计信息。 (注意网上找的:主体 主体,是报表的主要组成部分,用来显示报表数据源中的记录。 主体 报表页眉,是报表的首部,用来显示报表的标题、徽标、单位、部门名称、日期和说明性文 报表页眉 本。 报表页脚,是报表的尾部,用来显示整个报表的统计数据、日期和说明性文本。 报表页脚 页面页眉,在每一页的顶部,用来显示列标题、页码等信息。 页面页眉 页面页脚,在每一页的底部,用来显示页面摘要、页码、本页汇总数据等信息。 页面页脚 组页眉,在组的明细部分的前面,用来显示分组字段等分组信息。 组页眉 组页脚,在组的明细部分的后面,用来显示分组统计数据等分组信息。 ) 组页脚 报表的类型、 4. 报表的类型、特点与适用背景 自动报表分为“纵栏式”和“表格式”两种形式。 纵栏式报表每个字段占 1 行,这类报表将耗费大量的纸张。 表格式报表每条记录占 1 行,是最常用的形式。 标签式报表可以将数据表中的信息,以标签的形式打印出来,通常用于打印地址、通知等。 还有图表类型可以更直观地表示数据。 排序与分组、计算(找不到,老师说是第 78 页的那个图) 5. 排序与分组、计算
(六) 数据访问页
数据访问页的概念、 1. 数据访问页的概念、文件特点 数据访问页不保存在 web 服务器上的 Access 数据库(mdb)或 Access 工程文件(adp)内而是独 立在外的外部文件(htm)方式保存.创建数据访问页后 Access 会自动在默认文件夹产生与数 据访问页同名的 HTML 文件.并在数据库窗口的页面对象中为创建数据]访问页添加一个快捷 方式. Access 生成的数据访问页是一种独立于 Access 数据库外的 HTML 文件数据访问页是一个网 页
2. 数据访问页的功能和使用 在这个网页上,用户能够显示,新建,删除和修改数据库中的数据记录,同时也能分析数据 使用找不到
七) 宏
1 宏的概念,执行 宏的概念, 宏的概念: ,宏是一个或多个操作的 宏的概念:把那些能自动执行某种操作或操作的集合称为“宏” 集合,其中每个操作都执行待定的功能。 宏的执行: 宏的执行:在实际的应用中,通常把一组基本命令组合在一起,按照顺序执行。要启动执 行。 (1)选择一个事件触发宏,例如,单击一个命令按钮,更新文本框的内容等事件 都可以触发宏 (2)直接在数据库中运行宏。 常用宏命令、 2. 常用宏命令、参数 1:Beep 通过计算机的扬声器发出嘟嘟声 2 Close 关闭指定的 Microsofe Access 窗口。如果没有指定窗口,则关闭活动窗口。 3 Maximize 放大活动窗口,使其充满 Microsofe Access
窗口。该操作可以使用用户 尽可能多地看到活动窗口中的对象。 4 OpenForm 打开一个窗口,并通过选择窗体的数据输入与窗口方式,来限制窗体所 显示的记录。 5 OpenReport 再设计视图或打印预览中打开报表或立即打印报表,也可以限制需要 在报表中打印的记录。 5 OpenQuery 打开一个查询 6 Quit 退出 Microsofe Access。Quit 操作还可以指定在退出 Access 之前是否保存 数据对象 7 RunMacro 运行宏。该宏可以在宏组中 8 SetValue 对 Microsofe Access 窗体,窗体数据表或报表上的字段,控件或属性 的值进行设置 9
StopMacro 停止当前正在运行的宏 10 opentable 打开表 3 创建宏,宏在窗体上运行 创建宏, (1) 在数据库窗口中,单击菜单“插入”——“宏“ (2) 或者在数据库窗口中,单击“宏”对象,单击数据库工具栏上的“新建”按钮 (3) 弹出宏的设计窗口。 4. 条件宏及宏组、调用特点 条件宏及宏组、 宏组的概念:宏组是共同存储在一个宏名下的相关宏的集合。 调用特点:宏组的调用方法是“宏组名.宏名” 条件宏(书上没有明确的介绍) 老师说条件宏的调用特点就是若条件为真,就可以执行下一步, 若条件为假,就不能继续执行。
八) 模块
1. 模块、过程的概念和分类 模块、 模块是将 VBA 代码的声明、语句和过程作为一个单元进行保存的集合,是基本语言的
一种数据库对象,数据库中的所有对象都可以在模块中进行引用。 模块分类:类模块和标准模块。模块过程 模块过程 模块分类 模块过程是包含 VBA 代码的基本单位,由一系列可以完成 某项指定的操作或计算的语句和方法组成。 过程分类:sub 过程(又称:命令宏) 、function 过程(又称:自定义函数过程) 、property 过 过程分类 程 2(VBA ( Visual Basic for application(VBA)是 Access 内置的程序语言,它建立在 Basic 程序语言 的 基础上,与 Visual Basic 开发工具由许多相似之处。 3 编程设计基础: 编程设计基础: (1) 常变量。变组。及其声明) (常变量 ) 常变量。变组。及其声明) ( 常量:常量为变量的一种特例 变量:需要哟个缓冲的地方暂时保存一些数据,最适合的方法就是使用变量,他们在内存存 储信息,可以给变量赋植,可以在程序中使用命令语句更改变量的植。 声明变量 在程序中使用变量之前,首先应声明变量,让 vba 知道在 程序中使用的 变量的 名称?数 据类型和所需要占用的 内存空间大小。 隐式声明:在程序中不 对 变量做 类型的 声明而直接使用,这种方式是 隐式声明方式, 隐式声明 变量的 类型由所赋值的 数据决定。 声明变量两种形式: 显式声明: 显式声明:显式声明是在使用前声明该变量的 数据类型,显式声明中使用一下关键字: Dim。定义独立变量 独立变量,有效范围是在 当前过程。每次调用进程,VBA 都要重新声明独立变 独立变量 量,完成过程后,变量失效,变量 中的 值消失。 Global.定义全局变量 全局变量,有效范围是整个程序。可以在 程序的任何过程访问全局变量,变量 全局变量 值的变化是 连续的 。 Static。定义静态变量 静态变量,于独立变量类似,但每次调用过程时,VBA 不 重新声明独立变量, 。 静态变量 这个特点使得这 个 类型的变量在 重复执行一 个过程中,变量的值连续变化。 变量数组 火一个名称下有若干个元素, 保存相关的信息。 数组变量使用下标区分同一个变量数组中的 各个数组元素。 运算符、函数(常用的)及表达式) (运算符、函数(常用的)及表达式) 运算符: 运算符 1. 数学运算符:注意“^”乘方。 “/”除法,反向为整除。Mod 模运算。 《》不等式。 2. 比较运算: 3. 连接运算符:&合并字符串。 4. 逻辑运算符:AND 与。 EQV 相等。 IMP 蕴涵。 NOT 否。 OR 或。 XOR 异或。 函数: 函数 一(测试函数 IsNumeric(x) ‘是否为数字, 返回 Boolean 结果,True or False IsDate(x) ‘是否是日期, 返回 Boolean 结果,True or False IsEmpty(x) ‘是否为 Empty, 返回 Boolean 结果,True or False IsArray(x) ‘指出变量是否为一个数组 IsError(expression_r) ‘指出表达式是否为一个错误值 IsNull(expression_r) ‘指出表达式是否不包含任何有效数据 (Null)。
IsObject(identifier) ‘指出标识符是否表示对象变量 二(数学函数 Sin(X)、Cos(X)、Tan(X)、Atan(x) 三角函数,单位为弧度 Log(x) 返回 x 的自然对数 Exp(x)返回 ex Abs(x) 返回绝对值 Int(number)、Fix(number) 都返回参数的整数部分,区别:Int 将 -8.4 转换成 -9,而 Fix 将 -8.4 转换成 -8 Sgn(number) 返回一个 Variant (Integer),指出参数的正负号 Sqr(number) 返回一个 Double,指定参数的平方根 VarType(varname) 返回一个 Integer,指出变量的子类型 Rnd(x)返回 0-1 之间的单精度数据,x 为随机种子 三(字符串函数 Trim(string) 去掉 string 左右两端空白 Ltrim(string) 去掉 string 左端空
白 Rtrim(string) 去掉 string 右端空白 Len(string) 计算 string 长度 Left(string, x) 取 string 左段 x 个字符组成的字符串 Right(string, x) 取 string 右段 x 个字符组成的字符串 Mid(string, start,x) 取 string 从 start 位开始的 x 个字符组成的字符串 Ucase(string) 转换为大写 Lcase(string) 转换为小写 Space(x) 返回 x 个空白的字符串 Asc(string) 返回一个 integer,代表字符串中首字母的字符代码 Chr(charcode) 返回 string,其中包含有与指定的字符代码相关的字符 程序流程控制输入输出语句,赋值语句,注释语句) (VBA 程序流程控制输入输出语句,赋值语句,注释语句) 1.赋值语句 赋值语句是进行对变量或对象属性赋值的语句, 采用赋值号 =, X=123: 如 Form1.caption=” 赋值语句 我的窗口”。对对象的赋值采用:set myobject=object 或 myobject:=object 2.
注释语句 注释语句是用来说明程序中某些语句的功能和作用; VBA 中有两种方法标识为注释语句。 注释语句 ü 单引号 ’ ;如:’定义全局变量;可以位于别的语句之尾,也可单独一行。 3. 顺序结构的语句还有输入语句 输入语句(Print) 输出语句 ,输出语句 输出语句(Cls) ,终止程序(End) 输入语句 4(VBA 常用事件 ( (1)窗体常用事件 ?Load 事件-发生在窗体被装入到工作区。通常用来对窗体上 的属性和 变量进行火 初始化设置。 ?Click Dbclick 单双击事件 (2)过程的定义: : 过程是完成指定任务的一段程序命令代码,可以通过调用方式使用。 6 简单程序的理解,分析,填空和结果推断,分支结构,循环结构 简单程序的理解,分析,填空和结果推断,分支结构, 程序是由过程组成的, 过程是由根据 VBA 规则书写的指令组成。 VBA 的规则被成为 “语法” , 如果不遵循程序语言的语法,就不是一个合法的程序。 注意:老师话呢题既解答就系要体 (注意:老师话呢题既解答就系要体 晒程序组成部分呢笑部分就得) 晒程序组成部分呢笑部分就得) 7 过程的调试方法,工具 过程的调试方法,工具:工具是 1 立即窗口;2Debug.Print;3 设置断点
1
范文五:天津师范大学考试试卷(数据库)
天津师范大学考试试卷
2005— 2006学年第二学期期末考试试卷(A 卷)
科目:数据库原理
学院:计信学院
专业:计算机科学与技术 题号 一
二
三
四
五
六
七
八
总分
分数
一、 单项选择题:在每小题的备选答案中选出一个正确答案,并将正确答案的代
码填在题干上的括号内。 (每小题 1分,本大题共 10分) 得分
评卷人 1.
数据库的最小存取单位是(
)
A. 字符 B. 数据项 C. 记录
D. 数据块
得分
2.
若两实体型之间的联系是 n :m 的(n>1, m>1) ,那么,将该联系转 换为关系模式后,该关系的码是() 。 A. 对应于 n 端的实体的码 B. 对应于 m 端的实体的码
C. 对应于 n 端与 m 端各实体的码的组合 D. 其它
得分
3.
设关系 R , S 的元组个数分别为 K , L , R ∞ S 的元组个数为 M ,则下 面最正确的说法是() A. M ≤ min (K , L ) B. M ≥ max (K , L )
C. min (K , L )≤ M ≤ max (K , L ) D. K , L , M 之间的关系不确定
姓 名 :
学 号 :
班 级 :
得分
4. SQL 语言的一次查询的结果是一个()
A. 数据项 B. 记录
C. 元组 D. 表
得分
5. 现要查找缺少学习成绩(G )的学生学号和课程号,相应的 SQL 语句 是
Select s#,c#
From sc
Where ()
A. G=0B. G<>
C. G =NULL D. G is NULL
得分
6. 最小关系系统所支持的三种主要的关系操作,除了选择和连接外,还 有()
A. 广义笛卡儿积 B. 除
C. 自然连接 D. 投影
得分
7. R (X , Y , Z )是一个三目关系, X , Y , Z 是单属性且 X 是唯一候选 码,则() 。
A. R 一定不属于 2NF
B. R 一定属于 2NF
C. R 一定属于 3NF
D.不能断定 R 是否属于 3NF ,也不能断定 R 是否属于 2NF
得分
8. 在 R (U )上若有 X →→ Y 在 U 上成立,则必有()
A. X →→ Z ,其中 Z=U-X-YB. X → Y ,其中 Z=U-X-Y
C. Y →→ Z ,其中 Z=U-X-YD. Y → Z ,其中 Z=U-X-Y
得分
9. 在并发操作中,可能产生若干数据库的不一致性,除了丢失修改,不 能重复读之外,还有()
A. 不可串行化 B. 读脏数据
C. 活锁和死锁 D. 事务内部的故障
得分
10. 利用日志文件恢复事务时,对尚未结束的事务,应()
A. 进行 UNDO 处理 B. 进行 REDO 处理
C. 执行 COMMIT 操作 D. 重新执行已登记的操作
得分
二、 填空题:(每空 1分,本大题共 10分)
得分 评卷人
1. 是数据库系统的核心组成部分。
得分
2. 关 系 模 型 的 三 个 组 成 部 分 分 别 是 数 据 结 构 , 数 据 操 作 和 。
得分
3. 在关系代数运算中,从关系中取出满足条件的元组的运算称为 _______。
得分
4. 当要求查询输出的表格中不允许出现重复元组时,就可在 select 后加 一保留字 。
得分
5. 在 授 权 语 句 中 , 短 语 WITH GRANT OPTION 表 示 。 得分
6. 关系模型中的关系模式至少是 。
得分
7. 如果 X→Y 和 WY→Z 成立, 那么 XW→Z 也成立, 这个推理规则称为____ _
得分
8. 对于 3NF 和 BCNF 两种范式,它们之间的关系是 。
得分
9. 事务的 ACID 性质是指原子性,一致性, 和持续性。
得分
10. 数据库系统中可能发生的故障有事务故障,系统故障和 。 得分
三、 判断改正题:判断下列各题是否正确,正确的划√,错误的划×,并说明理 由。 (每小题 2分,本大题共 10分)
得分 评卷人
1. “一个男生”是一个实体,而“一次借书”不是一个实体。 () 得分
2. 函数依赖是指关系模式 R 的某个或某些关系满足的约束条
件。
() 得分
3. 非主属性是指不包含在一个候选码中的属性。 () 得分
4. 任何不属于 BCNF 的关系 R ,一定存在非平凡的非函数的
多值依赖。
() 得分
5. 两段封锁法可以避免发生死锁。 () 得分
四、 问答题:(每小题 10分,本大题共 40分)
得分 评卷人
1. 设有两个关系 R (A,B,C) 和 S (C,D,E),试用 SQL 查询语句表达 下列关系代数表达式πA,E (σB=D (R∞S))。
得分
2. 设有关系模式 R (A,B,C,D),F 是 R 上成立的 FD 集,F ={D→A, D→B},试写出关系模式 R 的候选键,并说明理由。
得分
3. 两个函数信赖集 F 和 G 等价的充分必要条件是什么?
得分
4. 设有一教学管理数据库,其属性为:学号 S#,课程号 C#,成绩 G , 任课教师 TN ,教师所在系 D 。这些数据有下列语义:
学号和课程号分别与其代表的学生和课程一一对应;
一个学生所修的每门课程都有一个成绩;
每门课程只有一位任课教师,但每位教师可以有多门课程;
教师中没有重名,每个教师只属于一个系
(1) 试根据上述语义确定函数依赖集;
(2) 如果用上面所有属性组成一个关系模式,那么该关系模式为 何模式?并举例说明在进行增、删操作时的异常现象。 (3) 分解为 3NF
得分
五、 综合题:(每小题 30分,本大题共 30分)
得分 评卷人
2006年 6月, 举世瞩目的第 18届世界杯在德国举行, 某网站为了方便球迷查 询,在自己的网站上设立了世界杯信息查询系统。该系统的一部分要求为:一名球员可以参加多场比赛,每场比赛有多名球员参加。
得分
(1)请你为该系统的这一部分设计一个 ER 模型,画出 ER 图。
要求:
“球员”的属性有:姓名,代表国,号码,年龄,位置
“比赛”的属性有:比赛编号,比赛甲方,比赛乙方,比赛类型
在联系中反映出球员参加比赛的出场时间,进球数
(2)请你将以下 SQL 语句补充完整(注明各自的主码,外码,并且球员的号码在 1号至 23号之间,位置有守门员,后卫,中场,前锋,比赛类型有小组赛和淘汰 赛两种)
Create table player --球员表
{
name char(20),--姓名
nation char(20),--代表国
number int , --号码
age int, --年龄
position char(10)位置
(nation,number),– 定义主码
}
Create table match --比赛表
{
matchid int , --比赛编号(主码)
match_achar(20),--比赛甲方
match_bchar(20),--比赛乙方
matchtype char(10)– 比赛类型
}
Create table join --参加表
{
nation char(20),--代表国
number int , --号码
matchid int, --比赛编号
time int, --出场时间
goal int --进球数
– 定义主码
– 定义外码
– 定义外码
}
(3)使用关系代数表达式以及 SQL 语句做以下查询
检索至少参加两场世界杯比赛的球员的代表国以及身披号码;
关系代数表达式:
SQL 语句
Select
From
Where
And
And
(4)使用 SQL 语句补充完成以下检索
统计每位球员的总的出场时间 (超过 180分钟才统计) 要求输出球员姓名, 代表国, 身披号码,总的出场时间,查询结果按总的出场时间降序排列
Select
From
Group by
Having
Order by
(5)使用 SQL 语句补充完成以下更新
法国队 11号因伤退出世界杯,请作相应的处理
Delete
From
Where nation=’ 法国队 ’
And number=11
Delete
From
Where nation=’ 法国队 ’
And number=11
(6)使用 SQL 补充定义完成以下视图
建立守门员的视图 goalkeeper
Create view goalkeeper
As
Select
From player
Where
(7)使用 SQL 语句补充完成以下操作
把队球员表的 insert 权限授予用户 Zhang ,并允许他将此权限授予其他用户 Grant
on table player
to Zhang