没有合适的资源?快使用搜索试试~ 我知道了~
首页中科大软件学院复试资料.doc
资源详情
资源评论
资源推荐
1
软件工程复试总结
一、数据库部分
数据库绪论
1、简述三层模式、两级映射,分别有什么作用?
模式(逻辑模式):是数据库中全体数据的逻辑结构和特征的描述,是数据库系统模
式结构的中间层,即不涉及数据的物理存储细节,也与具体应用程序开发工具语言无关。
外模式(用户模式):是用户能看见和使用的局部数据的逻辑结构和特征描述,是与
某一应用有关的数据的逻辑表示,是模式的子集,一个数据库可以有多个外模式。
内模式(存储模式):数据物理结构和存储方式的描述,是数据在数据库内部的表示
方式,如存储方式是按照某个属性升序存储,什么索引等。
外模式模式映像:当模式发生改变,数据库管理员对外模式模式映像作相应改变,可
使外模式不变,从而应用程序不用修改。保证数据与程序的逻辑独立性。
模式内模式映像:当数据库的存储结构改变了,由数据库管理员对模式内模式映像作
相应改变,可以保持模式不变,从而应用程序也不必改变,保证了数据与程序的物理独立
性。
三级模式使用户能逻辑地抽象地处理数据而不关心数据在计算机内具体表示方式与存
储方式,两级映像保证了数据库系统中的数据有较高的逻辑独立性和物理独立性。
2、说出至少三种数据库类型(层次,网状,关系)并简要解释了一下
层次模型:用树形结构来表示各类实体以及实体间的联系,有且只有一个节点没有双
亲节点(根节点),其他的都有且只有一个双亲节点。只能能直接表示的是一对多联系。
优点:效率高结构清晰,性能优于关系数据库,不低于网状。缺点:现实世界很多联
系都不是层次的,如节点间多对多联系,还有一个节点具有多个双亲的情况都不好表示。
网状模型:对于非层次关系的联系,用层次表示非树形结构是很不直接的,网状模型
可以很好的表示,它允许有一个以上的节点没有双亲,一个节点也可以有多个双亲,可以
更直接地描述现实世界。
优点:更直接描述现实世界,性能也较好,存取效率也较高。缺点:结构比较复杂不
利于掌握,用户编程还得了解系统结构细节,加重了编程的负担。
2
关系模型:通常来看关系就是一张规范二维表,实体还是实体间的联系都用关系来表
示,对数据的检索和更新结果也是关系。
优点:概念单一,用户易懂易用,而且存取路径是对用户透明的,从而有更高的数据
独立性和安全性,也简化程序员的工作。缺点:查询效率往往不如格式化数据模型,为了
提高性能,增加开发 DBMS 难度。
关系数据库
3、简述关系与关系模式的区别。
关系实质是一张二维表,关系模式是对关系的描述,关系是关系模式在某一时刻的状
态或内容。
关系模式是静态的、稳定的,而关系是动态的,随时间不断变化的,因为关系操作不
断更新数据库中的数据。
通俗的说:关系是一张二维表,关系模式是表格的描述(表头),关系名是表名,元
祖是一行,属性是列,分量一条记录中的一个列值。
4、什么是关系数据库?关系和二维表有什么区别?
关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方
法来处理数据库中的数据。
在关系模型中,数据结构表示为一个二维表,一个关系就是一个二维表(但不是任意
一个二维表都能表示一个关系。表中的第一行通常称为属性名,表中的每一个元组和属性
都是不可再分的,且元组的次序是无关紧要的。
5、关系的完整性(实体完整性、参照完整性、用户自定义)和数据库主键的约束性
实体完整性:关系的主码不能取空值,如果主码由若干属性组成都不能为空。实体以
主码作为唯一性标识。
参照完整性:一个关系中的外码,或者取空值(若属性组全为空),或者等于它参照
的那个关系的主码值。
用户自定义完整性:针对具体关系数据库的约束。
数据库语言 SQL
6、什么是 DDL、DML、DCL?(数据库语言有哪几种?)
数据定义语言(DDL): Create、Drop、Alter
数据操纵语言(DML): Insert、Update、Delete
数据控制语言(DCL): Grant、Revoke
数据查询语言:Select
7、什么是视图,有什么作用?在数据库哪层?
3
视图:是从一个或几个基本表导出的表,是一个虚表,数据库只存放视图的定义,不
存放视图对应的数据,数据仍放在原来的基本表,基本表数据改变,通过视图查询也改变
了,
作用:1、能够简化用户操作,使数据库看起来更简单,清晰,简化查询操作。2、更
安全,机密数据不出现在不应该看到这些数据的用户视图上。3、重构数据库时候,改变
视图不用修改程序,使数据具有逻辑独立性。
数据库设计
8、简述数据库设计的几个阶段
需求分析:详细调查现实世界要处理的对象,充分了解各种需求,在此基础确定新系
统的功能。
概念结构设计:经常采用自顶向下需求分析,自底向上概念结构设计。对需求分析收
集到的数据进行分类组织形成实体、实体的属性,确定实体之间联系,设计分 E-R 图。逐
一设计分 E-R 图,最后将所有分 E-R 图综合成一个系统的 E-R 图。
逻辑结构设计:一般来讲把 E-R 图向关系模型转换,一个实体型转换为一个关系模式。
一个一对一联系可以独立也可以和任意一端合并,一个一对多联系可以独立也可以和 N 端
对应的关系模式合并,一个多对多联系独立转换为一个关系模式。对数据模型规范化,还
根据具体需求设计相应的视图。
数据库物理设计:关系模式存取方法的选择,比如索引、聚簇、哈希等存储方式。还
应该确定数据库的存取结构,目前许多计算机有多个磁盘或磁盘阵列,因此可以将表和索
引放在不同的磁盘上,在查询时磁盘驱动器并行工作,可以提高物理 IO 读写效率,也可以
将比较大的表放在两个磁盘上,以加快存取速度。
数据库的实施与维护:比如备份与恢复等待。
9、什么是 E-R 图
E-R 图:实体-联系图,在概念结构设计中,对需求分析收集到的数据进行分类组织形
成实体、实体的属性,确定实体之间联系,设计 E-R 图。
10、分别解释 1NF、2NF、3NF、BCNF、4NF
范式:关系数据库中的关系是要满足一定要求的,满足不同程度的要求的为不同范式。
规范化:一个低一级范式关系模式通过模式分解可以转化为若干个高一级范式的关系
模式的集合。
1NF:满足最低要求的叫第一范式,每一个分量必须是一个不可分的数据项。
2NF:消除关系中的部分函数依赖就称为第二范式,部分函数依赖就是非主属性不完
全依赖于码。
3NF:每一个非主属性既不部分依赖于码,也不传递依赖于码。
BCND:所有非主属性对每一个码都是完全函数依赖,没有任何属性完全依赖于非码
4
的任何属性,就是除了码外一定不能有决定因素。
数据库并发控制
11、什么是事物,并发控制是保证事物的?
事物:是一系列的数据操作,这些操作要么全不做,要么全做,不可分割。运行过程
中发生某种故障不能继续执行,全部回滚到开始状态。
并发控制中多个用户存取数据库时候可能会产生多个事物同时存取同一个数据的情况,
不加控制就会破坏事物的一致性,为了保证事物的一致性所以进行并发控制。
12、ACID(事物的四个性质)
A 原子性:要么都做,要么都不做。
C 一致性:如果运行中发生故障,必须回滚。不能让数据不一致。比如两人转钱,一
半坏了,不一致俩人都没有钱。
I 隔离性:一个事物不能被其他事物干扰。
D 持续性:事物一旦提交,他对数据库的改变就应该是永久的。接下来的操作和故障
不应该对刚才结果有任何影响。
13、数据库中锁有什么作用?什么是只读锁、什么是只写锁?
一个事物对数据加锁可以保证事物的四个特性,加锁后其他事物不能更新此数据对象,
不会产生数据不一致性。
写锁(排他锁/ X 锁):加写锁其他事物不能在对这个数据加任何类型锁,释放之前不
能读取和修改。
读锁(共享锁/ S 锁):事物对数据加读锁,其他事物可以读但不可以修改,可以加读
锁不能加写锁。
14、什么是触发器,有什么作用?
用户定义在关系表上的一类由事件驱动的特殊过程,一旦定义了,用户对表的增、删、
改操作均有数据库系统自动激活相应触发器
触发器可以分为语句触发器和行级触发器,触发器动作体是一个匿名 PL/SQL 过程块,
语句级触发器可以在语句执行前或后执行,而行级触发在触发器所影响的每一行触发一次
行触发器用户可以用 new 和 old 引用数据,语句级不能。
二、数据结构部分
线性表
5
15、单链表的就地逆置
将头结点摘下,然后从第一节点开始,头插法建立单链表,直到最后一个节点为止。
16、单链表可以用什么实现?
指向结构体的指针实现,结构体中有两个成员,每个节点分为数据域和指针域,除了
最后一个节点,每个节点指针域都指向下一个节点的地址,最后一个节点指针域指向
NULL。
也可以用结构体数组模拟这种操作,数组中每个下标都对应一个数据元素和游标,游
标是下一个元素在数组中的下标,把未被使用的数组元素作为备用链表,下标为 0 的元素
游标存放备用链表第一个节点的下标。数组最后一个元素游标存放第一个有效数值元素的
下标,相当于头结点作用,游标为 0 表示指向为空。
栈和队列
17、实现一个队列的方法?为什么队列的顺序存储需要留一个空位?循环有什么好处?
链式存储:把链表改装一下,加尾指针作为队列的尾部可以插入节点,头指针可以删
除节点,相当于出队。
顺序存储:正常的顺序存储想要利用空出的空间就必须移动元素,不移动还会浪费空
间,循环队列可以解决这个问题,把这段连续的地址空间,想象成逻辑上的环,所以只要
有空闲空间就能使用。
但是当 front 和 rear 指针相等的时候有两种情况,一种是满,一种是空,为了区分这
种情况,保留一个元素空间,我们假定当 rear+1 与 front 相等队列就满了。而空的时候是
rear 等于 front。又因为是环也可能存在 rear>front 的情况,所以取模操作。
另外计算队列长度的时候,rear>front 队长为 rear-front,但当 rear<front 队长为两段
相加,所以通用公式为(rear-front+队列的总长度)%队列总长度
树与二叉树
18、什么是完全二叉树?
完全二叉树是由满二叉树而引出来的。对于深度为 K 的,有 N 个结点的二叉树,当且
仅当其每一个结点都与深度为 K 的满二叉树中编号从 1 至 n 的结点一一对应时称之为完全
二叉树。
19、什么是二叉排序树,简述它的查找过程,二叉排序树的时间复杂度,遍历后得到什么
样的序列?
二叉排序树是一种二叉树,具有了一些独特性质,若左子树不为空,则左子树上所有
节点的值均小于它的根节点的值,右子树不为空,则右子树上所有节点的值均大于它的根
节点的值,而且它的左右子树也是二叉排序树。构造一个二叉排序树是为了提高动态查找
中插入和删除的速度。
查找过程:递归查找二叉排序树中是否存在要查关键字,若成功则指针指向该数据元
素的节点,返回成功,如果关键字小于树中这个节点,则去它左子树中继续查找,大于则
剩余37页未读,继续阅读
一杯冰镇果汁
- 粉丝: 75
- 资源: 20
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 2023年中国辣条食品行业创新及消费需求洞察报告.pptx
- 2023年半导体行业20强品牌.pptx
- 2023年全球电力行业评论.pptx
- 2023年全球网络安全现状-劳动力资源和网络运营的全球发展新态势.pptx
- 毕业设计-基于单片机的液体密度检测系统设计.doc
- 家用清扫机器人设计.doc
- 基于VB+数据库SQL的教师信息管理系统设计与实现 计算机专业设计范文模板参考资料.pdf
- 官塘驿林场林防火(资源监管)“空天地人”四位一体监测系统方案.doc
- 基于专利语义表征的技术预见方法及其应用.docx
- 浅谈电子商务的现状及发展趋势学习总结.doc
- 基于单片机的智能仓库温湿度控制系统 (2).pdf
- 基于SSM框架知识产权管理系统 (2).pdf
- 9年终工作总结新年计划PPT模板.pptx
- Hytera海能达CH04L01 说明书.pdf
- 数据中心运维操作标准及流程.pdf
- 报告模板 -成本分析与报告培训之三.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0