zoukankan      html  css  js  c++  java
  • 数据库基本原理

    一、数据库基本原理                           

      数据库技术是应数据管理任务的需要而产生的。数据管理经历了三个阶段:人工管理阶段、文件管理阶段、数据库系统阶段。数据库系统与其他两个系统比,有许多优点:1)数据结构化 ;2)数据的共享性高,冗余度低,易扩充;3) 数据独立性高;4)数据DBMS统一管理和控制。目前,数据库已经成为现在信息系统的重要组成部分。据有数百G、数百T、甚至数百P子节的数据库已经普遍存在于科学技术、工业、农业、商业服务业和政府部门的信息系统中。

      数据库技术是计算机领域中发展最快的技术之一。数据库技术的发展是沿着数据模型的中线展开的。现有的数据库系统均是基于某种数据模型的。数据模型是数据库系统的核心和基础。数据模型,通俗的讲,即为现实世界的模拟。数据模型的组成要素为:数据结构、数据操作、数据的完整性约束条件。常用的数据模型有层次模型、网状模型、关系模型、面向对象模型、对象关系模型。其中关系模型是目前最重要的一种数据模型。关系数据库系统采用的就是关系数据模型作为数据的组织方式。关系数据库是我们掌握的重点。

      关系数据库系统是支持关系模型的数据库系统。要想深入了解关系数据库系统首先要了解关系模型。关系模型由关系结构、关系操作集合和关系完整性约束3部分组成。关系模型的数据结构非常简单,只包含单一的数据结构——关系。在用户看来,关系模型的中的数据的逻辑结构是一张扁平的二维表。关系模型的数据结构虽然简单但却能表达丰富的语义,描述出现实世界的实体以及实体之间的联系。

        关系模型是建立在集合代数的基础上的。关系数据库中,关系模式是型,关系是值。关系模式是对关系的描述。关系数据库也有型与值之分。关系数据库的型也成关系数据库模式,是对关系数据库的描述。关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常就称为关系数据库。

         关系模型给出了关系操作的能力的说明,但不对RDBMS语言给出具体的语法要求。关系模型中常用的关系操作包括查询操作和插入、删除、修改操作两大部分。关系的查询表达能力很强,是关系操作中最主要的部分。查询又分为:选择、投影、连接、除、并、差、交、笛卡尔积等。其中选择、投影、并、差、笛卡尔积是基本的操作。关系操作的特点实际和操作方式,即操作的对象和结果都是集合。这种操作方式也成为一次以集合的方式。

      关系的完整性约束有三个:实体完整性、参照完整性和用户自定义完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变形,应该由关系系统自动支持。用户完整性适应用户需要遵循的约束条件,体现了具体领域的语义约束。

    数据库设计的特点

    数据库设计的特点:

    1. 数据库设计应该与应用系统设计相结合数据库建设是硬件、软件和干件的结合:

     1)三分技术,七分管理,十二分基础数据;2)技术与管理的界面称之为“干件”.

    2. 数据库设计应该与应用系统设计相结合:

     1)结构(数据)设计:设计数据库框架或数据库结构

     2)行为(处理)设计:设计应用程序、事务处理等

    3.结构和行为分离的设计

    1)传统的软件工程忽视对应用中数据语义的分析和抽象,只要有可能就尽量推迟数据结构设计的决策

     2)早期的数据库设计致力于数据模型和建模方法研究,忽视了对行为的设计

    数据库设计方法简述:

    1. 手工试凑法

    2. 规范设计法

    基本思想 :过程迭代和逐步求精规范设计法

    典型方法有:新奥尔良(New Orleans)方法( 将数据库设计分为四个阶段);S.B.Yao方法(将数据库设计分为五个步骤);I.R.Palmer方法(把数据库设计当成一步接一步的过程)。

    3.计算机辅助设计:

      ORACLE  Designer 2000和SYBASE  PowerDesigner.

    数据库设计的基本步骤:

     1、数据库设计的准备工作;2、数据库设计的过程(六个阶段): 1)需求分析阶段;2)概念结构设计阶段;3)逻辑结构设计阶段;4)数据库物理设计阶段;5)数据库实施阶段;6)数据库运行和维护阶段.

      设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。

  • 相关阅读:
    [Swift通天遁地]三、手势与图表-(9)制作五彩缤纷的气泡图表
    hdu2289 Cup(二分)
    Makefile学习(三)[第二版]
    CABasicAnimation 基本动画
    iOS_20_微博自己定义可动画切换的导航控制器
    yispider 开源小说採集器 (来源http://git.oschina.net/yispider/yispider 我的改动版由于他的我无法跑)
    谈谈C++私有继承
    深入struts2.0(七)--ActionInvocation接口以及3DefaultActionInvocation类
    STL 之 list源码自行实现(iterator)
    二分lower_bound()与upper_bound()的运用
  • 原文地址:https://www.cnblogs.com/z--z/p/8142962.html
Copyright © 2011-2022 走看看