前两天,看到一个关于MySql的介绍。 里面提到了数据引擎,一下子,迷惑了。  数据库是什么呢??  数据库引擎又是什么呢??  以前基本上只接触过Sql Server ,而Oracle只是见过,没实际用过。  Sql Server ,尤其是以前,知道装个MSDE就能用了。 就是没界面,查询分析器啊,企业管理器啊等等。  对于写代码来说,最近的是ADO.NET,  以前有ADO,DAO,OleDB,ODBC,等等。  总之,给我感觉,就是在代码中,在连接字符串中,写上相关的如Jet OleDB 4.0,ODBC之类的,然后,就能访问数据库了,其他的似乎也感觉不到什么。   而关于数据库,一直就以为,不过是一种按某些数据结构,把一些数据存储到磁盘上,并按照某些规则读取出来的一个程序。与把一些文本写到磁盘上
其实是类似的,只不过数据结构更复杂,读取以及其他的规则更复杂(比如,还有索引,约束之类的)。   所以,对于介绍中说的插件式 可换数据引擎的MySQL,而且说离开某个公司的数据引擎,MySQL就没法用了。所以,必须又支持了另外一个其他的数据引擎。实在不知道是什么意思,望高手指教。   另,ADO.NET,ADO,DAO,OleDB,ODBC,JDBC之类的,是什么??  是数据库软件提供的API吗??    对于每一个编程语言,是不是得这门语言的设计者在语言中加入 相关的功能 这个数据库才真的能用啊?? 就好象调用windowsAPI一样,语言调用数据库的API,所以就有了ADO.NET,ADO,DAO,OleDB,ODBC,JDBC之类这些东西是吗?? 
   

解决方案 »

  1.   

    和汽车发动机的关系差不多吧,你说的mysql是存储引擎吧
      

  2.   

    数据库是什么呢??  数据库引擎又是什么呢?? 个人的理解: 数据库是一个产品。数据库系统是一个数据集合+管理系统。数据库引擎 是数据库系统中管理执行部分
    ADO.NET,ADO,DAO,OleDB,ODBC,JDBC之类的,是什么??  是数据库操作的一个通用接口。别人帮人写好了操作的函数统一封装起来。给你编程的时候来调用。
      

  3.   

    仔细看看MySQL的架构,就知道什么是数据库引擎。其他比如SQL SERVER或者ORACLE 你可以简单的把他们当作只有INNODB引擎的数据库。
      

  4.   

    越来越迷惑了唉。  数据物理存储结构。  数据逻辑结构。  sql语言解释。    对外API。  这是我理解的数据库系统的层次。   其中,事务  索引  触发器 主键  外键约束  等等常见功能,感觉一般是在物理存储的基础上,通过应用逻辑实现的。 
      

  5.   

    难道这意思是  MYSQL 没有自己的存储引擎,所以说最核心的部分它根本没有?? 它只不过是提供了一些供程序员使用的 接口??   就好像sql server 提供的 查询分析器   ADO  oledb  T-SQL 之类的??