数据库基础知识100条,全国计算机二级数据库考哪些科目?
数据库基础知识100条,全国计算机二级数据库考哪些科目?详细介绍
本文目录一览: 大数据基础学什么
大数据基础是指在大数据领域中所需要掌握的基本学科。随着信息技术的快速发展,数据日益成为企业决策的重要基础和支撑,越来越多的企业开始引入大数据技术解决方案。大数据基础学的知识如下:
1、数据库基础知识:了解数据库的概念、基本架构和数据模型等,了解SQL语言和数据操作的基本原理,以及数据库的设计和管理知识,这是学好大数据的必备基础。
2、数据结构和算法:学习一些基本的数据结构和算法,例如数组、链表、树、图等,以及排序、查找、递归等基本算法,这对于进行数据处理和分析是非常重要的。
3、统计学和数学知识:包括概率论、数理统计、线性代数等,可以帮助你理解数据分析的基本方法和工具。
4、数据挖掘和机器学习:包括数据预处理、特征提取、模型构建等基本流程和常用算法,例如聚类、决策树、神经网络、支持向量机等,这些算法是进行大数据分析和挖掘的核心内容。
5、大数据处理技术和工具:了解大数据处理的基本概念和技术,例如Hadoop、Spark、MapReduce等大数据处理框架和工具,有助于深入理解和掌握大数据处理和分析的方法。
6、数据可视化:了解一些数据可视化工具和技术,例如Tableau、Power BI、D3等,可以使得分析结果更加生动直观,更容易被理解和传达。
7、数据安全和隐私保护:了解一些基本的数据安全和隐私保护知识,例如数据加密、隐私保护、数据备份、灾备等,可以加强对数据的保护和安全。
8、大数据开发和调试:学习基本的软件开发技术和工具,例如Java、Python、Scala、R等编程语言和相关的开发框架和工具,如Git、IntelliJ IDEA等,可以帮助你开发和调试大数据系统和应用程序。
9、项目管理和团队协作:了解项目管理和团队协作的基本知识和方法,例如Scrum、Kanban等敏捷开发方法和技术,以及团队协作工具,例如Slack、Trello等,在实践中更好地开展大数据项目。
学习大数据基础是数据科学领域的基石,只有掌握了这些基础知识,才能更深入地理解大数据的实际应用。大数据基础是个综合性的学科,涉及到数据库原理、数据结构与算法、统计学与概率论、数据挖掘和机器学习、分布式系统和云计算以及大数据平台和工具等方面的知识,这些知识可以帮助学生掌握大数据技术的核心思想和应用方法。
大数据基础的特点
1、高度技术化:大数据基础涉及到丰富的数据管理和数据处理技术,例如分布式系统、Hadoop等,同时也需要掌握数据清洗、数据统计等理论知识。因此,学习大数据基础需要具备较高的技术水平,需要具备一定的计算机科学和数学基础。
2、跨学科性:大数据基础涉及到的领域不仅限于计算机科学、数学等单一领域,还涉及到管理学、经济学、人工智能等多个领域的知识。因此,学习大数据基础需要有跨学科的思维能力,能够从不同学科的角度去理解和解决问题。
3、多应用性:大数据基础所涉及的技术和理论知识可以应用于多个领域,例如金融、医疗、交通、政府等。因此,学习大数据基础可以为未来从事不同领域的工作提供支持,具有广泛的用途。
4、快速变化:随着技术的快速发展和应用需求的变化,大数据基础的知识体系和应用场景也在不断地发生变化。因此,学习大数据基础需要具有快速学习、适应不同场景的能力。
5、产生大量价值:随着大数据技术的不断推进,大量数据被积累和应用,可以为企业、政府等机构带来巨大的价值。掌握大数据基础可以为开展数据分析和利用大数据带来更多的机会和价值。
数据库原理与应用
注意:以下程序没有做测试,有错误可以追问。
create database 阿里巴巴; --创建数据库
use 阿里巴巴;
go
create table 客户信息(
身份证号 char(20) primary key,
姓名 nvarchar(100) not null,
性别 char(2) default '男' check(性别='男' or 性别='女'),
年龄 int check(年龄 >17 and 年龄 < 100),
工作单位 nvarchar(200)
);
go
create table 客户入住信息(
身份证号 char(20),
客房号 varchar(20) not null,
入住时间 date,
退房时间 date,
constraint pk_id primary key(身份证号,入住时间),
constraint fk_id foreign key(身份证号) references 客户信息(身份证号)
);
go
数据库系统的基本概念
数据:实际上就是描述事物的符号记录。
数据的特点:有一定的结构,有型与值之分,如整型、实型、字符型等。而数据的值给出了符合定型的值,如整型值15。
数据库:是数据的集合,具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序共享。
数据库存放数据是按数据所提供的数据模式存放的,具有集成与共享的特点。
数据库管理系统:一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等,是数据库的核心。
数据库管理系统功能:
(1)数据模式定义:即为数据库构建其数据框架;
(2)数据存取的物理构建:为数据模式的物理存取与构建提供有效的存取方法与手段;
(3)数据操纵:为用户使用数据库的数据提供方便,如查询、插入、修改、删除等以及简单的算术运算及统计;
(4)数据的完整性、安生性定义与检查;
(5)数据库的并发控制与故障恢复;
(6)数据的服务:如拷贝、转存、重组、性能监测、分析等。
为完成以上六个功能,数据库管理系统提供以下的数据语言:
(1)数据定义语言:负责数据的模式定义与数据的物理存取构建;
(2)数据操纵语言:负责数据的操纵,如查询与增、删、改等;
(3)数据控制语言:负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等。
数据语言按其使用方式具有两种结构形式:交互式命令(又称自含型或自主型语言)宿主型语言(一般可嵌入某些宿主语言中)。
数据库管理员:对数据库进行规划、设计、维护、监视等的专业管理人员。
数据库系统:由数据库(数据)、数据库管理系统(软件)、数据库管理员(人员)、硬件平台(硬件)、软件平台(软件)五个部分构成的运行实体。
数据库应用系统:由数据库系统、应用软件及应用界面三者组成。
文件系统阶段:提供了简单的数据共享与数据管理能力,但是它无法提供完整的、统一的、管理和数据共享的能力。
层次数据库与网状数据库系统阶段 :为统一与共享数据提供了有力支撑。
关系数据库系统阶段
数据库系统的基本特点:数据的集成性 、数据的高共享性与低冗余性 、数据独立性(物理独立性与逻辑独立性)、数据统一管理与控制。
数据库系统的三级模式:
(1)概念模式:数据库系统中全局数据逻辑结构的描述,全体用户公共数据视图;
(2)外模式:也称子模式与用户模式。是用户的数据视图,也就是用户所见到的数据模式;
(3)内模式:又称物理模式,它给出了数据库物理存储结构与物理存取方法。
数据库系统的两级映射:
(1)概念模式到内模式的映射;
(2)外模式到概念模式的映射。
4.2 数据模型
数据模型的概念:是数据特征的抽象,从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表与操作提供一个抽象的框架。描述了数据结构、数据操作及数据约束。
E-R模型的基本概念
(1)实体:现实世界中的事物;
(2)属性:事物的特性;
(3)联系:现实世界中事物间的关系。实体集的关系有一对一、一对多、多对多的联系。
E-R模型三个基本概念之间的联接关系:实体是概念世界中的基本单位,属性有属性域,每个实体可取属性域内的值。一个实体的所有属性值叫元组。
E-R模型的图示法:(1)实体集表示法; (2)属性表法; (3)联系表示法。
层次模型的基本结构是树形结构,具有以下特点:
(1)每棵树有且仅有一个无双亲结点,称为根;
(2)树中除根外所有结点有且仅有一个双亲。
从图论上看,网状模型是一个不加任何条件限制的无向图。
关系模型采用二维表来表示,简称表,由表框架及表的元组组成。一个二维表就是一个关系。
在二维表中凡能唯一标识元组的最小属性称为键或码。从所有侯选健中选取一个作为用户使用的键称主键。表A中的某属性是某表B的键,则称该属性集为A的外键或外码。
关系中的数据约束:
(1)实体完整性约束:约束关系的主键中属性值不能为空值;
(2)参照完全性约束:是关系之间的基本约束;
(3)用户定义的完整性约束:它反映了具体应用中数据的语义要求。
4.3关系代数
关系数据库系统的特点之一是它建立在数据理论的基础之上,有很多数据理论可以表示关系模型的数据操作,其中最为著名的是关系代数与关系演算。
关系模型的基本运算:
(1)插入 (2)删除 (3)修改 (4)查询(包括投影、选择、笛卡尔积运算)
4.4 数据库设计与管理
数据库设计是数据应用的核心。
数据库设计的两种方法:
(1)面向数据:以信息需求为主,兼顾处理需求;
(2)面向过程:以处理需求为主,兼顾信息需求。
数据库的生命周期:需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、编码阶段、测试阶段、运行阶段、进一步修改阶段。
需求分析常用结构析方法和面向对象的方法。结构化分析(简称SA)方法用自顶向下、逐层分解的方式分析系统。用数据流图表达数据和处理过程的关系。对数据库设计来讲,数据字典是进行详细的数据收集和数据分析所获得的主要结果。
数据字典是各类数据描述的集合,包括5个部分:数据项、数据结构、数据流(可以是数据项,也可以是数据结构)、数据存储、处理过程。
数据库概念设计的目的是分析数据内在语义关系。设计的方法有两种
(1)集中式模式设计法(适用于小型或并不复杂的单位或部门);
(2)视图集成设计法。
设计方法:E-R模型与视图集成。
视图设计一般有三种设计次序:自顶向下、由底向上、由内向外。
视图集成的几种冲突:命名冲突、概念冲突、域冲突、约束冲突。
关系视图设计:关系视图的设计又称外模式设计。
关系视图的主要作用:
(1)提供数据逻辑独立性;
(2)能适应用户对数据的不同需求;
(3)有一定数据保密功能。
数据库的物理设计主要目标是对数据内部物理结构作调整并选择合理的存取路径,以提高数据库访问速度有效利用存储空间。一般RDBMS中留给用户参与物理设计的内容大致有索引设计、集成簇设计和分区设计。
数据库管理的内容:
(1)数据库的建立;
(2)数据库的调整;
(3)数据库的重组;
(4)数据库安全性与完整性控制;
(5)数据库的故障恢复;
(6)数据库监控。
计算机二级Access数据库程序设计要考的内容!
公共基础知识
Access数据库程序设计
基本要求
1. 具有数据库系统的基础知识。
2. 基本了解面向对象的概念。
3. 掌握关系数据库的基本原理。
4. 掌握数据库程序设计方法。
5. 能使用Access建立一个小型数据库应用系统。
考试内容
一、数据库基础知识
1. 基本概念:
数据库,数据模型,数据库管理系统,类和对象,事件。
2. 关系数据库基本概念:
关系模型(实体的完整性,参照的完整性,用户定义的完整性),关系模式,关系,元组,属性,字段,域,值,主关键字等。
3. 关系运算基本概念:
选择运算,投影运算,连接运算。
4. SQL基本命令:
查询命令,操作命令。
5. Access系统简介:
(1) Access系统的基本特点。
(2) 基本对象:表,查询,窗体,报表,页,宏,模块。
二、数据库和表的基本操作
1. 创建数据库:
(1) 创建空数据库。
(2) 使用向导创建数据库。
2. 表的建立:
(1) 建立表结构:使用向导,使用表设计器,使用数据表。
(2) 设置字段属性。
(3) 输入数据:直接输入数据,获取外部数据。
3. 表间关系的建立与修改:
(1) 表间关系的概念:一对一,一对多。
(2) 建立表间关系。
(3) 设置参照完整性。
4. 表的维护:
(1) 修改表结构:添加字段,修改字段,删除字段,重新设置主关键字。
(2) 编辑表内容:添加记录,修改记录,删除记录,复制记录。
(3) 调整表外观。
5. 表的其他操作:
(1) 查找数据。
(2) 替换数据。
(3) 排序记录。
(4) 筛选记录。
三、查询的基本操作
1. 查询分类:
(1) 选择查询。
(2) 参数查询。
(3) 交*表查询。
(4) 操作查询。
(5) SQL查询。
2. 查询准则:
(1) 运算符。
(2) 函数。
(3) 表达式。
3. 创建查询:
(1) 使用向导创建查询。
(2) 使用设计器创建查询。
(3) 在查询中计算。
4. 操作已创建的查询:
(1) 运行已创建的查询。
(2) 编辑查询中的字段。
(3) 编辑查询中的数据源。
(4) 排序查询的结果。
四、窗体的基本操作
1. 窗体分类:
(1) 纵栏式窗体。
(2) 表格式窗体。
(3) 主/子窗体。
(4) 数据表窗体。
(5) 图表窗体。
(6) 数据透视表窗体。
2. 创建窗体:
(1) 使用向导创建窗体。
(2) 使用设计器创建窗体:控件的含义及种类,在窗体中添加和修改控件,设置控件的常见属性。
五、报表的基本操作
1. 报表分类:
(1) 纵栏式报表;
(2) 表格式报表。
(3) 图表报表。
(4) 标签报表。
2. 使用向导创建报表。
3. 使用设计器编辑报表。
4. 在报表中计算和汇总。
六、页的基本操作
1. 数据访问页的概念。
2. 创建数据访问页:
(1) 自动创建数据访问页。
(2) 使用向导数据访问页。
七、宏
1. 宏的基本概念。
2. 宏的基本操作:
(1) 创建宏:创建一个宏,创建宏组。
(2) 运行宏。
(3) 在宏中使用条件。
(4) 设置宏操作参数。
(5) 常用的宏操作。
八、模块
1. 模块的基本概念:
(1) 类模块。
(2) 标准模块。
(3) 将宏转换为模块。
2. 创建模块:
(1) 创建VBA模块:在模块中加入过程,在模块中执行宏。
(2) 编写事件过程:键盘事件,鼠标事件,窗口事件,操作事件和其他事件。
3. 调用和参数传递。
4. VBA程序设计基础:
(1) 面向对象程序设计的基本概念。
(2) VBA编程环境:进入VBE,VBE界面。
(3) VBA编程基础:常量,变量,表达式。
(4) VBA程序流程控制:顺序控制,选择控制,循环控制。
(5) VBA程序的调试:设置断点,单步跟踪,设置监视点。
考试方式
1. 笔试:90分钟,满分100分,其中含公共基础知识部分的30分。
2. 上机操作:90分钟,满分100分。
上机操作包括:
(1) 基本操作。
(2) 简单应用。
(3) 综合应用
SQL数据库(简单)简答题
SQL Server数据库基础知识第一讲:数据库1、什么是数据库?2、数据库的主要功能是什么?3、常用的数据库管理软件有哪些?
Microsoft SQL Server 2000 简答题及其答案
1.在安装SQL Server 2000时,“仅客户端工具”、“服务器和客户端工具”及“仅连接”等安装定义有什么差别?
答:仅客户端工具:仅安装客户端工具。服务器和客户端工具:同时安装服务器和客户端工具。仅连接:仅安装客户端连接。
2.一个数据库中包含哪几种文件?
答:主数据库文件,辅助数据文件,事务日志文件。
3.事务文件和数据文件分开存放有什么好处?
答:因为利用事务日志备份可以将数据库恢复到特定的即时点(如输入不想要的数据之前的那一点)或故障发生点。在媒体恢复策略中应考虑利用事务日志备份。
4.什么是批处理?使用批处理有何限制?
答:包含一个或多个T-SQL语句的组,从应用程序将一次性发送到SQL Server执行,SQL Server批处理语句作为整体编译成一个可执行单元。
限制:如不能够在同一个批处理中更改表,然后引用新列。如在一个批处理程序中,有两条语句。第一条语句用来在一张表中插入一个字段,如在User表中插入员工的出生年月;第二条语句则用来引用这个列,如根据身份证号码来推算出这个员工的出身年月并把这个值赋值给这个第一条语句创建的出身年月字段。
5.数据检索时,COMPUTE和COMPUTE BY产生的结果有何不同?
答:Compute:第一个为明细行 第二个为聚合函数的合计 Compute by:第一个为明细行第二个为聚合函数的小计
6.什么是索引?索引分为哪两种?各有什么特点?
答:1、数据库中的索引与书籍中的目录类似。在一本书中,利用目录可以快速查找所需信息,无须阅读整本书。在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据。 2、聚集索引和非聚集索引。
3、聚集索引的特点:行的物理位置和行在索引中的位置是相同的,每个表只能有一个聚集索引,聚集索引的平均大小大约为表大小的5%左右。
非聚集索引特点:若未指定索引类型,则默认为非聚集索引,叶节点页的次序和表的物理存储次序不同,每个表最多可以有249个非聚集索引,在非聚集索引创建之前创建聚集索引。
7.创建索引有什么优点和缺点?
答:优点:索引在数据库中的作用类似于目录在书籍中的作用,用来提高查找信息的速度。
使用索引查找数据,无需对整表进行扫描,可以快速找到所需数据。
缺点:索引需要占用数据表以外的物理存储空间。创建索引和维护索引要花费一定的时间。当对表进行更新操作时,索引需要被重建,这样降低了数据的维护速度。
8.什么是视图?使用视图的优点和缺点是什么?
答:视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。
优点:1隐蔽数据库的复杂性2控制用户提取数据3简化数据库用户管理 4简化查询
缺点:1性能:SQL Server必须把视图的查询转化成对基本表的查询,如果这个视图是由,一个复杂的多表查询所定义,那么,即使是视图的一个简单查询,SQL Server也,把它变成一个复杂的结合体,需要花费一定的时间。2修改限制:当用户试图修改视图的某些行时,SQL Server必须把它转化为对基本,表的某些行的修改。对于简单视图来说,这是很方便的,但是,对于比较复杂的,视图,可能是不可修改的。
9. 修改视图中的数据会受到哪些限制?
答:1、必须有权限 2、单表视图直接改
3、多表可在视图中定义 instead of 触发器.
4、对由多表连接成的视图修改数据时,不能同时影响一个以上的基表,也不能删除视图中的数据
5、对视图上的某些列不能修改,这些列是:计算列,内置函数列和行集合函数列
6、对具有NOT NULL 的列进行修改时可能会出错。通过视图修改或者插入数据时,必须保证未显示的具有NOT NULL 属性的列有值,可以是默认值,IDENTITY 等,否则不能像视图中插入数据行。
7、如果某些列因为规则或者约束的限制不能接受从视图插入的数据时,则插入数据可能会失败
8、删除基表并不删除视图,建议采用与表明显不同的名字命名规则
10. 什么是数据完整性?如果数据库不实施数据完整性会产生什么结果?
答:数据完整性是指数据的精确性和可靠性。它是应防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。
11.数据完整性有哪几类?如何实施?
答:1、数据完整性分为四类:实体完整性、域完整性、参照完整性、用户定义的完整性。
2、数据库采用多种方法来保证数据完整性,包括外键、束约、规则和触发器。系统很好地处理了这四者的关系,并针对不同的具体情况用不同的方法进行,相互交叉使用,相补缺点。
12. 什么是主键约束?什么是惟一约束?两者有什么区别?
答:主键约束:有一列或列的组合,其值能唯一的标识表中的每一行。
唯一约束:不允许数据库表在指定列上具有相同的值,但允许有空值。
区别:一个表可以定义多个唯一约束,只能定义一个主键约束;空值得列上可以定义唯一约束,不能定义主键约束。
13.什么是外键,怎样建立外键约束?
答:外键是用于建立和加强两个表数据之间的链接的一列或多列。通过将保存表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接。这个列就成为第二个表的外键。
14.什么是存储过程?使用存储过程有什么好处?
答:1、是存储在服务器上的 Transact-SQL 语句的命名集合,是封装重复性任务的方法,支持用户声明变量、条件执行以及其他强有力的编程特性。
2、存储过程封装了商务逻辑,确保一致的数据访问和修改。若规则或策略有变化,则只需要修改服务器上的存储过程,所有的客户端就可以直接使用
屏蔽数据库模式的详细资料。用户不需要访问底层的数据库和数据库内的对象
提供了安全性机制。用户可以被赋予执行存储过程的权限,而不必在存储过程引用的所有对象上都有权限
改善性能。预编译的 Transact-SQL 语句,可以根据条件决定执行哪一部分
减少网络通信量。客户端用一条语句调用存储过程,就可以完成可能需要大量语句才能完成的任务,这样减少了客户端和服务器之间的请求/回答包
15.什么是触发器?触发器分有什么作用?
答:触发器是一类特殊的存储过程,不能被直接调用,也不传递或接受参数
作用:1、维护不可能在表创建时刻通过声明性约束进行的复杂的完整性约束限制。
2、通过记录所进行的修改以及谁进行了修改来审计表中的信息。
3、当表被修改的时候,自动给其他需要执行操作的程序发信号。
Oracle数据库基本知识
Oracle数据库基本知识
Oracle Database,又名OracleRDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。本文为大家分享的是Oracle数据库的基本知识,希望对大家有所帮助!
它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的适应高吞吐量的数据库解决方案。
介绍
ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的一种中间件。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。
Oracle数据库最新版本为OracleDatabase 12c。Oracle数据库12c引入了一个新的多承租方架构,使用该架构可轻松部署和管理数据库云。此外,一些创新特性可最大限度地提高资源使用率和灵活性,如Oracle Multitenant可快速整合多个数据库,而Automatic Data Optimization和Heat Map能以更高的密度压缩数据和对数据分层。这些独一无二的技术进步再加上在可用性、安全性和大数据支持方面的主要增强,使得Oracle数据库12c 成为私有云和公有云部署的理想平台。
就业前景
从就业与择业的角度来讲,计算机相关专业的大学生从事oracle方面的技术是职业发展中的最佳选择。
其一、就业面广:ORACLE帮助拓展技术人员择业的广度,全球前100强企业99家都在使用ORACLE相关技术,中国政府机构,大中型企事业单位都能有ORACLE技术的工程师岗位,大学生在校期间兴趣广泛,每个人兴趣特长各异,不论你想进入金融行业还是电信行业或者政府机构,ORACLE都能够在你的职业发展中给你最强有力的支撑,成为你最贴身的金饭碗。
其二、技术层次深:如果期望进入IT服务或者产品公司,Oracle技术能够帮助提高就业的深度。Oracle技术已经成为全球每个IT公司必选的软件技术之一,熟练掌握Oracle技术能够为从业人员带来技术应用上的优势,同时为IT技术的深入应用起到非常关键的作用。掌握 Oracle技术,是IT从业人员了解全面信息化整体解决方案的基础。
其三、职业方向多:Oracle数据库管理方向、Oracle开发及系统架构方向、Oracle数据建模数据仓库等方向。
Oracle数据库漏洞分析:无需用户名和密码进入你的数据库
一般性的数据库漏洞,都是在成功连接或登录数据库后实现入侵;本文介绍两个在2012年暴露的Oracle漏洞,通过这两种漏洞的结合,可以在不掌握用户名/密码的情况下入侵Oracle,从而完成对数据的窃取或者破坏。这两个漏洞就是CVE-2012-1675和CVE-2012-3137。
引言
国内外很多重要的系统都采用Oracle作为数据存储的数据库;在Oracle中存储着企业或政府大量敏感的信息,在金钱或政治的诱导下,内外部黑客会想法利用管理、网络、主机或数据库的自身漏洞尝试入侵到数据库中,以达到自身的目的。
本文的作者通过对Oracle俩种漏洞的组合研究,设计了一套在不掌握用户名/密码的方式入侵到Oracle中;这种方法,比传统的需要登录到数据库中的入侵方法,具有更大的安全隐患和破坏性。
本文希望通过对这两个漏洞和攻击方法的介绍,能够引起相关人员的重视,完善对数据库安全的措施。
1、概要介绍
本文提供的方法是基于漏洞CVE-2012-1675和CVE-2012-3137对oracle数据库的攻击测试的方法。
CVE-2012-1675漏洞是Oracle允许攻击者在不提供用户名/密码的'情况下,向远程“TNS Listener”组件处理的数据投毒的漏洞。攻击者可利用此漏洞将数据库服务器的合法“TNS Listener”组件中的数据转向到攻击者控制的系统,导致控制远程组件的数据库实例,造成组件和合法数据库之间的中间人攻击、会话劫持或拒绝服务攻击。
CVE-2012-3137漏洞是Oracle Database 10g/11g身份验证协议实现中存在一个设计缺陷,攻击者无需认证即可远程获取数据库用户密码哈希相关数据,从而可以离线暴力破解用户密码,进一步控制数据库系统。
我们通过如下的步骤和过程可以实现对Oracle的入侵:
(1)利用CVE-2012-1675进行TNS劫持,在监听下利用远程注册,注册同名数据库实例;
(2)新登陆的用户,在TNS的负载均衡策略下,有可能流量登录到伪造的监听服务上;
(3)该监听服务对用户的登陆过程进行监控,并将相关数据流量转发到真实的数据库上;
(4)利用CVE-2012-3137获得通讯过程中的认证相关信息;
(5)对认证相关信息进行离线的暴力破解,获得登陆的密码;
(6)试用破解的用户名/密码登陆Oracle,完成对Oracle中数据的访问;
2、通过CVE-2012-1675进行TNS劫持
该漏洞存在于Oracle的所有版本,并且Oracle至今仅是发布了警告性通知,并未提供解决方案。
要想利用CVE-2012-1675漏洞做TNS劫持,首先需要了解TNS机制。如下图所示oracle 通过在本地解析网络服务名到目标主机IP地址,服务端口号,目标数据库名,把这些信息发送到oracle服务器端监听程序,最后再由监听程序递送DBMS。
其中关键点在于监听会按照目标数据库名递送到名称正确的数据库。那么如果一个监听下有2个同名数据库。监听将自动按照负载均衡把这次访问发送到负载低的数据库上,进行连接访问。数据库注册到监听的方法就决定了,能否同时注册同名数据库在同一个监听下。注册方式分为本地注册和远程注册,通过修改参数可以调整为远程注册。
下面是一段可用的TNS劫持的过程:
1.在劫持机上创建一个和目标数据库实例同名的数据库实例。
2.在劫持机上修改 tnsnames.ora 文件
添加
listener_name=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=目标机器IP)(PORT=目标机器端口)))
3.在劫持机上用SQL*Plus 顺序执行下面步骤。
1.$ sqlplus / as sysdba
2. SQL> ALTER SYSTEM SETREMOTE_LISTENER='LISTENER_NAME';
3. SQL> ALTER SYSTEM REGISTER;
4.多个客户端,向数据库发起登录。会劫持到一部分客户端的登录信息。
最终达到效果如下图所示:
按照猜想同一个监听下有2个同名实例。客户端访问监听,监听按照客户端中的数据库名信息分配数据库,由于监听下有2个同名数据库,客户端链接很可能会被分配到劫持者的数据库实例下,再通过配置劫持者的本地监听把客户端请求指回原数据库。结构图如下:
测试客户端链接196次。目标数据库实例获得113次,劫持数据库实例获得83次基本满足负载均衡的假设。(注上面实例是local server 下面实例是 remote server)
通过以上方式我们可以截获约一半左右客户端发送到服务器的合法链接。其中获得了服务器IP、端口号、数据库位置、实例名、登录用户名等一系列明文信息和4组密文信息(AUTH_SESSKEY,AUTH_SESSKEY_CLIENT,AUTH_PASSWORD,AUTH_VFR_DATA)。
3、通过CVE-2012-3137进行密码破解
CVE-2012-3137受影响的数据库版本有11.2.0.3,11.2.0.2,11.1.0.7,有使用了SHA-1加密算法的10.2.0.5和10.2.0.4,还有使用了SHA-1的10.2.0.3(运行在z/OS下)版本。
虽然这个漏洞在11.2.0.3中已经解决,但是仅仅数据库客户端和服务器都升级到11.2.0.3并且sqlnet.ora文件中增加SQLNET.ALLOWED_LOGON_VERSION=12才有效。
正如CVE-2012-3137所描述Oracle为了防止第三方通过网络获取登录信息包。而对密码进行了加密处理。本部分只以oracle11.1密码如何破解为例进行说明。
在发起连接之后(oracle牵手完成),客户端和服务器经过协商确定要使用的验证协议。要完成这个任务,客户端首先向数据库发送一个包。包中包含客户端主要信息和所请求的加密方式。数据库确认加密方式有效后,发送一个确认服务包如下图所示:
在通过安全网络服务完成任何所要求的协议之后,数据库用户被O3logon(oracle验证方式) 进行验证,这个协议执行一个序列来向数据库证明客户端拥有密码。为了避免网络第三方截获到密码。首先客户端发送用户名到数据库来表明用户身份。数据库端根据加密协议,其中96位的作为数据库端密钥,20位的作为偏移量,它对每个连接都是不同的。一个典型的数据库端发给客户端的密钥如下:
AUTH_SESSKEY.....COCDD89FIGODKWASDF……………………
客户端根据加密算法向服务器端发送96位的客户端密钥和64位的密码密钥。服务器端计算客户端传入的密码密钥。如果计算后密码密文和数据库中存储的16位密码密文一致则验证通过。
根据这个过程可知上面TNS劫持包中取得的加密信息:AUTH_SESSKEY,AUTH_SESSKEY_CLIENT,AUTH_PASSWORD,AUTH_VFR_DATA这四个值是解密的关键。我们把他们按照SHA1,MD5,AES192进行一系列处理。最终通过数据字典碰撞得到密码明文。
下面这段网上公布的一段示例代码,这段代码与笔者的思路不完全相同,但也能大概地说明这个漏洞的攻击过程:
import hashlib
from Crypto.Cipher import AES
def decrypt(session,salt,password):
pass_hash= hashlib.sha1(password+salt)
key =pass_hash.digest() + '\x00\x00\x00\x00'
decryptor= AES.new(key,AES.MODE_CBC)
plain =decryptor.decrypt(session)
returnplain
session_hex ='EA2043CB8B46E3864311C68BDC161F8CA170363C1E6F57F3EBC6435F541A8239B6DBA16EAAB5422553A7598143E78767'
salt_hex = 'A7193E546377EC56639E'
passwords = ['test','password',''oracle','demo']
for password in passwords:
session_id= decrypt(session_hex.decode('hex'),salt_hex.decode('hex'),password)
print'Decrypted session_id for password "%s" is %s' %(password,session_id.encode('hex'))
ifsession_id[40:] == '\x08\x08\x08\x08\x08\x08\x08\x08':
print'PASSWORD IS "%s"' % password
break
4、建议的预防措施
根据以上两段分析,我们可以有如下的预防措施:
(1)在条件许可的情况下,对Oracle进行补丁升级,对Oracle打cpuoct2012-1515893补丁;注意对于cpuoct2012-1515893补丁要求服务器端和应用服务器端同时升级,否则应用系统将无法访问Oracle;
(2)若无法对Oracle升级,要购买或安装具备虚拟补丁功能的数据库安全产品,防止对CVE-2012-3137和CVE-2012-1675的利用;
(3)建立足够强健的口令,不要使用8位以下密码,或者字典库中的口令。
;
初学数据库应该从何学起?
人与人的情况不同,你应该自己探索找到适合自己的学习方法。关于学习化学,这里给你一位名教师的观点
一.认真抓好“听、思、问、练”的学习四个环节,力求达到懂、会、透,提高课上吸收率。 听是关键,思是核心,课堂上能不能高度集中力,聚精会神听讲,排除一切干扰和杂念去专心听讲是决定学习效率高低的关键。有些同学课上精神不集中,打盹儿,做小动作,不注意听讲,而在课余时间补课,就如同拣了芝麻丢了西瓜一样,久而久之知识缺陷越来越多,造成学习吃力,形成恶性循环。更重要的是还要会听课,不仅听会知识的来龙去脉,对概念、例题要能理解同时更要学习和感受老师讲的每一知识点的方法与思路。要学会巧妙地完整记笔记的方法,课上一定要养成“先听后记”的习惯,将听到的内容加以思考整理,提纲挈领地记录本节的重点、难点,须掌握的内容和课本上没有的内容、易错、易混或对自己有启发的地方。当时没听懂的,没明白的地方,课下要及时请教老师和同学。还要记清课本内容和发散性问题及要求当堂完成的巩固性、检验性、提高性的训练试题。课后应全面系统地整理笔记,将自己对所学知识的理解,感受作笔录。这个过程可以提高每个同学的悟性也就是消化、理解变为自己知识的过程。 “思”是贯穿于整个课堂教学之中,只有积极思考,才能使自己获得知识,实现由感性到理性的飞跃,因此课上要勤于思考,学会思考,积极参加讨论,敢于发表自己的看法,甚至是争论,以此来锻炼和培养自己思维能力及表达能力。从而达到使当堂所学知识能消化、理解。 要“练”一定量的习题来巩固和消化所学知识并可培养一定的技能技巧,是达到会、透的一个重要环节。但不能搞简单的重复或题海战术。要通过作一定量的题自己能悟出什么道理,总结出一些规律来,要把作题的过程看成为培养自己的思维和思维能力再提高的过程,做题后不要仅满足对答案,对解法而已,当每做稍有些难度的题后要回味一下,理顺解题思路逻辑关系和题目的类型是很有益的。可以想这道题用了哪些概念和原理,解题的基本方法是什么,不这样解行不行,哪种方法最简捷这便是一题多解的过程。能否通过改变物质、数据、操作顺序或已知条件和未知条件的互换来重解,这便是一题多变。回忆一下这道题与过去做过的题有无相同、相似之处这便是多题一解的训练。这样不仅可以加深对知识的理解,也能提高分析问题和解决问题的能力。 抓住听、思、问、练四个学习环节,提高课上的吸收率,使所学知识不断地消化理解变为自己的知识,不仅能达到懂、会,更重要的是达到透,这样你就能运用自如,灵活多变培养了应变能力做到以不变应万变。 二.在学习化学知识中要做到三抓,即抓基础、抓思路、抓规律。要重视基础知识的学习这是提高能力的保证。学好化学用语如元素符号、化学式、化学方程式和基本概念及元素、化合物的性质。在做题中要善于总结归类题型及解题思路。化学知识之间是有内在规律的,掌握了规律就能驾驭知识,记忆知识。如化合价的一般规律,金属元素通常显正价,非金属元素通常显负价,单质元素的化合价为零,许多元素有变价,条件不同价态不同。再如实验室制取氧气所需气体发生装置为试管。规律为只要是给固体受热无论是一种药品还是两种药品用来制取气体都要用同制氧气一样的装置-即试管。抓住规律可以加以运用如给出信息题告诉实验室制甲烷气用醋酸钠和碱石灰两种固体混合加热,虽然我们没学过这部分知识但根据固体受热制取气体的装置规律可知同制氧样。再如根据化学式的计算,要抓好思路,什么题用化学式来计算即只要有元素的质量分数的题就先要根据化学式来计算。 三.要培养自己的自我完善能力 每次单元测验后都要进行自我评价,找出成绩与存在问题,特别是要分析所丢分的原因是什么,各占多少分如失6分,其中粗心失2分,不会的失2分,复习不全面失2分,再分析一下自己为什么粗心、不会,找出原因以利以后的学习,坚持下去必有好处。达到不断地提高自己的非智力因素能力。建立错题本,把自己在各次各类考试中及综合练习中做错的题集中收集起来,写在错题本上。每隔一段时间把这些题再重新做一遍看看自己是否真正掌握了,把已经掌握的题做上标记进行淘汰,使不会的题逐渐减少,直到减少到零,这样坚持下去你的学习成绩一定会突飞猛进的。 四.化学基本概念和原理的学习方法 初中化学学科的显著特之一是概念多,这些概念理解是否准确,掌握是否熟练对学好初中化学课程关系极大。是形成正确实验技能,计算技能的依据,是分析和解决化学问题的基础。而初三学生中对概念学习不重视,认为掌握概念就是死记硬背。学法不当,效果不好,这部分内容也是中考易失分的知识之一。 1. 通过感性认识来掌握概念 化学基本概念是从大量的化学事实中抽象概括出来的,如通过观察铁丝在氧气中燃烧的实验,可以形成化合反应的概念。通过观察酸、碱、盐溶液的导电性可形成电离的概念。所以脱离化学事实只是单纯的背诵概念不可能有深刻的理解,更谈不上能熟练掌握了。 2.找出概念间的联系和区别 化学概念之间即有本质的区别又有联系,学习时不要孤立地机械地单一记忆,应将不同的概念进行比较,从中找出它们之间的不同点和内存联系。如元素与原子、分子与原子不同点在化学反应中分子可分,原子不可再分,原子可构成分子,分子是由原子构成的。相同点都是构成物质的微粒。元素是描述物质宏观组成的,而原子是描述物质微观构成的。使用时要注意物质拽元素,分子拽原子避免出现错误。 3.要理解概念的组成和系统 学习中要弄清每个概念是由哪些部分组成的,各部分之间的关系如何,其中关键部分是什么如氧化物的概念,包括三部分,一为化合物,二为两种元素组成,三为其中一种为氧元素三者缺一不可,其关键部分是第二、第三部分,弄清并搞懂了,书写和判断氧化物就容易了。再如溶解度的概念包括四部分,一为一定温度,二为100克溶剂,三为达到饱和状态,四为溶解的质量。四部分缺一不可真正懂了在判断和溶解度的有关计算题就不会出现错误了。 4.要注意概念中关键字、词的意义理解和记忆。 每个概念在教材中都是用精炼的语言进行描述和表达的。在理解和记忆时切不可顾名思义,更不可断章取义,要理解概念中关键的字和词。如单质的概念,关键词为纯净物,若不强调纯净物而改为物质的话,你还判断为单质就是错误的。因为物质包括纯净物和混合物,那么由同种元素组成的物质不一定就是单质也可以为混合物如红磷与白磷,O2与O3它们都是由一种元素组成,但可组成两种单质。由此延深的题:某物质经分析只含一种元素,则该物质是( ),A.一定是单质 B.一定是纯净物 C.一定是混合物 D.可能是纯净物与可能是混合物。很明显应选D。 五.元素化合物知识的学习方法 元素化合物知识的特点 1.元素及化合物与基本概念、基本理论相互渗透关系密切,要把这两者结合好。如由碳元素组成的金刚石、石墨物理性质的差异之大,硫酸由于浓、稀的不同而引起性质上有本质的不同。所以必须把物质的性质与基本概念、基本理论联系起来。 2.元素及化合物知识的内在联系紧密,规律性较强,知识系统都是从单质到化合物,都按存在 性质 用途 制备的顺序进行的。而物质的存在、制备、用途都取决于物质的性质。因此学习中应紧紧抓住物质的性质去带动其余的。如依据氢气的化学性质具有可燃性和还原性来推导它的用途、存在不要去死记硬背。 3.元素及化合物知识内容多,即有共性,又有个性因此在学习中一定要全面分析问题,即记通性又记特性。如HNO3具有酸的通性又有特性与金属反应不生成氢气而生成水。 4.元素及化合物知识对实验的依赖性强,大部分化学知识是通过实验获得的。如氧气的化学性质通过与C、P、S、mg、蜡烛等演示实验使你认识到氧气是一种化学性质比较活泼的气体。所以一定要认真观察和分析实验现象达到印象深刻、记忆牢固、理解透彻。 如何学习呢?1. 要重视理论的指导作用。如物质结构的初步知识揭示了元素性质特别是元素化学性质跟原子最外层电子数的关系,揭示了化学反应的本质,揭示了分子形成过程及化合价的实质。这就为正确书写化学式,化学方程式奠定了理论基础。 2.要总结规律并掌握物质的特性。要抓住典型物质总结出一般规律同时还要把握住物质的特性以提高分析及解决问题的能力。如学习有机化合物可总结出甲烷、甲醇、乙醇、乙炔蜡烛等与氧气反应都生成二氧化碳和水的规律但各自都有不同的物理性质。再如学习第八章酸,通过盐酸、硫酸、硝酸、磷酸的化学性质学习总结出酸的一般规律,但对不同的酸所具有的特性也要清楚。如浓H2SO4的吸水性和脱水性,硝酸的强氧化性都要掌握就全面了,否则就会出现错误。 3. 要定期整理归纳所学知识,注意纵横联系形成知识网络。元素化合物知识虽然繁多、零碎,但根据彼此之间的联系可以以某物质为中心将其联系串成一个知识网络,使零散的知识系统化、结构化,条理化。 4.将元素化合物中类别相似的知识归为一知识块进行横向比较,辩清异同点使知识更加深刻理解和掌握如H2、C、CO可从具有稳定性、可燃性、还原性比较它们的相似点和不同点。从实验操作看H2、CO分别还原CuO的操作一样,不同点是CO还原CuO需进行尾气处理。H2和CO的可燃性的火焰颜色不一样,还原性的产物都有金属或水或CO2 从反应类型看CO与CuO的反应不属于置换反应。 六.化学计算的学习方法 1.牢固掌握化学计算的基础知识。基本概念、原理和元素化合物是进行化学计算的依据。若概念不清,原理不明,物质的变化规律不十分明确,就会把题做错。如式量这个概念它只表示一个化学式如H2O的式量为18,5H2O中水的式量仍是18而不是90,再如A+2B=C+2D中已知C和D的式量比为22:9,若生成4克C同时还有多少克D生成。其C和D的质量比一定是22:2×9=22:18然后再进行有关计算。如把C和D的质量比仍按22:9进行计算就是错误的,反映出你对式量的概念还不清楚。 2.掌握并运用好解题步骤 解题分为三步即审题、析题、解题。审题就是阅读原题,理解题意了解特点和类型弄清已知和未知,要防止不看全题断章取义,粗心大意。析题就是剖析原题,在审题基础上弄清关键词语的含义,对众多事实或复杂现象进行分析、综合、挖出隐含条件及内在联系找出突破口,从而确立解题思路和方法。这是解题中最关键的一步。解题是在析题的基础上进行的用已知求出未知得出正确结果。 3.注意解题规律和思想,掌握解题技巧 要善于从典型题的分析中找出其特点、规律和思路,能举一反三,要做一题知多题从而不断提高自己的解题能力。质量守恒定律这是初三化学方程式综合计算题和用字母表示的化学方程式的计算题中的主要思路。如a克KClO3和b克MnO2加热完全反应后剩余固体质量为c克生成O2多少克?运用质量守恒定律可求出O2质量是a克+b克-c克。再如已知KClO3中氧的质量分数为39.2%,KMnO4中氧的质量分数的40.5%,若各取100克加热完全分解后哪种物质产生氧气多。表面上看KMnO4中氧元素的质量分数比KClO3中氧元素的质量分数要大,但要是认真分析抓住完全反应这个关键词语,从化学方程式可以看出KClO3中虽含氧元素的质量略比KMnO4低,但它的氧元素全部都转化为O2,而KMnO4中的氧元素只是部分转化为O2,近而得出是KClO3生成的O2多。再如有FeSO4和Fe(SO4)3的混合物测得混合物中S元素的质量分数为a%,则混合物中Fe的质量分数是多少?此题按元素质量分数求可做出来但很繁索,可以巧解。即从物质宏观元素巧妙地过度到微观原子个数来找出质量比从而可以进行计算。无论FeSO4或Fe2(SO4)3中“SO4”是不变的所以: S : O 原子个数比 1 : 4 质量比 32 : 64 1 : 2 设混合物的质量为1,已知S元素质量为a%,则O元素的质量为2a%,那“SO4” 的总质量为3a%所以Fe元素的质量分数为1-3a% 七.化学实验的学习方法 1.要重视化学实验。化学是一门以实验为基础的学科,是老师讲授化学知识的重要手段也是学生获取知识的重要途径。课本大多数概念和元素化合物的知识都 是通过实验求得和论证的。通过实验有助于形成概念理解和巩固化学知识。 2.要认真观察和思考老师的课堂演示实验因为化学实验都是通过现象反映其本质的,只有正确地观察和分析才能来验证和探索有关问题,从而达到实验目的。对老师的演示实验(80多个)要细心观察,学习和模仿。要明确实验目的,了解实验原理要认真分析在实验中看到的现象,多问几个为什么,不仅要知其然,还要知所以然。要在理解的基础上记住现象。如弄清烟、雾、火焰的区别。要正确对实验现象进行描述,弄清现象与结论的区别并进行比较和分析。要会运用所学知识对实验现象进行分析来推断和检验有关物质。如六瓶无色气体分别为氧气、氮气、空气、二氧化碳气、氢气和一氧化碳气如何鉴别?其思路为从它们不同的化学性质找出方法即用点燃的木条和石灰水最后从现象的不同来推断是哪种气体。 3.要自己动手,亲自做实验不要袖手旁观。实验中要勤于思考、多问、多想分析实验发生的现象从而来提高自己的分析问题、解决问题的能力及独立实验动手能力和创新能力。 4.要掌握化学实验基本操作方法和技能并能解答一些实验问题。要做到理解基本操作原理,要能根据具体情况选择正确的操作顺序并能根据实验装置图,解答实验所提出的问题。
学SQL语句,去看W3SCHOOL吧,上边教得很细
从基本的开始学
初学数据库应该从以下几点进行学习:一、编程语言基础新手学大数据,首先要掌握基础的编程语言基础,比如Java、C++等,要初步掌握面向的对象、抽象类、接口及数据流及对象流等基础,如果有疑问,可以去网上搜索相关书籍,再结合自己的疑问去翻书,就能很快的熟悉了解数据库的基础技术原理。二、Linux系统的基本操作Linux系统的基本操作是大数据不可分割的一部分,企业的MySQL大数据的组件都是跑在linux环境下的,所以学会linux常用命令不能缺少,重点是要学习一下Linux环境的搭建,搭建平台,,能写shell程序就会更好了。三、学习Hadoop架构设计要学大数据,首先要了解的是如何在单台Windows系统上通过虚拟机搭建多台Linux虚拟机,从而构建Hadoop集群,再建立spark开发环境,环境搭建成功后在网上搜罗一些demo,sql脚本之类,直接动手敲进去一点一点体会。四、采用机器学习模式为了发挥出大数据的优势,提升你的办公效率,就需要实操并应用其中的内容,必然也会涉及大量机器学习及算法,这能最大化的发挥出计算机的性能,也是大数据的优势所在。想了解更多有关数据库的相关信息,推荐咨询达内教育。作为国内IT培训的领导品牌,达内的每一名员工都以“帮助每一个学员成就梦想”为己任,也正因为达内人的执着与努力,达内已成功为社会输送了众多合格人才,为广大学子提供更多IT行业高薪机会,同时也为中国IT行业的发展做出了巨大的贡献。
全国计算机二级数据库考哪些科目?
数据库(DATABASE)技术是计算机科学与现代信息科学的重要组成部分,是计算机数据处理与信息管理系统的核心。随着计算机与网络技术的飞速发展,internet与市场决定了信息时代的到来,使得数据信息的管理、加工以及分析都显得至关重要,目前几乎所有的应用都是以强大的数据库作为支持。同时,利用数据库作为日常数据的管理工具需求,也正在不断的由专业计算机人员向OFFICE办公用户发展。数据库软件的易用性就变得非常重要。
考试内容:
一、Visual Basic程序开发环境:①Visual Basic的特点和版本。②Visual Basic的启动与退出。③主窗口:(1)标题和菜单。(2)工具栏。④其他窗口:(1)窗体设计器和工程资源管理器。
(2)属性窗口和工具箱窗口。
二、对象及其操作
①对象:(1)Visual Basic的对象、(2)对象属性设置。② 窗体:(1)窗体的结构与属性、(2)窗体事件。③控件:(1)标准控件、(2)控件的命名和控件值。④控件的画法和基本操作。⑤事件驱动。
三、数据类型及其运算
①数据类型:(1)基本数据类型、(2)用户定义的数据类型。② 常量和变量:(1)局部变量与全局变量、(2)变体类型变量、(3)缺省声明。③常用内部函数。④运算符与表达式:(1)算术运算符、(2)关系运算符与逻辑运算符、(3)表达式的执行顺序。
四、数据输入、输出
①数据输出:(1)Print 方法、(2)与Print 方法有关的函数(Tab,Spc,Space$)、(3)格式输出(Format$)。② InputBox函数。③MsgBox函数和MsgBox语句。④字形。⑤打印机输出:
(1)直接输出、(2)窗体输出。
五、常用标准控件
①文本控件:(1)标签、(2)文本框。② 图形控件:(1)图片框,图像框的属性,事件和方法、(2)图形文件的装入、(3)直线和形状。③ 按钮控件。④ 选择控件:复选框和单选按钮。⑤ 选择控件:列表框和组合框。⑥ 滚动条。⑦ 计时器。⑧框架。⑨焦点与Tab顺序。
六、控制结构
①选择结构:
(1)单行结构条件语句、(2)块结构条件语句、(3)IIf 函数。②多分支结构。③For 循环控制结构。④ 当循环控制结构。⑤Do循环控制结构。⑥多重循环。
七、数组
① 数组的概念:(1)数组的定义、(2)静态数组与动态数组。②数组的基本操作:(1)数组元素的输入、输出和复制、(2)ForEach. . . Next 语句、(3)数组的初始化。③ 控件数组。
八、过程
①Sub过程:(1)Sub过程的建立、(2)调用Sub过程、(3)通用过程与事件过程。②Function过程:(1)Function过程的定义、(2)调用Function过程。③参数传送:(1)形参与实参、(2)引用、(3)传值、(4)数组参数的传送。④可选参数与可变参数。⑤ 对象参数:(1)窗体参数、(2)控件参数。
九、菜单与对话框
① 用菜单编辑器建立菜单。② 菜单项的控制:(1)有效性控制、(2)菜单项标记、(3)键盘选择。③菜单项的增减。④弹出式菜单。⑤通用对话框。⑥文件对话框。⑦其他对话框(颜色,字体,打印对话框)。
十、多重窗体与环境应用
① 建立多重窗体应用程序。②多重窗体程序的执行与保存。③ Visual Basic工程结构:(1)标准模块、(2)窗体模块、(3)SubMain过程。④闲置循环与DoEvents语句。
十一、键盘与鼠标事件过程
①KeyPress事件。②KeyDown与KeyUp事件。③鼠标事件。④ 鼠标光标。⑤ 拖放。
十二、数据文件
①文件的结构和分类。②文件操作语句和函数。③顺序文件:(1)顺序文件的写操作、(2)顺序文件的读操作。④随机文件:(1)随机文件的打开与读写操作、(2)随机文件中记录的增加与删除、(3)用控件显示和修改随机文件。⑤文件系统控件:(1)驱动器列表框和目录列表框、(2)文件列表框。⑥文件基本操作。
考试方式:
上机考试,考试时长120分钟,满分100分。
1. 题型及分值:
单项选择题40分(含公共基础知识部分10分)。
基本操作题18分。
简单应用题24分。
综合应用题18分。
2. 考试环境:
Microsoft Visual Basic6.0。
上半年是6月份,下半年是12月份。
Access数据库程序设计
基本要求
1、 具有数据库系统的基础知识。
2、 基本了解面向对象的概念。
3、 掌握关系数据库的基本原理。
4、 掌握数据库程序设计方法。
5、 能使用Access建立一个小型数据库应用系统。
考试内容
一、数据库基础知识
1、 基本概念:
数据库,数据模型,数据库管理系统,类和对象,事件。
2、 关系模型(实体的完整性,参照的完整性,用户定义的完整性)关系模式,关系,元组,属性,字段,域,值,主关键字等。
3、 关系运算基本概念:
选择运算,投影运算,连接运算。
4、 SQL基本命令:查询命令,操作命令。
5、 Access系统简介:
(1)Access系统的基本特点。
(2)基本对象:表,查询,窗体,报表,页,宏,模块。
二、数据库和表的基本操作
1、 创建数据库:
(1)创建空数据库。
(2)使用向导创建数据库。
2、 表的建立:
(1) 建立表结构:使用向导,使用表设计器,使用数据表。
(2) 设置字段属性。
(3) 输入数据:直接输入数据,获取外部数据。
3、 表间关系的建立与修改:
(1) 表间关系的概念:一对一,一对多。
(2) 设置参照完整性。
(3) 建立表间关系。
4、 表的维护:
(1) 修改表结构:添加字段,修改安段,删除字段,重新设置主关键字。
(2) 编辑表内容:添加记录,个性记录,删除记录,复制记录。
(3) 调整表外观。
5、 表的其他操作:
(1) 查找数据。
(2) 替换数据。
(3) 排序记录。
(4) 筛选记录。
三、查询的基本操作
1、查询分类
(1) 选择查询。
(2) 参数查询。
(3) 交叉表查询。
(4) 操作查询。
(5) SQL查询。
2、查询准则
(1) 运算符。
(2) 函数。
(3) 表达式。
3、创建查询
(1) 操作已创建的查询
(2) 编辑查询中的字段。
(3) 编辑查询中的数据源。
(4) 排序查询的结果。
四、窗体的基本操作
1、 窗体分类:
(1) 纵栏式窗体
(2) 表格式窗体
(3) 主/子窗体
(4) 数据表窗体
(5) 图表窗体
(6) 数据透视表窗体
2、 创建窗体:
(1) 使用向导创建窗体。
(2) 使用设计器创建窗体:控件的含义及种类,在窗体中添加和修改控件,设置控件的常见属性。
五、报表的基本操作
1、报表分类:
(1) 纵栏式报表。
(2) 表格式报表。
(3) 图表报表。
求全国计算机二级C语言考试的南开100题和公共基础知识的重点!
作为过来人,如果你不是计算机专业,我劝你别考了,费时又费力,当你考过时,你发现你只是有一个证书。如果让你编一个简单的程序你会发现你一段都编不出来,坦白的说给你一个大段的程序代码你也看不懂,所以学好自己专业课,至关重要。
真是的,有重点那不谁都过了啊!
我也在弄二级。
公共基础:四、数据库设计基础
四、数据库设计基础
1、数据库的基本概念:数据库,数据库管理系统,数据库系统。
*数据:(Data)实际上时描述事物的符号记录。
数据库:(Database)是数据的集合,它具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序所共享。
数据库管理系统:(Database Management System)是数据库的机构,他是一种软件,扶着数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等。
数据库系统:(Database System)由如下几部分组成:数据库(数据)、数据库管理系统(软件)、数据库管理员(人员)、系统平台之一—硬件平台(硬件)、系统平台之二-----软件平台(软件)。这五个部分构成了一个以数据库为核心的完整的运行实体,称为数据库系统。
知道:数据库系统包含数据库管理系统
2、数据模型,实体联系模型及E-R图,从E-R图导出关系数据模型。
数据模型:数据室现实世界符号的抽象,而数据模型则是数据特征的抽象,它从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据系统的信息表示与操作提供一个抽象的框架。数据模型所描述的内容有三个部分,它们是数据结构、数据操作与数据约束。
数据模型按不同的应用层次分成三种类型,它们是概念数据模型(概念模型)、逻辑数据模型(数据模型)、物理数据模型(物理模型)。
逻辑数据模型又分为:层次模型、网状模型、关系模型、面向对象模型等。
E-R模型(实体联系模型,它于1976年由Peter Chen首先提出)该模型将现实世界的要求转化成实体、联系、属性等几个基本概念,以及它们间的两种基本联接关系,并且可以用一种图非常直观地表示出来。
实体间的函数关系:一对一、一对多和多对多。
3、关系代数运算,包括集合运算及选择、投影、连接运算,数据库规范化理论。
4、数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略。