数据库(Database)是按照数据结构来组织、存储和管理数据的仓库
为什么使用数据库
企业数据存储面临的问题
-
数据量大
-
大量数据的检索和访问
-
保证数据信息的一致和完整
-
数据共享和安全
数据库历史发展阶段
20世纪以来数据库已经完成了由人工存储到机器存储的蜕变
人工管理阶段
-
时间:20世纪50年代以前
-
事件:计算机主要用于科学计算,从硬件层面看,当时没有直接用于存储的设备,仅能借助卡片,磁带等外存达到数据存储的目的:从软件层面看,当时也没有完整的操作系统以及专门管理数据的软件,从数据层面看,当时数据量非常小且没有固定的数据结构,所有数据都直接由用户管理。
-
特点:数据不能长期保存,没有对数据进行管理的软件系统,数据不能共享,数据不具有独立性
文件系统阶段
-
时间:50年代后期到60年代中期
-
事件:计算机不仅用于科学计算,还运用到信息管理方面,从硬件层面看,这时出现了磁盘等数据存储设备,从软件层面看,系统可以按照文件的名称对齐进行检索和访问,并可以实现文件内容的增加、修改和删除,从数据层面看,实现了文本内数据的结构化,即单个文本中各数据之间具有一定的关系,但从整体来看每个文件中的数据却是无结构的。
-
特点:数据可以长期保存,由文件系统管理数据,数据具有一定的共享性和独立性
数据库管理系统阶段
-
时间:60年代后期
-
事件:数据库系统里克服了文件系统的缺陷,提供了对数据更高级、更有效的管理,这个阶段程序与数据的联系通过数据库管理系统(DBMS)来实现
-
特点:数据实现结构化,共享性高,独立性强
数据库基本概念
数据库文件
按照一定规则,存放在硬盘上的数据文件集合,所以,MySQL里的数据库都能在计算机硬盘内某个文件里找到对应的数据文件
数据库实例
指计算机内存中处于运行状态的数据库程序,以及为这些程序分配的一些内存空间
实例是位于内存中,只在数据库处运行状态时才存在,简单说,数据库实例就是把数据库加载到内存里面
数据库应用
建立在数据库上,对其功能进行扩充的程序
qq和手机银行app都属于数据库应用程序,它们后台都需要调用数据库
数据库分类
关系型数据库
关系型数据库中存放的是结构化数据集,由行和列组合而成的二维表结构的数据。
-
Oracle :运行稳定,可移植性高,功能齐全,性能超群,适用于大型企业
-
DB2:速度快,可靠性好,适用于海量数据,恢复性极强,适用于大中型企业
-
MySQL:开源、体积小、速度快,适用于中小型企业
-
SQL server:全面高效、界面友好易操作,但是不跨平台,适用于中小型企业
业界使用最多
非关系型数据库
非关系型数据库中存放的是键值对形式的非结构化数据集,例如用户的聊天记录、拍摄的图片、录制的视频等等。
表结构
什么是表结构
由固定列和任意行构成的二维表结构的数据集
表中的列称为字段,表中的行称为记录
以字段为基本的存储单位和计算单位
每一个字段必须有字段名,且同一个表中的字段不能重复
每个字段的数据类型必须一致
为什么要使用表结构数据
除EXCEL、WPS之外的其他分析工具,都是使用表结构的存储格式
ER 图
在创建数据库表之前,首先需要设计数据库。
设计数据库表的主要工具是ER图,它以图形化的形式来表现数据库中有哪些对象,每一个对象有哪些属性,对象和对象之间有什么关系。
三要素:实体、属性、关系
实体:实体就是一个对象
属性:属性就是实体所具有的某个特征属性
关系:关系就是实体和实体之间或实体内部之间的联系
在ER图中,矩形代表实体,椭圆代表属性,菱形代表关系,各个形状之间用线段连接