Take the 2-minute tour ×
Software Quality Assurance & Testing Stack Exchange is a question and answer site for software quality control experts, automation engineers, and software testers. It's 100% free, no registration required.

Complex DB solutions are not rare nowadays, so I have an idea to deploy a SQL "sandbox" for staff training before real projects come. Mainly I interested in 2 things to have:

  1. Oracle 11+ DB instance.
  2. MS SQL Server 2008 (or better 2012) DB instance.

I want to deploy these using my company infrastructure, probably vCloud (we already have that up & running). However, while the infrastructure question should mostly be addressed to IT guys, I need to decide on the following:

  1. What tables / structure is recommended for learning purposes? That shouldn't be too complex, even for complete beginners, but at the same time DB should have enough for more advanced practice.
  2. Is there any significant difference in approach in training for MS SQL and Oracle? While elementary SELECT statements are pretty much similar, further things are most likely not (I have enough exp with Oracle, but hardly ever played with MS SQL).
  3. Easy redeploy / restore: e.g. once a month DB should be reset to initial state. I suppose that should be done via resetting either DB snapshot OR the virtual server itself, but I'm not certain about hidden details of these.
  4. Set of exercises / training solutions for the wide range of skills? This is definitely a hard point for me.

I'm pretty much sure even small companies do invest in staff training, so your nice suggestions and best practices are very much welcome here.

share|improve this question
add comment

3 Answers

Microsoft has sample databases for exactly this purpose: http://www.microsoft.com/en-us/download/details.aspx?id=23654 http://msdn.microsoft.com/en-us/library/ms124501%28v=sql.105%29.aspx

There are tons of samples, tutorials and training online that all use these sample databases. It sounds like everything you want from above could be done with these and require very little work from you.

share|improve this answer
    
thanks a lot, that's definitely worth a try) But Oracle still an open question. –  Peter L. Feb 19 '13 at 17:11
1  
As for SQL vs Oracle, the concepts are going to be pretty much identical, however there are a number of differences in the syntax and built in functions: dba-oracle.com/oracle_news/… –  Sam Woods Feb 19 '13 at 17:37
    
Thanks again for the link - will add that for future tutorial. However, i still need a sample DB similar to the above MS SQL one. –  Peter L. Feb 19 '13 at 17:43
    
Couldn't you just use the scripts for MS-SQL and adapt them to use in your Oracle environment? Or just search and you find links like learndotnetprogramming.com/2007/04/12/… –  Joe Strazzere Feb 19 '13 at 18:20
    
@JoeStrazzere thanks for the suggestion, but I'd like to have different DBs for 2 platforms, although with similar level of complexity. Sure thing your option will remain for the worst scenario - in case nothing better is found. –  Peter L. Feb 19 '13 at 19:58
add comment

While you need DB instance for SQL training purposes, you can look at small solution like SQLite http://sqlitestudio.pl/?act=download . Off course it can't be compared with Oracle or MS SQL Server. But it has enough functions for SQL trainings and you can easy create/restore structure from previously created SQL Script. Maybe you can use it for small tasks...

2 hours of SQL lectures, db schemas and fiew Interesting exercises for the different range of skills you can find at http://class2go.stanford.edu/db/Winter2013

About difference in approach: There are many ways (different scripts) to get the same result from the same DB, so if you train staff good enough, it wouldn't be problem for them to work with any DB. Off course, there are some trics, like if you want to use cirylic statement as a condition in MS SQL Server 2005 you shoud place "N" before (e.g. [where a=N'русский']). You know them when you expirienced, and maybe you shoud get a List of such usefull things =)

share|improve this answer
    
Great suggestions, +1 without any doubts! Thanks! –  Peter L. Feb 21 '13 at 8:29
add comment

Good idea. Can you use a schema from one of your projects? For training purposes, if the schema is too big, you can focus on a subset. If you are comfortable reading code, it shouldn't be too hard to figure out what kind of queries your projects are actually using.

share|improve this answer
    
In my current projects schemas are too complicated and hardly ever suit for learning purposes - mostly because cases are very specific and should be investigated only in terms of project testing. But for understanding these I need first to train my testers on basics. –  Peter L. Feb 19 '13 at 20:01
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.