第一章、简介
1.1、什么是数据库?
1.2、数据库的分类
1.3、数据库专栏
第二章、关系型数据库与非关系型数据库
2.1、关系型数据库
2.1.2、关系型数据库的种类
2.1.2、关系型数据库的优缺点
2.1.3、关系型数据库的应用
2.2、非关系型数据
2.2.1、非关系型数据的种类
2.2.2、非关系型数据库的优缺点
2.2.3、非关系型数据库的应用
第三章、数据库模型(简称为数据模型)
3.1、数据模型的内容
3.2、数据模型的划分
3.2.1、分层模型
3.2.2、关系模型
3.2.3、网络模型
3.2.4、实体关系模型(比如EF实体架构)
第四章、总结
4.1、应用需求
4.2、数据模型与数据库的关系
参考http://www.shareblogs.top/397/
- 以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合,称为数据库(
Database)。
- 人们创建一些专门用来管理数据的软件,这些软件统称为数据库管理系统(英语:Database Management System,简称DBMS)。
- 数据库管理系统,一般具有存储、截取、安全保障、备份等基础功能。
参考:
https://baijiahao.baidu.com/s?id=1626625811239051052&wfr=spider&for=pc
https://blog.csdn.net/u011202334/article/details/61915285
https://blog.csdn.net/xin_ge_cheng_xu/article/details/79663549
早期比较流行的数据库模型有三种,分别为层次式数据库、网络式数据库、关系型数据库和非关系数据库。而在当今的互联网中,最常用的数据库模型主要是两种,即关系型数据库和非关系型数据库。
当前互联网时代,数据库的分类,可以下面几种方式分类:
- 按按所支持的数据库模型分类——关系式数据库(关系,即一对多、多对一的关系)、非关系数据库(包括键值存储数据库、列存储数据库、面向文档数据库、图形数据库等等)。
- 按所支持的计算机类型分类——
- 按所用查询语言来作分类——SQL、XQuery
- 性能侧重点来作分类——最大规模、最高运行速度
此外,还有模糊数据库、统计数据库、演绎数据库等等数据库,与关系、非关系数据库并列,只是它们用得少,年代久远,使用场景具有局限性。
本博客将记录:
- 根节点——讨论数据库设计规则
- 子节点——讨论常用的数据库,比如EF实体数据、SQL Server数据库、SQLite数据库等等
几乎所有的数据库管理系统都配备了一个开放式数据库连接(ODBC)驱动程序,令各个数据库之间得以互相集成。
关系模型就是指二维表格模型,因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。主要包括:
- MySQL
- MariaDB(MySQL的代替品,英文维基百科从MySQL转向MariaDB)
- Percona Server(MySQL的代替品·)
- PostgreSQL
- Microsoft Access
- Microsoft SQL Server
- Google Fusion Tables
- FileMaker
- Oracle数据库
- Sybase
- dBASE
- Clipper
- FoxPro
- foshub
关系型数据库目前是主流的数据库类,其优缺点点表示为:
优点:
- 易于维护——表结构、格式一致。
- 使用方便——支持SQL语言、可用于单表或多表的复杂查询
缺点:
- 读写能力差——海量数据时,效率慢。
- 缺乏灵活性——表结构固定了,常常需要冗余字段,灵活性欠缺。
- 缺乏高并发读写——比如读写硬盘I/O,速率慢。
主要应用在复杂处理、数据量小、安全性高、数据单一的场景下的数据数据。
参考https://blog.csdn.net/xin_ge_cheng_xu/article/details/79663549
非关系型数据,严格上来说不是一种数据库,而是数据结构化存储方法的集合,可以是文档或键值对。 非关系型数据库又可以分为键值存储数据库、列存储数据库、面向文档数据库、图形数据库、搜索引擎存储。
2.2.1.1、键值(key-value)数据库:
- Apache Cassandra(为Facebook所使用):高度可扩展
- Dynamo
- LevelDB(Google)
2.2.1.2、 列存储数据库
***
2.2.1.3、 面向文档数据库
***
2.2.1.4、 图形数据库
***
2.2.1.5、搜索引擎存储
***
优点:
- 格式灵活——支持key-value形式、图片形式、文档形式等等。
- 速度快——NoSQL用硬盘或随机存储器作为载体,而关系数据库只能使用硬盘
- 高扩展性——
- 成本低——NoSQL数据库部署简单,基本都是开源软件。
缺点:
主要应用在网站大规模数据、高性能、高效率、多格式场景下的数据存储。
参考https://blog.csdn.net/qq_37939251/article/details/83443746#数据库模型的类型
https://www.cnblogs.com/neversayno/p/5802819.html
我们将自然界的信息,存储到计算机的过程中,常常需要几个抽象+转换的过程。
数据模型所描述的内容包括三个部分:数据结构、数据操作、数据约束:
- 数据结构——数据模型中的数据结构主要描述数据的类型、内容、性质以及数据间的联系等。数据结构是数据模型的基础,数据操作和约束都建立在数据结构上。不同的数据结构具有不同的操作和约束。
- 数据操作——数据模型中数据操作主要描述在相应的数据结构上的操作类型和操作方式。
- 数据约束——数据模型中的数据约束主要描述数据结构内数据间的语法、词义联系、他们之间的制约和依存关系,以及数据动态变化的规则,以保证数据的正确、有效和相容。
数据模型为三种抽象的模型:分别是概念数据模型、逻辑数据模型、物理数据模型。
- 概念模型——是面向数据库用户的实现世界的模型,主要用来描述世界的概念化结构,它使数据库的设计人员在设计的初始阶段,摆脱计算机系统及DBMS的具体技术问题,集中精力分析数据以及数据之间的联系等,与具体的数据管理系统(Database Management System,简称DBMS)无关,主要用到E-R模型、扩充的E-R模型、面向对象模型及谓词模型。概念数据模型必须换成逻辑数据模型,才能在DBMS中实现。
- 逻辑数据模型(Logical Data Model)——简称数据模型,这是用户从数据库所看到的模型,是具体的DBMS所支持的数据模型,如层次模型、网状模型、关系模型等等。此模型既要面向用户,又要面向系统,主要用于数据库管理系统(DBMS)的实现。
- 物理数据模型(Physical Data Model)——简称物理模型,是面向计算机物理表示的模型,描述了数据在储存介质上的组织结构,它不但与具体的DBMS有关,而且还与操作系统和硬件有关。每一种逻辑数据模型在实现时都有起对应的物理数据模型。DBMS为了保证其独立性与可移植性,大部分物理数据模型的实现工作又系统自动完成,而设计者只设计索引、聚集等特殊结构。
综合数据模型的3个层次划分,数据模型有很多种变现形式。一些最常见的包括:
- 分层数据库模型
- 关系模型
- 网络模型
- 面向对象的数据库模型
- 实体关系模型
- 文件模型
- 实体 - 属性 - 值模型
- 星型架构
- 对象关系模型,它组合了两个组成其名称的模型
我们在第一章已经阐明,互联网时代主要还是用关系型数据库和非关系数据库。
层次模型将数据组织成树状结构,其中每个记录具有单个父或根。同级记录按特定顺序排序。该顺序用作存储数据库的物理顺序。该模型适用于描述许多现实世界的关系。
其对应了我们常用的关系数据库,省略。
***
该模型捕获真实世界实体之间的关系,就像网络模型一样,但它并不直接与数据库的物理结构相关联。这里,存储数据点的人,地点和事物被称为实体,每个实体具有共同构成其域的某些属性。基数或实体之间的关系也被映射。它的E-R图如下:
不同的场景,需要不同的数据库。
某个数据库,比如关系型数据库,可能包含了多个数据模型。不要以为一个数据模型,就对应了某个类型的数据库。