我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Mysql系列——数据库设计(1)——关系型数据库使用情景

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Mysql系列——数据库设计(1)——关系型数据库使用情景

为什么使用数据库

许多人会问为什么软件存储数据会使用数据库?记得当时有一位做Flash开发的朋友说,你们做后端开发的一旦牵涉到存储数据就会想用数据库。其实存储数据可以使用文件。他的说法有一定道理。那么需要存储数据时,什么情况使用文件、什么情况使用数据库呢?前端存储数据使用文件都能解决吗?这篇文章会解答这些问题。

关系型数据库优点

关系型数据库的理论依据是笛卡尔的关系数学理论,但是实际上,大多数使用维护数据库的同行对关系数学都是一知半解,不幸的是我也是其中一位。我知道的是基于关系数学理论设计的关系数据库能够满足减少数据冗余(不是绝对避免,数据冗余有一定的好处),去除数据不一致性的要求。这是关系型数据库数学理论给它带来的优点,因此学习一些理论知识武装头脑能够提高软件开发效率、降低运维成本,甚至创造更高的价值。

关系型数据库跟文件存储数据最大的区别不仅于此,更在于关系型数据库能够带来高性能。一个关系型数据库能够支持成百上千的进程同时读写数据,而一个文件在有多个进程读写数据时会锁死,甚至带来数据的不一致性。那么关系型数据库是怎样做到在保证高性能的同时保证数据的一致性呢?(这句话有一定片面,本质上这两个指标之间是一对矛盾,数据的一致性有多个级别:强一致性、弱一致性、最终一致性,而越高的一致性则带来越低的性能。这需要看您在系统设计时更重视哪个指标)

因为数据库系统在设计时运行了多个进程,并且将数据文件按照块为单位进行了划分,同时在内存中也对相关数据及索引区域以块为单位进行了划分。在进行数据写入时,有些数据库会先写日志,然后返回给程序。在数据库根据管理员配置的参数及内存相关区域容量的情况下决定是否将数据回写磁盘。在多个进程的配合下,数据库能够保证高性能与一致性。同时,数据库系统的设计者们运用了B+树等结构对数据在存储时进行了索引,您在查询数据时数据库尽可能的应用索引,因此数据的读取也会更加快速。同时,数据库会将热数据存储在较快的存储中作为缓存(内存、固态系统硬盘等),这样也能够显著的提高效率。

(至于怎样调整参数优化MySQL数据的效率,将在 数据库的性能的几个关键参数(为什么参数设置后未生效)进行讲解。)

因此,关系型数据库相比文件存储数据来说具有:高性能、一致性等优点。而关系型数据库相对Nosql数据来说,高性能并不能算作他的长处,一致性则成为关系型数据库的长处。

怎样选择存储系统

如果您像我的朋友一样制作一个单人的Flash系统,可以考虑文件存储数据。而据我做手机软件的同事来说,他们在做手机软件时也会选择文件存储数据。但是,大多数学习了关系型数据库理论与设计的开发人员在选择存储系统的时候则选择另外一种轻量的关系数据库:Sqlite。这种关系型数据库语法与mysql有较好的兼容性,能够提高编程质量与效率。在此,推荐同行们在制作手机软件、前端软件时使用Sqlite进行开发。

写在后面的

关系型数据库之所以在今天仍然被大量采用,是因为他的高性能与可靠性。在笔记本刚出来的时候,有很多人说台式机将会消失。同样,在Mongo出现后,有些人预言关系数据库会被替代。但是,关系型数据库仍然在不断发展,因为尺有所短、寸有所长。多样才多彩,可爱的朋友,您说呢?


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Mysql系列——数据库设计(1)——关系型数据库使用情景

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

mysql是关系型数据库吗?

是,mysql 是一种关系型数据库管理系统(rdbms),它使用关系模型来存储和管理数据,包括:表,其中行表示数据实体,列表示属性。主键,唯一标识每个行。外键,用于建立表之间的关系。数据完整性约束,如主键和外键约束,以确保数据准确性和一致性
mysql是关系型数据库吗?
2024-08-02

mysql是关系型数据库吗

是的,MySQL 是一种关系型数据库管理系统(RDBMS)。关系型数据库是指采用了关系模型来组织数据的数据库系统。在一个关系型数据库中,数据以表格的形式进行存储,每个表由行和列组成,其中每一列代表一个属性,每一行代表一个记录。MySQL
mysql是关系型数据库吗
2024-04-09

【数据库——MySQL(实战项目1)】(1)图书借阅系统——数据库结构设计

目录 1. 简述2. 功能3. 数据库结构设计3.1 绘制 E-R 图3.2 创建数据库3.3 创建表3.4 插入表数据 1. 简述 经过前期的学习,我们已经掌握数据库基础操作,因此是时候来做一个实战项目了——图书借阅系统。
【数据库——MySQL(实战项目1)】(1)图书借阅系统——数据库结构设计
2023-12-23

SQLALchemy操作MySQL关系型数据库

1.SQLALchemy使用安装pip install sqlalchemy;SQLAlchemy是Python编程语言下的一款开源软件,是PythonSQL工具包和对象关系映射器,它为应用程序开发人员提供了SQL的全部功能和灵活性2.什么
2023-06-02

mysql属于关系型数据库吗

MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策
2022-05-20

怎么使用Mysql来管理关系型数据库

这篇文章主要讲解了“怎么使用Mysql来管理关系型数据库”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Mysql来管理关系型数据库”吧!第一步,安装My
2023-04-21

关系型数据库的设计规则有哪些

本篇内容介绍了“关系型数据库的设计规则有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!E-R(Entity-relationship,实
2023-06-21

MySQL数据库实验实现简单数据库应用系统设计

目录一、实验目的二、实验要求三、实现内容及步骤1、学生表:student2、寝室表:dormitory3、管理员表:admin四、编程客栈实验总结观前提示:本篇内容为mysql数据库实验,代码内容经测试过,可能一小部分有所疏漏,也有会不符合
2022-06-20

mysql client如何操作MySQL关系型数据库

这篇文章主要介绍了mysql client如何操作MySQL关系型数据库,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。主要讲解mysqlclient操作MySQL关系型数据库
2023-06-02

编程热搜

目录