小阿轩yx-MySQL数据库初体验
数据库简介
21 世纪迈入了“信息爆炸时代”,大量的数据、信息在不断产生,伴随而来的就是如何安全、有效地存储、检索和管理它们。
对数据的有效存储、高效访问、方便共享和安全控制已经成为信息时代亟待解决的问题。
使用数据库的必要性
- 可以高效且条理分明存储数据
好处
- 能够更加快速、方便管理数据
数据库特点
- 可以结构化存储大量的数据信息,方便用户进行有效的检索和访问
- 可以有效地保持数据信息的一致性、完整性,降低数据几余
- 可以满足应用的共享和安全方面的要求
数据库的基本概念
数据
- 描述事物的符号记录
- 以“记录”的形式按照统一的格式进行存储,相同格式和类型的数据统一放在一起
数据包括
- 数字
- 文字
- 图形
- 图像
- 声音
- 档案记录
数据库和数据库表
- 不同的记录组织在一起形成数据库(Database,DB)的“表”(Table)
- 表是存储数据的
数据库管理系统和数据库系统
数据库管理系统(Database Management System,DBMS)
- 实现对数据库资源
- 有效组织
- 管理
- 存取的系统软件
- 它在操作系统的支持下,支持用户对数据库的各项操作
DBMS主要包括以下功能
- 数据库的建立和维护功能:包括建立数据库的结构和数据的录入与转换、数据库的转储与恢复、数据库的重组与性能监视等功能
- 数据定义功能:包括定义全局数据结构、局部逻辑数据结构、存储结构、保密模式及信息格式等功能。保证存储在数据库中的数据正确、有效和相容,以防止不合语义的错误数据被输入或输出
- 数据操纵功能:包括数据查询统计和数据更新两个方面
- 数据库的运行管理功能:这是数据库管理系统的核心部分,包括并发控制、存取控制、数据库内部维护等功能
- 通信功能:DBMS 与其他软件系统之间的通信,如Access 能与其他 Office 组件进行数据交换
数据库系统
- (Database System,DBS)是一个人与机器交互系统
一般由以下组成
- 硬件
- 操作系统
- 数据库
- DBMS
- 应用软件
- 数据库用户(包括数据库管理员)
用户可以通过 DBMS 操作数据库,也可以通过应用程序操作数据库。
应用程序
- 利用 DBMS 为解决某个具体的管理或数据处理的任务而编制的一系列命令的有序集合
数据库应用软件
如果应用程序比较完善,能够提供友好的人机界面,并编译成可执行文件发行,使得普通用户不需要具备计算机的专业知识,在较短时间就学会使用
常用的数据库应用软件
- 人事管理
- 财务管理
- 图书管理等信息管理软件
- 及各类信息咨询系统等
数据库管理员
(Database Administrator,DBA)负责
- 数据库的更新
- 备份
- 数据库系统的维护
- 用户管理等工作,保证数据库系统的正常运行
DBA 人员优势
- 业务水平较高
- 资历较深
(注:数据库、数据库系统、数据库管理系统,甚至数据库表等名词,在日常讨论中通常不严格区别)
数据库发展史
数据库系统发展史
数据库技术最初产生于 20世纪 60年代中期,根据数据模型的发展
可以划分为三个阶段
- 第一代的网状、层次数据库系统
- 第二代的关系数据库系统
- 第三代的以面向对象模型为主要特征的数据库系统
初级阶段—第一代数据库
- 自 20世纪60年代起,第一代数据库系统问世
- 它们是层次模型与网状模型的数据库系统
- 为统一管理和共享数据提供了有力的支撑
中级阶段—第二代数据库
- 20 世纪 70年代初,第二代数据库--关系数据库开始出现
- 自 1970年 IBM 研究员德加·考特阐述了关系模型的概念后,IBM 大力投入关系数据库的研究
关系数据库
优势
- 底层实现起来比较容易,所以很快被采用,并进入了众多商业数据库的研发计划
扩展
- 0racle 就是当时应关系数据模型的出现而成立的一家专做(关系)数据库的公司
- 20世纪 80年代初,IBM公司的关系数据库系统 DB2问世,而0racle 公司也将 0racle 数据库移植到桌面计算机上
高级阶段—第三代数据库
自20世纪80年代开始,各种适应不同领域的新型数据库系统不断涌现
- 工程数据库
- 多媒体数据库
- 图形数据库
- 智能数据库
- 分布式数据库
- 面向对象数据库等
特别是面向对象数据库系统
- 由于其实用性强、适应面广而受到人们的青睐
20 世纪 90 年代后期,形成了多种数据库系统共同支撑应用的局面
在商务应用方面,依然还是关系数据库占主流。不过,已经有一些新的元素被添加进主流商务数据库系统中
经典数据模型
- 数据是现实世界中“量”的抽象,而数据模型(Data Mode1)是数据特征的抽象
- 在数据库系统中,数据模型是它的核心与基础
- 数据模型表现为数据的结构、定义在其上的操作及约束条件
- 它从概念层次上描述了系统的静态特征、动态特征和约束条件,为数据库系统的信息表示与操作提供了一个抽象框架
DBMS 的发展过程中出现的三种数据模型
- 网状模型
- 层次模型
- 关系模型
由于受限于数学基础、编程技术和硬件条件最初出现的层次模型和网状模型与关系模型相比,在用户接口的上、中层部分更易于实现
数据模型所描述的内容包括三方面
- 数据结构
- 数据操作
- 数据约束
三种经典数据模型介绍
网状模型
- 适合表达复杂的数据关系
- 也可以将数据几余减小到最小
- 它的数据结构模型能直观反映现实中数据之间的联系
数据结构
- 数据记录组织成图的形式,使用“数据结构图”进行抽象的分析和表示
它表示了下列基本关系
- 一个银行客户可以拥有多个银行账号(一对多)。
- 一个银行账号也可以被多个客户所有(一对多)。
- 每个银行账户位于特定的银行支行(一对一)。
其中更蕴含着客户和银行之间多对多、多对一的关系。
这样复杂的数据关系,在网状模型上可以得到很好的支持。
数据操作
- 网状模型的数据操作是建立在关系链基础上的导航式的操作
- 针对一个特定的网状模型系统的数据结构,有可能找到最优的查询算法
缺点
- 一旦结构发生变化,就需要新的查询办法
- 网状模型以图论为基础,还无法得到一个通用的、高效的解决方案
数据约束
网状模型的数据约束是零散孤立的,或者分散在各个节点,或者集中成为一种关系链,
缺点
- 容易导致不一致性或降低效率
- 通常网状模型不具体实现数据约束,而由应用程序自身来实现数据约束
- 这样的情况也使得在网状模型基础上的开发变得困难重重
层次模型
数据结构
- 层次模型是网状模型的一个特例
- 在层次模型中,数据记录组织成树的形式,使用“树结构图”进行抽象的分析和表示,适合一对多的关系模型
它包含了下列关系
- 企业下辖多个部门(一对多)。
- 部门下辖多个科室(一对多)。
- 科室下辖多个小组(一对多)。
优点
- 相对于网状模型,层次模型禁止了多对多和多对一的关系,使得它的数据结构相对简单
数据操作
- 在层次模型上的数据操作不可避免地具有网状模型的特点——导航性
- 由于禁止了多对一和多对多的关系,因此数据操作相对网状模型而言简单了许多。
- 这样的结构有利于提高数据的查询效率,但数据存取上还存在着必须导航的要求。