Discussion Locked

Which Free Database to Teach?

0 helpful
27 replies
Closed to new repliesThis discussion is closed. It stays readable, but it takes no new replies.
There are a lot free SQL databases available? (MySQL, SQL 2005 Express) Which one would be best for my students? I teach them Microsoft SQL because we get it at steep discount but I want them to have low cost alternative when they start working.

27 replies

by tony hopkinson

from a technical point of view, mysql from a business one.

I'd be teaching two anyway, that way you can illustrate more why's instead of how to's.

The differences are useful to know, but mainly in terms of being different implementations of the 'same' function.

Oracle sequences vs MS SQL identities for instance.

If they learn two databases, they'll know enough to start learning any.

by bigbigboss

Yes, teach at least two, one in details and used for exercises, and the other to contrast, and give each a take home to contrast a third you pick for each individual student. That way, they will learn where to find information about databases, and know how to pick them.

by tony hopkinson

OracleLite, DB2Lite, FireBird ....

Loads of choices, the differences make anyone of them valuable. You can highlight key concepts practically.

by Member 22070467

I agree that you should teach >1. I would teach SQL Server 2005 Express (becuase I am a SQL Server guy), but would also teach something like EnterpriseDB or maybe Oracle Express.

by unotecwiz

When I was a student I was thought the how's rather than the why's on how to approach things. The problem with that is the scope of exposure to databases was very limited.

The post by Tony Hopkinson made an excellent point, knowing the differences between databases are very useful. I found out the hard way when inexperience kicked in at my first job. In the case of MySQL vs. MSSQL.

Now for cost. As a student I perfered to work at home. However, I was not able to purchase MSSQL therefore, I had to do all my homeworks on campus.

Bottom line:
Answering the why's are much more important than answering the how's. To me the how's are dependent on syntax. The why's presented to find an answer.
After all the blah above, I would suggest any open source database (MySQL) for this purpose.

by tony hopkinson

to Sybase, to Oracle to MS SQL 2000 to MySQL (4.0)
The biggest hurt was living without stored procedures, but 5.0 has them. Though I don't know how good they've done them as I haven't had an opportunity to use it yet, I'm back with MS SQL 2005 now.

by jaqui

the engine used,

teach them how to use SQL.

teach them how to optimise the design of the database for the application, and project future needs.

teach them how to write effective AND efficient sql queries.

then give them an exercise using these, to be done in at least 3 different db engines.
MySQL,
PostgreSQL,
MS-SQL,
Oracle,
SQLlite.

and yes, every student can get themselves a copy of Oracle, free, under a development license. The only time licensing would cost would be when they were using an app for commercial purposes.

It would also be an idea to teach them how to work with an xml file, since this seems to be a growing method of getting database functionality, without the overhead of a database engine.

by tony hopkinson

Had to teach myself that. Practical application of the fifth normal form , next to zero.

Designing out bottlenecks, anywhere a database is used in anger.

by jaqui

any good db design will be 90% portable across engines, the 10% being engine specific optimisations, mostly implemented in the queries.

I would far rather hire a DBA that has SQL and db design and optimisation listed as skills than one that lists engines. the first one will be able to work with any engine easily enough to be worth the minor training for specific engine needed.

but then, I am consistent in saying teach the foundation tech, not the top level tech, it is more usefull to more employers.

by ed woychowsky

At home I use MySQL, however, at work is another story. In order the databases are:

Oracle
SQL Server
MySQL

Going back and forth between SQL Server and MySQL isn't too bad, but add in Oracle with it's (+) for outer joins and my brain starts dripping out my ears. But Oracle's XML goodies does make-up for some of the headaches.

by tony hopkinson

I go through them and then mention which engines, I already have experience in doing it in.
After you see I've done it in five different ones, an vaguely IT aware person might get the point.

Yes, but can you do access :D

by jaqui

I would run away as fast as I can after saying no.

they obviously have HR doing the hiring for IT, and that means that it isn't a good company to work for. ]:)

by tony hopkinson

I can design databases in access. As long as they don't have to be multi user, high volume, efficient, compliant, manageable, portable, robust OR scalable of course.

by jaqui

the lie would avoid a job offer from a company run by people to stupid to be allowed to live, or breed.

your list of limitations for it may work as well though :D

by alan williams

You should be teaching your students about Databases and the SQL language, using whatever database in convenient. Perhaps even getting the students to analyse the bennefits and drawbacks of the free and paid for database systems.

by tony hopkinson

as different ways of achieving the same objective.
Oracle and DB2 would do that job just as well as PostGre and MySQL.

Using more than one simply gives clues on thinking what's in the box and how to think outside of the box.

When you can't go forwards, go sideways for a bit.

by feral

