数据库模型及常用数据库介绍|学习笔记

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: 快速学习数据库模型及常用数据库介绍

开发者学堂课程【嵌入式之RFID开发与应用2020版数据库模型及常用数据库介绍】学习笔记与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/665/detail/11222


数据库模型及常用数据库介绍

 

常用数据库介绍

本节课讲解数据库的模型,数据库系统会根据数据模型对数据进行存储和管理,主要满足以下三方面要求。

1. 能够比较真实的模拟现实的世界

2. 容易被人们所理解

3. 容易在计算机上去实现

所以数据结构,数据操作和数据的完整性约束,是构成数据模型的三要素,数据结构较易理解,包括操作基本的增删改查。完整性约束是指防止录入一些不合规则的数据。

有一个程序员屡次被罚款,是因为在车牌号之前写了一条SQL插入语句,最后监控拍摄到该语句之后,就将其转化成了插入语句,语句背后带有攻击性,会导致官方数据库遭受到攻击。所以对于整个数据的完整性约束也很重要。

说明,官方数据库本身存在漏洞。在用户对数据进行插入修改删除等操作时,数据库管理系统能够按照一定的约束条件对数据进行规范,如果不符合要求,就不允许插入到数据库当中,从而确保了数据库当中的数据正确、有效以及相容性。

对于数据模型,主要有以下3种:

1. 层次模型

2. 网状模型

3. 关系模型

层次模型类似于linux系统的文件目录管理:

image.png

image.png

有根结点、子节点、叶节点或普通节点,对于一个层次模型来说。只有一个节点,无父节点,也就是根节点,没有父节点,其他节点都有父节点,其他节点不仅都有父节点,而且只有一个父节点,但一个父节点可以有多个子节点,多个子节点被称为普通节点或叶节点,同一个父节点的子节点被称为兄弟节点。如果该节点不再有子节点,该节点就作为叶节点。

在现实世界当中,有许多数据关系,都是该层次关系。层次关系在实际应用当中出现最少,是最早被研发出来的。IBM研发的叫IMS的数据库,就是基于该层次关系。

该层次关系应用也较为广泛。例如,一个公司或单位的人员管理就具备该层次关系,包括教学楼、办公楼的管理也符合该要求,包括图书馆的管理。一切具有等级划分特征的都可以应用层次模型进行数据管理,该层次模型主要表达的是树形结构。如果针对非树形结构的模型表达并不直观,非树形结构类似于较为复杂的节点,例如父节点等多对多的关系,此时就需要使用网状模型。网状模型比层次模型更复杂,特点是允许一个以上的节点没有父节点,树结构只有一个节点没有父节点,其他节点都有父节点,而且一个节点可以有多个父节点,如图所示:

image.png

网状模型的出现并不晚,其主要特点是实现数据的共享,减少了数据的冗余,提升了数据的效率。例如在大学当中上学时,一个学生可以选择多门课程,同时这一门课程可以被多个学生所选择,也就是多对多的关系,包括全国的交通网络,如果以一个城市作为节点,各个城市所构成的关系也是网状关系。

数据库在早期时候的标准,例如美国的BBG标准就是专门实现网状模型。除了该模型以外,还有以时间序列为关系,以时间轴为关系的模型,称为时序模型。在物联网后期会重点使用该模型。以时序为模型的数据库就是时序数据库。

例如TS DB,就是一种时序数据库。国产的一个数据库,是国内的团队所创作,专门应用在物联网当中,体积小,兼顾了各种数据库的特征,尤其是时序数据库的特征,创建了一个属于自己的数据库。最后是关系型数据库:

image.png

简单来说就是一张表,平时在办公时经常使用Excel电子表格,电子表格是提供给普通大众使用的一种关系模型。

对于数据库来说,主要是服务于软件,间接服务于用户,所以与用户之间隔着一套软件,电子表直接面向用户。对于关系模型,每一列是一个属性,每一行是一个成员,所以每一列的类型都必须相同,但列的顺序可以是任意的,行的顺序也可以是任意的。表中的分量不可以再分割,也就是最小数据项。

不允许再有子表,表示一个最小的元素。关系型数据库采用关系模型作为数据的组织方式,严格遵守数学理论,使用简单灵活,而且数据的独立性很强,被公认为目前最有前途的数据库管理系统,是目前占据主导地位的数据库管理系统。自从80年代以来,作为商业化推出的数据库几乎都是关系型数据库。 Oracle、 MySQL 、Access 、SQLite都属于关系型数据库。

