Question:
What is the is the difference between SQL Server and Microsoft Access? What should someone learn first?
?
2013-12-09 07:38:52 UTC
Should someone learn Access first before SQL server?
Six answers:
Yoda
2013-12-11 05:08:17 UTC
If you are dead-set on learning both, without a doubt learn SQL Server first. Access is not a bad tool, but it is grossly overused. If I typed a letter to my mother using Excel, most people would tell me I'm a moron, and I should be using a word processor instead of a spreadsheet. Yet I see people all the time who use Access when they should be using something more suited for the work. Just because you can (type a letter to your mom in Excel), doesn't mean you should.



Access developers tend to never evolve past Access. I've never understood why. Most of them are very bright, but strangely beholden to Access. It's a neat little tool, but it's a tool, like Excel, not a technology platform.



If you learn SQL Server, you will be learning an industry-strength database. It's good for the little stuff, and it's good for the big stuff. Moreover, you will be learning the foundations of all relational databases as well as a reasonably* compatible version of SQL, 90% of which should work on any databases. The remainder (date functions, editing tables, recursion) will be more DB-specific, but the 90% will get you off and running when you encounter a new database. I learned Oracle first and had no problems picking up SQL Server, Sybase, Postgres and MySQL.



If you learn SQL Server and decide you still want to use Access, then go ahead. Link Access to your SQL Server database and go to town.



Better yet, learn tools more fit for the job you want to do... Off the top of my head, I'd recommend .NET (C#). If all you're doing is queries and reports, just stick with Excel and MS Query. It's great and SIMPLE.



And, as others have noted, Access SQL is incompatible with every other known version of SQL. It renders to the actual SQL when you link to databases, but that rendering is not exposed unless you can intercept it on the database side. For example this:



select a.part_number, b.qty

from inventory.part_master a, warehouse.stock_locations b

where a.part_number = b.part_number

and b.stock_date > '2013-12-01'

and a.part_number like '9%'



Which would work on almost any database with the same structure (date format may vary), would render to something like this in Access:



select inventory_part_master.part_number, warehouse_stock_locations.qty

from inventory.part_master, warehouse.stock_locations

where ((inventory_part_master.part_number = warehouse.stock_locations.part_number)

and ((warehouse.stock_locations.stock_date > #12/1/2013#)

and (inventory_part_master.part_number like "9*")))



Only without the whitespace... try running that on any database but Access. It will say, "wha?!?" And that's a trivial example. Try it with a big query.
?
2013-12-09 13:06:10 UTC
Like any computing concept the most important aspect of your first experience with a concept is going to be about theory and logic. MS Access is a relational database and the concept you learn there will apply to any other relational database system you use later. And while the SQL code used in Access is different than what is used in SQL server, it is VERY similar. Also, keep in mind that when people talk about "small" databases in Access it still can be in the millions of rows.



Access is acceptable as a learning tool. As an actual production database in a real world business environment.. it starts getting a bit shady.
AJ
2013-12-10 07:30:46 UTC
Microsoft Access is technically just a user interface that sits on top of a JET database. In addition to creating tables and queries, it can also create forms and reports. It uses standard SQL command referred to as ANSI SQL.



SQL Server is an enterprise level Database System. Other than its Management Studio, it does not have an interface. You access SQL Server through a front end User interface application. You cannot create forms or reports in SQL Server. SQL Server uses a modified version of SQL called T-SQL similiar in nature to Oracle's SQL version called, P/L SQL. The vast majority of the SQL Commands are the same but some will have the same functionality but different names. For Example, in T-SQL it is called IsNull(), in P/L SQL it is called nvl(). Both do the same thing just called different names.



Unless you plan on using the SQL view to do CRUD functions in MS Access, I'd just learn SQL Server.
Jeff P
2013-12-09 07:46:51 UTC
Microsoft Access is a personal database application that can easily make databases, forms, reports, etc. It's part of the Microsoft Office suite. It's designed for small, personal databases.



SQL Server, on the other hand, is a dedicated database server designed for very large databases.



I would learn SQL Server (SQL Server Express is free) first because it uses standard SQL. Access uses its own variant of SQL which does not transfer to any other database. SQL you use in SQL Server will most likely be compatible with MySQL, Oracle, PostgreSQL, etc.
BurrintheSaddle
2013-12-10 13:51:42 UTC
for a job skill I'd do SQL Server. Access is an encapsulated database for personal use, SQL is designed for scalable solutions from single use to large scale server farms.
2013-12-09 07:58:38 UTC
Microsoft Access is just like a visual editor for a personal database, not designed for ALOT (I mean ALOT) of data. Microsoft access is probably mainly used by local offices, receptionists, outdoor clubs etc.

Microsoft's access SQL queries are in Jet SQL which make them a tiny bit harder to understand than say PHP's queries to SQL servers but remember you have a visual editor to help you create queries.



SQL servers are dedicated servers for LARGE amounts of data. I believe Facebook uses SQL servers for basic info like name, age, etc. but for other info they use some other python powered database I think.



It depends what you wanna do. I never even heard of SQL servers and databases before I programmed in PHP. So basically I prefer SQL servers or as we call something similar: MySQL databases.

Please just don't make the mistake of pronouncing SQL as "see-quill" because it's not, it's pronounced "ess-qoo-ell". I consider getting concepts down with the Microsoft Access DBs and learn queries and learn Jet SQL and if you learn a programming language like PHP then porting over to SQL won't be too hard.


This content was originally posted on Y! Answers, a Q&A website that shut down in 2021.
Loading...