数据库1:数据库入门讲解
大家可能一听数据库,就会觉得这是一个高大上的东西,当年Oracle(甲骨文)就凭借着他的Oracle数据库系统蝉联了好几年的世界第一市值的宝座,据说当年一套数据库系统就没有低于100万的;那个时候,一个Oracle数据库管理员的证书可是非常吃香的,在那个一个月一个大城市最低工资只有1000的年代里,拥有Oracle数据库管理员证书的人,一年可以轻松拥有十几二十万的年薪的。
当然现在要是去当一年数据库管理员也是非常不错的,家里有钱有关系的学生,其实你们可以往这个方向考虑。当数据库管理员就有点类似于仓库管理员,只要你做的好,其实工作很轻松,待遇又很高。你只要做好数据库的备份和安全,然后要会一些数据库的优化就可以了,很多时候很多单位其实也不差钱,所以数据库的优化在一些单位就不是那么重要,就是多添置一些设备的问题而已。
说了这么多题外话,现在我们回归主题,那么数据库到底是什么?
其实数据库没有那么高深,就在我们身边,我们就有碰到很多数据库的例子,比如一个文本文件、一个excel文件,其实就是一个数据库。比如我们现在做一个班级的学生信息表,
这就是一个数据库,也是一个数据表,这个数据表里面就包含了学号、姓名、出身年月、籍贯这四个数据列。
说到这里,既然数据库就是这么一个简单的东西,那么为什么要有数据库、建立数据库的目的是什么?相信大家也都看出来了,数据库就是存放一堆数据的地方,当我们有一堆数据要存放的时候,那总要想个办法让他有条理的存放一下,这就是数据库最初的目的,然后到了后面,发现数据越来越多了,这个时候就又产生了查询效率的问题,排序的问题,这个时候数据库程序的好坏就体现出来了,比如假如我们一个班级有一亿人,要查询这一亿人中有哪些姓陈的,然后按照出生年月排序好,这个时候好的数据库的查询所花的时间就是差的数据库所花时间的几分之一、甚至是几十分之一,这也就是为什么oracle他们敢卖这么贵的原因,他们在大数据查询方面的速度无人能比,在银行、电信等这些涉及几亿几十亿的数据处理上拥有超级快的速度。
所以我们建立数据库的目的,一是为了有条理的存放数据,二就是为了能方便快速的查询到我们想要的数据,这就是建立数据库的初衷目的,也是数据库的根本。
至于后面基于这个基本需求的前提下,衍生出了索引、触发器等等,都是为了加快和提升查询速度、提升数据处理效率而衍生出来的。
那么我们建立数据库的目的就是为了存放、管理、查询数据,而当前市面上有多种不同的数据库,大的如甲骨文的Oracle、微软的Sql Server、开源的MySql,小的如微软的Office中带的Access、Excel、文本文件等,那么如果每家都规定自己的一套查询办法的话,那就程序开发来说就是一个非常痛苦的事情了,要换一套数据库,就要对程序进行全面的重新修改和测试。所以大家就规定了一套统一的查询方法,这就是Sql查询语言产生的原因。
结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
结构化查询语言不要求用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。
结构化查询语言Sql包含6个部分:
1、数据查询语言(DQL: Data Query Language):其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序给出。select是用得最多的词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING,比如我们上面的学生信息表中,假如我们要查询有哪些学生是2001.6月之前出生的,那我们可以这么查询 Select * from 学生信息表 where 出生年月<\’2001.6\’
2、数据操作语言(DML:Data Manipulation Language):其语句包括动词INSERT、UPDATE和DELETE。它们分别用于添加、修改和删除。
3、事务控制语言(TCL):它的语句能确保被DML语句影响的表的所有行及时得以更新。包括COMMIT(提交)命令、SAVEPOINT(保存点)命令、ROLLBACK(回滚)命令。
4、数据控制语言(DCL):它的语句通过GRANT或REVOKE实现权限控制,确定单个用户和用户组对数据库对象的访问。某些RDBMS可用GRANT或REVOKE控制对表单个列的访问。
5、数据定义语言(DDL):其语句包括动词CREATE,ALTER和DROP。在数据库中创建新表或修改、删除表(CREATE TABLE 或 DROP TABLE);为表加入索引等。
6、指针控制语言(CCL):它的语句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT用于对一个或多个表单独行的操作。
什么是数据库(DataBase)
【分享成果,随喜正能量】生命是一段匆匆而过的旅程,只有把握好每一天,才能拥有一个实实在在的美好人生。虽然世事总是不尽如人意,但我们要设法使自己适应现状,而不是设法使一切适合自己的心意。。
《VBA数据库解决方案》教程(10090845)是我推出的第二套教程,目前已经是第二版修订了。这套教程定位于中级,是学完字典后的另一个专题讲解。数据库是数据处理的利器,教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法和实例操作,教程第一版的修订内容主要是完成所有程序文件的32位和64位OFFICE系统测试。
这套教程共两册,八十四讲,今后一段时间会给大家陆续推出修订后的教程内容。今日的内容是:什么是数据库(DataBase)
大家好,在讲数据库之前,我用了很长的时间,和大家分享了很多VBA方面的一些知识点,其中很多是我个人对VBA的理解。从这讲开始我们要在原先的基础上深入的讲解一些VBA的提高利用,这套教程主解数据库知识。
在《VBA数据库解决方案》中,我会讲解到数据库的简单知识,数据的操作,窗体控件的利用等等。望有这方面需求的朋友多关注,多提宝贵的意见。
我们今天讲什么是数据库,或许很多朋友一听到这个词感觉很高大上,其实你大可不必仰视。
我们先看看数据库的定义,数据库(DataBase),是存储在计算机上,结构化的相关数据的集合。是长期储存在计算机内的、有组织的、可共享的数据集合。
从上面的定义可以看出:
1) 数据库是一个数据的集合。那么什么是数据呢?我们可以这样定义:用来描述事物的数字、文字、图形、图像、声音、语言等符号就是数据,数据有多种表现形式,它们都可以经过数字化后存入计算机。我们得出了这样的结论:
① 数据不一定是数字
② 数据是用来描述事物的
③ 数据是可以存储
④ 上述描述事物的数据的集合就构成了数据库
如, 姓名:张一;性别:男;年龄:55;组织:保卫处 构成了对保卫处某员工张一的描述,这个就是数据,若干这样的数据组成的集合就构成了某公司人员的数据库。
2) 数据库是有结构和有组织的。这一点又该如何理解呢?
其实,为了反映事物本身及事物之间的各种联系,数据库中的数据必须有一定的结构,这种结构用数据模型来表示,下图就是一个数据的模型。
在数据库的定义中我们讲了:数据库是具有一定结构的,那么这种结构又是靠什么来约束的呢?其实就我个人的理解,对于数据库的结构最为关键的就是要规范,也就是说:
1)用来描述事物的语言必须规范。这里把描述的语言称为事物的属性,在同一个数据库中描述同一个事物的属性必须具有共性,不能缺失。
2)在同一个数据库中,相同事物的描述不能出现多个相同的属性,就是说属性具有唯一性。
3)描述事物的属性次序无关紧要。
4)在同一个数据库资料中,如果属性值完全相同,应该是同一数据。
5)在一个数据库资料中,所描述事物的次序无关紧要。
上面的内容是比较好理解的,不再多讲。
有了上面的规范,我们再来看一下数据如何记录:
1) 描述事物的属性值的记录,就是数据库中表的记录,表也称为关系,一个关系就是一张二维表,通常将一个没有重复行、重复列的二维表看成一个关系,每个关系都有一个关系名(表名)。是数据库的核心,是所有操作的前提。
2) 关系的结构, 就是表头。 这表明了事物需要具有哪些属性,如上面的例子,在描述一个人员时的属性有:姓名;性别;年龄:组织
3) 每个事物的属性值的记录,是关系表中水平方向的行。
4) 属性值是关系表中垂直方向的列。在Access 2003中属性被称为字段,属性名叫做字段名。
5) 域(有效性规则)就是属性的取值范围
6) 关键字(主键),属性或属性的组合,其值能够唯一标识一个记录。
今日内容回向:
1 什么是数据记录?
2 什么是数据库?
3 数据库的记录的特点.
我20多年的VBA实践经验,全部浓缩在下面的各个教程中:
【分享成果,随喜正能量】世事无常,人生起落,唯有心明,才是在这修行的道场中,呵护好自己。。
一文告诉你,什么是数据库系统
各位小伙伴们,最近忙于自己的事情,难得闲下心来想在这里记录些什么,在自己做网络知识相关笔记的时候,才想起自己的知识库里存有之前学习的数据库相关的知识,所幸的是自己的勤快做的笔记能够存留下来,于是自己想记录些数据库相关的知识,有意无意,或者面试准备,就可以随便瞄一眼,好了,话不多说,来正事儿,咱们先尝点甜头,回温回温下数据库这么回事儿。
数据库,从事it行业的人或者沾边的人一定不陌生。本质上来说,它是信息的统筹,人们的日常生活,身边事迹,所接触的都是可以被记录的,而且可以存储很长的时间,它的作用可想而知。如果,你是一名IT从业人员,对于数据库,更是敏感的,那么,接来我将会更新几期数据库相关知识。
姊妹篇系列
近期将会更新相关数据库方面的系列,主要围绕数据库相关的概述、数据库建模、关系模型和关系运算、数据库语言SQL、查询优化并发控制,数据库设计以及关系数据库设计理论等篇章。虽然下的都是基础功夫,但是掌握基础,学习其他东西往往能够事半功倍,切不可急功近利。如果你也有兴趣,或者建议,欢迎交流……
数据库的发展历程
1.早期的人工管理阶段:主要多运用于科学计算,一个程序只对应一组数据;只在使用的时把程序和对应的数据装入,完成计算了就会退出,没有长期保存的必要。也没有专门对数据管理的软件;数据只面向于应用的使用。
2.文件系统阶段:发展到这一阶段,数据可以保存在磁盘上,并支持长期保存,方便用户反复对文件进行查询、修改、插入和删除等功能;应用程序和数据逐渐开始独立,数据结构的概念也不一定反映在程序上。但是基本数据处于一个文件对应于一个程序;即使使用了相同的文件但还得建立各自的文件,不能对数据项之间进行共享;造成数据冗余大,空间浪费。
3.数据库系统阶段:目前这一阶段,很好的解决了以往的缺陷,有了结构化;可共享;且独立,分为三层:用户数据的逻辑结构、整体数据的逻辑结构和数据的物理结构;数据存储的粒度可以细化到一个数据项。
▲图/ 建立的思维导图
数据库的基本术语
对于数据、数据模型、数据库、数据库管理系统、数据库系统定义如下:
关系数据库系统:关系数据库,我相信你一定不陌生,在面对复杂的庞大的数据体系,它们之间的关联关系一定是环环相扣的。在术语上,我们所说的关系,其实就是一张表。表的各列以属性开始,属性是列的入口。
关系模型和关系数据库系统:数据以“关系”的形式,也就是二维表的形式来表示,其数据模型就是关系模型。以关系模型为基础的数据库系统也就是关系数据库系统,是当前的数据库系统主流。
数据库的体系结构
数据库的体系结构,分为三层模式结构和两层映像功能。其中,三层模式结构有:
1.外模式:外模式又称为用户模式,是数据库用户和数据库系统的接口,是数据库用户的视图。一个数据库有多个外模式。一个应用程序只能使用一个外模式,一个外模式可为多个应用程序所使用。
2.模式:细分为概念模式和逻辑模式,所有数据库的公共数据视图,是数据库中全部数据的落级结构和特征的描述。一个数据库只有一个模式。概念模式可用实体-联系模型来描述,逻辑模式以某种数据模型为基础,综合考虑所有用户的需求,并将其形成全局逻辑结构。
3.内模式:内模式又称为存储模式,是数据库物理结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式,内部模式描述记录的存储方式、索引的组织方式、数据是否压缩、是否假面等。数据库模式是数据库的核心与关键,外模式通常是模式的子集。
两层映像功能:分为外模式/模式映像和模式/内模式映像,所谓映像就是一种对应规则,说明映像双方如何交换。
1.外模式/模式映像:通过外模式与模式之间映像把描述局部逻辑结构的外模式与描述全局逻辑结构的模式连起来。
2.模式/内模式映像:通过模式与内模式之间的映像把描述全局逻辑的模式与描述物理结构的内模式联系起来。
▲图/ 数据库结构的重要内部结构
DBMS的体系结构
DBMS的组成,分为查询,更新,模式更新。所谓的数据库模式,就是指数据的逻辑结构。模式更新一般也是由数据库管理员进行操作。
查询处理程序,一个重要的任务就是优化查询,给结果输出给出最优解。
事务,即是数据库的基本工作单元。事务具有ACID特性,即原子性、一致性、隔离性和持久性。事务的管理程序的作用就是保证多个事务并发执行。
作者:桑小榆呀链接:https://juejin.cn/post/7174767747581083685
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。