我所知道的数据库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。

原文地址:https://www.cnblogs.com/jason-huang/p/JASON.html