1、ORACLE:

ORACLE是甲骨文公司开发的一款数据库,是一种适用于大型、中型和微型计算机的关系数据库管理系统,它使用SQL语言作为它的数据库语言。

2、MySQL:

MySQL是一个开放源码的小型关系型数据库管理系统,开发者为瑞典MySQLAB公司,92HeZu网免费赠送MySQL。目前MySQL被广泛地应用在Internet上的中小型网站.提供由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

3、SQL server:

真正的客户机/服务器体系结构。微软 Microsoft出品的- -款数据库软件图形化用户界面,使系统管理和数据库管理更加直观/简单具有很好的伸缩性,可跨越从运行Windows95/98型电脑到运行Windows2000的大型多处理器等多种平台使用。

4、Access:

Access是由微软发布的关系数据库管理系统。它结合了MicrosoftJet Database Engine和图形用户界面两项特点,是Microsoft Office的系统程序之一Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高.但是它的同时访问客户端不能多于4个。access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。

5、Sybase:

sybase公司1987年推出了Sybase数据库产品Sybase主要有三种版本,一是UNIX操作系统下运行的版本,二是Novell Netware环境下运行的版本,三是WindowsNT环境下运行的版本。

首先,常用的数据库是Oracle。主要适用于大型计算机服务器和中型和微型也可以使用。遵守SQL语言的标准结构是商业的。

第二是MySQL是一个开源的小型数据库。公司开发的,如果公司有成本考虑,可以考虑MySQL,可以降低成本,体积较小,速度较快,而且开放源码。所以小型服务器小型网站可以选择该数据库。

第三是SQL Server, SQL Server是来自于微软的数据库,是基于code服务器的数据库。Windows的各个系统都支持,主要用于Windows平台。

第四是access。Access是由微软发布的关系数据库管理系统结合了Microsoft Jet database Engine和图形用户界面两项特点。主要用于单机的数据库,因为不适合太多人访问,数据量太大,容易出现系统问题。

第五是sybase,sybase本身是一个公司。在1987年推出了sybase数据库产品,也有多个版本。

windowsnt也是当时在工作站服务器里面用的较多的网络操作系统, sybase的特点如下:

1. 基于客户/服务器体系结构的数据库。

2. 它是真正开放的数据库,容易移植。

3. 它是一种高性能的数据库

是真正的开放数据库,较容易移植,而且性能较高,以上是市面上比较主流的数据库软件。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
SQL 数据可视化 关系型数据库
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
119 0
|
2月前
|
机器学习/深度学习 存储 安全
数据库模型:层次模型、网状模型、关系模型
数据库模型:层次模型、网状模型、关系模型
|
4月前
|
存储 关系型数据库 MySQL
Linux C/C++ 开发(学习笔记八):Mysql数据库图片存储
Linux C/C++ 开发(学习笔记八):Mysql数据库图片存储
53 0
|
4月前
|
关系型数据库 MySQL 数据库
Linux C/C++ 开发(学习笔记七):Mysql数据库C/C++编程实现 插入/读取/删除
Linux C/C++ 开发(学习笔记七):Mysql数据库C/C++编程实现 插入/读取/删除
54 0
|
19天前
|
数据采集 存储 人工智能
理解词向量、向量数据库、嵌入模型、数据预处理和本地知识库
本文介绍了词向量、向量数据库、嵌入模型和构建本地知识库等内容。
|
2月前
|
存储 SQL 缓存
【软件设计师备考 专题 】数据库模型(概念模式、外模式、内模式)
【软件设计师备考 专题 】数据库模型(概念模式、外模式、内模式)
77 0
|
6月前
|
SQL 关系型数据库 MySQL
07 Django模型 - ORM简介及MySQL数据库的使用
07 Django模型 - ORM简介及MySQL数据库的使用
39 0
|
2月前
|
SQL 机器学习/深度学习 存储
数据库设计革命:逻辑模型的演变与面向对象的突破
数据库设计革命:逻辑模型的演变与面向对象的突破
16 1
|
3月前
|
缓存 NoSQL 关系型数据库
数据库缓存一致性学习笔记(一)
数据库缓存一致性学习笔记(一)
|
3月前
|
开发框架 安全 .NET
某教程学习笔记(一):07、数据库漏洞(access注入)
某教程学习笔记(一):07、数据库漏洞(access注入)
21 0