Access数据库文件(*.mdb)实际上包括了一个操作这个数据库的代码(引擎),所以,我们写一个应用程序操作Access数据库文件(*.mdb)实际上并没有另一个程序在同时运行去操作这个文件.操作在应用程序和mdb文件之间就完成了.而大型数据库,如SQL Server,Oracle,SyBase等则不同,必须有个服务器程序在运行(DBMS).应用程序中连接数据库实际上是和这个服务程序连接,之后可以创建删除数据库,创建删除数据库中的表,修改添加删除数据库中的表的记录. 不可能只由应用程序和一个数据库文件发生直接的交互.是这样的吗?

解决方案 »

  1.   

    楼主的理解非常正确!说说我的理解,不一定对,但很能说明问题。
    如果把 DBMS 看做是一个独立运行的程序,这个程序对外提供了一个接口,它接收 SQL 命令,返回命令结果。这时,需要使用数据库的程序,先建立一个与 DBMS 的连接,然后发送 SQL 命令,DBMS 返回结果;至于 DBMS 是怎么做的,我们的程序不清楚,我们只需要发送 SQL ,接收返回的结果集就可以了。所以,只要 SQL 是标准的,换一种 DBMS ,我们的程序根本不知道,但它依然运行良好!