什么是关系型数据库?
简介
维格表,是「柔性多维数据表格」技术的简称,是一种融合数据库和电子表格的突破性创新云数据处理技术。
维格表则是由一系列基于记录(行)和 字段(列)组成的网格,每一列都具有预设可配置的列类型,从而使得整个表格有规范的数据结构,以有效的组织和展示大量数据为目标,是数据库和电子表格的两种技术的优点的混血儿。
既然维格表是一种数据库+电子表格的混血儿,如果你已经使用过 Excel 等电子表格软件,知道什么是电子表格,但还不知道什么是数据库的话,那么有必要先来了解下数据库的基础概念。
数据库
数据库的概念
数据库可以简单地理解为「数据的仓库」,包含大量结构化的、以一定的组织方式整理过的数据。
一个数据库一般是由多个数据表组成的集合,每个数据表则是由多个记录(行)组成的集合,而每一个记录(行)是字段(列)的集合,而每个字段(列)又是字节或字符的集合。
一个数据库最简单的相似物,也许是「电话簿」。在一本电话簿中,有关一个人的信息代表一个记录(行),用数据库的术语来说,一本电话簿是关于人(或记录)的一个相当大的数据库。
在这本电话簿中,有三个主要的信息字段:姓名、地址、电话号码,这些字段又能更进一步地划分字段:姓、名、街道、城市等等。
如图所示:
字段的概念
如前所述,每一个数据表中的记录(行)是字段(列)的集合。数据表中的「列」,就是「字段」,每个字段通常包含特定的名字和类型。
比如,像电话簿这个数据表中,有一个名字叫 “电话号码” 的字段,它的类型是“数字电话”格式,这个字段的内容,只可以输入数字才是合法性的验证规则,输入英文将不被接受的。
在维格表中,提供了非常丰富的字段(列)类型,如字符、数字、日期,还提供了附件字段,支持文件、图片等等,让维格表成为一种支持多媒体的表格。
数据库的特性
通常数据库具有以下几个特性:
结构化:数据库中的数据并不是杂乱无章、毫不相干的,它们具有一定的组织结构,共属同一个表的数据记录(行)都有一样的字段(列)。比如,在一个学校的人员数据管理系统中,关于学生信息的若干个记录就有着相同的特征,每个学生记录都记录着系、班级、学号、姓名、年龄、民族等信息,而学生成绩记录中记录着每个学生的各种成绩 —— 数学、英语、语文、物理、化学、生物、政治等。
共享性:在一个团队或部门之间,存在着大量重复的信息。使用数据库的目的就是要统一管理这些信息,减少冗余度,使各个团队之间共同享有相同的数据。在维格表中,基于「 Lightning™ 实时协同数据引擎」,除了共享数据,多个用户还可以在不同地方同一时间同时编辑同样的数据单元格,而不会造成冲突。
独立性:数据的独立性是指数据记录(行)和数据管理软件之间的独立。数据及其结构应具有独立性,而无需去编程改变数据库系统的应用程序。
完整性:数据的完整性是指保证数据库中数据的正确性。可能造成数据不正确的原因很多,但是数据库管理系统应该通过对数据的性质进行检查而管理它们。比如,商品有一个字段(列)叫 “价格” ,价格不能为负数;人有一个字段(列)叫 “年龄” ,数据库能监测出介于 1~150 之间;一场电影的订票书不应超过电影院的座位数等。
灵活性:数据库管理系统不是把数据简单堆积,它应在记录数据信息的基础上,具有多种管理功能,比如,输入、输出、查询、编辑、筛选、排序、分组等等。
安全性:一个数据库表所记录的信息并不是所有的人都有权力查看、修改。在维格表中可以通过组织结构,把用户的职责分成若干等级,不同级别的人对数据库的使用有着不同的权限,确保数据的安全性。
通过以上的介绍,你已经对数据库和数据库管理系统有了一个初步的认识,同时这些特性也是维格表所全部具备的。
而且,维格表,在所有这些数据库的特性的基础上,还把电子表格( Excel )革命性地结合了,把本来只能由专业数据库管理员、程序员维护的数据库管理系统的门槛,降低到小白用户可以快速掌握的水平,使得云数据技术在各种各样的场景中均能非常容易地落地。
进一步理解数据库
了解什么是数据库后,这仅仅还只是一个抽象层面的概念。究竟数据库有什么用? 数据库的内部是由多张数据表格组成。为了组织和构造一个数据库,用户应该了解一下相互关联的数据之间的组织关系和对应关系。
以下进行场景举例。
假设你在学校里,刚刚被选为一个班的班长,收到的班主任老师交代的第一个任务就是去整理全班的同学信息 ,这当中包括了对学生、教师、课程、成绩进行一个管理,就有了学生名单表、课程登记表、教师任课表、学习成绩表这些表。
表 1:学生名单表
学号 | 姓名 | 年龄 | 性别 |
---|---|---|---|
001 | 张三 | 21 | 男 |
002 | 李四 | 20 | 女 |
003 | 王五 | 23 | 男 |
004 | 赵五 | 22 | 男 |
表 2:课程登记表
课程号 | 课程名 | 学时 | 学分 |
---|---|---|---|
A1 | 高等数学 | 200 | 25 |
A2 | 数理统计 | 120 | 12 |
A3 | 复变分析 | 110 | 11 |
A4 | 概率统计 | 100 | 10 |
表 3:教师任课表
课程号 | 任课老师 |
---|---|
A1 | 陈老师 |
A2 | 刘老师 |
A3 | 孔老师 |
A4 | 周老师 |
表 4:学习成绩表
学号/课程 | A1 | A2 | A3 | A4 |
---|---|---|---|---|
001 | 90 | 85 | 84 | 92 |
002 | 87 | 91 | 78 | 88 |
003 | 78 | 76 | 77 | 78 |
004 | 91 | 90 | 93 | 94 |
如上的几个表中,他们看起来都是独立的表,但其实,内里却有着关系:
- 教师任课表中,课程号对应着课程登记表中的一条记录,比如,通过这两个表可知,课程号A1的课程名是高等数学、任课老师是陈老师,这就是“一对一”关系;
- 课程登记表中,课程号对应着教师任课表、学习成绩表多个表中的多个记录,比如,课程号A1的课程名是高等数学、任课老师是陈老师、不同的学生的这门课程的成绩都不一样,这是一种“一对多”关系;
- 学习成绩表中,课程号与学号对应着课程登记表和学习成绩表中的多条记录,这就是“多对多”关系;
- 如图(对象关系图)所示:
从这些表中,就可以看出数据之间存在着「一对一」、「一对多」、「多对多」的关系,这种用表格来表示数据之间关系的模型,叫作 关系模型 。
这就出来了新的概念知识,什么是关系型数据库?
关系型数据库
如上,就是一种由多个数据表格互相关系而成的数据库。现代的数据库管理系统,像 Oracle、MySQL、PostgreSQL、Microsoft SQLServer 等常见的数据库系统,都是使用关系模型对数据进行存储和记录,它们都是关系型数据库 。
在关系型数据库中,系统以各种各样二维表格的形式记录数据,同一张数据表中记录的数据具有相同的结构特征,每一行为一条记录、每一列为一个字段、每个记录只有对应一个对象且仅为一个。
在同一个关系型数据库中,各个表通常是相互关联的,它们之间存在着一定的关系。例如前面介绍的学校管理数据库之中的表,每一个表都记录着一类信息,各个表通过它们所记录的信息的关系而相互关联。
关系型数据库不仅能如实反映实际对象之间的关系,而且功能强大、使用灵活,因此受到广大用户的欢迎。
在现实的生活中,我们几乎无处不在地应用着关系型数据库,像银行卡、淘宝、QQ、微信、身份证等等等,几乎99%的数字化应用,都是构建在关系型数据库至上,毫不夸张地说, 关系型数据库几乎是现代数字经济的基础 。
一个好的关系型数据库管理系统,会有很多功能,其中最基本的有以下3种:数据定义、数据操作、数据控制。
数据定义
数据库管理系统提供了定义数据类型及数据存储形式的功能。每个【记录(行)】的每个【字段(列)】中的信息为一个数据。
因记录的信息不同,其数据类型也应不同。例如学号的类型应为 “数字”,姓名的类型应为 “文本”,生日的类型应为“日期”等。
通过定义数据类型,可以在一定程度上保证数据的完整性。最简单的形式是,完整性规则应保证不能在定义为数字的字段中存放文本类型的数据。
在高级的数据库管理系统中,还可以在数据类型的基础上进行高级的限制,以保证其完整性,甚至可以在统一数据库的各个表之间定义关系,保证相关数据的一致性。高级的数据库管理系统能够提供多种数据类型,方便用户的使用。
数据操作
数据库管理系统提供了多种处理数据的方式。例如,在一张表中查找信息或者在几个相关的表中进行复杂的查找;使用相应命令更新一个字段或多个记录的内容;用一个命令对数据进行统计;甚至可以使用数据库管理系统工具进行编程,以实现更加复杂的功能。
数据控制
数据库管理系统对数据提供了一定的保护措施,从而保证了在更多个用户共享数据时,只有被授权的用户才能被查看或修改数据。允许数据共享的数据库管理系统还要确保不能使两个用户同时修改同一个数据。
好的数据库管理系统还应提供组修改功能,以保证数据同时进行修改,防止数据遗漏,出现数据不一致的问题。
维格表,革命性的可视化数据库
维格表是一种融合电子表格和数据库的新型数据技术,了解数据库的概念对使用维格表有很大的帮助。
在过去,数据库是一种让普通人望而生畏的东西,像常见的 MySQL 数据库,你必须经历漫长的大学级数据库学习过程,学习数据库的命令行安装、创建、删除, SQL 语句的查询、插入、操作数据等等看起来是高级技术人员才需要学习的东西,才能对数据库系统进行非常 “幼儿园级别” 的使用。
好消息是,维格表几乎拥有了数据库绝大部分的好处,功能强大,同时操作起来却像一个 Excel,超级易用。
而且,我们知道了,99% 的数字软件的底层,都是基于关系型数据库的。这也意味着,基于维格表,你可以轻轻松松实现各种各样复杂的「业务系统」,以前需要一个数十人技术团队才能干的事情,现在只需要你 1 个人。
从日常生活的财务记账、知识管理、图片整理等等个人事务,到项目管理、团队实时协作、数据共享等等团队事务,再到定制 ERP、OA、CRM、CMS、数据中台、销售管理、采购管理、财务管理、人事管理等等的公司级事务,维格表都能满足生活和工作的各种需求和愿望。
维格表让你进化成这个星球上更强的人类物种。