大总结一:由“四则运算”到“可扩展标记语言”到“SQL”

  现代信息时代,到处都是信息化数字化。有的信息是天生的数字的,比如个数,1,2,3,4等;有些信息本身是非数字化的,比如声音,因此就有了“A/D”转换,将模拟信息数字化。

  以前知道XML,最近做网页用到了。同学说,现在JSON很流行,于是在网上看了看网上的讲解,其实还是大同小异啊。

  自从大学开始接触电脑,现在已经学了快5年了。也算是个小码农,由于最近看了JSON,总结总结那些见过的用过的“可扩展标记语言”进展

1.((1+2)*(8/4)+(3*7)-21)

  没错,这只是个简单的四则运算式子而已。我想这应该是后面提到的数据保存或者使用格式的祖先吧。

  注意,这个式子,我在最外面也加了一层括号,表示这个式子是一个整体。根据运算法则 ,以及括号我们可以把它分成四部分,如下图的红色部分。有的是“最简形式“,如21;有的是”复合形式“,如(1+2),(8/2),(3*7)。

大总结一:由“四则运算”到“可扩展标记语言”到“SQL”

  上图有没有看到XML的意味呢?继续往下看。

2.XML 、HTML

  下面是一个简单的XML实例,也是XML的最一般形式。

 大总结一:由“四则运算”到“可扩展标记语言”到“SQL”

  考虑式子((1+2)*(8/4)+(3*7)-21),如果不考虑数据运算关系,比如+、-、*、/。只考虑数据的结合性以及运算顺序,可以把这个式子写成如下”类XML“形式,其中的箭头是用来说明范围: 大总结一:由“四则运算”到“可扩展标记语言”到“SQL”

  所以说XML与算术表达式的有一定的的联系。

3.JSON

  JSON的出现比XML晚一些,JSON相比XML用括号来表示范围。JSON只用于传输数据,传输相同的信息,JSON文件比XML小的多。

  同样,对式子((1+2)*(8/4)+(3*7)-21),只考虑数字之间的结合。可以写成JSON文本的格式如下,如下图所示:

   大总结一:由“四则运算”到“可扩展标记语言”到“SQL” 

  这里用到的是JSONArray,因为表达式计划有一定的顺序性,而不是”映射“关系的一堆集合数据。

4.数据结构

  提到XML、JSON数据保存形式,就不得不提数据结构。

  数据结构更多的体现在编程方面,即数据在内存中更好的组织,更快的访问。

  如下是用C语言定义的一个学生数据结构:

typedef node
{
    char[20] name;
    char sex;
    int age;
}student;
student list[20];

  数据结构就好比XML中DTD(文档类型定义),JSON中一个JSON对象内部的组织等。如果对你对XML有一定了解,完全可以把上面代码定义的list[20]写成XML文件的形式吧。

5.报表table、Excel、NoSQL

  报表table就是数据的一种显示形式而已。数据可以是非常”结构化“,整整齐齐;也可以是”半结构化“的,比如合并单元格

  Excel是做报表table的软件了。

  NoSQL是相对结构化数据提出的,可以支持”半结构化“的数据数据。

  table、Excel、NoSQL很接近XML与JSON等比较灵活。

6.SQL中的table

  学过或者用过数据库的人,都应该知道SQL吧,全称:结构化查询语言(StructuredQueryLanguage)。

  ”结构化“用关系型数据库的说法就是,表中不能有表,字段不能再分。

   这更像是一种,定义严格的XML,或者叫XML加强版

7.Hash

  XML、Hash、Json、sql中都支持”键值对“,即按键所值。

  

  总结:纵观这些数据结构或者数据形式都有一定的相相似性。算术表达式--->HTML/JSON/XML--->SQL/NOSQL,貌似这些概念的引入或者发明都没有我们的人呀。我们的码农们,要给力啊。

  上面提到的这些概念有相似也有区别,学习这些重在理解、总结。

 

上一篇:「Linux 系列」阿里云服务器的使用及安装 mysql、tomcat、jdk 三件套


下一篇:基于ECS搭建FTP服务