A、A::func2( ) 和B::func1( ) 都是虚函数
B、A::func2( ) 和B::func1( ) 都不是虚函数
C、B::func1( ) 是虚函数,而A::func2( ) 不是虚函数
D、B::func1( ) 不是虚函数,而A::func2( ) 是虚函数
12、假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为:。
A、AB operator+(AB & a , AB & b)
B、AB operator+(AB & a)
C、operator+(AB a)
D、AB & operator+( )
13、下面是对虚函数的的正确描述。
A、虚函数不能是友元函数
B、构造函数可以是虚函数
C、析构函数不可以是虚函数
D、虚函数可以静态成员函数
二、填空题
1、C++ 支持的两种多态性分别是_________多态性和________ 多态性。
2、静态编联通过和实现,动态编联通过和实现。
3、函数重载时,须符合相同和、、之一至少不
同
四个条件
4、运算符重载的两种方法:和。
参考答案
第一、二、六、七章习题答案
一、选择题:
1、C
2、A
3、A
4、A
5、D
6、D
7、A
8、A
9、D 10、D
11、A 12、C 13、B 14、B 15、C
16、A
二、填空题
1、继承、多态
2、公有
3、类型个数
4、内置
5、相同的
6、::
7、500 1000
500 500
8、2 8
9、300 600
10、x= y=16 z=C
X= y=2 z=C
11、ABCDEFXHI
12、
13、(两个空格) 7890 7890
14、64 64 64
第三章类和对象
一、选择题
1、D
2、A
3、D
4、C
5、C
6、A
7、A
8、A
9、C 10、B
11、C 12、D 13、C 14、C 15、C 16、A 17、D 18、C 19、A 20、A
二、填空题
1.某个对象的引用
2.值传递,地址传递,引用传递
3.public, private, protected
4.私有或private
5.Private, protected, public
6.构造函数
7.1
8.静态
9.a 是类Sample 的对象引用,用来作函数Set ( )的形参
10.类名::
11.当前对象的地址
12.Constructor
i = 10
i = 20
13.n=10, k=3
n=20, k=3
n=30, k=3
14.5 6 7
15.Constructing A
Constructing B
Destructing B
Destructing A
第四章派生类与继承
一、选择
1、C
2、C
3、D
4、C
5、A
6、C
7、C
8、B
9、D 10、B 11、B 12、A 13、
C 14、
D 15、B
二、填空题
1、私有派生
2、公有派生
3、保护派生
4、私有成员
5、保护成员
6、公有成员
7、基类
8、派生类9、私有性
10、虚基类
第五章多态性参考答案
一、单选题
1、A
2、C
3、D
4、C
5、D
6、A
7、D
8、C
9、C 10、A 11、C 12、B 13、A
二、填空题
1、编译时的(或静态) 运行时的(或动态)
2、函数重载运算符重载继承虚函数
3、函数名形参个数形参类型形参顺序
4、友员运算符函数成员运算符函数
sql数据库基础面试题复习试题考试题_全
不定项选择题(针对以下题目,请选择最符合题目要求的答案,每道题有一项或二项正确答案。针对每一道题目,所有答案都选对,则该题得分,所选答案错误或不能选出所有答案,则该题不得分。题量为50道,每题2分,总分为100分。) 第一章 1、是SQLServer数据库的主数据文件的扩展名。(选择一项) A、.sql B、.mdb C、.ldf D、.mdf 2、在SQL Server 2005中,有系统数据库和用户数据库,下列不属于系统数据库的是()。 (选择一项) A、master B、pubs C、model D、msdb 3、当安装完SQL Server2005数据库时,系统默认当前的超级管理员是( ) (选择一项) A、sa B、master C、administrator D、super 4、在使用SQL Server2005数据库时,有时需要将本机的数据库移动到其他机器上,恢复成对应的数据库使用。移动数据库分两步进行,应包括()和附加数据库(选择一项)A、分离数据库 B、删除数据库 C、新建数据库 D、合并数据库 5、在SQL Server2005中,附加数据库操作是指()(选择一项) A、把SQL Server 数据库文件保存为其他数据文件 B、根据数据库物理文件中的信息,把数据库在SQL Server 2005中恢复 C、把所有该数据库表的数据清空 D、把数据库删除掉 6、某单位由不同的部门组成,不同的部门每天都会生产一些报告、报表等数据,以为都采用纸张的形式来进行数据的保存和分类,随着业务的发展,这些数据越来越多,管理这些报告越来越费力,此时应考虑()(选择一项) A、由多个人来完成这些工作 B、在不同的部门中,由专门的人员去管理这些数据 C、采用数据库系统来管理这些数据 D、把这些数据统一成一样的格式 7、在SQL Server 2005中,对于数据库的定义正确的是()(选择一项) A、数据库是用来描述事物的符号记录 B、数据库是位于用户与操作系统之间的一层数据管理软件
SQL数据库面试题目及其答案
1.触发器的作用? 答: 触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的。 它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。可以联级运算。如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。 2.什么是存储过程?用什么来调用? 答: 存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创建一次,以后在该程序中就可以调用多次。如果某次操作需要执行多次SQL,使用存储过程比单纯SQL语句执行要快。可以用一个命令对象来调用存储过程。 3.索引的作用?和它的优点缺点是什么? 答: 索引就一种特殊的查询表,数据库的搜索引擎可以利用它加速对数据的检索。它很类似与现实生活中书的目录,不需要查询整本书内容就可以找到想要的数据。索引可以是唯一的,创建索引允许指定单个列或者是多个列。 缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小。 3。什么是内存泄漏? 答: 一般我们所说的内存泄漏指的是堆内存的泄漏。堆内存是程序从堆中为其分配的,大小任意的,使用完后要显示释放内存。当应用程序用关键字new等创建对象时,就从堆中为它分配一块内存,使用完后程序调用free或者delete 释放该内存,否则就说该内存就不能被使用,我们就说该内存被泄漏了。
4.维护数据库的完整性和一致性,你喜欢用触发器还是自写业务逻辑?为什 么? 答: 我是这样做的,尽可能使用约束,如check,主键,外键,非空字段等来约束,这样做效率最高,也最方便。其次是使用触发器,这种方法可以保证,无论什么业务系统访问数据库都可以保证数据的完整新和一致性。最后考虑的是自写业务逻辑,但这样做麻烦,编程复杂,效率低下。 5.什么是事务?什么是锁? 答: 事务就是被绑定在一起作为一个逻辑工作单元的SQL语句分组,如果任何一个语句操作失败那么整个操作就被失败,以后操作就会回滚到操作前状态,或者是上有个节点。为了确保要么执行,要么不执行,就可以使用事务。 要将有组语句作为事务考虑,就需要通过ACID测试,即原子性,一致性,隔离性和持久性。 锁: 在所以的DBMS中,锁是实现事务的关键,锁可以保证事务的完整性和并发性。与现实生活中锁一样,它可以使某些数据的拥有者,在某段时间内不能使用某些数据或数据结构。当然锁还分级别的。 6."什么叫视图?游标是什么? 答: 视图是一种虚拟的表,具有和物理表相同的功能。可以对视图进行增,改,查,操作,试图通常是有一个表或者多个表的行或列的子集。对视图的修改不影响基本表。它使得我们获取数据更容易,相比多表查询。 游标:
数据库笔试面试题汇总
1、什么是第三范式(第一范式,第二范式。。。) 2、请说出delete,truncate,drop 的区别 3、怎么样查询特殊字符,如通配符%与_ 4、如何插入单引号到数据库表中 5、怎么获得今天是星期几,还关于其它日期函数用法 6、知道出生日期,如何求年龄? 7、求上个月月底的日期 8、数据库类型中Varchar和char的区别是? 9、已知两张表:人员表(person) 和部门表(depart),表结构如下: 10、数据库Teacher 属性:name,tid,desc,表Student属性:name,sid,related_tid ,desc 查询 所属老师名称为”\like” 的全部学生。 11、设有一个关系表Student (学号stu_id,姓名stu_name,系名stu_dept,课程号 stu_courseid,成绩 grade) 11.1 查询至少选修了四门课程的学生的学号、姓名及平均成绩的select语句? 11.2 将选修课程数小于5的学生名字后面增加一个#号 12、用一条sql语句实现下面结果:怎么把这样一个表Testcol: 13、有两个表T_STU表和T_CLASS表和一个序列sequence序列,T_STU表里有如下字段:........ 13.1 查询入学年龄在18-20的女生或者未输入性别的,实际年龄小的要排在后面 13.2 查询班级名称、学生姓名、性别、缴费(要求显示单位:元),相同班级的要放在一起,姓名根 据字典顺序排列。 13.3 查询各班名称和人数 13.4 查询各班名称和人数,但人数必须不少于2,人数多的放在前面 13.5 查询1980年出生的有哪些学生。 13.6 查询男生和女生人数,没有输入性别的当作男 13.7 查询没有人员的班级 13.8 查询入学年龄在20以上的同学信息 13.9 查询班级平均入学年龄在20及以上的班级 13.10 有工资表salary(e_id,e_date,e_money),求本月发了2笔以上工资的员工信息。 14、有部门表、人员表、工资表。表名和字段名,如下: 14.1 查询:人员名称、部门名称、个人总工资 14.2 查询所有部门的总工资 14.3 查询2008年8月份各部门工资最高的员工信息:部门名称、员工姓名、员工总工资 15、表warehousestorage 数据库笔试面试题汇总
数据库笔试题及标准答案,常见数据库面试题
数据库笔试卷及答案 第一套 一.选择题 1. 下面叙述正确的是______。 A、算法的执行效率与数据的存储结构无关 B、算法的空间复杂度是指算法程序中指令(或语句)的条数 C、算法的有穷性是指算法必须能在执行有限个步骤之后终止 D、以上三种描述都不对 2. 以下数据结构中不属于线性数据结构的是______。A、队列B、线性表C、二叉树D、栈 3. 在一棵二叉树上第5层的结点数最多是______。A、8 B、16 C、32 D、15 4. 下面描述中,符合结构化程序设计风格的是______。 A、使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B、模块只有一个入口,可以有多个出口 C、注重提高程序的执行效率 D、不使用goto语句 5. 下面概念中,不属于面向对象方法的是______。 A、对象 B、继承 C、类 D、过程调用 6. 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是______。 A、可行性分析 B、需求分析 C、详细设计 D、程序编码 7. 在软件开发中,下面任务不属于设计阶段的是______。 A、数据结构设计 B、给出系统模块结构 C、定义模块算法 D、定义需求并建立系统模型 8. 数据库系统的核心是______。 A、数据模型 B、数据库管理系统 C、软件工具 D、数据库 9. 下列叙述中正确的是______。 A、数据库是一个独立的系统,不需要操作系统的支持 B、数据库设计是指设计数据库管理系统 C、数据库技术的根本目标是要解决数据共享的问题 D、数据库系统中,数据的物理结构必须与逻辑结构一致 10. 下列模式中,能够给出数据库物理存储结构与物理存取方法的是______。 A、内模式 B、外模式 C、概念模式 D、逻辑模式 11. Visual FoxPro数据库文件是______。 A、存放用户数据的文件 B、管理数据库对象的系统文件 C、存放用户数据和系统的文件 D、前三种说法都对 12. SQL语句中修改表结构的命令是______。 A、MODIFY TABLE B、MODIFY STRUCTURE C、ALTER TABLE D、ALTER STRUCTURE 13. 如果要创建一个数据组分组报表,第一个分组表达式是"部门",第二个分组表达式是"性别",第三个分组表达式是"基本工资",当前索引的索引表达式应当是______。 A、部门+性别+基本工资 B、部门+性别+STR(基本工资) C、STR(基本工资)+性别+部门 D、性别+部门+STR(基本工资) 14. 把一个工程编译成一个应用程序时,下面的叙述正确的是______。 A、所有的工程文件将组合为一个单一的应用程序文件 B、所有工程的包含文件将组合为一个单一的应用程序文件
数据库笔试题(附带带答案)
选择题 1. 下面叙述正确的是___c___。 A、算法的执行效率与数据的存储结构无关 B、算法的空间复杂度是指算法程序中指令(或语句)的条数 C、算法的有穷性是指算法必须能在执行有限个步骤之后终止 D、以上三种描述都不对 2. 以下数据结构中不属于线性数据结构的是___c___。 A、队列 B、线性表 C、二叉树 D、栈 3. 在一棵二叉树上第5层的结点数最多是__b____。2的(5-1)次方 A、8 B、16 C、32 D、15 4. 下面描述中,符合结构化程序设计风格的是___a___。 A、使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B、模块只有一个入口,可以有多个出口 C、注重提高程序的执行效率 D、不使用goto语句 5. 下面概念中,不属于面向对象方法的是___d___。 A、对象 B、继承 C、类 D、过程调用 6. 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是___b___。 A、可行性分析 B、需求分析 C、详细设计 D、程序编码 7. 在软件开发中,下面任务不属于设计阶段的是__d____。 A、数据结构设计 B、给出系统模块结构 C、定义模块算法 D、定义需求并建立系统模型 8. 数据库系统的核心是___b___。 A、数据模型 B、数据库管理系统 C、软件工具 D、数据库 9. 下列叙述中正确的是__c____。 A、数据库是一个独立的系统,不需要操作系统的支持 B、数据库设计是指设计数据库管理系统 C、数据库技术的根本目标是要解决数据共享的问题 D、数据库系统中,数据的物理结构必须与逻辑结构一致 10. 下列模式中,能够给出数据库物理存储结构与物理存取方法的是___a___。 A、内模式 B、外模式 C、概念模式 D、逻辑模式 11. Visual FoxPro数据库文件是___d___。 A、存放用户数据的文件 B、管理数据库对象的系统文件 C、存放用户数据和系统的文件 D、前三种说法都对 12. SQL语句中修改表结构的命令是___c___。 A、MODIFY TABLE B、MODIFY STRUCTURE C、ALTER TABLE D、ALTER STRUCTURE 13. 如果要创建一个数据组分组报表,第一个分组表达式是"部门",第二个分组表达式是"性别",第三个分组表达式是"基本工资",当前索引的索引表达式应当是__b____。 A、部门+性别+基本工资 B、部门+性别+STR(基本工资) C、STR(基本工资)+性别+部门 D、性别+部门+STR(基本工资) 14. 把一个项目编译成一个应用程序时,下面的叙述正确的是___a___。 A、所有的项目文件将组合为一个单一的应用程序文件 B、所有项目的包含文件将组合为一个单一的应用程序文件
数据库经典笔试题总结
数据库经典笔试题总结.txt和英俊的男人握握手,和深刻的男人谈谈心,和成功的男人多交流,和普通的男人过日子。数据库经典笔试题总结 面试穿什么着装合适,这里找答案! 1,范式 7大范式:1NF, 2NF,3NF,BCNF,4NF,5NF,6NF 什么叫normalization?Denormalization? Normalization是数据库规范化,denormalization是数据库逆规范化。 在设计和操作维护数据库时,关键的步骤就是要确保数据正确地分布到数据库的表中。使用正确的数据结构,不仅便于对数据库进行相应的存取操作,而且可以极大地简化应用程序的其他内容(查询、窗体、报表、代码等)。正确进行表设计的正式名称就是"数据库规范化"。目的:减少数据库中数据冗余,增进数据的一致性。 范式概念: 1)1NF:目标就是表中每列都不可分割; 2)2NF:目标就是表中的每行都是有标识的。前提是满足了1NF. 当关键字为单field时,一定满足2NF。当关键字为组合field时(即超过一个field),不能存在组合关键字中有某个字段能够决定非关键字段的某部分。非主field非部分依赖于主field,即非关键字段必须完全依赖于一组组合关键字,而不是组合关键字的某一部分。 3)3NF:目标是一个table里面所有的列不依赖于另外一个table里面非关键的列。前提是满足了2NF,不存在某个非关键字段决定另外一个非关键字段。即:不存在传递依赖(关键字x->非关键属性y->非关键属性z) 4)BCNF:前提是满足了2NF,不存在某个非关键字段决定另外一个非关键字段。也不存在某个关键字段决定另外一个关键字段。即:在3NF基础上,加上约束:不存在某个关键字段决定另外一个关键字段。 1 第一范式(1NF) 在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在第一范式(1NF)中表的每一行只包含一个实例的信息。例如,对于图3-2 中的员工信息表,不能将员工信息都放在一列中显示,也不能将其中的两列或多列在一列中显示;员工信息表的每一行只表示一个员工的信息,一个员工的信息在表中只出现一次。简而言之,第一范式就是无重复的列。 2 第二范式(2NF) 第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被惟一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。如图3-2 员工信息
mysql数据库笔试练习题复习(一).doc
精品文档 数据库笔试题(一) 一、选择题 1.数据库系统的核心是_B___。 A.数据库 B.数据库管理系统 C.数据模型 D.软件工具 2.SQL语言具有__B__的功能。 A.关系规范化、数据操纵、数据控制 B.数据定义、数据操纵、数据控制 C.数据定义、关系规范化、数据控制 D.数据定义、关系规范化、数据操纵 3.SQL语言的数据操纵语句包括 SELECT,INSERT,UPDATE和 DELETE,最重要的,也是使用最频繁的语句是__A__。 A.SELECT B.INSERT C.UPDATE D.DELETE 4.在关系数据库设计中,设计关系模式是__C__的任务。 A.需求分析阶段 B.概念设计阶段 C.逻辑设计阶段 D.物理设计阶段5.__C__是DBMS的基本单位,它是用户定义的一组逻辑一致的程序序列。 A.程序 B.命令 C.事务 D.文件 6.在数据库中,产生数据不一致的根本原因是__D__。 A.数据存储量太大 B.没有严格保护数据 C.未对数据进行完整性控制 D.数据冗余
7.下列SQL语句中,创建关系表的是__B__。 A.ALTER B.CREATE C.UPDATE D.INSERT 8.数据库的__B__是为了保证由授权用户对数据库所做的修改不会影响数据一致性的损失。 A.安全性 B.完整性 C.并发控制 D.恢复 9.事务是数据库进行的基本工作单位。如果一个事务执行成功,则全部更新提交;如果一个事务执行失败,则已做过的更新被恢复原状,好像整个事务从未有过这些更新,这样保持了数据库处于_____B___状态。 A.安全性 B.一致性 C.完整性 D.可靠性 10.对并发操作若不加以控制,可能会带来数据的___D_问题。 A.不安全 B.死锁 C.死机 D.不一致 二、填空题 1.数据冗余可能导致的问题有____________________和 _____________________。 答案:①浪费存储空间及修改麻烦②潜在的数据不一致性 2.数据库在运行过程中可能产生的故障有____________、_______________、 ___________。 答案:①Transaction failure ②System crash ③Disk failure 3.视图是一个虚表,它是从_________中导出的表。在数据库中,只存放视图的 ________,不存放视图的_____________。 答案:一个或几个基本表、定义、视图对应的数据 4.关系操作的特点是____________操作。 答案:集合 三、简答题
数据库面试问题汇总
数据库面试问题汇总 1.数据库管理命令 1.1查询所有数据库 ---- show databases; 1.2创建数据库,并将数据库字符集默认为utf-8 ----create database day814 ----default character set utf8 -----; 1.3查看数据库的默认字符集 ----show create database day814; 1.4 删除数据库 ---- drop database day15; 1.5 修改数据库(即修改数据库的默认字符集) -----alert database day814 default character set gbk; 2.表管理命令 2.1选择数据库命令 ----- use day814; 2.2查看所有表 ---- show tables; 2.3 创建表 ---- create table student( -----sid int, -----sage int, -----sname varchar(20) -----); 2.4 查看表结构 ------desc student; 2.5 删除表 ----- drop table student; 2.6 修改表 添加字段 -----alter table student add column sgender varchar(2); 删除字段 -----alter table studnet drop column s gender; 修改字段类型 -----alter table student modify column sgender varchar(100); 修改字段名称 -----alter table student change column sgender gender varchar(100); 修改表名称 -----alter table student rename to teacher; 3.数据管理
SQL数据库面试题目及其答案
1.触发器的作用? 答:触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的。 它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。可以联级运算。如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。 2.什么是存储过程?用什么来调用? 答:存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创建一次,以后在该程序中就可以调用多次。如果某次操作需要执行多次SQL,使用存储过程比单纯SQL语句执行要快。可以用一个命令对象来调用存储过程。 3.索引的作用?和它的优点缺点是什么? 答:索引就一种特殊的查询表,数据库的搜索引擎可以利用它加速对数据的检索。它很类似与现实生活中书的目录,不需要查询整本书内容就可以找到想要的数据。索引可以是唯一的,创建索引允许指定单个列或者是多个列。 缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小。 3。什么是内存泄漏? 答:一般我们所说的内存泄漏指的是堆内存的泄漏。堆内存是程序从堆中为其分配的,大小任意的,使用完后要显示释放内存。当应用程序用关键字new 等创建对象时,就从堆中为它分配一块内存,使用完后程序调用free或者delete释放该内存,否则就说该内存就不能被使用,我们就说该内存被泄漏了。 4.维护数据库的完整性和一致性,你喜欢用触发器还是自写业务逻辑?为什么? 答:我是这样做的,尽可能使用约束,如check,主键,外键,非空字段等来约束,这样做效率最高,也最方便。其次是使用触发器,这种方法可以保证,无论什么业务系统访问数据库都可以保证数据的完整新和一致性。最后考虑的是自写业务逻辑,但这样做麻烦,编程复杂,效率低下。 5.什么是事务?什么是锁? 答:事务就是被绑定在一起作为一个逻辑工作单元的SQL语句分组,如果任何一个语句操作失败那么整个操作就被失败,以后操作就会回滚到操作前状态,或者是上有个节点。为了确保要么执行,要么不执行,就可以使用事务。 要将有组语句作为事务考虑,就需要通过ACID测试,即原子性,一致性,隔离性和持久性。 锁:在所以的DBMS中,锁是实现事务的关键,锁可以保证事务的完整性和并发性。与现实生活中锁一样,它可以使某些数据的拥有者,在某段时间内不能使用某些数据或数据结构。当然锁还分级别的。
数据库笔试面试题
整理出来供大家参考 1.数据库技术经历哪几个发展阶段? 答:数据库技术随着计算机硬件和软件技术的发展,经历了如下3个阶段(1人工管理阶段(2 文件系统阶段(3 数据库管理阶段 2.数据库技术在人工管理阶段的特点是哪些? 答:该阶段数据管理的特点是(1数据不保存。因为计算机主要应用于科学计算, 一般不需要将数据长期保存(2数据需要由应用程序自己进行管理。 应用程序不仅要规定数据的逻辑结构,而且还要设计物理结构,包括存储结构,存取方法,输入输出方式等。(3 这一时期基本上没有文件概念,数据的组织方式必须由程序员自行设计(4 数据不共享。一组数据对应一个程序,数据是面向应用的 3.数据库系统的发展可以划分哪几代? 答:数据库系统起源于60年代中期,其发展可以划分为三代(1第一代数据库系统, 机层次数据库系统和网状数据库系统,主要支持层次和网状数据模型,其特点是支持三级抽象模式的体系结构;用指针来表示数据之间的联系,数据定义语言和数据操作语言相对独立,数据库语言采用过程性语言(2第二代数据库系统,即关系数据库系统主要支持关系数据模型,有严格的理论基础,概念简单、清晰、易于理解和使用。关系模型一经提出,便迅速发展,成为使用性最强产品。该数据库系统的主要特点是:概念单一化,数据及其数据 间的联系都要用关系来表示;以关系代数为理论基础;数据独立性强,数据库语言采用说明性语言,简化了编程难度(3 第三代数据库系统, 即面向对象数据库系统,它基于扩展的关系数据模型或面向对象数据模型,是尚未成熟的一代数据库系统,其主要特点是支持包括数据、对象和知识的管理;在保持和继承第二代数据库系统的技术基础引入面向对象技术;对其他系统开放,具有良好的可移值性棵连接性、扩展性和可互操作性 5.关系数据模型的操纵与完整性的约束各有哪些?
Oracle数据库DBA面试题及答案_经典
1.OracleDBA面试题之一解释冷备份和热备份的不同点以及各自的优点 解答:热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份。而冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库。热备份的优点在于当备份时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点。 冷备份的优点在于它的备份和恢复操作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,数据库性能会比归档模式稍好。(因为不必将archive log写入硬盘) 2. 你必须利用备份恢复数据库,但是你没有控制文件,该如何解决问题呢? 解答:重建控制文件,用带backup control file 子句的recover 命令恢复数据库。 3. 如何转换init.ora到spfile? 解答:使用create spfile from pfile 命令 4. OracleDBA面试题:解释data block , extent 和 segment的区别(这里建议用英文术语) 解答:data block是数据库中最小的逻辑存储单元。当数据库的对象需要更多的物理存储空间时,连续的data block就组成了extent . 一个数据库对象拥有的所有extents 被称为该对象的segment. 5. 给出两个检查表结构的方法 解答:1、DESCRIBE命令 2、DBMS_METADATA.GET_DDL 包 6. 怎样查看数据库引擎的报错 解答:alert log. 7. 比较truncate和delete 命令 解答:两者都可以用来删除表中所有的记录。区别在于:truncate是DDL操作,它移动HWK,不需要 rollback segment .而Delete是DML操作需要rollback segment 且花费较长时间. 8. 使用索引的理由 解答:快速访问表中的data block 9. 给出在STAR SCHEMA中的两种表及它们分别含有的数据 解答:Fact tables 和dimension tables. fact table 包含大量的主要的信息而dimension tables 存放对fact table 某些属性描述的信息
数据库面试题整理
数据库部分 1、数据库三范式是什么? 第一范式(1NF): 字段具有原子性,不可再分。所有关系型数据库系统都满足第一范式)数据库表中的字段都是单一属性的,不可再分。例如,姓名字段,其中的姓和名必须作为一个整体,无法区分哪部分是姓,哪部分是名,如果要区分出姓和名,必须设计成两个独立的字段。 第二范式(2NF): 第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。要求数据库表中的每个实例或行必须可以被惟一地区分。通常需要为表加上一个列,以存储各个实例的惟一标识。这个惟一属性列被称为主关键字或主键。第二范式(2NF)要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。简而言之,第二范式就是非主属性非部分依赖于主关键字。 第三范式(3NF): 满足第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。 所以第三范式具有如下特征: 1,每一列只有一个值 2,每一行都能区分。 3,每一个表都不包含其他表已经包含的非主关键字信息。 例如,帖子表中只能出现发帖人的id,而不能出现发帖人的id,还同时出现发帖人姓名,否则,只要出现同一发帖人id 的所有记录,它们中的姓名部分都必须严格保持一致,这就是数据冗余。
2、说出一些数据库优化方面的经验? 1、关键字段建立索引。 2、使用存储过程,它使SQL变得更加灵活和高效。 3、备份数据库和清除垃圾数据。 4、SQL语句语法的优化。 5、清理删除日志。 3、union 和union all 有什么不同? UNION 在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。实际大部分应用中是不会产生重复的记录,最常见的是过程表与历史表UNION。这个SQL 在运行时先取出两个表的结果,再用排序空间进行排序删除重复的记录,最后返回结果集,如果表数据量大的话可能会导致用磁盘进行排序。而UNION ALL 只是简单的将两个结果合并后就返回。这样,如果返回的两个结果集中有重复的数据,那么返回的结果集就会包含重复的数据了。 从效率上说,UNION ALL 要比UNION 快很多,所以,如果可以确认合并的两个结果集中不包含重复的数据的话,那么就使用UNION ALL, 4.分页语句 取出sql 表中第31到40的记录(以自动增长ID 为主键) sql server 方案1: selecttop 10 * from t where id not in (select top 30 id from t order by id ) orde byid sql server 方案2: selecttop 10 * from t where id in (select top 40 id from t order by id) order by iddesc mysql 方案:
数据库笔试题及答案,常见数据库面试题
数据库笔试题及答案 第一套 一.选择题 1. 下面叙述正确的是______。 A、算法的执行效率与数据的存储结构无关 B、算法的空间复杂度是指算法程序中指令(或语句)的条数 C、算法的有穷性是指算法必须能在执行有限个步骤之后终止 D、以上三种描述都不对 2. 以下数据结构中不属于线性数据结构的是______。A、队列B、线性表C、二叉树D、栈 3. 在一棵二叉树上第5层的结点数最多是______。A、8 B、16 C、32 D、15 4. 下面描述中,符合结构化程序设计风格的是______。 A、使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B、模块只有一个入口,可以有多个出口 C、注重提高程序的执行效率 D、不使用goto语句 5. 下面概念中,不属于面向对象方法的是______。 A、对象 B、继承 C、类 D、过程调用 6. 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是______。 A、可行性分析 B、需求分析 C、详细设计 D、程序编码 7. 在软件开发中,下面任务不属于设计阶段的是______。 A、数据结构设计 B、给出系统模块结构 C、定义模块算法 D、定义需求并建立系统模型 8. 数据库系统的核心是______。 A、数据模型 B、数据库管理系统 C、软件工具 D、数据库 9. 下列叙述中正确的是______。 A、数据库是一个独立的系统,不需要操作系统的支持 B、数据库设计是指设计数据库管理系统 C、数据库技术的根本目标是要解决数据共享的问题 D、数据库系统中,数据的物理结构必须与逻辑结构一致 10. 下列模式中,能够给出数据库物理存储结构与物理存取方法的是______。 A、内模式 B、外模式 C、概念模式 D、逻辑模式 11. Visual FoxPro数据库文件是______。 A、存放用户数据的文件 B、管理数据库对象的系统文件 C、存放用户数据和系统的文件 D、前三种说法都对 12. SQL语句中修改表结构的命令是______。 A、MODIFY TABLE B、MODIFY STRUCTURE C、ALTER TABLE D、ALTER STRUCTURE 13. 如果要创建一个数据组分组报表,第一个分组表达式是"部门",第二个分组表达式是"性别",第三个分组表达式是"基本工资",当前索引的索引表达式应当是______。 A、部门+性别+基本工资 B、部门+性别+STR(基本工资) C、STR(基本工资)+性别+部门 D、性别+部门+STR(基本工资) 14. 把一个项目编译成一个应用程序时,下面的叙述正确的是______。 A、所有的项目文件将组合为一个单一的应用程序文件 B、所有项目的包含文件将组合为一个单一的应用程序文件
数据库面试基础知识总结
1. 数据抽象:物理抽象、概念抽象、视图级抽象,内模式、模式、外模式 提示: (1). 概念模式:(面向单个用户的) 是数据中全部数据的整体逻辑结构的描述。它由若干个概念记录类型组成。 (2). 外模式:(面向全局的) 是用户与数据库系统的接口,是用户用到的那部分数据的描述。它由若干个外部记录类型组成。 (3). 内模式:(面向存储的) 是数据库在物理存储方面的描述,它定义所有的内部记录类型、索引、和文件的组织方式,以及数据控制方面的细节。 模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。对应与同一个模式可以有任意多个外模式。在数据库中提供两级映像功能,即外模式/模式映像和模式/内模式映像。对于没一个外模式,数据库系统都有一个外模式/模式映像它定义了该外模式与模式之间的对应关系。这些映像定义通常包括在各自外模式的描述中,当模式改变时,由数据库管理员对各个外模式/模式的映像做相应改变,可以使外模式保持不变,从而应用程序不必修改,保证了数据的逻辑独立性。数据库中只有一个模式,也只有一个内模式,所以模式/内模式映像是唯一的,它定义了数据全局逻辑结构与存储结构之间的对应关系。当数据库的存储结构改变了,由数据库管理员对模式/内模式映像做相应改变,可以使模式保持不变,从而保证了数据的物理独立性。 2. SQL语言包括数据定义、数据操纵(Data Manipulation),数据控制(Data Control) 数据定义:Create Table,Alter Table,Drop Table,Craete/Drop Index等 数据操纵:Select ,insert,update,delete, 数据控制:grant,revoke 3. SQL常用命令 CREATE TABLE Student( ID NUMBER PRIMARY KEY, NAME V ARCHAR2(50) NOT NULL);//建表 CREATE VIEW view_name AS Select * FROM Table_name;//建视图 Create UNIQUE INDEX index_name ON TableName(col_name);//建索引 INSERT INTO tablename {column1,column2,…} values(exp1,exp2,…);//插入 INSERT INTO Viewname {column1,column2,…} values(exp1,exp2,…);//插入视图实际影响表 UPDA TE tablename SET name=’zang 3’ condition;//更新数据 DELETE FROM Tablename WHERE condition;//删除 GRANT (Select,delete,…) ON (对象) TO USER_NAME [WITH GRANT OPTION];//授权 REVOKE (权限表) ON(对象) FROM USER_NAME [WITH REVOKE OPTION] //撤权 列出工作人员及其领导的名字: Select https://www.360docs.net/doc/f215759228.html,,https://www.360docs.net/doc/f215759228.html, FROM EMPLOYEE E S WHERE E.SUPERName=https://www.360docs.net/doc/f215759228.html, 4. 视图 提示: 计算机数据库中的视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的
数据库常见笔试题汇总
数据库常见笔试题汇总
选择题 1. 下面叙述正确的是___c___。 A、算法的执行效率与数据的存储结构无关 B、算法的空间复杂度是指算法程序中指令(或语句)的条数 C、算法的有穷性是指算法必须能在执行有限个步骤之后终止 D、以上三种描述都不对 2. 以下数据结构中不属于线性数据结构的是 ___c___。 A、队列 B、线性表 C、二叉树 D、栈 3. 在一棵二叉树上第5层的结点数最多是__b____。2的(5-1)次方 A、8 B、16 C、32 D、15 4. 下面描述中,符合结构化程序设计风格的是 ___a___。 A、使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B、模块只有一个入口,能够有多个出口 C、注重提高程序的执行效率 D、不使用goto语句 5. 下面概念中,不属于面向对象方法的是___d___。
A、对象 B、继承 C、类 D、过程调用 6. 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是___b___。 A、可行性分析 B、需求分析 C、详细设计 D、程序编码 7. 在软件开发中,下面任务不属于设计阶段的是 __d____。 A、数据结构设计 B、给出系统模块结构 C、定义模块算法 D、定义需求并建立系统模型 8. 数据库系统的核心是___b___。 A、数据模型 B、数据库管理系统 C、软件工具 D、数据库 9. 下列叙述中正确的是__c____。 A、数据库是一个独立的系统,不需要操作系统的支持 B、数据库设计是指设计数据库管理系统 C、数据库技术的根本目标是要解决数据共享的问题 D、数据库系统中,数据的物理结构必须与逻辑结构一致 10. 下列模式中,能够给出数据库物理存储结构与物理存取方法的是___a___。 A、内模式 B、外模式 C、概念模式 D、逻辑模式 11. Visual FoxPro数据库文件是___d___。
数据库面试题
1.写出学生表增删查改的语句(考基础的) 2.有三张表用not in not exists left join 写出获奖图书的作者信息,比较哪一种最优 上面的是笔试题。 3道Linux的题目,一道是自己熟悉的os的性能数据的命令,统计文件中指定字符串个数,linux的几个内核参数 数据库的是大头,考了执行计划的执行顺序和解释,优化SQL 写了一个动态的批量提交的存储过程 实例恢复的大概流程,redo,undo的作用什么的 生产环境压力很大的时候,说说自己会怎么做,类似的问题,记不请了 大概就是这样吧 总结:linux得深入学习学习了,复习基础shell + 看实际程序 + 操作系统命令(尤其跟DB管理有关的)+ 有时间看看内核方面的。以前看的shell,因为仅仅是理论,没有实际运用经验,所以很快忘光光,真让自己写起来,觉得茫然无从下手。 一、Transact-SQL问题: 1 有订单表SO_Table,单号字段RefNo VARCHAR(10),需要实现自动编号,格式为YYYYMMXXXX,其中XXXX为序号,如:2004050001,2004050002 (2004059999) 等,采用Transact-SQL实现新订单编号的思路。 2 有表T1,T2,现有一事务,在向表T1添加数据时,同时也必须向T2也添加数据,如何确何数据的完整性。 3 如何求表中相邻(按聚集索引相邻)的两条记录的某字段的值之差,用Transact-SQL语句或存储过程。 4 如何删除表中的重复数据,用Transact-SQL写出代码。 5 基于MS-SQLSERVER 2000,如何统计数据库中所有用户表的数据,显示格式如下: 表名记录数 sales 23 6 人员情况表(employee)中字段包括,员工号(ID),姓名(name),年龄(age),文化程度(wh):包括四种情况(本科以上,大专,高中,初中以下),现在我要根据年龄字段查询统计出:表中文化程度为本科以上,大专,高中,初中以下,各有多少人,占总人数多少。结果如下: 学历年龄人数百分比 本科以上 20 34 14 大专 20 33 13 高中 20 33 13
数据库笔试题(考察基本SQL能力)
注意:尽量不要用“in”及“=”,用关联查询。 表:--1.学生表 Student(S#,Sname,Sage,Ssex) --S# 学生编号,Sname 学生姓名, Sage 出生年月,Ssex 学生性别 --2.课程表 Course(C#,Cname,T#) -- C# 课程编号,Cname 课程名称,T# 教师编号 --3.教师表 Teacher(T#,Tname) --T# 教师编号,Tname 教师姓名 --4.成绩表 SC(S#,C#,score) -- S# 学生编号,C# 课程编号,score 分数 题目: 1、查询“01”课程比“02”课程成绩高的学生的信息及课程分数? Select s.S#, s.Sname, s.Sage, s.Ssex, middle.score01, middle.score02 from Student s, ( Select a.S#, a.score as score01, b.scor e as score02 from SC a, SC b where a.S#=b.S# and a.C#=’01’ and b.C#=’02’ and a.score > b.score) middle where s.S# = middle.S#; 2、查询平均成绩大于等于60分的同学的学生编号和学生姓名和平均成绩? Select s.S#, s.Sname, middle.avgScore from Student s, (Select S#, avg(score) as avgScore from SC group by S# having avgScore>=60) middle where s.S# = middle.S#; 3、查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩? Select s.S#, s.Sname, middle.Cs, middle.Ss from Student s, (Select S#, count(C#) as Cs, sum(score) as Ss from SC group by S# ) middle Where s.S# = middle.S#; 4、查询学过“张三”老师授课的同学的信息? Select s.S#, s.Sname, s.Sage, s.Ssex from Student s, Course c, Teacher t, SC sc Where t.Tname = “张三”and c.T# = t.T# And c.C# = sc.C# and sc.S# = s.S#; 5、查询学过编号为“01”并且也学过编号为“02”的课程的同学的信息? Select s.* from Student s, SC sc01, SC sc02 Where sc01.C#=’01’ and sc02.C#=’02’ And s.S#=sc01.S# and s.S#=sc02.S#; 6、查询没有学全所有课程的同学的信息? Select count(distinct C#) from SC; -- 记录为total Select s.* from Student s, (Select S#, count(distinct C#) as cs from SC group by S# having cs< total) middle Where s.S# = middle.S#;