首页 > 代码库 > 初识数据库

初识数据库

简单的说,数据库(Database  ,DB)是存储、管理数据的容器,严格来说,数据库是“按照某种数据结构对数据进行组织、存储和管理的容器”。数据永远是数据库的核心!

1. 关系数据库管理系统

数据是数据库的核心。数据库容器中包含诸多数据库对象,如表、视图、索引、函数、存储过程、触发器、事务等,这些数据库对象最终都是以文件的形式存储在外存上(例如硬盘)。数据库用户是如何访问这些数据库容器中的数据库对象呢?实际上,用户是通过数据库管理系统对数据库容器中的数据库对象进行增、删、查、改等一系列操作,以及对数据库进行恢复、备份等管理。

技术分享

 

数据库管理系统(Database Management System)安装与操作系统之上,是一个管理、控制数据库容器中各种数据库对象的系统软件。可以这样理解,数据库用户无法直接通过操作系统获取数据库中的具体内容,数据库管理系统通过调用操作系统中的进程管理、内存管理、设备管理以及文件管理等服务,为数据库用户提供管理、控制数据库容器中的各种数据库对象、数据库文件的接口。

数据库管理系统通常会选择某种“数学模型”存储、组织和管理数据库中的数据,常见的数学模型有“层次模型”、“网状模型”、“关系模型”以及“面对对象模型”等。基于“关系模型”的数据库管理模型称为关系数据库管理系统(Relational  Database Management System, RDBMS)。目前关系数据库管理系统占主导地位。

通过关系数据库管理系统,数据库开发人员可以轻而易举的创建关系数据库容器,并在该数据库容器中创建各种数据库对象(表、视图、索引、函数、存储过程、触发器、事务等)以及维护各自数据库对象。目前成熟的关系数据库管理系统主要源自欧美数据库厂商,典型的有美国微软公司的SQL Server、美国IBM公司的DB2和Informix、德国SAP公司的Sybse、美国甲骨文公司的Oracle,这些数据库都是商业数据库。

2.关系数据库

 目前主流的数据库使用的数据模型是“关系模型”,使用关系模型对数据进行组织、管理和存储的数据库称为关系数据库,所谓的“关系”,实质上就是一张二维表。

一个数据库中通常包含多个二维表(称为数据库表,或者简称表),从而实现某个应用各类信息的存储和维护。数据库表是由列和行构成的,表中的每一列(也叫字段)都由一个列名(也叫字段名)进行标记;除了字段名那一行,表中的每一行称为一条记录。与电子表格不同的是:同一个数据库表的字段名不能重复。为了优化存储空间以及为了便于排序,数据库表中的每一列必须指定某种数据类型。

技术分享

 

 

3.结构化查询语言SQL

 结构化查询语言(Structured Query Language,SQL)是一种应用最为广泛的关系数据库语言。该语言定义了操作关系数据库的标准语法,几乎所有的关系数据库管理系统都支持SQL,使用SQL可以轻松的创建、管理关系数据库的各种数据库对象以及维护数据库中的各种数据。

SQL仅仅提供了一套标准的语法,为了实现更加强大的功能,各个关系数据库管理系统都对SQL进行了扩展,典型的有Oracle的PL/SQL、SQL Server的T-SQL,Mysql也对SQL进行了扩展(虽然至今没有命名)。例如Mysq的命令“show databases;”,用于查询当前Mysql服务实例所有的数据库名,该命令是Mysq独有的命令,并不是SQL标准中定义的SQL语句,该命令在其它数据库管理系统中运行就会报错。

SQL并不是一种完善的程序设计语言,例如,不能使用SQL构建人性化的图形用户界面(GUI),我们需要借助Java、C++等面向对象的程序设计语言构建GUI。

初识数据库