5

I'm about to take a challenge test so I don't have to take a Database Processing class. Even though I've worked with databases through out the last 5 years, I can't help but be nervous about the test. It's 50 questions and there's 2 parts: a true/false part and a part where I actually write SQL commands. It's non-platform specific.

What are the fundamental things I should know going into this test? What would you require new SQL Developers at your company to know how to do? What questions might be trick questions?

EDIT:

Like I said, it's non-platform specific but it is non-language specific in all ways. There will not be questions about how to connect in ASP.Net, PHP, or other languages.

Carl Manaster
  • 39,912
  • 17
  • 102
  • 155
Corey Ogburn
  • 24,072
  • 31
  • 113
  • 188
  • Related: http://stackoverflow.com/questions/2054130/what-is-advanced-sql – OMG Ponies Aug 19 '10 at 21:34
  • possible duplicate of [Questions every good Database/SQL developer should be able to answer](http://stackoverflow.com/questions/2119859/questions-every-good-database-sql-developer-should-be-able-to-answer) – OMG Ponies Aug 19 '10 at 21:36
  • Is this database processing class at a university or school? If it is, I think the questions asked on the test may not match, "What would you require new SQL Developers at your company to know how to do?" Just saying. – Shannon Severance Aug 20 '10 at 03:39
  • @Shannon Severance, yes at my university. I did ask that in addition because someday I may be looking to work as a database developer. I don't want to just learn the basics and stop. – Corey Ogburn Aug 20 '10 at 18:02

6 Answers6

3

The importance of Indexes and Primary Keys / Foreign Keys. Join Syntax and an understanding of the various types of Joins (including table aliasing). Data Type Selection (what column type to assign for an example of the input data set) would make sense. Sub Queries (esp correlated). Stored Procedures. Creation of variables. Aggregation functions and Grouping. Backup and Restoration practices.

That's a short list to start, I'm curious to see what other people reply with as well.

I thought of a few more. Temporary tables and Views are both good topics. Possibly Pivot Tables.

g.d.d.c
  • 46,865
  • 9
  • 101
  • 111
  • 2
    Temporary tables and pivot tables tend to be implemented differently in different flavours of SQL. –  Aug 20 '10 at 13:04
2

In my opinion :-) know:

  • Data Definition Language (DDL), What it is and what it does.

  • Data Manipulation Language (DML), What it is and what it does.

  • Possibly, Data Control Language (DCL), ditto.

  • What is database normalization.

  • Who is Edgar F. Codd. :-D

JustBoo
  • 1,723
  • 9
  • 9
2

I agree with everything g.d.d.c. said. In addition:

Normalization and database design.

You need to understand set theory and why it is very bad on a database to use row-by-row processing. You need to understand what data integrity is and why it is important to enforce this in the database and not in the application! You might need to be at least a little familiar with what an ORM is and why you might use one.

An understanding of Boolean algebra is needed.

A Basic class would probably not require an understanding of performance tuning but I personally wouldn't hire a developer who didn't have a strong understanding of that.

In today's world you might also be able to answer some questions on NoSQL databases and when to use them vice a relational database.

HLGEM
  • 94,695
  • 15
  • 113
  • 186
1

If its a basic course then you should know everything under w3schools and very good with Normalization. (They love asking about normalizing and joins)

1

Know to prefer JOIN over polluting the WHERE clause with joining elements.

Carl Manaster
  • 39,912
  • 17
  • 102
  • 155
  • The JOIN clause is ANSI standard SQL, but not all SQLs implement the ANSI standard. –  Aug 20 '10 at 13:01
0

In addition to what g.d.d.c., JustBoo and HLGEM have said, a basic understanding of transactions, particularly rollback and commit. Also, TRUNCATE TABLE.