Slashdot Mirror


SQL Vs. Access for Learning Database Concepts?

Jonathan Hamilton asks: "I work at the School of Communications for a major state University. The IT Department for the University (the same people that won't let us have a firewall, and use IIS and Exchange) is trying to talk my boss into switching from using SQL for teaching database concepts to MS Access. My coworkers and I think they are nuts. I have googled for pages comparing the two and can't come up with anything. I know some of the reasons why it is a bad idea, but I can't find any references. Help!" The mantra here is: the best tool for the best job. Is Access a suitable tool for teaching database concepts to students? If not, what would you use instead, and why?

5 of 160 comments (clear)

  1. Go along, and teach a valuable lesson to all by ka9dgx · · Score: 4, Insightful
    The secret to dealing with rules like this is to bend with the wind, like a reed.

    Let them give you MS-Access, and use it like it should be used. MS-ACCESS is a pretty frond end, and sufficient for small databases. It's also a nice teaching tool because it'll let you see the syntax of a query by example. Once those lessons are imparted, and you need to do real work, the fun begins. You can then show how easy it is to install and run a real database server such as MySQL on the backend.

    You can then contrast and compare the benchmarks between a system of 20 clients sharing a database on a fileserver, and a properly configured MySql server with 20 Access clients. It should teach the proper lesson once and for all.

    --Mike--

    1. Re:Go along, and teach a valuable lesson to all by adamy · · Score: 4, Insightful

      Yep. It works well.

      Better yet, don't teach em Access at all.

      Teach em SQL. Make em do it from the command line. They will thank you in the long run. Why, because then when they have to write embbedded SQL to get their app to run, they will know it.

      --
      Open Source Identity Management: FreeIPA.org
  2. What? by Bistronaut · · Score: 4, Insightful

    Access has an SQL engine in it (not the best, but hey). I don't understand the SQL vs. Access question. You could teach someone SQL using Access.

    Realistically, there are much better dialects of SQL than the Microsoft ones. No need to start them off with the bad habits Microsoft encourages. PostgreSQL has one of the most ANSI-SQL compliant parsers, and it's free. I see no good reason to pay extra to get an inferior product.

    Really, Access is more of a database client creation toolkit with a poor-man's database tacked on. It does some things quite well, but it's somewhat crippled to only work well with Microsoft products.

    I get the jibblies just thinking about a bunch of first-year students "learning" that relational database == MSAccess.

  3. Neither! by Earlybird · · Score: 5, Insightful
    SQL and Access are not the place to start. Relational database theory starts with exactly that -- theory.

    The relational model, as invented by E. F. Codd, is heavily grounded in mathematics and set theory, and exists independently of higher-level access interfaces such as SQL.

    You can certainly teach people to create and use databases through Access or SQL, in the same way you can (to pick a randomly politically incorrect analogy) teach people to create bombs without telling them how chemical reactions work, but then you're not telling them the full story.

    Knowing what a Cartesian product is, or what normalization and the five normal forms are, or what relational integrity is -- all that lets you design better, more flexible and extensible schemas, and interact more intelligently with your data. I know Access developers who don't have a clue about the relational model, and as a result design terrible applications.

    As a starting point, I recommend the books by C. J. Date, in particular An Introduction to Database Systems, 7th Edition ; his book The Database Relational Model: A Retrospective Review and Analysis: A Historical Account and Assessment of E. F. Codd's Contribution to the Field of Database Technology also looks very interesting.

    As an aside, what's surprising is how many people consider Codd's original ideas outdated. The fact is, his ideas surpass what's implemented in database systems at the moment. SQL is a weak language (and SQL99, with its silly object orientation extensions, hasn't made it any better). Database vendors routinely expose underlying implementation issues to the user. They tightly couple physical representation with logical representation, leading, for example, to many people avoiding normalization because it incurs a significant performance penalty with most databases. RDBMSs today are crap.

  4. First Priniples by Ratso+Baggins · · Score: 4, Insightful
    As with learning long division, only to be taught the short method, then given a calculator. You are taught how to do it from first principles so you understand why.

    teaching with access is like straight to the calculator. If you dont have it your're stuck, and you don't really understand the interactions between elements then debugging from the help files can be fruitless.

    If you are trying to teach SQL (the language) things like stored procedures and triggers are integral not added extras.

    --

    --
    "we live in a post-ideological world..." - Billy Bragg.