前段时间由于项目deadline,比较忙,一直没空发文;今天终于可以闲下来了,打算从入门到深入给大家写一下我的MySQL学习心得。本文将为初学者介绍一下什么是数据库(老司机请回避)。。。
一、数据库概述:
数据库(Database,DB)是按照数据结构来组织、存储和管理数据的仓库,其本身可看作电子化的文件柜,用户可以对文件中的数据进行增删改查等操作。需要注意的是,这里所说的数据不仅包括普通意义上的数字,还包括文字、图像、声音等,也就是说凡是在计算机中用来描述事物的记录都可称作数据。
二、特点:
1、数据结构化:数据库系统实现了整体数据的结构化,这是数据库的最主要的特征之一。这里所说的“整体”结构化,是指在数据库中的数据不只是针对某个应用,而是面向全组织,面向整体的。
2、实现数据共享:因为数据是面向整体的,所以数据可以被多个用户、多个应用程序共享使用,可以大大减少数据冗余,节约存储空间,避免数据之间的不相容性与不一致性。
3、数据独立性高:数据的独立性包含逻辑独立性和物理独立性,其中,逻辑独立性是指数据库中的数据的逻辑结构和应用程序相互独立,物理独立性是指数据物理结构的变化不影响数据的逻辑结构。
4、数据统一管理与控制:数据的统一控制包含安全控制、完整性控制和并发性控制。简单来说就是防止数据丢失、确保数据的正确有效,而且在同一时间内,允许用户对数据进行多路存取,防止用户之间的异常交互。
三、数据库系统结构图
如图数据库系统主要由数据库、数据库管理系统、数据库应用程序等组成,具体解析如下:
1、数据库(Database,DB)
数据库提供了一个存储空间用来存储各种数据,我们可以将数据库视为一个存储数据的容器。
2、数据库管理系统(Database Management System,DBMS)
数据库管理系统是专门用于创建和管理数据库的一套软件,介于应用程序和操作系统之间,如:MySQL、Oracle、SQLServer、DB2等。数据库管理系统不仅具有最基本的数据管理功能,还能保证数据的完整性、安全性和可靠性。
3、数据库应用程序(Database Application)
虽然有了数据库管理系统,但在很多情况下,数据库管理系统无法满足用户对数据库的管理。此时,就需要使用数据库应用程序与数据库管理系统进行通信,访问和管理DBMS中存储的数据。
四、数据库存储结构
上文提到,数据库是存储和管理数据的仓库,但数据库并不能直接存储数据,数据是存储在表中的。在存储数据的过程中一定会用到数据库服务器,所谓的数据库服务器就是数据库管理系统,如MySQL。接下来分析一下数据库、表和数据库服务器之间的关系,如图:
从上图可以看出,一个数据库服务器可以管理多个数据库,通常情况下开发人员会针对每个应用创建一个数据库,为保存应用中实体的数据,会在数据库中创建多个表(用于存储和描述数据的逻辑结构),每个表都记录着实体的相关信息。
接下来,将通过一个图例来描述实体数据(Javabean)是如何存储到表中的,如下图:
图中描述了User表的结构以及数据的存储方式,表的横向被称为行,纵向被称为列,每一行的内容被称为一条记录,每一列的列名被称为字段,如id、name等。通过观察该表可以发现,User表中的每一条记录,
如“001 mysql 21”,实际上就是一个User对象。