Java DB

计算机科学领域术语
DB（英文全称data base，数据库）是依照某种数据模型组织起来并存放二级存储器中的数据集合。这种数据集合具有如下特点：尽可能不重复，以最优方式为某个特定组织的多种应用服务，其数据结构独立于使用它的应用程序，对数据的增、删、改和检索由统一软件进行管理和控制。从发展的历史看，数据库是数据管理的高级阶段，它是由文件管理系统发展起来的。
数据库的分类
Java DB
在数据库的应用中，SQLServer、ORACLE、MySQL都挺不错的数据库软件， 企业和单位的使用多时用到MySQL，很稳定； ORACLE比较适用于金融系统的安全数据库！
能够很好的升级和开发！发展力度还是很大的！
结构分层
数据库DB 的基本结构分三个层次，反映了观察数据库的三种不同角度。
(1)物理数据层。它是数据库的最内层，是物理存贮设备上实际存储的数据的集合。这些数据是原始数据，是用户加工的对象，由内部模式描述的指令操作处理的位串、字符和字组成。
(2)概念数据层。它是数据库的中间一层，是数据库的整体逻辑表示。指出了每个数据的逻辑定义及数据间的逻辑联系，是存贮记录的集合。它所涉及的是数据库所有对象的逻辑关系，而不是它们的物理情况，是数据库管理员概念下的数据库。
(3)逻辑数据层。它是用户所看到和使用的数据库，表示了一个或一些特定用户使用的数据集合，即逻辑记录的集合。
Java DB特点
数据库DB不同层次之间的联系是通过映射进行转换的。数据库具有以下主要特点：
(1)实现数据共享。数据共享包含所有用户可同时存取数据库中的数据，也包括用户可以用各种方式通过接口使用数据库，并提供数据共享。
(2)减少数据的冗余度。同文件系统相比，由于数据库实现了数据共享，从而避免了用户各自建立应用文件。减少了大量重复数据，减少了数据冗余，维护了数据的一致性。
(3)数据的独立性。数据的独立性包括数据库中数据库的逻辑结构和应用程序相互独立，也包括数据物理结构的变化不影响数据的逻辑结构。
(4)数据实现集中控制。文件管理方式中，数据处于一种分散的状态，不同的用户或同一用户在不同处理中其文件之间毫无关系。利用数据库可对数据进行集中控制和管理，并通过数据模型表示各种数据的组织以及数据间的联系。
(5)数据一致性和可维护性，以确保数据的安全性和可靠性。主要包括：
①安全性控制：以防止数据丢失、错误更新和越权使用；
②完整性控制：保证数据的正确性、有效性和相容性；
③并发控制：使在同一时间周期内，允许对数据实现多路存取，又能防止用户之间的不正常交互作用；
④故障的发现和恢复：由数据库管理系统提供一套方法，可及时发现故障和修复故障，从而防止数据被破坏
逻辑设计
数据库逻辑设计分为三个阶段，分别是：收集和分析用户要求、建立E －R 模型和数据库模式设计。主要任务是创建数据库模式。
数据库逻辑设计中的第一阶段收集和分析用户需求是按以下四步进行的：分析用户活动，确定系统范围，分析用户活动所涉及的数据和分析系统数据。
数据流图是一种从数据和对数据的加工两方面表达系统工作过程的图形表示法。含有四种基本成分：带箭头的线段表示数据及其流动方向，圆形框表示对数据的加工，卡片形框表示文件，方框表示源点和终点。
画数据流图应遵循：由外向内、自顶向下原则进行。
数据库系统的生命期可以分为五个阶段，依次是分析、设计、编码、测试、运行。
所谓分析用户活动所涉及的数据就是以数据流图的形式表示出数据的流向和对p; 所谓分析系统数据就是对数据流图中的每一个数据流名、每个文件名、每个加工名，都要给出具体定义，都需要用一个条目进行描述。描述后的产物是数据字典。数据流图和数据字典结合在一起，加上必要的说明构成系统说明书。数据字典是对数据流图中的四个成分（数据流、数据项、文件、加工）的描述。
教材中所讲的数据库设计方法称为视图设计法，即从分析用户的活动入手，针对用户的局部视图，然后进行综合，用E-R 图表示数据库的概念，进而转换为关系模式。
逻辑设计第二阶段建立E-R 模型分两步，首先应进行局部E －R 模型设计，然后进行总体E －R 模型的设计。
逻辑设计第三阶段在数据库模式设计阶段分两步进行，第一步初步设计：把E －R 图转换为关系模型，第二步优化设计：对模式进行调整和改善。
优化是在性能预测的基础上进行的，一般用三方面指标来衡量：1 、单位时间内所访问的逻辑记录个数要少，2 、单位时间内数据传送量要少；3 、系统占用的存储空间尽量要少。
JAVA DB功能和特征
数据库系统由文件系统发展而来。与文件系统相比，这种系统具有数据、体系和控制三个方面的主要特征。
数据特征
在文件系统中虽然 程序 与 数据 之间可用存取方法进行转换,但 文件 还是与应用程序对应的,即数据仍面向应用。每一应用各自建立自己的一组文件。不同的应用若涉及相同的数据，则这些数据分别纳入各自的文件之中。文件的各种记录之间没有建立联系，因而数据冗余度大。增加新的应用，必须同时增加新的文件。因此，文件系统中的文件是无结构的、不易扩充的信息集合。数据库则不仅描述数据本身，而且描述数据之间的联系。它的 数据结构 反映了某一部门的整体信息结构，数据冗余度小、易于扩充新的应用，因而是面向数据总体结构的信息集合，可为多个用户共享。
体系特征
一切数据都有逻辑结构和物理结构两个侧面。在数据库系统中，逻辑结构部分被分为描述全局逻辑结构的全局模式(简称为 “模式”、“概念模式”或“逻辑模式”)和描述某些应用所涉及的局部逻辑结构的局部模式（简称为 “外模式”、“子模式”或“用户模式”）。数据物理结构的描述称为“物理模式”（又称为 “内模式”、“存储模式”）。物理结构 和 逻辑结构，总称为数据库三级模式结构。
数据库系统中，用户根据“外模式”编制程序。“外模式”与“模式”、模式与“存储模式”之间有软件（这些软件通过完成 “外模式/模式映像” 和 “模式/内模式映像” 功能而实现）进行映射。因此,程序与数据之间具有两级独立性：物理独立性和逻辑独立性。数据的存储模式改变，而模式可以不改变，仅需改变“模式/内模式映像”，因而不必改写应用程序,这称为物理独立性。模式改变时,子模式可能不改变，仅需改变“外模式/模式映像”，也就不必改写应用程序，这称为逻辑独立性。由于数据库系统具备比较高的程序与数据的独立性，可以使程序员在编制应用程序时集中精力考虑算法逻辑，不必过问物理细节，而且可以大大减少应用程序维护的工作量。
控制特征
数据库数据数量庞大，结构复杂，又为多个用户所共享。因此，必须由数据库管理系统在定义、建立、运行以及维护时进行统一管理和控制，以保证数据库数据的安全性、完整性和并发操作的一致性。此外，还必须有数据库管理员专门负责对数据库的管理、控制监督和改进。
由于数据库系统具有上述特征，它的出现使信息系统的研制从围绕加工数据的程序为中心，转变到围绕共享的数据库来进行。这便于数据的集中管理，有利于应用程序的研制和维护。数据减少了冗余度和提高了相容性，从而提高了作出决策的相容性。因此，大型复杂的信息系统大多以数据库为核心，数据库系统在 计算机应用 中起着越来越重要的作用。
JAVA DB研究课题
数据库DB研究的课题，主要涉及三个领域。
数据库管理系统软件的研制
DBMS是数据库系统的基础。研制DBMS的基本目标，是扩大功能，提高性能和可用性，从而提高用户的生产率。70年代以来，研制的重点是探索关系数据库管理系统的设计，内容包括关系数据语言、查询优化、并发控制和系统性能等。另一类课题是对DBMS标准化的研究，即研究一个统一的DBMS体系结构的规范。
数据库设计
这是在计算机系统具有的数据库管理系统的基础上，按照应用要求以及计算机系统所提供的数据模型和功能，设计一个结构良好、使用方便、效率较高的，以数据库为核心的应用信息系统。这一领域主要的研究课题，是数据库设计方法学和设计工具的探索。例如，运用软件工程的方法和工具指导 数据库设计 ；研究数据库设计各个阶段中完备的方法和工具；以 关系数据库 的规范化理论为指南进行数据库逻辑设计等。
数据库理论
主要研究关系数据库理论。关系数据库理论研究的意义，一方面在于它为数据库学科奠定了理论基础;另一方面它为数据库设计提供了判别标准,从而成为数据库设计的有力指南。研究的主要内容是关系的规范化理论。关系规范化理论已应用于数据库设计的各个阶段。
JAVA DB发展
数据库技术是 计算机科学 中发展最快的领域之一，新的领域越来越多。
分布式数据库系统
随着70年代后期分布计算机系统的发展，相应地研究成功分布式数据库系统。分布式数据库系统是一个在逻辑上完整，而在物理上分散在若干台互相连接的结点机上的数据库系统。它既具有分布性又具有数据库的综合性。这是数据库系统发展的一个重要方向。分布式数据库系统结构复杂，其中最复杂的是分布式数据库管理系统。
数据库机器
新的计算机系统的体系结构。它把由中央处理器包办的数据库操作分散给一些局部的部件来执行，或转移到一个与主计算机相连的专用计算机去执行，以提高并行性。数据库机器的发展，包括智能控制器和存储器，专用处理机和数据库计算机。
数据库语义模型
数据库的数据模型基本上属于语法模型，语义体现很不完备，不能明显地含有现实世界的意义。因此，用户只能按照DBMS所提供的数据操纵语言访问数据库。语义模型能准确地描述现实世界中某个部门的信息集合及其意义，使用户能基于对现实世界的认识或用类似于自然语言的形式来访问数据库。这方面的研究已发展为数据语义学。
数据库智能检索
数据库技术和人工智能相结合，根据数据库中的事实和知识进行推理，演绎出正确答案，这就是数据库的智能检索。这涉及到自然语言用户接口、逻辑演绎功能和数据库语义模型等问题，如70年代末所开始的知识库管理系统和演绎数据库的研究。
办公室自动化系统中的数据库
研究在 办公室自动化 系统中数据库技术的应用，其中主要研究对各种非格式化数据如图像、声音、正文的处理，以及面向端点用户的高级语言接口。
JavaDBJava 6 里的数据库
新安装了JDK6 的程序员们也许会发现，除了传统的 bin、jre 等目录，JDK 6 新增了一个名为 javadb 的目录。这便是 Java 6 的新成员：JavaDB。这是一个纯 Java 实现、开源的数据库管理系统（DBMS），源于Apache软件基金会（ASF）名下的项目Derby。它只有 3MB 大小，对比动辄上 G 的数据库来说可谓袖珍。但这并不妨碍 Derby功能齐备，支持几乎大部分的数据库应用所需要的特性。更难能可贵的是，依托于 ASF 强大的社区力量，Derby得到了包括 IBM 和 Sun 等大公司以及全世界优秀程序员们的支持。这也难怪 Sun 公司会选择其 10.2.2 版本纳入到 JDK 6 中，作为内嵌的数据库。这就好像为 JDK 注入了一股全新的活力：Java 程序员不再需要耗费大量精力安装和配置数据库，就能进行安全、易用、标准、并且免费的数据库编程。