MySQL入门到精通(一)

                                            数据库基础

1.1 数据库技术的发展

 1.1.1 数据库技术的发展

 数据管理技术是对数据进行分类,组织,编码,输入,存储,检索,维护和输出的技术.数据管理技术的发展大致经过了以下三个阶段:人工管理阶段;文件系统阶段;数据库系统阶段.

人工管理阶段:

20世纪50年代以前,计算机主要用于数值计算.从当时的硬件看,外存只有纸带,卡片,磁带,没有直接存取设备;从软件看(实际上,当时还未形成软件的整体概念),没有操作系统以及管理数据的软件;从数据看,数据量小,数据无结构,由用户直接管理,且数据间缺乏逻辑组织,数据依赖于特定的应用程序,缺乏独立性.

文件系统阶段:

50年代后期到60年代中期,出现了磁鼓,磁盘等数据存储设备.新的数据处理系统迅速发展起来.这种数据处理系统是把计算机中的数据组织成相互独立的数据文件,系统可以按照文件的名称对其进行访问,对文件中的记录进行存取,并可以实现对文件的修改,插入和删除,这就是文件系统.文件系统实现了记录内的结构化,即给出了记录内各种数据间的关系.但是,文件从整体来看却是无结构的.其数据面向特定的应用程序,因此数据共享性,独立性差,且冗余度大,管理和维护的代价也很大.

数据库系统阶段:

60年代后期,出现了数据库这样的数据管理技术.数据库的特点是数据不再只针对某一特定应用,而是面向全组织,具有整体的结构性,共享性高,冗余度小,具有一定的程序与数据间的独立性,并且实现了对数据进行统一的控制.

1.1.2 数据库系统的组成

 数据库系统DBS(Data Base System,简称DBS),是由数据库(数据)、数据库管理系统、数据库管理员(人员)、支持数据库的硬件和软件(应用开发工具、应用系统等)以及用户5部分构成的运行实体;其中据库管理员(data base administrator,DBA),负责数据库的总体信息控制。DBA的具体职责包括:具体数据库中的信息内容和结构,决定数据库的存储结构和存取策略,定义数据库的安全性要求和完整性约束条件,监控数据库的使用和运行,负责数据库的性能改进、数据库的重组和重构,以提高系统的性能。

MySQL入门到精通(一)_第1张图片

1.2 数据模型

1.2.1 数据模型的概念

数据模型是数据库系统的核心与基础,是关于描述数据与数据之间的联系、数据的语义、数据一致性约束的概念性工具的集合。数据模型通常是由数据结构、数据操作和完整性约束3部分组成的: 
数据结构:是对系统静态特征的描述。描述对象包括数据的类型、内容、性质和数据之间的相互关系。  
数据操作:是对系统动态特征的描述。是对数据库种各种对象实例的操作。  
完整性约束:是完整性规则的集合。它定义了给定数据模型中数据及其联系所具有的制约和依存规则。

1.2.2 常见的数据模型

   (1)层次模型:用树形结构表示实体类型及实体间联系的数据模型称为层次模型,它具有以下的特点。

 

                                                MySQL入门到精通(一)_第2张图片
(2)网状模型:用有向图结构表示实体类型及实体间联系的数据模型称为网状模型。用网状模型编写应用程序极其复杂,数据的独立性较差。
 

                                                            MySQL入门到精通(一)_第3张图片

 

(3)关系模型:以二维表来描述数据。关系模型中,每个表有多个字段列和记录行,每个字段列有固定的属性(数字、字符、日期等)。关系模型数据结构简单、清晰、具有很高的数据独立性,因此是目前主流的数据库数据模型。

                       MySQL入门到精通(一)_第4张图片

1.2.3 关系数据库的规范化

关系数据库的规范化理论认为:关系数据库中的每一个关系都要满足一定的规范。根据满足规范的条件不同,可以分为5个等级:第一范式(1NF)、第二范式(2NF)、……、第五范式(5NF)。其中,NF是Normal Form的缩写。一般情况下,只要把数据规范到第三个范式标准就可以满足需要了。
第一范式(1NF)在一个关系中,消除重复字段,且各字段都是最小的逻辑存储单位。
第二范式(2NF)若关系模型属于第一范式,则关系中每一个非主关键字段都完全依赖于主关键字段,不能只部分依赖于主关键字的一部分。
第三范式(3NF)若关系属于第一个范式,且关系中所有非主关键字段都只依赖于主关键字段。第三范式要求去除传递依赖。

1.2.4 关系数据库的设计原则

数据库设计是指对于一个给定的应用环境,根据用户的需求,利用数据模型和应用程序模拟现实世界中该应用环境的数据结构和处理活动的过程,原则如下: 数据库内数据文件的数据组织应获得最大限度的共享、最小的冗余度,消除数据及数据依赖关系中的冗余部分,使依赖于同一个数据模型的数据达到有效的分离。 保证输入、修改数据时数据的一致性与正确性。保证数据与使用数据的应用程序之间的高度独立性。

1.2.5 实体与关系

实体是指客观存在并可相互区别的事物。实体既可以是实际的事物,也可以是抽象的概念或关系,实体之间有3种关系:
 一对一关系:是指表A中的一条记录确实在表B中有且只有一条相匹配的记录。在一对一关系中,大部分相关信息都在一个表中。
 一对多关系:是指表A中的行可以在表B中有许多匹配行,但是表B中的行只能在表A中有一个匹配行。
 多对多关系:是指关系中每个表的行在相关表中具有多个匹配行。在数据库中,多对多关系的建立是依靠第3个表(称作连接表)实现的,连接表包含相关的两个表的主键列,然后从两个相关表的主键列分别创建与连接表中的匹配列的关系。

1.3 数据库三的体系结构

1.3.1 数据库三级模式结构

数据库具有一个严谨的体系结构,这样可以有效地组织、管理数据,提高数据库的逻辑独立性和物理独立性。数据库领域公认的标准结构是三级模式结构。 数据库系统的三级模式结构是指模式、外模式和内模式。

1.3.2 三级模式之间的映射

为了能够在内部实现数据库的三个抽象层次的联系和转换,数据库管理系统在三级模式之间提供了两层映射。
    外模式/模式映射

 

    模式/内模式映射          MySQL入门到精通(一)_第5张图片

1.外模式/模式映射

对于同一个模式可以有任意多个外模式。对于每一个外模式,数据库系统都有一个外模式/模式映射。当模式改变时,由数据库管理员对各个外模式/模式映射做相应的改变,可以使外模式保持不变。这样,依据数据外模式编写的应用程序就不用修改,保证了数据与程序的逻辑独立性。

2.模式/内模式映射

数据库只有一个模式和内模式,所有模式/内模式映射是惟一的,它定义了数据库的全局逻辑结构域存储结构之间的对应关系。当数据库的存储结构改变时,由数据库管理员对模式/内模式映射做相应改变,可以使模式保持不变,应用程序相应地也不做变动。这样保证了数据与程序的物理对立性。

你可能感兴趣的:(MySQL)