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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
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. 它是一种高性能的数据库

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

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
134 6
|
2月前
|
SQL Ubuntu 关系型数据库
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
本文为MySQL学习笔记,介绍了数据库的基本概念,包括行、列、主键等,并解释了C/S和B/S架构以及SQL语言的分类。接着,指导如何在Windows和Ubuntu系统上安装MySQL,并提供了启动、停止和重启服务的命令。文章还涵盖了Navicat的使用,包括安装、登录和新建表格等步骤。最后,介绍了MySQL中的数据类型和字段约束,如主键、外键、非空和唯一等。
75 3
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
|
7月前
|
SQL 存储 调度
从 Volcano 火山模型到 Pipeline 执行模型,阿里云数据库 SelectDB 内核 Apache Doris 执行模型的迭代
一个合适的执行模型对于提高查询效率和系统性能至关重要。本文全面剖析 Apache Doris Pipeline 执行模型的设计与改造历程,并在 2.1 版本对并发执行模式与调度模式进一步优化,解决了执行并发受限、执行及调度开销大等问题。
从 Volcano 火山模型到 Pipeline 执行模型,阿里云数据库 SelectDB 内核 Apache Doris 执行模型的迭代
|
3月前
|
前端开发 IDE 数据库连接
ThinkPHP6 模型层的模型属性,表映射关系,以及如何在控制层中使用模型层和模型层中的简单CRUD
本文详细介绍了ThinkPHP6中模型层的使用,包括模型属性设置、表映射关系、以及如何在控制层中使用模型层进行CRUD操作。
ThinkPHP6 模型层的模型属性,表映射关系,以及如何在控制层中使用模型层和模型层中的简单CRUD
|
3月前
|
SQL 关系型数据库 MySQL
php学习笔记-连接操作mysq数据库(基础)-day08
本文介绍了PHP中连接操作MySQL数据库的常用函数,包括连接服务器、设置字符集、关闭连接、选择数据库、结果集释放、获取影响行数以及遍历结果集等操作。通过书籍查询的实例演示了如何使用这些函数进行数据库操作,并提供了一个PHP操纵MySQL数据库的模板。
php学习笔记-连接操作mysq数据库(基础)-day08
|
4月前
|
SQL druid Java
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
60 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
|
4月前
|
SQL Java 关系型数据库
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
165 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
|
4月前
|
SQL 关系型数据库 MySQL
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
40 6
|
3月前
|
前端开发 数据库 开发者
数据模型(数据库表设计)生成代码
BizWorks ToolKit 插件集成 Mybatis-Plus 代码生成工具,支持从数据库表批量生成代码,简化开发流程。本文详细介绍配置方法及项目示例,包括配置文件格式、生成选项及具体操作步骤,帮助开发者快速实现代码同步更新。配置文件 `.mp.yaml` 支持自定义输出目录、生成组件等,适用于多种项目结构。
55 0
|
4月前
|
存储 关系型数据库 MySQL
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
62 4

热门文章

最新文章