数据库的概念及分类

2019-03-22  本文已影响0人  张猛_6a22

一、什么是数据库?

        数据库可视为电子化文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作,所谓“数据库”是以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合

二、数据库的分类

数据库分类:

        1. 关系型数据库

           1.1   数据库设计的目标是建立DBMS能识别的关系数据模型。而关系数据模型建立的基础是首先建立E-R模型,通过E-R模型才能转换为关系数据模型。如何建立E-R模型以及如何将E-R模型转换为关系数据模型,是管理信息系统开发中数据库设计的关键【可以通俗理解为E-R模型能够更好的去帮助我们去分析创建关系数据库中的所需的表

        那么什么是E-R模型?

E-R模型即实体-联系模型,E-R模型的提出基于这样一种认识,数据库总是存储现实世界中有意义的数据,而现实世界是由一组实体和实体的联系组,E-R模型可以成功描述数据库所存储的数据

E-R模型的基本要素

1) 实体 :实体是E-R模型的基本对象,是现实世界中各种事物的抽象,凡是可以相互区别,并可以被识别的事、物概念等均可认为是实体。在一个单位中,具有共性的一类实体可以划分为一个实体集,例如,学生李明,黄颖等都是实体,为了便于描述,可以定义学生这样的一个实体集,所有学生都是这个集合的成员。

2)属性:每个实体都具有各种特征,称其为实体的属性,如学生有学号,姓名,年龄等属性。实体的属性值是数据库存储的主要数据。能唯一标识实体的属性或属性组称为实体键,如一个实体有多个键存在。则可从中选取一个作为主键。

3)实体间会存在各种关系,如人与人之间可能存在领导与雇员关系等,实体间的关系被抽象为联系

联系可分为以下 3 种类型:

 (1) 一对一联系(1 ∶1)

 对于实体集A和实体集B来说,如果对于A中的每一个实体a,B中至多有一个实体b与之有联系,而反过来也是如此,则称实体集A与实体集B存在一对一联系。

例如,一个部门有一个经理,而每个经理只在一个部门任职,则部门与经理的联系是一对一的。

 (2) 一对多联系(1 ∶N)

对于实体集A和实体集B来说,如果对于A中的每一个实体a,B中有N个实体b与之有联系,而实体B中每一个实体b,A中至多有一个与之有联系,则称体集A与实体集B存在一对多联系。

例如,某校一个班级可以有多个学生,但一个学生只能有一个班级

(3) 多对多联系(M ∶N)

1.2   关系型数据库会严格的按照标准化去建模(也就是常说的第一范式、第二范式、第三范式等等):确保每一条数据都只被存储一次。标准化是其结构设置的规范。

  2.非关系型数据库

            非关系型数据库,又被称为NoSQL(Not Only SQL ),意为不仅仅是SQL( Structured QueryLanguage,结构化查询语言),据维基百科介绍,NoSQL最早出现于1998 年,是由Carlo Storzzi最早开发的个轻量、开源、不兼容SQL 功能的关系型数据库,2009 年,在一次分布式开源数据库的讨论会上,再次提出了NoSQL 的概念,此时NoSQL主要是指非关系型、分布式、不提供ACID (数据库事务处理的四个基本要素)的数据库设计模式。

2.1非关系型数据库分类

(1)Column-Oriented

面向检索的列式存储,其存储结构为列式结构,同于关系型数据库的行式结构,这种结构会让很多统计聚合操作更简单方便,使系统具有较高的可扩展性。这类数据库还可以适应海量数据的增加以及数据结构的变化,这个特点与云计算所需的相关需求是相符合的,比如GoogleAppengine的BigTable以及相同设计理念的Hadoop子系统HaBase就是这类的典型代表。需要特别指出的是,Big Table特别适用于MapReduce处理,这对于云计算的发展有很高的适应性。

(2)Key-Value。

面向高性能并发读/写的缓存存储,其结构类似于数据结构中的Hash表,每个Key分别对应一个Value,能够提供非常快的查询速度、大数据存放量和高并发操作,非常适合通过主键对数据进行查询和修改等操作。Key-Value数据库的主要特点是具有极高的并发读/写性能,非常适合作为缓存系统使用。MemcacheDB、BerkeleyDB、Redis、Flare就是Key-Value数据库的代表。

(3)Document-Oriented。

面向海量数据访问的文档存储,这类存储的结构与Key-Value非常相似,也是每个Key分别对应一个Value,但是这个Value主要以JSON(JavaScriptObjectNotations)或者XML等格式的文档来进行存储。这种存储方式可以很方便地被面向对象的语言所使用。这类数据库可在海量的数据中快速查询数据,典型代表为MongoDB、CouchDB等

三、常见数据库

1.关系型数据库管理器主要有:

MySQL(最常用关系型数据库之一)

Oracle (最常用关系型数据库之一)

PostgreSQL

Microsoft Access

Microsoft SQL Server

Google Fusion Tables

FileMaker

Sybase

dBASE

Clipper

FoxPro

foshub

2.非关系型数据库管理器主要有:

MongoDB(常用非关系型数据库之一)

Redis (常用非关系型数据库之一)

BigTable(Google)

Cassandra

CouchDB

上一篇下一篇

猜你喜欢

热点阅读