Java教程

数据库原理概念复习

本文主要是介绍数据库原理概念复习,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.绪论

1.数据是数据库中存储的基本对象
2.数据库是长期存储在计算机内,有组织,可共享的大量数据集合,数据库中的数据按照一定的数据模型组织、描述和存储、具有较小的冗余度,较高的数据独立性和易扩展性,并可为各种用户共享
3.数据库管理系统(DBMS)和操作系统一样是计算机的基础软件

4.数据库管理系统的功能:
(1)数据定义功能,提供数据定义语言(DDL)定义数据库中的数据对象,用户可以通过它方便地对数据库中的数据对象的组成和结构进行定义。
(2)数据组织、存储和管理,数据库管理系统要分类组织、存储和管理各种数据,包括数据字典,用户数据,数据的存取路径等。数据组织和存储的基本目标是提高存储空间利用率和方便存取,提供多种存取方法来提高存取效率。
(3)数据操作功能,提供数据操纵语言(DML)操纵数据实现对数据库的基本操作(查询、插入、删除和修改)用户可以使用它来操作数据。
(4)数据库的事务管理和运行管理,数据库在建立、运用和维护时由数据库管理系统统一管理和控制,以保证事务的正确运行,保证数据的安全性、完整性,多用户对数据的并发使用发生故障后的系统恢复。
(5)数据库的建立和维护功能,数据库的建立和维护功能包括数据库数据批量装载、数据库转储、介质故障恢复、数据库的重组织、性能监视等,这些功能通常是由一些实用程序或管理工具完成的。
(6)其他功能,包括数据通信功能,数据转换功能,异构数据库之间的互访和互操作功能等。

5.数据库系统是由数据库,数据库管理系统,应用程序和数据库管理员(DBA)组成的存储、管理、处理和维护数据的系统。
6.数据管理技术经历了人工管理、文件系统、数据库系统三个阶段。
7.数据库系统的特点:数据结构化,数据共享性高,冗余度低且易扩充,数据独立性高(物理独立性和逻辑独立性)
物理独立性指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。
逻辑独立性指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。
8.数据模型也是一种模型,它是对现实世界数据特征的抽象
9. 数据模型是数据库系统的核心和基础,分为概念模型,逻辑模型和物理模型,逻辑模型主要包括层次模型,网状模型,关系模型.
10.数据模型通常由数据结构、数据操作和数据完整性约束条件三部分组成。
11.层次模型是数据库系统中最早出现的数据模型
12.关系模型是最重要的一种数据模型,关系数据库系统采用关系模型作为数据的组织方式,每个关系的数据结构是一张规范化的二维表。
13.关系模型要求关系必须是规范化的,关系的每一个分量必须是一个不可分的数据项,也就是说,不允许表中还有表。
14.关系的完整性约束条件包括三大类:实体完整性,参照完整性,用户定义完整性。关系模型中的数据操作是集合操作,操作对象和操作结果都是关系。
15.模式是数据库中全体数据(所有表)的逻辑结构的特征的描述.
16.数据库系统的三级模式结构是指数据库系统是由外模式,模式,内模式三级构成。一个数据库只有一个模式,一个模式可以对应多个外模式(逻辑独立性),一个数据库只有一个内模式(物理独立性)。为了能够再系统内部实现这三个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像。

2.关系数据库标准语言SQL

结构化查询语言(SQL)是关系数据库的标准语言

1. SQL语言的特点:
(1) 综合统一:集数据定义语言(DDL),数据操纵语言(DML),数据控制语言(DCL)功能于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动,为数据库应用系统的开发提供了良好的环境,特别是用户在数据库系统投入运行或还可以根据需要随时地、逐步地、修改模式,并不影响数据库地运行,
从而使系统具有良好地可扩展性。
(2) 高度非过程化:非关系数据模型的数据操纵语言“面向过程”,必须制定存取路径。SQL只要提出“做什么”,无须了解存取路径。 存取路径的选择以及SQL的操作过程由DBMS系统自动完成。这不但大大减轻了用户负担,而且有利于提高数据的独立性。
(3) 面向集合的操作方式:非关系数据模型采用面向记录的操作方式,操作对象是一条记录 SQL采用集合操作方式, 操作对象、查找结果可以是元组的集合 ,一次插入、删除、更新操作的对象可以是元组的集合。
(4) 以同一种语法提供多种使用方式:SQL既是独立的语言,能够独立地用于联机交互的使用方式 ,SQL又是嵌入式语言,SQL能够嵌入到高级语言(例如C,C++,Java)程序中,供程序员设计程序时使用,在两种不同的使用方式下,SQL的语法结构基本是一致的,这种以统一的语法结构提供多种不同使用方式的做法,提供了极大的灵活性和方便性。
(5) 语言简洁,易学易用:SQL功能极强,由于设计巧妙,语言十分简洁,完成核心功能只用了9个动词,SQL接近英语口语,因此易于学习和使用。

2. 视图是从一个或几个基本表导出的表,是一个虚表(数据只存储一次)。
3. 每一个基本表都属于某一模式,一个模式中包含多个基本表。
4. 建议索引是加快查询速度的有效手段。
5. 视图最终时定义在基本表之上的,对视图的一切操作最终也要转换为对基本表的操作。

