为了帮助考生系统的复习内审师课程 全面的了解内审师考试的相关重点,小编特编辑汇总了2011年内审师考试相关资料,希望对您参加本次考试有所帮助!!
2.关系操作
关系数据模型的理论基础是集合论,每一个关系就是一个笛卡尔积的子集。
(1) 传统集合运算。传统集合运算有并、交、差三种。
(2) 专门的关系运算。专门的关系运算主要有选择(筛选)、投影和连接三种。选择运算是对关系表中元组(行) 的操作,操作结果是找出满足条件的元组。其中,投影运算是对关系表中属性(列) 的操作,操作结果是找出关系中指定属性全部值的子集。
选择运算和投影运算可以同时用一条命令来实现。
连接运算是对两个关系的运算,操作结果是找出满足连接条件的所有元组,并且拼接成一个新的关系。完善的关系数据库管理系统总是以数据操纵语言及结构化查询语言(SQL) ,来实现各种关系运算。
2.3.4 Vsual Foxpr数据库管理系统
1.VFP的基本概念
(l) 数据表。数据表简称为表,是VFP中最重要的操作对象。一个表就是一个关系,它总是以文件的形式存放在计算机的外存储器中。表文件的存取名称就是关系名,文件的扩展名是DBF。
(2) 数据库。在VFP中一张二维表称为一个数据表(或者简称表)。在关系数据库中,可以包含若干个表(以及视图) 。数据库也可作为一个文件存放在计算机外存储器中,其扩展名是DBC。
(3) 索引。索引实际上是对数据表的排序,但是它不改变数据表中数据的物理顺序,而是另外建立一个索引对应列表。
(4) 关键字。关系中的码在数据表中一般叫做关键字,主码叫做主关键字。因为在数据表中,属性叫做字段,所以关键字就是能够惟一标识一条记录的字段或字段组合。如果一个字段不能成为当前表的关键字,但却是另一个数据表的关键字,那么这个字段就称为外来关键字。
(5) 视图。视图是一种特殊类型的表,它往往由一个或多个表(或视图) 中的部分字段或部分记录组成。但是视图并不是一个完整的数据集合,只是在数据库中存放了相应的关系。
(6) 存储过程。存储过程实际上是封装在数据库中的一个命令(程序) 文件。其中可以包含系统为实现数据库中数据的保护、安全、链接、查询、视图及关联等功能,而自动或人为设计的若干程序过程段及函数等。
编译器略解:
编译器,是将便于人编写,阅读,维护的高级计算机语言翻译为计算机能识别,运行的低级机器语言的程序。编译器将源程序(Source program)作为输入,翻译产生使用目标语言(Target language)的等价程序。源程序一般为高级语言(High-level language),如Pascal,C++等,而目标语言则是汇编语言或目标机器的目标代码(Object code),有时也称作机器代码(Machine code)。
一个现代编译器的主要工作流程如下:
源程序(source code)→预处理器(preprocessor)→编译器(compiler)→汇编程序(assembler)→目标程序(object code)→连接器(链接器,Linker)→可执行程序(executables)
工作原理
翻译是从源代码(通常为高级语言)到能直接被计算机或虚拟机执行的目标代码(通常为低级语言或机器言)。然而,也存在从低级语言到高级语言的编译器,这类编译器中用来从由高级语言生成的低级语言代码重新生成高级语言代码的又被叫做反编译器。也有从一种高级语言生成另一种高级语言的编译器,或者生成一种需要进一步处理的的中间代码的编译器(又叫级联)。
典型的编译器输出是由包含入口点的名字和地址以及外部调用(到不在这个目标文件中的函数调用)的机器代码所组成的目标文件。一组目标文件,不必是同一编译器产生,但使用的编译器必需采用同样的输出格式,可以链接在一起并生成可以由用户直接执行的可执行程序。
编译器种类
编译器可以生成用来在与编译器本身所在的计算机和操作系统(平台)相同的环境下运行的目标代码,这种编译器又叫做"本地"编译器。另外,编译器也可以生成用来在其它平台上运行的目标代码,这种编译器又叫做交叉编译器。交叉编译器在生成新的硬件平台时非常有用。"源码到源码编译器"是指用一种高级语言作为输入,输出也是高级语言的编译器。例如: 自动并行化编译器经常采用一种高级语言作为输入,转换其中的代码,并用并行代码注释对它进行注释(如OpenMP)或者用语言构造进行注释(如FORTRAN的DOALL指令)。
预处理器(preprocessor)
作用是通过代入预定义等程序段将源程序补充完整。
上述的程序分析结果是编译器优化(compiler optimization)和程序变形(compiler transformation)的前提条件。常见的优化和变新有:函数内嵌(inlining),无用代码删除(Dead code elimination),标准化循环结构(loop normalization),循环体展开(loop unrolling),循环体合并,分裂(loop fusion,loop fission),数组填充(array padding),等等。 优化和变形的目的是减少代码的长度,提高内存(memory),缓存(cache)的使用率,减少读写磁盘,访问网络数据的频率。更高级的优化甚至可以把序列化的代码(serial code)变成并行运算,多线程的代码(parallelized,multi-threaded code)。
编译语言与解释语言对比
许多人将高级程序语言分为两类: 编译型语言和解释型语言 。然而,实际上,这些语言中的大多数既可用编译型实现也可用解释型实现,分类实际上反映的是那种语言常见的实现方式。(但是,某些解释型语言,很难用编译型实现。比如那些允许 在线代码更改 的解释型语言。)
相关文章
编辑推荐:
(责任编辑:中大编辑)