Sam said:
I have a project which I have started based on Access Db. How ever I
started
considering weather to change to SQL server. I really don't know what
would
be the benefit of SQL compared to Access Db. If somebody who knows better
could clear the difference of these methods?
You are confusing a application development tool like ms-access, and a
database engine like sql server.
A database engine like Oracle, Sql-server, or Sybase is simply a box with a
very good high quality data engine on it.
So, if you choose to use sql server, ALL THAT the server does is run a data
engine, and store data. However, with sql server you can can't build the
user interface. That means with oracle, or sql-server you can't build a
form. In fact, you can't write a report either.
VB, c++ or ms-access is what we call a development tool. So, you might
choose to use sql server, but to built the forms, user interface, reports
and write code, then you must use a development tool. So, you can use sql
server to store your data, but use ms-access or c++ to build the forms,
reports, and build the application.
So, you can't really use ms-access and sql server interchangeability to
build applications. Ms-access is a development tool that lets you CONNECT to
a data engine of your choice. The default engine that ms-access has is a
file share, and it is called JET.
So, while you can choose to use JET, or sql server for the data, JET, or sql
server does NOT have the ability to build forms, reports etc. So, one part
is for storing and retrieving data, and the other part of your application
is the user interface part.
So, keep in mind that sql server does NOT have the user interface part. The
fact that sql server does NOT have the user interface part is both good, and
both bad. It is bad, since you then have to choose a tool to build the
application part with. It is good, since then you are FORCED to choose a
tool to build the application part with!! So, for example, if you are build
a web site, VB, ms-access, or c++ is not going to help you make forms.
However, setting up a web server does need a data store, and thus sql is a
good choice. So, if you had application written in ms-access, and also a web
site, BOTH ms-access, and the web site application can BOTH use the data on
the sql server.
So, the main advantage of sql server over JET is that sql server is designed
to allow many different types of connections to the data engine. For a large
company, the desktop applications, the web site, and even some pda (personal
digital assistant) ALL MAY need to use that data. So, in these cases, sql
server is a good choice to store the data with, since then MANY applications
can consume that data.
So, you can most certainly write an application in ms-access. For you data,
you can use JET (the default engine), or sql server. However, you can't
choose JET, or sql server, and then make the application, as you need some
development tools to make the user interface. That development tool can be
ms-access, or VB, or perhaps you want to make a web site, and thus use ASP.
Optimum situation is to have self running application with no need of
Access
It is not possible to have a application without some application!! You can
certainly purchase the developers edition of ms-access, and that allows you
to create a standard windows package that install like any other
application. This would allow you to package a version of ms-access with
your application, and the end users would NOT have to purchase, or have
ms-access on their computer.
What if the basis is designed with Access, but connected to SQL
server?
If you are going to use sql server, then either the user must already have
sql server installed, or they must install it. Of course, setting up,
installing, and maintain sql server can take a good deal of training. Often,
many companies have a full time database administrators. That persons full
time job is to maintain, and manage their database server. There are new
lightweight editions of sql server, and they requite much less
administration and maintains, but still would have to be installed as a
separate application besides your desktop application.