6. 视图的作用:
(1) 视图能够简化用户的操作:当视图中数据不是直接来自基本表时,定义 视图能够简化用户的操作基于多张表连接形成的视图,基于复杂嵌套查询的视图含导出属性的视图,使数据库看起来结构简单,清晰。
(2) 视图使用户能够以多种角度看待同一数据:视图机制能使不同用户以不同方式看待同一数据,适应数据库共享的需要,当不同种类地用户共享同一个数据库时,这种灵活性是非常重要的。
(3) 视图对重构数据库提供了一定程度的逻辑独立性:视图在一定程度上保证了数据库地逻辑独立性,尽管数据库地逻辑结构改变了,但应用程序不必修改,因为新建立的视图定义为用户原来的关系,使用户的外模式保持不变,用户的应用程序通过视图仍然能够查找数据。
(4) 视图能够对机密数据提供安全保护:有了视图机制,就可以在设计数据库应用系统时对不同的用户定义不同的视图,使机密数据不出现在不应看到这些数据的用户视图上,这样视图机制就自动提供了对机密数据的安全保护功能。
(5) 适当利用视图可以更清晰地表达查询:例如:经常需要执行这样的查询“对每个同学找出他获得最高成绩的课程号”,可以先定义一个视图,求出每个同学获得的最高成绩,然后对视图用查询语句完成查询。

3.数据库安全性

1.数据库安全性是指保护数据库以防止不合法使用所造成的数据泄露、更改或破坏。

2.试述实现数据库安全性控制的常用方法和技术
(1)用户身份鉴别:用户身份鉴别是数据库管理系统提供的最外层安全保护措施,每个用户在系统中都有一个用户标识,每个用户标识由用户名和用户标识号两部分构成。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供使用数据库管理系统的权限。常用的用户身份鉴别方法有以下几种:静态口令识别,动态口令识别,生物特征识别,智能卡识别。
(2)存取控制:数据库安全最重要的一点就是确保只授权给有资格的用户访问数据库的权限,同时令所有未被授予的人员无法接近数据,这主要通过数据库系统的存取控制机制实现,存取控制机制主要包括定义用户权限和合法权限检查两部分。定义用户权限和合法权限检查机制一起组成了数据库管理系统的存取控制子系统。
(3)视图机制:可以为不同的用户定义不同的视图,把数据对象限制在一定的范围内,也就是说,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动对数据提供一定程度的安全保护。视图机制更主要的功能在于提供数据独立性,其安全保护功能太不精细,往往远不能达到应用系统的要求。
(4)审计:审计功能把用户对数据库的所有操作自动记录下来放到审计日志中,审计员可以利用审计日志监控数据库中的各种行为,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容。还可以通过对审计日志分析,对潜在的威胁提前采取措施加以防范。
(5)数据加密:数据加密是防止数据库数据在存取和传输中失密的有效手段。加密的基本思想是根据一定的算法将原始数据—明文变换为不可直接识别的密文,从而使得不知道解密算法得人无法获知数据的内容。数据加密主要包括存取加密和传输加密。

3.什么是数据库中的自主存取控制方法和强制存取控制方法?
(1)在自主存取控制方法中,用户对于不同的数据库对象有不同的存取权限,不同的用户对同一对象也有不同的权限,而且用户还可以将其拥有的存取权限转授给其他用户,因此自主存取控制非常灵活。
(2)在强制存取控制方法中,每一个数据库对象被标以一定的密级,每一个用户也被授予某一个级别的许可证。对于任意一个对象,只有具有合法许可证的用户才可以存取,强制存取控制 因此相对比较严格。
自主存取控制与强制存取控制共同构成数据库管理系统的安全机制。

4.存取控制机制主要包括定义用户权限和合法权限检查。
5.定义用户权限和合法权限检查机制一起组成了数据库管理系统的存取控制子系统。

4.数据库完整性

1.关系数据库管理系统的完整性控制机制应具有哪三方面的功能?
(1)提供定义完整性约束条件的机制:完整性约束条件也称完整性规则,是数据库中的数据必须满足的语义约束条件。它表达了给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效和相容。SQL标准使用了一系列概念来描述完整性,包括实体完整性,参照完整性,用户定义完整性。
(2)提供完整性检查的方法:数据库管理系统中检查数据是否满足完整性约束条件的机制称为完整性检查,一般在INSERT,UPDATE,DELETE语句执行后开始检查,也可以在事务提交之前检查。
(3)进行违约处理:数据库管理系统若发现用户的操作违背了完整性约束条件将采取一定的动作,如拒绝(NO ACTION)执行该操作或级联(CASCADE)执行其他操作,进行违约处理以保证数据的完整性。

2.触发器(trigger)是用户定义在关系表上的一类由事件驱动的特殊过程。

5.数据库设计

1.数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。

