❶ 面向对象的分析方法
面向对象的分析方法
面向对象的分析方法:Object-Oriented Analysis是确定需求或者业务的角度,按照面向对象的思想来分析业务。例如:OOA只是对需求中描述的问题,进行模块化的处理,描述问题的本质,区别每个问题的不同点相同点,确定问题中的对象。OOA与结构化分析有较大的区别。OOA所强调的是在系统调查资料的基础上,针对OO方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析。
基本信息
中文名
面向对象分析方法
外文名
OOA
层次
5个
全名
Object-Oriented Analysis
组成
分析
OOA(面向对象的分析)模型由5个层次(主题层、对象类层、结构层、属性层和服务层)和5个活动(标识对象类、标识结构、定义主题、定义属性和定义服务)组成。在这种方法中定义了两种对象类之间的结构,一种称为分类结构,一种称为组装结构。分类结构就是所谓的一般与特殊的关系。组装结构则反映了对象之间的整体与部分的关系。
定义属性
OOA在定义属性的同时,要识别实例连接。实例连接是一个实例与另一个实例的映射关系。
OOA在定义服务的同时要识别消息连接。当一个对象需要向另一对象发送消息时,它们之间就存在消息连接。
OOA 中的5个层次和5个活动继续贯穿在OOD(面向对象的设计)过程中。OOD模型由4个部分组成。它们分别是设计问题域部分、设计人机交互部分、设计任务管理部分和设计数据管理部分。
主要原则
定义
(1)抽象:从许多事物中舍弃个别的、非本质的特征,抽取共同的、本质性的特征,就叫作抽象。抽象是形成概念的必须手段。
抽象原则有两方面的意义:第一,尽管问题域中的事物是很复杂的,但是分析员并不需要了解和描述它们的一切,只需要分析研究其中与系统目标有关的事物及其本质性特征。第二,通过舍弃个体事物在细节上的差异,抽取其共同特征而得到一批事物的抽象概念。
抽象是面向对象方法中使用最为广泛的原则。抽象原则包括过程抽象和数据抽象两个方面。
过程抽象是指,任何一个完成确定功能的操作序列,其使用者都可以把它看作一个单一的实体,尽管实际上它可能是由一系列更低级的操作完成的。
❷ 数据库原理及应用试题
1.B 2.C 3.B 4.C 5.D 6.C 7.C 8.D 9.C 10.A
11.A 12.A 13.A --不太确定 14.B 15.C 16.A 17.B 18.A 19.D 20.C
1.试述事务的概念及事务的四个特性。
答:
事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。
事务具有四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability)。这个四个特性也简称为ACID特性。
原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。
一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
隔离性:一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。
持续性:持续性也称永久性(Permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其执行结果有任何影响。
2.为什么事务非正常结束时会影响数据库数据的正确性,请列举一例说明之。
答:
事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。如果数据库系统运行中发生故障,有些事务尚未完成就被迫中断,这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说是不一致的状态。
例如某工厂的库存管理系统中,要把数量为Q的某种零件从仓库1移到仓库2存放。
则可以定义一个事务T,T包括两个操作;Q1=Q1-Q,Q2=Q2+Q。如果T非正常终止时只做了第一个操作,则数据库就处于不一致性状态,库存量无缘无故少了Q。
3.数据库中为什么要有恢复子系统?它的功能是什么?
答:
因为计算机系统中硬件的故障、软件的错误、操作员的失误以及恶意的破坏是不可避免的,这些故障轻则造成运行事务非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失,因此必须要有恢复子系统。
恢复子系统的功能是:把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)。
4.数据库运行中可能产生的故障有哪几类?哪些故障影响事务的正常执行?哪些故障破坏数据库数据?
答:数据库系统中可能发生各种各样的故障,大致可以分以下几类:
(1)事务内部的故障;
(2)系统故障;
(3)介质故障;
(4)计算机病毒。
事务故障、系统故障和介质故障影响事务的正常执行;介质故障和计算机病毒破坏数据
库数据。
5.据库恢复的基本技术有哪些?
答:
数据转储和登录日志文件是数据库恢复的基本技术。
当系统运行过程中发生故障,利用转储的数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态。
6. 数据库转储的意义是什么? 试比较各种数据转储方法。
答:
数据转储是数据库恢复中采用的基本技术。所谓转储即DBA定期地将数据库复制到磁带或另一个磁盘上保存起来的过程。当数据库遭到破坏后可以将后备副本重新装入,将数据库恢复到转储时的状态。
静态转储:在系统中无运行事务时进行的转储操作。静态转储简单,但必须等待正运行的用户事务结束才能进行。同样,新的事务必须等待转储结束才能执行。显然,这会降低数据库的可用性。
动态转储:指转储期间允许对数据库进行存取或修改。动态转储可克服静态转储的缺点,它不用等待正在运行的用户事务结束,也不会影响新事务的运行。但是,转储结束时后援副本上的数据并不能保证正确有效。因为转储期间运行的事务可能修改了某些数据,使得后援副本上的数据不是数据库的一致版本。
为此,必须把转储期间各事务对数据库的修改活动登记下来,建立日志文件(log file)。这样,后援副本加上日志文件就能得到数据库某一时刻的正确状态。
转储还可以分为海量转储和增量转储两种方式。
海量转储是指每次转储全部数据库。增量转储则指每次只转储上一次转储后更新过的数据。从恢复角度看,使用海量转储得到的后备副本进行恢复一般说来更简单些。但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用更有效。
7. 什么是日志文件?为什么要设立日志文件?
答:
(1)日志文件是用来记录事务对数据库的更新操作的文件。
(2)设立日志文件的目的是: 进行事务故障恢复;进行系统故障恢复;协助后备副本进行介质故障恢复。
8. 登记日志文件时为什么必须先写日志文件,后写数据库?
答:
把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。
如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。如果先写日志,但没有修改数据库,在恢复时只不过是多执行一次UNDO操作,并不会影响数据库的正确性。所以一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改。
9. 针对不同的故障,试给出恢复的策略和方法。(即如何进行事务故障的恢复?系统故障的恢复?介质故障恢复?)
答:
事务故障的恢复:
事务故障的恢复是由DBMS自动完成的,对用户是透明的。
DBMS执行恢复步骤是:
(1)反向扫描文件日志(即从最后向前扫描日志文件),查找该事务的更新操作。
(2)对该事务的更新操作执行逆操作。即将日志记录中“更新前的值”写入数据库。
(3)继续反向扫描日志文件,做同样处理。
(4)如此处理下去,直至读到此事务的开始标记,该事务故障的恢复就完成了。
答:
系统故障的恢复:
系统故障可能会造成数据库处于不一致状态:
一是未完成事务对数据库的更新可能已写入数据库;
二是已提交事务对数据库的更新可能还留在缓冲区,没来得及写入数据库。
因此恢复操作就是要撤销(UNDO)故障发生时未完成的事务,重做(REDO)已完成的事务。
系统的恢复步骤是:
(1)正向扫描日志文件,找出在故障发生前已经提交的事务队列(REDO队列)和未完成的事务队列(UNDO队列)。
(2)对撤销队列中的各个事务进行UNDO处理。
进行UNDO处理的方法是,反向扫描日志文件,对每个UNDO事务的更新操作执行逆操作,即将日志记录中“更新前的值”(Before Image)写入数据库。
(3)对重做队列中的各个事务进行REDO处理。
进行REDO处理的方法是:正向扫描日志文件,对每个REDO事务重新执行日志文件登记的操作。即将日志记录中“更新后的值”(After Image)写入数据库。
*解析:
在第(1)步中如何找出REDO队列和UNDO队列?请大家思考一下。
下面给出一个算法:
1) 建立两个事务队列:
· UNDO-LIST: 需要执行undo操作的事务集合;
· REDO-LIST: 需要执行redo操作的事务集合;
两个事务队列初始均为空。
2) 从日志文件头开始,正向扫描日志文件
· 如有新开始(遇到Begin Transaction)的事务Ti,把Ti暂时放入UNDO-LIST队列;
· 如有提交的事务(遇到End Transaction)Tj,把Tj从UNDO-LIST队列移到REDO-LIST队列;
直到日志文件结束
答:
介质故障的恢复:
介质故障是最严重的一种故障。
恢复方法是重装数据库,然后重做已完成的事务。具体过程是:
(1)DBA装入最新的数据库后备副本(离故障发生时刻最近的转储副本),使数据库恢复到转储时的一致性状态。
(2)DBA装入转储结束时刻的日志文件副本
(3)DBA启动系统恢复命令,由DBMS完成恢复功能,即重做已完成的事务。
*解析
1)我们假定采用的是静态转储,因此第(1)步装入数据库后备副本便可以了。
2)如果采用的是静动态转储,第(1)步装入数据库后备副本还不够,还需同时装入转储开始时刻的日志文件副本,经过处理后才能得到正确的数据库后备副本。
3)第(2)步重做已完成的事务的算法是:
a. 正向扫描日志文件,找出故障发生前已提交的事务的标识,将其记入重做队列
b. 再一次正向扫描日志文件,对重做队列中的所有事务进行重做处理。即将日志记录中“更新后的值”写入数据库。
10. 具有检查点的恢复技术有什么优点?
答:
利用日志技术进行数据库恢复时,恢复子系统必须搜索日志,确定哪些事务需要REDO,哪些事务需要UNDO。一般来说,需要检查所有日志记录。这样做有两个问题:
一是搜索整个日志将耗费大量的时间。
二是很多需要REDO处理的事务实际上已经将它们的更新操作结果写到数据库中了,恢复子系统又重新执行了这些操作,浪费了大量时间。
检查点技术就是为了解决这些问题。
11. 试述使用检查点方法进行恢复的步骤。
答:
① 从重新开始文件中找到最后一个检查点记录在日志文件中的地址,由该地址在日志文件中找到最后一个检查点记录。
② 由该检查点记录得到检查点建立时刻所有正在执行的事务清单ACTIVE-LIST。
这里建立两个事务队列:
· UNDO-LIST: 需要执行undo操作的事务集合;
· REDO-LIST: 需要执行redo操作的事务集合;
把ACTIVE-LIST暂时放入UNDO-LIST队列,REDO队列暂为空。
③ 从检查点开始正向扫描日志文件
· 如有新开始的事务Ti,把Ti暂时放入UNDO-LIST队列;
· 如有提交的事务Tj,把Tj从UNDO-LIST队列移到REDO-LIST队列,直到日志文件结束;
④ 对UNDO-LIST中的每个事务执行UNDO操作, 对REDO-LIST中的每个事务执行REDO操作。
12. 什么是数据库镜像?它有什么用途?
答:
数据库镜像即根据DBA的要求,自动把整个数据库或者其中的部分关键数据复制到另一个磁盘上。每当主数据库更新时,DBMS自动把更新后的数据复制过去,即DBMS自动保证镜像数据与主数据的一致性。
数据库镜像的用途有:
一是用于数据库恢复。当出现介质故障时,可由镜像磁盘继续提供使用,同时DBMS自动利用镜像磁盘数据进行数据库的恢复,不需要关闭系统和重装数据库副本。
二是提高数据库的可用性。在没有出现故障时,当一个用户对某个数据加排它锁进行修改时,其他用户可以读镜像数据库上的数据,而不必等待该用户释放锁。
❸ 数据库原理
《数据库原理及应用》教学大纲
课程编号 1620127 总学时 46 理论 32 实验/上机 14
学分 2.5 开课单位 信息学院 开课系 电子工程系 修订时间 2006年1月1日
课 程 简 介
教学内容
《数据库原理及应用》主要讨论数据库系统的基本概念,基本原理,基本方法以及有关的应用。
主要内容包括:数据库系统的组成、关系数据库、数据库设计以及数据保护等,同时讲解一种重要的数据库系统的应用。要求学生通过本课程的学习了解有关数据库系统的基本概念,掌握相关的知识,初步掌握数据库设计方法,并能用数据库系统建立数据库及简单的应用。
修读专业:本大纲适合本科电子信息工程专业使用
先修课程:《数据结构》
教材:数据库系统及应用(第二版) “北京市高等教育精品教材”立项项目。由崔巍编着,高等教育出版社
一、 课程的性质与任务
本课程是电子信息工程专业有关数据库的一门统设必修课。主要任务是介绍数据库组织、管理和使用的一般知识,包括数据模型、数据库结构、数据库系统、数据库设计、关系运算、关系规范化、关系查询(SQL语言)等方面的知识;介绍至少一种实际的数据库管理系统的构成与使用。目的使学生通过该课程的学习,具有进行简单数据库应用系统设计与开发的能力。
二、 课程的基本要求
1.熟练掌握(代码:A):数据库中的概念、数据库设计与编程方法。数据库的结构与特点,数据库系统的组成及各部分的功能,熟练使用结构化查询语言(SQL)。
2.掌握(代码:B):关系代数语言的使用;关系演算语言的使用;三级一致性的区别及其与可串行化调度的关系;关系数据库以及面向对象数据库的特点与区别;查询表达式优化的方法。
3.了解(代码:C):关系、关系模型、键码、视图、函数依赖等概念
三、 修读专业
本大纲适合本科电子信息工程专业使用
四、 本课程与其它课程的联系
由于数据库理论及应用是各种计算机技术的综合应用,为了能够让学生很好地理解数据库技术,要求学生在学习本课程之前最好已经学习过以下课程:《程序设计》、《数据结构》、《操作系统》等课程。当然主要要求学生具有“数据结构”的基本知识,其他课程的知识要求是其次的。
对于现行数据库的选择,建议教师最好选择“Microsoft SQL Server”,其它的数据库如:Oracle,IBM DB2相对比较难理解和应用,Access又过于简单。
五、 教学内容安排、要求、学时分配及作业
Chapter 1 绪论(2)
1.1 什么是数据库(C)
1.2 数据库管理系统(C)
1.3 数据库管理和数据库管理员(B)
1.4 数据库系统(B)
1.5 数据库的过去、现在和未来(C)
作业:第2题
Chapter 2 数据模型和三层模式数据库(4)
2.1 信息结构与E-R方法(C)
2.2 概念数据模型(B)
2.2.3 连接陷阱(C)
2.3 传统的三大数据模型(C)��
2.4 数据独立性与三层结构(B)��
2.5 数据库管理系统的结构(B)��
Chapter 3 关系数据库(4)
3.1 关系数据库系统概述(C)��
3.2 关系数据模型(C)��
3.3 关系模型的完整性约束(B)��
3.4 关系代数(B)��
3.5 关系数据库系统的三层模式结构(B)��
作业:第8题--1),2)
Chapter 4 Microsoft SQL Server数据库基础(1)
4.1 客户/服务器体系结构(C)��
4.2 Microsoft SQL Server基础(C)��
4.3 Transact-SQL简介(C)��
Chapter 5关系数据库标准语言——SQL(8)
5.1 SQL语言概述(B)��
5.2 SQL的数据定义功能(B)��
5.3 SQL的数据查询功能(C)��
5.4 视图(View) (B)�
5.5 SQL的数据操作功能(A)��
5.6 SQL的数据控制功能(A)��
5.7 SQL的宿主使用(B)��
5.8 动态SQL(B)��
作业:第2题--7),9),11 )
Chapter 6 存储过程、触发器�和数据完整性(4)
6.1 存储过程(B)��
6.2 触发器及其用途(B)��
6.3 数据完整性(A)�
作业:第2题--3)�
Chapter 7 安全性(4)
7.1 安全性概述(C)��
7.2 用户管理和角色管理(A)��
7.3 权限管理(A)��
7.4 其他安全问题(C)��
Chapter 8 事务管理(2)
8.1 事务(B)��
8.2 并发控制(B)��
8.3 恢复(A)��
作业:第1题,第2题
Chapter 9 关系数据理论(2)
9.1 基本概念(C)��
9.2 函数依赖的公理系统(C)��
9.3 规范化(B)��
9.4 模式分解(B)��
Chapter 10 数据库设计(1)
10.1 完善E-R模型中的概念(C)��
10.2 数据库设计的过程(B)�
六、 实验内容与要求
序号 实验内容 学时
1 建立数据库(B)�� 2
2 建立表和数据完整性(A)� 2
3 SQL数据操作(B)�� 2
4 SQL数据查询(A)�� 2
5 视图的定义和操作(B)�� 2
6 存储过程、触发器(B)�� 2
7 用户管理和权限管理(A) 2
七、 教材与参考书
本课程选用教材:崔巍,数据库系统及应用(第二版),高等教育出版社
本课程推荐参考书:
1)萨师煊、王珊,数据库系统概论(第一版),北京:高等教育出版社,1983
2)萨师煊、王珊,数据库系统概论(第二版),北京:高等教育出版社,1991
3)萨师煊、王珊,实用数据库系统汇编,北京:高等教育出版社,1990
4)王珊、陈红、文继荣,数据库和数据库管理系统,北京:电子工业出版社,1995
5)冯玉才,数据库基础(第二版),武汉:华中理工大学出版社,1993
6)施伯乐、何继潮、崔靖,关系数据库的理论及应用,郑州:河南科技出版社,1990
7)《数据库系统概论》第三版 普通高等教育“九五”国家教委重点教材,由萨师煊、王珊编着,高等教育出版社
❹ 什么是线性代数什么是计算机数据库原理
线性代数是代数的一个分支,它以研究向量空间与线性映射为对象;由于费马和笛卡儿的工作,线性代数基本上出现于十七世纪。直到十八世纪末,线性代数的领域还只限于平面与空间。十九世纪上半叶才完成了到n维向量空间的过渡 矩阵论始于凯莱,在十九世纪下半叶,因若当的工作而达到了它的顶点.1888年,皮亚诺以公理的方式定义了有限维或无限维向量空间。托普利茨将线性代数的主要定理推广到任意体上的最一般的向量空间中.线性映射的概念在大多数情况下能够摆脱矩阵计算而引导到固有的推理,即是说不依赖于基的选择。不用交换体而用未必交换之体或环作为算子之定义域,这就引向模的概念,这一概念很显着地推广了向量空间的理论和重新整理了十九世纪所研究过的情况。
由于它的简便,所以就代数在数学和物理的各种不同分支的应用来说,线性代数具有特殊的地位.此外它特别适用于电子计算机的计算,所以它在数值分析与运筹学中占有重要地位。
线性代数是讨论矩阵理论、与矩阵结合的有限维向量空间及其线性变换理论的一门学科。
主要理论成熟于十九世纪,而第一块基石(二、三元线性方程组的解法)则早在两千年前出现(见于我国古代数学名着《九章算术》)。
①线性代数在数学、力学、物理学和技术学科中有各种重要应用,因而它在各种代数分支中占居首要地位;
②在计算机广泛应用的今天,计算机图形学、计算机辅助设计、密码学、虚拟现实等技术无不以线性代数为其理论和算法基础的一部分;。
③该学科所体现的几何观念与代数方法之间的联系,从具体概念抽象出来的公理化方法以及严谨的逻辑推证、巧妙的归纳综合等,对于强化人们的数学训练,增益科学智能是非常有用的;
④ 随着科学的发展,我们不仅要研究单个变量之间的关系,还要进一步研究多个变量之间的关系,各种实际问题在大多数情况下可以线性化,而由于计算机的发展,线性化了的问题又可以计算出来,线性代数正是解决这些问题的有力工具。
❺ 数据库原理与技术是什么
从数据库基础理论和实际应用出发,循序渐进、深入浅出地介绍数据库的基础知识,基于sql server 2005介绍数据库的创建、表的操作、索引、视图、数据完整性、sql server函数、sqlserver程序设计、存储过程与触发器、sql server的安全管理、sql server客户端刊发与编程等内容;以实例为主线,将“选课管理信息系统”和“计算机计费系统”数据库案例融人各章节,重点阐述数据库的创建、维护、开发与sql语言程序设计的思想与具体方法;简明扼要地介绍sql server的上机实验操作,并配有例题、练习题和实验指导,以便于读者更好地学习和掌握数据库的基本知识与技能。
详情请参考
http://ke..com/view/4715014.htm
❻ 数据库系统的核心是什么
数据库系统的核心是数据库管理系统。数据库系统一般由数据库、数据库管理系统(DBMS)、应用系统、数据库管理员和用户构成。DBMS是数据库系统的基础和核心。
它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也通过DBMS进行数据库的维护工作。它可以支持多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。
数据库研究跨越于计算机应用、系统软件和理论三个领域,其中应用促进新系统的研制开发,新系统带来新的理论研究,而理论研究又对前两个领域起着指导作用。数据库系统的出现是计算机应用的一个里程牌,它使得计算机应用从以科学计算为主转向以数据处理为主,并从而使计算机得以在各行各业乃至家庭普遍使用。
在它之前的文件系统虽然也能处理持久数据,但是文件系统不提供对任意部分数据的快速访问,而这对数据量不断增大的应用来说是至关重要的。为了实现对任意部分数据的快速访问,就要研究许多优化技术。这些优化技术往往很复杂,是普通用户难以实现的,所以就由系统软件(数据库管理系统)来完成。
(6)数据库原理面向问题域的分析方法是从扩展阅读
数据库系统一般由4个部分组成:
(1)数据库(database,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合。数据库中的数据按一定的数学模型组织、描述和存储,具有较小的冗余,较高的数据独立性和易扩展性,并可为各种用户共享。
(2)硬件:构成计算机系统的各种物理设备,包括存储所需的外部设备。硬件的配置应满足整个数据库系统的需要。
(3)软件:包括操作系统、数据库管理系统及应用程序。数据库管理系统(database management system,DBMS)是数据库系统的核心软件,是在操作系统的支持下工作,解决如何科学地组织和存储数据,如何高效获取和维护数据的系统软件。其主要功能包括:数据定义功能、数据操纵功能、数据库的运行管理和数据库的建立与维护。
(4)人员:主要有4类。第一类为系统分析员和数据库设计人员:系统分析员负责应用系统的需求分析和规范说明,他们和用户及数据库管理员一起确定系统的硬件配置,并参与数据库系统的概要设计。数据库设计人员负责数据库中数据的确定、数据库各级模式的设计。第二类为应用程序员,负责编写使用数据库的应用程序。