zoukankan      html  css  js  c++  java
  • 我所知道的数据库1-数据库类型

    讲到数据库,就不得不说SQL语言,而关于SQL语言,我私下做过些调查,很多朋友只知道select语句,多点的会说知道增删改查,但是当被问及知道DDL是什么的时候,大多数小伙伴们都表示不知道,甚至说没听过……不多说,进入正题。

    数据库:数据库全称数据库管理系统,简称DBMS。数据库依赖于计算机,是用来组织、存储、管理、共享数据的。而装有数据库软件的机器就是数据库服务器。

    一般说来,数据库都有其数据模型,按数据模型,数据库可以分为一下几类:

    1.层次模型数据库(hierarchical datamodel)

      特点:倒置的树状结构,只有一个无双亲节点的节点(根结点),一般用来描述一对一、一对多关系。

      层次模型数据库也是按照记录来存取数据的,其最基本的数据关系是基本层次关系,它代表两个记录型之间一对多的关系,也叫做双亲子女关系(PCR,PARENT-CHILD-RELATION)。数据库中有且只有一个记录型无双亲,称为根节点,其他记录型有且只有一个双亲。在层次模型数据库中,从一个节点到其双亲的映射是唯一的,所以对每一个记录型(除根节点外),只需要指出它的双亲,就可以表示出层次模型的整体结构。

      层次模型的表示方法是:树的结点表示实体集(记录的型),结点之间的连线表示相连两实体集之间的关系,这种关系只能是“1一M”的。通常把表示1的实体集放在上方,称为父结点,表示M的实体集放在下方,称为子结点。

      层次模型的物理存储有两种实现方法:

        顺序法:按照层次顺序把所有的记录邻接存放,即通过物理空间的位置相邻来实现层次顺序。

        指针法:各个记录存放时不是按层次顺序,而是用指针按层次顺序把它们链接起来。

      最著名最典型的层次模型数据库系统是IBM公司的IMS(Information Management System),这是IBM公司研制的最早的大型数据库系统程序产品,大家有兴趣可以去参考下,笔者不做介绍。

    2.网状模型数据库(Network Model)

      特点:允许有多个无双亲节点的节点,用来描述一对一、一对多、多对一、多对多关系。在实际过程中,一般都是添加大量约束条件。

      将网状结构分解成若干棵二级树结构,称为系。系类型是二个或二个以上的记录类型之间联系的一种描述。在一个系类型中,有一个记录类型处于主导地位,称为系主记录类型,其它称为成员记录类型。系主和成员之间的联系是一对多的联系。

      网状模型中以记录为数据的存储单元,记录包括若干数据项,数据项可以是多值的和复合的数据。每个记录都有一个唯一的标识它的内部标识符,称为码(DatabaseKey,DBK),每个记录在存入数据库时,DBMS都会自动赋予一个唯一的码。DBK可以看作记录的逻辑地址,可作记录的替身,或用于寻找记录。网状模型数据库是导航式(Navigation)数据库,用户在操作数据库时不但要说明做什么,还要说明怎么做,例如在查找语句中不但要说明查找的对象,而且要规定存取路径。

      现有的网状数据库系统大都是采用DBTG方案的。DBTG系统是典型的三级结构体系:子模式、模式、存储模式。相应的数据定义语言分别称为子模式定义语言SSDDL,模式定义语言SDDL,设备介质控制语言DMCL。另外还有数据操纵语言DML。

    3.关系模型数据库(Relation Model)

      关系型数据库又简称RDBMS,依赖于关系模型(来源于关系代数),以二维表的方式来建立关系,关系中包含多个属性。也是目前应用最为广泛的。

      常见的RDBMS:

        Oracle          Oracle公司

        mysql          Oracle公司

        sql server(MS SQL)  Microsoft公司

        DB2           IBM公司

        informix

        postgre

    4.非关系型数据库(NOSQL,not only SQL)

      主要是应用互联网领域,目前国内最火的NOSQL产品是MogonDB。

  • 相关阅读:
    mongodb里释放空间相关问题解决方案
    php计算多个集合的笛卡尔积实例详解
    Linux系统下,在文件中查找某个字符串
    Php中文件下载功能实现超详细流程分析
    jquery获取一组文本框的值
    C#找不到ConfigurationManager类
    php获取当前时间的毫秒数
    随机打乱一个数组
    mysql 语法积累
    linq给list集合数据分页
  • 原文地址:https://www.cnblogs.com/jason-huang/p/JASON.html
Copyright © 2011-2022 走看看