Access v. SQL Server
By Richard Rost
13 years ago
Lots of people ask me, "what's better for my database: Access or SQL Server?" The short answer is this: if you have a small database, or a database being used by a small group of people, Access is perfectly fine by itself. As your needs grow, you can always upgrade to SQL Server and keep Access as a "front-end" database.
Access is a great database tool for single-user and small-group databases used over a LAN (corporate network). Access has the best design tools of any database program on the market (yes, even Access 2007, even though the design change irritated me). It's easy to create your tables, queries, forms, reports, macros, and even VBA code all within Access. I've been using Access since version 1.0 came out back in the early 90s, and I know it inside and out. I've had small and big business clients alike, and Access by itself is just fine for 90% of them.
Access is a stand-alone database program. If you need to share the database between multiple users, then you have to "share" the Access database file (either an MDB or ACCDB file, depending on which version of Access you're using). This is where the efficiency issue comes in. Access works just fine when sharing data between a small group of people (let's say 10 simultaneous users or less) but when you start talking about 15, 20, 30 people using the database at the same time, Access starts to slow down. A lot. Plus data stored in Access isn't REALLY secure.
This is where a database "server" comes in. The database server (usually running on a network file server, or its own dedicated box) does nothing but hand out data when requested. It holds all of the tables and can run all of the queries and just send you what information you need. If Access (alone) were to share a customer list on the network, for example, it would have to send your computer the WHOLE list of 10,000 customers and your local copy of Access would figure out the list of 20 customers it needs. By contrast, a database server would just run the query and send ONLY those 20 customers over the wire. Much faster. Much more efficient.
Now here's the thing... it doesn't matter WHAT database server you use on the back-end. You can use Microsoft SQL Server, Oracle, MySQL, or any number of other database servers. You can STILL USE ACCESS as your front-end and keep all of those forms, reports, macros, and VBA code you wrote when your database was small. You'll benefit from the added efficiency (and REAL security) of the new back-end database server, but you'll have the ease of use of the Access front-end.
So, again, I recommend building your database in Access. You can rapid-prototype and get your database up and running on a single, stand-alone PC. Then when you're ready to roll it out to a few users, share it on the network. Then, as your network grows and you're up to 10-15 users, go ahead and upgrade again with a back-end database server. It's all easy to do with Access.
Show Older Comments...
View in Table Format