2.数据库设计的步骤
(1)需求分析阶段:需求分析简单地说就是分析用户地要求。需求分析是设计数据库地起点,需求分析结果是否准确反映用户的实际要求将直接影响到后面各阶段的设计,并影响到设计结果是否合理和使用。
(2)概念结构设计阶段:概念结构设计是整个是整个数据库设计的关键,它通过对用户的需求进行综合、归纳和抽象,形成一个独立于具体数据库管理系统的概念模型,可以用E-R图来表示概念模型。
(3)逻辑结构设计阶段:逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用数据库管理系统产品所支持的数据模型符合的逻辑结构,可以向E-R图转化为关系数据模型。
(4)物理结构设计阶段:数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于选定的数据库管理系统。为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程,就是数据库的物理设计。
(5)数据库实施阶段:在数据实施阶段,设计人员运用数据库管理系统提供的数据库语言及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编写与调试应用程序,组织数据入库,并进行试运行。
(6)数据库运行和维护阶段:数据库应用系统经过调试运行后即可投入正式使用,在数据库系统运行过程中必须不断地对其进行评估,调正与修改。

3.在需求分析阶段,自顶向下的结构化分析方法(SA)是最常用地方法,SA方法从最上层的系统组织机构入手,采用逐层分解的方式分析系统,并用数据流图和数据字典描述系统。
4.数据字典是在需求分析阶段建立,是各类数据描述的集合,数据字典通常包括数据项,数据结构,数据存储和处理过程几部分,其中数据项是数据的最小组成单位,若干个数据项可组成一个数据结构。
5.数据项是不可再分的数据单位,一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成。
6.处理过程的具体处理逻辑一般用判定表或判定树来描述。
7.数据库在物理设备上的存储结构与存取方法称为数据库的物理结构。常用的存取方法为索引方法和聚簇方法。

6.数据库恢复技术

1.所谓事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。
2.事务具有4个特征:原子性,一致性,隔离性和持续性。
3.事务时恢复和并发控制的基本单位。
4.故障的种类:事务内部的故障,系统故障,介质故障,计算机病毒。
5.恢复机制中建立冗余数据最常用的技术是数据转储和登记日志文件。恢复的基本原理:利用存储在后备副本、日志文件和数据库镜像中的冗余数据来重建数据库。
6.转储可以分为静态转储和动态转储,海量转储和增量转储。

7.恢复策略
(1)事务故障的恢复:事务故障:事务在运行至正常终止点前被中止,恢复方法:由恢复子系统应利用日志文件撤消(UNDO)此事务已对数据库进行的修改,事务故障的恢复由系统自动完成,不需要用户干预,事务故障的恢复步骤:1. 反向扫描文件日志(即从最后向前扫描日志文件),查找该事务的更新操作。2. 对该事务的更新操作执行逆操作。即将日志记录中“更新前的值”(Befor Image, BI)写入数据库3. 继续反向扫描日志文件,查找该事务的其他更新操作,并做同样处理。4. 如此处理下去,直至读到此事务的开始标记,事务故障恢复就完成了。
(2)系统故障的恢复:系统故障造成数据库不一致状态的原因:一些未完成事务对数据库的更新已写入数据库,一些已提交事务对数据库的更新还留在缓冲区没来得及写入数据库,恢复方法:1. Undo 故障发生时未完成的事务,2. Redo 已完成的事务,系统故障的恢复由系统在重新启动时自动完成,不需要用户干预。
(3)介质故障的恢复:恢复方法是重装数据库,然后重做已完成的事务。介质故障的恢复需要DBA介入,DBA的工作:重装最近转储的数据库副本和有关的各日志文件副本,执行系统提供的恢复命令,具体的恢复操作仍由DBMS完成。
事务故障的恢复:UNDO
系统故障的恢复:UNDO + REDO
介质故障的恢复:重装备份并恢复到一致性状态 + REDO

8.数据库镜像用于数据库恢复,一旦出现介质故障,可由镜像磁盘继续提供使用,同时数据库管理系统自动利用镜像磁盘数据进行数据库的恢复,不需要关闭系统和重装数据库副本。

7.并发控制

1.事务是并发控制的基本单位。
2.并发操作带来的数据不一致性包括丢失修改、不可重复读和读“脏数据”。
3.封锁是实现并发控制的一个非常重要的技术。
4.并发控制机制就是要用正确的方式调度并发操作,使一个用户事务的执行不受其他事务的干扰,从而避免事务的不一致性。并发控制的主要技术有封锁,时间戳,乐观控制法和多版本并发控制。
5.基本的封锁类型有两种:排他锁和共享锁,排他锁又称写锁,共享锁又称读锁。
6.和操作系统一样,封锁的方法肯能引起活锁和死锁。避免活锁的简单方法是采用先来先服务的策略,死锁的诊断与解除:超时法和等待图法。
7.封锁对象的大小称为封锁粒度,在一个系统中同时支持多种封锁粒度提供不同的事务选择是比较理想的,这种封锁方法称为多粒度封锁,显示封锁是应事务的要求直接加到数据对象上的锁,隐式封锁是该数据对象没有被独立加锁,是由于其上级节点加锁而使该数据对象加上了锁。

这篇关于数据库原理概念复习的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!