As an educator in the IT sector it will depend on where you are teaching.
Is this a publicly funded institution or a private college that does "mcse in 3 weeks" type learning?
What are the learning outcomes of the institution?
It does not matter which database you teach really, what does matter is the students have a thorough grounding in the database concepts that will enable them to work with any relational database be it Oracle or MS SQL.
Yes the syntax for manipulating the data may be a little different between them but it is no different to programming languages.
Are you catering to industry needs with your learning ie; MS is very predominant in industry in your area so teach them MSSQL.
There is on one correct answer to your question except teach the students what ever will get the best outcome for them in regards to making them as employment ready as possible.

by feral

As an educator in the IT sector it will depend on where you are teaching.
Is this a publicly funded institution or a private college that does "mcse in 3 weeks" type learning?
What are the learning outcomes of the course of study if any?
It does not matter which database you teach really, what does matter is the students have a thorough grounding in relational database concepts that will enable them to work with any relational database be it Oracle or MS SQL.
Yes the syntax for manipulating the data may be a little different between them, however, it is no different to learning a new programming language, different syntax and the core concepts remain largely the same.
Are you catering to industry needs with your learning ie; MS is very predominant in industry in your area so teach them MSSQL.
There is on one correct answer to your question except teach the students what ever will get the best outcome for them in regards to making them as employment ready as possible.

by teaching information systems

I am at a two year college. It is funded by a church. My focus? Most of my students work at small businesses, and those small businesses are addicted to Access. I want them to have a real DB to move their companies to and get them away from Access. (Small Businesses are very tight.)

by ed woychowsky

Big business is also addicted to Access. This makes for some really interesting conversions when somebody realizes that Access doesn't scale to an enterprise level.

by feral

Why not use the new desktop engine which is SQL based but use Access as the front end.
As I said before giving them a thorough grounding in database concepts and teach them SQL and how to make Access talk to it and play nicely.

by teaching information systems

I am leaning toward MySQL. I would make it part of DB class and Linux class.

I will focus on having them use SQL in both DB.

Tweaking the SQL statements between the two should make them think abit.

by ed woychowsky

They'll also quickly come to realize that converting systems isn't just a matter of transferring files. A VERY important lesson that usually isn't learned until too late.

by ian lewis

The main database that I use is MSSQL which is brilliant but the most important thing I have learned is to be aware of SQL 92, SQL 99 standards and so on.

If I use only T-SQL I run the risk of getting stuck with too little knowledge of the core language and concepts.

The knowledge I have of the core concepts is what allows me to move myself and data between different DBMS' without too much trouble.

Ian

by ian lewis

Why waste your time programming a ropey Access front end to SQL Server. Access might be popular but works in a different way to SQL Server.

Much better to go the modern way and do it with a thin client web enabled technology such as PHP or ASP with AJAX if required. Far better to look ahead.

Of course if you really want to do it with Access I can't stop you, just don't teach anyone else to use it :)

Cheers.

by feral

Ian although web enabled technologies have their place, you said yourself in another post that they should have a good grounding in the basics.
What you are not taking into account with your suggestion of the use of Ajax, PHP etc is, at the end of the day, these are not the basics.

This gentleman has to teach users who have no idea what Ajax or PHP are.
Both of which are two very in depth subjects themselves.
This would require additional class time to the tune of a minimum of 40 hrs face to face instruction in each to ensure a good grounding in the principles of each and to consolidate the learning.

His target audience are Access users, I would assume that they will also have to maintain the database and have no PHP or AJAX skills but are business people with little IT knowledge as well.

One could safely assume that they have no time or need to be programming web interfaces in Ajax or PHP but concentrating on the business process and ensuring that the business is servicing its customers.

It is easy to look down on something because it does not float your boat, however, it is all about the client at the end of the day and meeting their needs.

As for not teaching anyone else to use Access, why not? if it meets the clients needs and in a lot of cases it does then so be it.
You seem to forget that Access is the predominant database technology that is used in the majority of businesses both small and enterprise level, in small businesses it generally is used in standalone mode with an Access database format yet at enterprise level it connects to MSSQL server.

Making statements such as "dont teach anyone else to use it" just shows a narrow mindset.
You have not put forward any logical arguement to support the statement in any way.

Last but not least, the MSDE or SQL express I belive it is called now is a perfectly valid learning tool.
SQL functions pretty much the same across most databases including Oracle, MSSQL etc and will allow him to teach the basics and give the clients a thorough grounding in SQL theory and practice.

It is free, so this saves the organisation which is a community college with limited funding I would suspect from having to shell out thousands for licences of Oracle or MSSQL.
He could teach MYSQL and access, they will talk to each other.
As I said it is at the end of the day about the outcomes he wishes his clients, the students to achieve.
:cheers:

This discussion is closed to new replies.