一、数据库的基本概念
数据(Data)
数据是反映客观世界的实事,数据可以是字符、数字、文本、声音、图形、图像、图表、图片等形式。数据在现实世界中是客观存在的,是可以存放到指定位置中进行存储和管理的。
信息(Information)
由原始数据经加工提炼而成的,用于决定行为、计划或具有一定语义的数据成为信息。数据和信息之间的关系就像是原料和成品,同时又具有相对性。
注意:不是所有的数据都能成为信息,只有抽取加工之后,具有新的事实知识的数据才能成为信息。
数据模型(Data Model)
数据模型是对现实世界各种事物特征的数字化的模拟抽象。为了把现实世界的具体事物转换成计算机能处理的数据,必须用某种数据模型来抽象和描述这些数据。
注意:不同的数据模型有不同的数据结构、不同的描述工具、对应不同的数据库管理系统。所以,不同的数据库和数据库管理系统都与相对的数据模型相关联。
数据库 DB(Data Base)
数据库是长期存储在计算机内的、有组织的、可以共享的数据集合,也是现实世界中相互关联的大量数据及数据间关系的集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
数据库管理系统(DBMS)
DBMS是对数据库中的数据进行存储和管理的软件系统。包括存储、管理、检索和控制数据库中数据的各种语言和工具,是一套系统软件。
数据库系统DBS(Data Base System)
数据库系统包括数据库应用系统、数据库应用开发接口、数据库管理系统\操作系统、数据库和数据库管理员DBA。
数据库应用程序接口API(Application Programming Interface)
数据库应用接口是由DBMS厂家为开发应用程序而提供的访问和操作数据库中数据提供的接口函数、过程、对象、类和语言等。
数据库应用程序AP(Application Program)
数据库应用程序是指满足某类用于要求的操纵和访问数据库的程序。目前,数据库应用程序主要分为两大类:联机事务处理OLTP和联机分析处理OLAP。
联机事务处理OLTP(On Line Transaction Proccessing):对用户的操作命令响应快、每次操作涉及的数据量少。
联机分析处理OLAP(On Line Analytical Proccessing):支持决策支持系统。需要在数据仓库的基础上进行。
联机分析处理,每次处理的数据量大,响应时间长。它需要由历史数据、由多个数据来源的数据得到由指导意义的信息。
二、数据库管理技术的发展阶段
人工管理阶段
20世纪50年代中期以前,计算机主要用于科学计算。外部存储器只有磁带、卡片和纸带等。软件也只有汇编语言,基本没有数据管理方面的软件。该阶段有如下特点:
- 计算机系统不提供对用户数据的管理功能
- 数据不能共享
- 不单独保存数据
文件系统阶段
20世纪50年代后期至60年代中期,计算机不仅用于科学计算,还用在了信息管理。随着数据量的增加,数据的存储、检索和维护问题成为紧迫的需求,数据结构和数据管理技术迅速发展起来。该阶段的特点如下:
- 数据以文件形式可以长期保存在外部存储器的磁盘上
- 数据的逻辑结构与物理结构有了区别,但比较简单。
- 文件组织已多样化
- 数据不再属于某个特定的程序,可以重复使用,即数据面向应用
- 对数据的操作以记录为单位
文件系统存在的缺陷:
- 数据冗余
- 数据不一致性
- 数据联系弱
数据库系统阶段
60年代后期,数据管理技术进入数据系统阶段。数据库系统客服了文件系统的缺陷,提供了对数据更高级、更有效的管理。该阶段的程序和数据的联系通过数据库管理系统来实现(DBMS),该阶段具有以下特点:
- 采用数据模型表示复杂的数据结构
- 有较高的数据独立性
- 数据库系统为用户提供了方便的用户接口
- 数据系统提供了数据控制功能
- 增加了系统的灵活性
三、什么是MySQL
MySQL是一个多用户、多线程的SQL数据库,是一个客户机/服务器结构的应用,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。
SQL (Structured Query Language结构化查询语言)是目前使用最广的并且是标准的数据库语言。
MySQL发展历史
MySQL是一款免费开源、小型、关系型数据库管理系统。随着该数据库功能的不断完善、性能的不断提高,可靠性不断增强。
2000年4月,MySQL对旧的存储引擎进行了整理,命名为MyISAM。
2001年,支持事务处理和行级锁存储引擎InnoDB被集成到MySQL发行版中,该版本集成了MyISAM与InnoDB存储引擎,MySQL与InnoDB的正式结合版本是4.0。
2004年10月,发布了经典的4.1版本。
2005年10月,发布了里程碑的一个版本,MySQL 5.0,在5.0中加入了游标,存储过程,触发器,视图和事务的支持。在5.0 之后的版本里,MySQL明确地表现出迈向高性能数据库的发展步伐。
MySQL公司于2008年1月16号被SUN公司收购,而在2009年SUN又被Oracal收购。
MySQL的功能特点
- 可以同时处理几乎不限数量的用户;
- 处理多达50,000,000以上的记录;
- 命令执行速度快,也许是现今最快的;
- 简单有效的用户特权系统。