MySQL心得1--数据库的基本概念(二)
操作。
11.数据库的连接方式
1). ODBC数据库接口
ODBC即开放式数据库互连(Open DataBase Connectivity),是微软公司推出的一种实现应用程序和关系数据库之间通信的接口标准。符合标准的数据库就可以通过SQL语言编写的命令对数据库进行操作,但只针对关系数据库。目前所有的关系数据库都符合该标准,如Oracle、SQL Server、MySQL、DB2、Sybase、Access等。ODBC本质上是一组数据库访问API(应用程序编程接口),由一组函数调用组成,核心是SQL语句。 www.2cto.com
在具体操作时,首先必须用ODBC管理器注册一个数据源,管理器根据数据源提供的数据库位置、数据库类型及ODBC驱动程序等信息,建立起ODBC与具体数据库的联系。这样,只要应用程序将数据源名提供给ODBC,ODBC就能建立起与相应数据库的连接。
MySQL是通过MySQL Connector/ODBC(MyODBC驱动程序系列)为ODBC提供支持的。ODBC驱动包管理器是用于管理ODBC应用程序和驱动程序间通信的库。ODBC.INI是ODBC配置文件,其中保存了连接到服务器所需的驱动信息和数据库信息。ODBC驱动管理器将使用它来确定加载哪个驱动程序(使用数据源名)。
2). ADO数据库接口
ADO(ActiveX Data Object)是微软公司开发的基于COM的数据库应用程序接口,通过ADO连接数据库,可以灵活地操作数据库中的数据。
使用ADO访问关系数据库有两种途径:一种是通过ODBC驱动程序,另一种是通过数据库专用的OLE DB Provider,后者有更高的访问效率。
3). ADO.NET数据库接口
ADO.NET数据模型从ADO发展而来,但它不只是对 ADO的改进,而是采用了一种全新的技术。主要表现在以下几个方面:
● ADO.NET不是采用ActiveX技术,而是与.NET框架紧密结合的产物。
● ADO.NET包含对XML标准的完全支持,这对于跨平台交换数据具有重要的意义。
● ADO.NET既能在与数据源连接的环境下工作,又能在断开与数据源连接的条件下工作。特别是后者,非常适合于网络应用的需要。因为在网络环境下,保持与数据源连接,不符合网站的要求,不仅效率低,付出的代价高,而且常常会引发由于多个用户同时访问时带来的冲突。因此ADO.NET系统集中主要精力用于解决在断开与数据源连接的条件下数据处理的问题。 www.2cto.com
ADO.NET提供了面向对象的数据库视图,并且在ADO.NET对象中封装了许多数据库属性和关系。更重要的是,ADO.NET通过很多方式封装和隐藏了很多数据库访问细节,可以完全不知道对象在与ADO.NET对象交互,也不用担心数据移动到另外一个数据库或者从另一个数据库获得数据的细节问题。
数据层是实现ADO.NET断开式连接的核心,从数据源读取的数据先缓存到数据集中,然后被程序或控件调用。数据源可以是数据库或XML数据。
数据提供器用于建立数据源与数据集之间的联系,它能连接各种类型的数据,并能按要求将数据源中的数据提供给数据集,或者从数据集向数据源返回编辑后的数据。
MySQL使用MySQL Connector/NET实施了所需的ADO.NET接口,并将其集成到了ADO.NET aware工具中。从而使开发人员能够方便地创建需要安全和高性能数据连接(与MySQL)的.NET应用程序。MySQLConnector/NET是用纯C#语言编写的可完全管理的ADO.NET驱动程序。
4). JDBC数据库接口
在JDBC API中有两层接口:应用程序层和驱动程序层,前者使开发人员可以通过SQL调用数据库和取得结果,后者处理与具体数据库驱动程序的所有通信。
使用JDBC接口对数据库操作有如下优点:
(1)JDBC API与ODBC十分相似,有利于用户理解;
(2)使编程人员从复杂的驱动器调用命令和函数中解脱出来,而致力于应用程序功能的实现;
(3)JDBC支持不同的关系数据库,增强了程序的可移植性。
使用JDBC的主要缺点:访问数据记录的速度会受到一定影响,此外,由于JDBC结构中包含了不同厂家的产品,这给数据源的更改带来了较大麻烦。
MySQL通过MySQL Connector/J驱动实现JDBC接口,它提供了与使用Java编程语言开发的客户端应用程序的连通性。MySQL Connector/J是一种纯Java程序,实施了3.0版JDBC规范,并能使用MySQL协议与MySQL服务器直接通信。 www.2cto.com
5). 数据库连接池技术
对于网络环境下的数据库应用,由于用户众多,使用传统的JDBC方式进行数据库连接,系统资源开销过大成为制约大型企业级应用效率的瓶颈,采用数据库连接池技术对数据库连接进行管理,可以大大提高系统的效率和稳定性。
12. 对于一般的数据库应用系统,除了数据库管理系统外,需要设计适合普通人员操作数据库的界面。
当应用程序需要处理数据库中的数据时,首先向数据库管理系统发送一个数据处理请求,数据库管理系统接收到这一请求后,对其进行分析,然后执行数据操作,并把操作结果返回给应用程序。由于应用程序直接与用户打交道,而数据库管理系统不直接与用户打交道,所以应用程序被称为“前台”,而数据库管理系统被称为“后台”。由于应用程序是向数据库管理系统提出服务请求,通常称为客户程序(Client),而数据库管理系统是为其他应用程序提供服务,通常称为服务器程序(Server),所以又将这种操作数据库模式称为客户/服务器(C/S)模式。
应用程序和数据库管理系统可以运行在同一台计算机上(单机方式),也可以运行在网络方式。在网络方式下,数据库管理系统在网络上的一台主机上运行,应用程序可以在网络上的多台主机上运行,即一对多的方式。对于MySQL,除了服务器安装数据库管理系统外,还需要在客户端安装数据库客户程序。
13. 基于Web的数据库应用采用三层客户/服务器模式,也称B/S结构。第一层为浏览器,第二层为Web服务器,第三层为数据库服务器。浏览器是用户输入数据和显示结果的交互界面,用户在浏览器表单中输入数据,然后将表单中的数据提交并发送到Web服务器,Web服务器应用程序接收并处理用户的数据,通过数据库服务器,从数据库中查询需要的数据(或把数据录入数据库)送到Web服务器,Web服务器把返回的结果插入HTML页面,传送到客户端,在浏览器中显示出来。
14. 关系数据库